《软件开发过程与质量保证-2-项目2009资料讲解.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与质量保证-2-项目2009资料讲解.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件开发过程与质量保证-2-项目管理2009场景互动场景互动场景互动场景互动v如果现在公司请你接手一个项目,你如何组织项目如果现在公司请你接手一个项目,你如何组织项目的实施过程?有哪些方面的事情需要考虑?的实施过程?有哪些方面的事情需要考虑?一、软件项目管理的任务一、软件项目管理的任务一、软件项目管理的任务一、软件项目管理的任务v什么是软件项目管理什么是软件项目管理为了使软件项目能够按照预定的成本、进度、质量为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。进行分析和管理的活动。软件项目管理
2、的对象是软件工程项目,它所涉及的软件项目管理的对象是软件工程项目,它所涉及的范围覆盖了整个软件工程过程。范围覆盖了整个软件工程过程。v软件项目管理的任务软件项目管理的任务制定项目计划和工程进度安排制定项目计划和工程进度安排监督和检查项目实施过程监督和检查项目实施过程保证工程满足要求的质量标准保证工程满足要求的质量标准分析确定并排除风险分析确定并排除风险在规定的期限和预算成本内完成项目在规定的期限和预算成本内完成项目二、二、二、二、项目计划项目计划项目计划项目计划v项目计划项目计划是一个软件项目进入系统实施的启动阶段是一个软件项目进入系统实施的启动阶段项目计划是一个反复的过程,只有当项目完成时计
3、划才告一项目计划是一个反复的过程,只有当项目完成时计划才告一段落。段落。v项目计划中包含的内容项目计划中包含的内容项目划分的各个实施阶段项目划分的各个实施阶段每个阶段的工作重点和任务是什么每个阶段的工作重点和任务是什么完成本阶段工作和任务的人力、资源需求,时间期限完成本阶段工作和任务的人力、资源需求,时间期限阶段工作和任务的成果形式阶段工作和任务的成果形式项目实施过程中对风险、疑难、其他不可预见因素等的处理项目实施过程中对风险、疑难、其他不可预见因素等的处理机制机制各任务组及开发人员之间的组织、协调关系等。各任务组及开发人员之间的组织、协调关系等。v检查点检查点CheckPoint在规定的时间
4、间隔内对项目进行的检查与复审工作在规定的时间间隔内对项目进行的检查与复审工作频度不能太高或太低,一般一周一次频度不能太高或太低,一般一周一次目的目的比较实际进展与计划进度的差异,并对项目进行调整比较实际进展与计划进度的差异,并对项目进行调整如:周报、周例会如:周报、周例会学生例:每周的班会、测验、月考等学生例:每周的班会、测验、月考等v项目的里程碑项目的里程碑一个项目里程碑就是一个软件过程活动的终结。在每个里程一个项目里程碑就是一个软件过程活动的终结。在每个里程碑都应该有一个正式的可以提交给管理层的输出结果。碑都应该有一个正式的可以提交给管理层的输出结果。里程碑应代表该项目的一个特定的逻辑意义
5、上的阶段的终结。里程碑应代表该项目的一个特定的逻辑意义上的阶段的终结。里程碑的两个必要特征:里程碑的两个必要特征:与软件开发进展相关联;与软件开发进展相关联;在完成时必须非常明显。在完成时必须非常明显。1.1.1.1.常用概念常用概念常用概念常用概念v基线基线基线其实是一些重要的里程碑(产物)基线其实是一些重要的里程碑(产物)交付产品通过正式评审后才能成为基线交付产品通过正式评审后才能成为基线基线一旦建立后,任何更改都要受到控制(基线之基线一旦建立后,任何更改都要受到控制(基线之前的更改可以没有严格控制)前的更改可以没有严格控制)学生例:小考、中考、高考(成绩经主管部门评审学生例:小考、中考、
6、高考(成绩经主管部门评审后,变更受控)后,变更受控)2.2.2.2.项目进度项目进度项目进度项目进度v项目进度项目进度管理人员必须估算完成各项活动所需要的时间和资源,并按管理人员必须估算完成各项活动所需要的时间和资源,并按照一定的顺序把他们紧密组织起来。照一定的顺序把他们紧密组织起来。项目进度安排通常是将复杂的整体项目分解成许多可以准确项目进度安排通常是将复杂的整体项目分解成许多可以准确描述、度量、可独立操作的相对简单的任务,然后安排这些描述、度量、可独立操作的相对简单的任务,然后安排这些任务的执行顺序,确定每个任务的完成期限、开始时间和结任务的执行顺序,确定每个任务的完成期限、开始时间和结束
7、时间。束时间。v需要考虑的主要问题需要考虑的主要问题生存周期各个阶段工作量的划分生存周期各个阶段工作量的划分工程进展如何度量工程进展如何度量项目的关键路径项目的关键路径各个阶段任务完成标志各个阶段任务完成标志如何自然过渡到下一阶段的任务等。如何自然过渡到下一阶段的任务等。项目可以支配的人力及资源项目可以支配的人力及资源2.1 2.1 2.1 2.1 工作分解工作分解工作分解工作分解v工作分解的原因工作分解的原因可以根据细分的工作包之间的逻辑关系来实施项目可以根据细分的工作包之间的逻辑关系来实施项目让项目组各个成员明确自己的职责,减少繁琐的协让项目组各个成员明确自己的职责,减少繁琐的协调调每个组
8、员可以清晰地理解任务的性质和各自的目标每个组员可以清晰地理解任务的性质和各自的目标准确把握项目所需要的技术、人力、资金、风险,准确把握项目所需要的技术、人力、资金、风险,为项目计划提供基线为项目计划提供基线v分解的方法分解的方法自上而下的分解自上而下的分解工作任务,即工作包,是项目中最小的可控制单元工作任务,即工作包,是项目中最小的可控制单元2.1 2.1 2.1 2.1 工作分解工作分解工作分解工作分解v工作分解和进度管理工作分解和进度管理正常情况,各活动应至少持正常情况,各活动应至少持续续1周;周;对所有活动安排一个最高的对所有活动安排一个最高的时间限制(时间限制(810周左右),周左右)
9、,如一项活动持续时间超过限如一项活动持续时间超过限制,就应该再次细分;制,就应该再次细分;估算进度时,管理者不能想估算进度时,管理者不能想当然认为项目的每个阶段都当然认为项目的每个阶段都不会出问题;不会出问题;除时间外,还必须估算完成除时间外,还必须估算完成每项任务所需的资源:人力每项任务所需的资源:人力资源和其他可能的资源。资源和其他可能的资源。项目项目可交付的成果可交付的成果可交付的子成果可交付的子成果最低层的可交付子成果最低层的可交付子成果工作任务工作任务v工作分解结构的一个例子工作分解结构的一个例子东软三期公寓项目东软三期公寓项目(1000)主体工程主体工程(1100)内外装修内外装修
10、(1200)配套设施配套设施(1300)物业管理物业管理(1400)地基地基(1110)框架框架(1120)给排水给排水(1310)电气电气(1320)煤气煤气(1330)供水系统供水系统(1311)排水系统排水系统(1312)2.2 2.2 2.2 2.2 进度管理工具进度管理工具进度管理工具进度管理工具v进度管理工具进度管理工具项目进度通常用一系列的图表表示,通过这些图项目进度通常用一系列的图表表示,通过这些图表可以了解任务分解、活动依赖关系和人员分配表可以了解任务分解、活动依赖关系和人员分配情况。情况。v常用的项目进度表示法常用的项目进度表示法甘特图(甘特图(Gantt)活动网络图(活动
11、网络图(PERT)v常用软件管理工具软件常用软件管理工具软件MS-Projectv甘特图甘特图特点特点形象地描绘了任务的分解,及每个作业的开始和结束形象地描绘了任务的分解,及每个作业的开始和结束时间,优点是直观简明、容易掌握和绘制时间,优点是直观简明、容易掌握和绘制线段的水平线表示完成任务所需的时间线段的水平线表示完成任务所需的时间优点优点表明了各任务的计划进度和当前进度,能动态反应项表明了各任务的计划进度和当前进度,能动态反应项目的进展情况。目的进展情况。缺点缺点难以反映多个任务之间的复杂逻辑关系。难以反映多个任务之间的复杂逻辑关系。甘特图实例甘特图实例任务列表进度条日期vPERT图图对于某
12、事件,箭头进入表示此作业结束,箭头离开对于某事件,箭头进入表示此作业结束,箭头离开表示此作业的开始;表示此作业的开始;实线箭头表示具体存在的作业;实线箭头表示具体存在的作业;虚线箭头表示虚拟作业,只为了表示作业之间的依虚线箭头表示虚拟作业,只为了表示作业之间的依赖关系。赖关系。1235468791011刮1刮2刮3刮4刷1刷2刷3刷4清1清2清3清4三、质量管理三、质量管理三、质量管理三、质量管理v背景背景质量是产品的生命线,不论任何产品,质量都是极质量是产品的生命线,不论任何产品,质量都是极端重要的。端重要的。软件产品开发周期长,需耗费巨大的人力、物力,软件产品开发周期长,需耗费巨大的人力、
13、物力,更必须特别注意保证产品质量。更必须特别注意保证产品质量。v软件质量定义软件质量定义软件与明确的和隐含定义的需求相一致的程度软件与明确的和隐含定义的需求相一致的程度与明确描述的功能和性能需求相一致的程度与明确描述的功能和性能需求相一致的程度与文档中明确描述的开发标准相一致的程度与文档中明确描述的开发标准相一致的程度与任何专业开发的软件产品都应该具有的隐含特征相与任何专业开发的软件产品都应该具有的隐含特征相一致的程度一致的程度v事后检验事后检验事后检验的方式是在产品生产的最后环节进行质量检查,合格事后检验的方式是在产品生产的最后环节进行质量检查,合格的产品准许出厂,不合格的产品作为次品处理。
14、的产品准许出厂,不合格的产品作为次品处理。v全面质量管理全面质量管理运用质量管理的科学理论、技术、方法,建立起贯穿于产品质运用质量管理的科学理论、技术、方法,建立起贯穿于产品质量形成全过程的质量保证体系,使企业全体职工树立质量观点,量形成全过程的质量保证体系,使企业全体职工树立质量观点,提高工作质量,经济地生产用户满意的产品。提高工作质量,经济地生产用户满意的产品。它要求从影响软件产品质量的各个方面加强对软件质量的全面它要求从影响软件产品质量的各个方面加强对软件质量的全面管理。管理。v权威认证权威认证认证已经成为一个组织资质的证明,也成为买方选择合格供应认证已经成为一个组织资质的证明,也成为买
15、方选择合格供应方的首要考虑。方的首要考虑。例如,例如,CMM认证和认证和ISO9000认证认证3.1 3.1 3.1 3.1 软件质量管理种类软件质量管理种类软件质量管理种类软件质量管理种类v软件质量与软件的内部特性及其组合有关。要软件质量与软件的内部特性及其组合有关。要度量软件质量,就应根据这些内部特性(即软度量软件质量,就应根据这些内部特性(即软件属性)建立起软件度量模型,进而构建软件件属性)建立起软件度量模型,进而构建软件质量度量体系。质量度量体系。3.2 3.2 3.2 3.2 软件质量模型软件质量模型软件质量模型软件质量模型产品修改产品修改产品转移产品转移产品运行产品运行可理解性可理
16、解性可维护性可维护性灵活性灵活性可测试性可测试性可移植性可移植性可重用性可重用性互运行性互运行性轻便性轻便性 正确性、健壮性、效率、完整性、可用性、风险正确性、健壮性、效率、完整性、可用性、风险v从管理角度对软件质量进行度量的从管理角度对软件质量进行度量的McCall软件质量模型软件质量模型v上述模型反映了用户在使用软件产品时的三种不同的倾向:产品运上述模型反映了用户在使用软件产品时的三种不同的倾向:产品运行、产品修改和产品转移。行、产品修改和产品转移。v软件质量的属性软件质量的属性产品运行时的属性产品运行时的属性正确性正确性系统满足规格说明和用户目标的程度,在预定环境下能正确完成预系统满足规
17、格说明和用户目标的程度,在预定环境下能正确完成预期功能的程度。期功能的程度。健壮性健壮性在硬件发生故障、输入数据无效、操作错误等意外环境下,系统能在硬件发生故障、输入数据无效、操作错误等意外环境下,系统能做出适当响应的程度。做出适当响应的程度。效率效率为了完成预定功能,系统需要的计算资源的多少。为了完成预定功能,系统需要的计算资源的多少。完整性完整性对未经授权的软件使用请求或数据访问的企图,系统能够控制(或对未经授权的软件使用请求或数据访问的企图,系统能够控制(或禁止)的程度。禁止)的程度。可用性可用性系统在完成预定功能时令用户满意的程度。系统在完成预定功能时令用户满意的程度。风险风险按预定的
18、成本和进度开发系统,并且使得用户满意的概率按预定的成本和进度开发系统,并且使得用户满意的概率产品修改时的质量属性产品修改时的质量属性可理解性可理解性理解和使用软件的容易程度。理解和使用软件的容易程度。可维护性可维护性诊断和改正在运行现场发现的错误所需诊断和改正在运行现场发现的错误所需要的工作量大小。要的工作量大小。适应性适应性修改或改进正在运行的系统需要的工作修改或改进正在运行的系统需要的工作量大小量大小可测试性可测试性软件容易测试的程度。软件容易测试的程度。产品转移时的质量属性产品转移时的质量属性可移植性可移植性把软件从一软硬件环境移植到另一配置环境时,把软件从一软硬件环境移植到另一配置环境
19、时,需要的工作量大小。需要的工作量大小。可重用性可重用性在其他应用中该软件可以被使用的程度或范围。在其他应用中该软件可以被使用的程度或范围。互运行性互运行性把该软件系统和另一软件系统结合起来所需要的把该软件系统和另一软件系统结合起来所需要的工作量大小。工作量大小。轻便性轻便性允许软件能够从一台计算机很容易地传输到另一允许软件能够从一台计算机很容易地传输到另一台需要运行的计算机上的能力。台需要运行的计算机上的能力。四、组织管理四、组织管理v人员是软件机构中最重要的资产,他们代表着智力人员是软件机构中最重要的资产,他们代表着智力资本。资本。v合理地调配人员是成功完成软件项目的切实保证。合理地调配人
20、员是成功完成软件项目的切实保证。v因此软件项目管理的关键是人员管理。项目管理者因此软件项目管理的关键是人员管理。项目管理者必须利用其团队成员,用可能最有效的方式解决技必须利用其团队成员,用可能最有效的方式解决技术和非技术上的问题。术和非技术上的问题。v软件机构要尊重员工,管理者要激励员工。软件机构要尊重员工,管理者要激励员工。v软件项目成功的关键是能够将高素质的软件开发人软件项目成功的关键是能够将高素质的软件开发人员合理地组织起来,使他们有效地分工协作,共同员合理地组织起来,使他们有效地分工协作,共同完成开发工作。完成开发工作。v项目组的组织原则项目组的组织原则软件开发小组的规模不宜太大,人数
21、不能太多,一软件开发小组的规模不宜太大,人数不能太多,一般般3-5人左右为宜。人左右为宜。切忌在开发过程中增加人员,这将使人员之间的联切忌在开发过程中增加人员,这将使人员之间的联系增多,造成通信成本的增加而导致效率降低。系增多,造成通信成本的增加而导致效率降低。v项目组的组织方式项目组的组织方式民主制程序员组民主制程序员组主程序员组主程序员组现代程序员组现代程序员组v民主程序员组民主程序员组小组成员完全平等,享有充分民主,通过协商做出决策。小组成员完全平等,享有充分民主,通过协商做出决策。小组成员之间的通讯是平行的,如果小组有小组成员之间的通讯是平行的,如果小组有n个成员,则可能的个成员,则可
22、能的通讯信道为通讯信道为条。条。民主制程序员组通常采用非正式的组织方式,虽然名义上有一个民主制程序员组通常采用非正式的组织方式,虽然名义上有一个组长,但其与组内其它成员完成同样的任务。组长,但其与组内其它成员完成同样的任务。由小组全体成员讨论协商决定应该完成的工作,并依据各成员能由小组全体成员讨论协商决定应该完成的工作,并依据各成员能力和经验分配适当的任务。力和经验分配适当的任务。n(n-1)/2v优点:优点:组员对发现程序错误持积极的态度,这种态度有助于更快地发组员对发现程序错误持积极的态度,这种态度有助于更快地发现错误,从而导致高质量的代码;现错误,从而导致高质量的代码;组员享有充分民主,
23、小组有高度凝聚力,组内学习气氛浓厚,组员享有充分民主,小组有高度凝聚力,组内学习气氛浓厚,有利于攻克技术难关。有利于攻克技术难关。v缺点缺点在组内多数成员技术水平不高或缺乏经验情况下采用该组织方在组内多数成员技术水平不高或缺乏经验情况下采用该组织方式,将会因为没有明确的权威指导项目进展,小组成员间缺乏式,将会因为没有明确的权威指导项目进展,小组成员间缺乏必要的协调,而导致项目失败。必要的协调,而导致项目失败。v应用应用适合于研制周期长、难度大的项目。日本大多数软件开发公司适合于研制周期长、难度大的项目。日本大多数软件开发公司都采用这种形式。都采用这种形式。v主程序员组主程序员组主程序员组使用经
24、验丰富、技术好、能力强的程主程序员组使用经验丰富、技术好、能力强的程序员作为主程序员。同时,利用人和计算机在事序员作为主程序员。同时,利用人和计算机在事务性工作方面给主程序员提供充分支持,而且保务性工作方面给主程序员提供充分支持,而且保证所有通讯都通过一两个人进行。证所有通讯都通过一两个人进行。v后备程序员后备程序员后备程序员也应该技术熟练而且富于经验,他协助主程后备程序员也应该技术熟练而且富于经验,他协助主程序员工作并且在必要时序员工作并且在必要时(主程序员生病、出差或跳槽主程序员生病、出差或跳槽)接接替主程序员的工作。所以后备程序员必须和主程序一样替主程序员的工作。所以后备程序员必须和主程
25、序一样优秀,一样深入了解项目。优秀,一样深入了解项目。v主程序员主程序员主程序员既是成功的管理人员,又是经验丰富、技术好、主程序员既是成功的管理人员,又是经验丰富、技术好、能力强的高级程序员,负责体系结构设计和关键部分的能力强的高级程序员,负责体系结构设计和关键部分的详细设计,并且负责指导其他程序员完成详细设计和编详细设计,并且负责指导其他程序员完成详细设计和编码工作码工作v编程秘书编程秘书编程秘书负责完成与项目有关的全部事务性工作,如,编程秘书负责完成与项目有关的全部事务性工作,如,维护项目资料库和项目文档,编译、连接、执行源程序维护项目资料库和项目文档,编译、连接、执行源程序和测试用例。和
26、测试用例。v虽然主程序员组有很多优点,但是,我们还应看到这种组虽然主程序员组有很多优点,但是,我们还应看到这种组织方式固有的不切实际的地方:织方式固有的不切实际的地方:主程序员既是高级程序员又是优秀管理者,但现实中这种人主程序员既是高级程序员又是优秀管理者,但现实中这种人才很难见到。才很难见到。后备程序员更难找。人们希望后备程序员像主程序员一样优后备程序员更难找。人们希望后备程序员像主程序员一样优秀,但他们必须坐在秀,但他们必须坐在“替补席替补席”上,拿着较低的工资等待接上,拿着较低的工资等待接替主程序员。替主程序员。编程秘书也很难找。专业的软件技术人员一般都厌烦日常的编程秘书也很难找。专业的
27、软件技术人员一般都厌烦日常的事务性工作。事务性工作。v现代程序员组现代程序员组特点特点将将“主程序员组主程序员组”中的主程序员的职则划为两个中的主程序员的职则划为两个人来承担:人来承担:一个技术负责人,负责小组的技术活动一个技术负责人,负责小组的技术活动一个行政负责人,负责所有的非技术的决策活动一个行政负责人,负责所有的非技术的决策活动现代程序员组 大型项目的技术管理组织结构v现代程序员组现代程序员组包含分散决策的组织方式 v现代程序员组现代程序员组优点优点将管理和行政分开,有助于调动组员的积极性将管理和行政分开,有助于调动组员的积极性行政组长和技术组长分工明确行政组长和技术组长分工明确避免了
28、避免了“主程序员组主程序员组”中,全才主程序员难找的问题中,全才主程序员难找的问题缺点缺点有时行政组长和技术组长的管理权限界限不明有时行政组长和技术组长的管理权限界限不明v选择软件工程小组结构时应考虑的选择软件工程小组结构时应考虑的7个因素个因素待解决问题的困难程度待解决问题的困难程度要开发程序的规模要开发程序的规模小组成员在一起工作的时间小组成员在一起工作的时间问题能够被模块化的程度问题能够被模块化的程度对待开发的系统的质量和可靠性的要求对待开发的系统的质量和可靠性的要求交付日期的严格程度交付日期的严格程度项目要求的社交项目要求的社交(通信通信)程度程度v软件企业的组织架构软件企业的组织架构
29、实现阶段实现阶段构成阶段构成阶段立项阶段立项阶段需求分析阶段需求分析阶段需求分析师项目经理系统架构设计师软件架构设计师数据库设计师软件界面设计师网络架构设计师系统分析师软件开发工程师编码程序员网络工程师软件测试工程师质量保障工程师产品发布工程师结束阶段结束阶段项目经理软件企业的职位概况软件企业的职位概况软件企业的职位概况软件企业的职位概况v定义定义“风险风险”是指对项目有利或不利的不确定因素是指对项目有利或不利的不确定因素。v分类分类按照风险的影响范围分类按照风险的影响范围分类项目风险:预算、进度、人力、资源、客户及需求等方面项目风险:预算、进度、人力、资源、客户及需求等方面技术风险:设计、实
30、现、接口、验证和维护等方面技术风险:设计、实现、接口、验证和维护等方面商商业业风风险险:无无人人真真正正需需要要的的“优优秀秀产产品品”,不不符符合合商商业业策策略略的产品等的产品等按照风险的可预测性分类按照风险的可预测性分类已知风险已知风险可预测的风险可预测的风险不可预测的风险不可预测的风险五、风险管理五、风险管理五、风险管理五、风险管理v风险管理的内容风险管理的内容风险管理风险管理风险评估风险评估风险控制风险控制风险识别风险识别风险分析风险分析风险优先级风险优先级风险管理计划风险管理计划风险化解风险化解风险监控风险监控v风险评估风险评估风险识别风险识别提出一个潜在破坏项目进度的风险列表。提
31、出一个潜在破坏项目进度的风险列表。风险分析风险分析评估每一个风险出现的可能性及其影响,评估每一个风险出现的可能性及其影响,判定风险的级别。判定风险的级别。风险优先级风险优先级按风险影响大小排出一个风险优先级,按风险影响大小排出一个风险优先级,这个风险列表将作为风险控制的基础。这个风险列表将作为风险控制的基础。v风险控制风险控制风险管理计划风险管理计划制定一个应对每个重要风险的方案,制定一个应对每个重要风险的方案,同时确保每一个单独的风险管理计划之间以及与整同时确保每一个单独的风险管理计划之间以及与整体项目计划之间相一致。体项目计划之间相一致。风险化解风险化解每个重要风险所对应计划的执行。每个重
32、要风险所对应计划的执行。风险监控风险监控对解决风险的过程进行监控,还可以包对解决风险的过程进行监控,还可以包括识别新的风险并将其反馈到正在进行的风险管理括识别新的风险并将其反馈到正在进行的风险管理进程中。进程中。v风险的识别风险的识别产品规模风险产品规模风险与软件的总体规模相关的风险,即对于软件的总体规模预测是与软件的总体规模相关的风险,即对于软件的总体规模预测是否准确。否准确。需求风险需求风险是否与用户进行了充分的交流,是否了解用户使用软件所处理是否与用户进行了充分的交流,是否了解用户使用软件所处理的问题域,是否充分理解用户的需求,书面形式的需求分析是的问题域,是否充分理解用户的需求,书面形
33、式的需求分析是否得到用户的认可。否得到用户的认可。过程定义风险过程定义风险与软件过程定义相关的风险与软件过程定义相关的风险开发环境风险开发环境风险与开发工具的可用性及质量相关的风险。与开发工具的可用性及质量相关的风险。技术风险技术风险采用的技术对于解决项目所涉及的问题是否是最适当的技术,采用的技术对于解决项目所涉及的问题是否是最适当的技术,技术是否成熟,是否会被淘汰等。技术是否成熟,是否会被淘汰等。人员数目及经验带来的风险。人员数目及经验带来的风险。与参与工作的软件工程师的总体技术水平及项目经验相关的风与参与工作的软件工程师的总体技术水平及项目经验相关的风险。险。v风险预测(风险评估)风险预测
34、(风险评估)两方面进行评估两方面进行评估风险变成现实的可能性或概率风险变成现实的可能性或概率当风险变成现实时所造成的后果当风险变成现实时所造成的后果评估过程评估过程评估风险后果评估风险后果建立风险表建立风险表风险风险风险出现的概率风险出现的概率Pi风险的影响风险的影响Li风险排序风险排序风险风险10.663.6风险风险20.653.0风险风险n0.0150.05v应对风险的程序和方法应对风险的程序和方法规避。通过变更项目计划,消除风险或者风险的触发条件,使规避。通过变更项目计划,消除风险或者风险的触发条件,使目标免受风险事件发生的影响。这是一种事前的风险应对策略。目标免受风险事件发生的影响。这
35、是一种事前的风险应对策略。例如,采用更加熟悉的工作方法,澄清不明确的需求,增加资例如,采用更加熟悉的工作方法,澄清不明确的需求,增加资源和时间,减少项目的工作范围,尽量避免与不熟悉的分包商源和时间,减少项目的工作范围,尽量避免与不熟悉的分包商签约等。签约等。转移。这种策略不消除风险,而是将项目风险的结果连同应对转移。这种策略不消除风险,而是将项目风险的结果连同应对的权力转移给第三方的权力转移给第三方(第三方应该知道这是风险并具有承受能力第三方应该知道这是风险并具有承受能力)。这也是一种事前的应对策略,例如,签订不同种类的合同,。这也是一种事前的应对策略,例如,签订不同种类的合同,或者签定补偿性
36、合同等。或者签定补偿性合同等。弱化。将风险事件的概率或者结果降低到一个可以接受的程度,弱化。将风险事件的概率或者结果降低到一个可以接受的程度,当然降低风险发生的概率更为有效。例如,选择更简单的流程,当然降低风险发生的概率更为有效。例如,选择更简单的流程,进行更多的实验,建造原型系统,增加备份设计等。进行更多的实验,建造原型系统,增加备份设计等。接受。指不改变项目计划或者没有合适的策略能有效地在事前接受。指不改变项目计划或者没有合适的策略能有效地在事前应对风险,而考虑风险发生后如何应对的问题。例如,制定应应对风险,而考虑风险发生后如何应对的问题。例如,制定应急计划,进行应急储备和监控,等待风险事
37、件发生时再随机应急计划,进行应急储备和监控,等待风险事件发生时再随机应变。变。v软件配置管理(软件配置管理(SCM)是人们在软件工程实践过程中总结出的一套管理办法和原则。是人们在软件工程实践过程中总结出的一套管理办法和原则。是在软件整个生命周期内管理变化的一组活动。是对工作成是在软件整个生命周期内管理变化的一组活动。是对工作成果的一种有效保护。果的一种有效保护。软件配置管理将伴随整个软件生存周期。软件配置管理将伴随整个软件生存周期。软件配置管理是在软件项目启动时就开始,并且一直持续到软软件配置管理是在软件项目启动时就开始,并且一直持续到软件软件退役才终止的一组追踪和控制软件变动的保护性活动。件
38、软件退役才终止的一组追踪和控制软件变动的保护性活动。v目标目标使变化更准确且容易被适应,在必须变化时减少所需要花费使变化更准确且容易被适应,在必须变化时减少所需要花费的工作量。的工作量。六、配置管理六、配置管理六、配置管理六、配置管理 配置项配置项=软件基准软件基准配置项开发过程软件基准提交配置项软件基准正式技术评审软件基准SCM变更控制确认存储存储提取修改配置库软件基准非基准配置项项目名称及编号编码实现数据库设计功能模块设计软件设计与实现过程开发策划需求分析项目启动立项与可行性分析软件策划过程市场前期策划过程软件交付、实施、验收、维护过程分包方相关资料软件维护软件实施与验收软件交付确认测试软件释放过程系统测试软件测试过程功能测试编码检查配置库的结构配置库的结构配置库的结构配置库的结构小结小结小结小结v项目计划的内容和方法项目计划的内容和方法v软件质量的属性有哪些软件质量的属性有哪些v风险管理中识别和应对风险的方法风险管理中识别和应对风险的方法v项目组的组织方式及其特点项目组的组织方式及其特点v配置管理的内容和目的配置管理的内容和目的此此课课件下件下载载可自行可自行编辑编辑修改,修改,仅仅供参考!供参考!感感谢谢您的支持,我您的支持,我们们努力做得更好!努力做得更好!谢谢谢谢