第16章软件项目管理与过程改进ppt课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第16章软件项目管理与过程改进ppt课件.ppt》由会员分享,可在线阅读,更多相关《第16章软件项目管理与过程改进ppt课件.ppt(315页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第十六章第十六章 软件项目管理与过程改进软件项目管理与过程改进软件工程软件工程( (第三版第三版) ) 齐治昌齐治昌 谭庆平谭庆平 宁洪宁洪 2012年年8月月第十六章第十六章 软件项目管理与过程改进软件项目管理与过程改进16.1 16.1 软件项目管理与过程模型软件项目管理与过程模型16.2 16.2 软件项目度量与估算软件项目度量与估算16.3 16.3 风险分析风险分析16.4 16.4 软件项目计划软件项目计划16.5 16.5 软件项目人员和组织软件项目人员和组织16.6 16.6 软件质量保证软件质量保证16.7 16.7 软件配置管理软件配置管理16.8 16.8 软件过程改进
2、软件过程改进2022-8-8国防科技大学计算机学院2软件项目管理与过程改进软件项目管理与过程改进软件管理是软件工程学科的重要组成部分,在软件管理是软件工程学科的重要组成部分,在软件生存周期中发挥着重要的作用。软件生存周期中发挥着重要的作用。软件开发过程中的软件管理称软件项目管理,软件开发过程中的软件管理称软件项目管理,直接关系到软件项目的成败。直接关系到软件项目的成败。软件配置管理贯穿整个软件生存周期,在软件软件配置管理贯穿整个软件生存周期,在软件开发过程中是软件项目管理的重要组成部分,开发过程中是软件项目管理的重要组成部分,在软件交付后是软件有效运行和维护的保障。在软件交付后是软件有效运行和
3、维护的保障。软件开发组织建设和过程改进是不断推出高质软件开发组织建设和过程改进是不断推出高质量软件制品的关键。量软件制品的关键。本章主要介绍软件项目管理、软件配置管理、本章主要介绍软件项目管理、软件配置管理、软件过程改进。软件过程改进。16.116.1软件项目管理与过程模型软件项目管理与过程模型本节主要介绍本节主要介绍软件项目管理的概念软件项目管理的概念软件项目管理的过程模型软件项目管理的过程模型软件项目管理的原则软件项目管理的原则软件项目制品软件项目制品16.1.116.1.1软件项目管理的概念软件项目管理的概念软件项目管理是软件工程的重要组成部分。软件项目管理是软件工程的重要组成部分。软件
4、项目已通过软件项目的可行性论证和立项的软件项目已通过软件项目的可行性论证和立项的法定程序。法定程序。软件项目可能是基于计算机的系统工程的一部分,软件项目可能是基于计算机的系统工程的一部分,也可能是独立的实体。也可能是独立的实体。 按照合同要求,软件项目应具有明确的目标、任按照合同要求,软件项目应具有明确的目标、任务、责任人、技术途径、资金投入、交付时间、务、责任人、技术途径、资金投入、交付时间、客户实体、利益相关方。客户实体、利益相关方。在面向领域的应用软件开发项目中,领域专家和在面向领域的应用软件开发项目中,领域专家和客户愿意和软件开发团队密切合作,客户愿意和软件开发团队密切合作,这这是项目
5、成是项目成功的关键。功的关键。2022-8-8国防科技大学计算机学院5软件项目管理的概念软件项目管理的概念软件工程是人的智力密集型劳动,软件是软件工程是人的智力密集型劳动,软件是逻辑制品,软件项目管理更要强调工作的逻辑制品,软件项目管理更要强调工作的计划性,人员、进度、制品的可控性,要计划性,人员、进度、制品的可控性,要及时进行软件项目的风险分析和管理。及时进行软件项目的风险分析和管理。客户与开发者必须在项目开发早期、软件客户与开发者必须在项目开发早期、软件需求工程的初始阶段完成下列需求工程的初始阶段完成下列六项六项任务任务。2022-8-8国防科技大学计算机学院6软件项目管理的概念软件项目管
6、理的概念 确定制品目标、范围,主要技术指标、功能确定制品目标、范围,主要技术指标、功能 和行为特性;和行为特性; 确定管理者和开发人员;确定管理者和开发人员; 进行成本估算;进行成本估算; 进行有效的风险分析、验证与确认;进行有效的风险分析、验证与确认; 给出恰当的项目任务划分;给出恰当的项目任务划分; 根据约束条件,如制品交付期限、预算、可根据约束条件,如制品交付期限、预算、可 用人员、技术接口等因素,选择用人员、技术接口等因素,选择“最佳最佳”方方 案,制定可管理的项目进度计划,给出明确案,制定可管理的项目进度计划,给出明确 的项目进展标志的项目进展标志, ,并将任务、责任落实到人。并将任
7、务、责任落实到人。2022-8-8国防科技大学计算机学院7软件项目管理的概念软件项目管理的概念19991999年,软件产业界的统计数据表明,年,软件产业界的统计数据表明,2626的软的软件项目彻底失败,件项目彻底失败,4646的项目成本和进度超出预的项目成本和进度超出预定计划。定计划。软件项目失败率仍然很高。软件项目失败率仍然很高。实践表明,良好的软件开发过程孕育着好的软件实践表明,良好的软件开发过程孕育着好的软件制品,制品,而而好的软件制品一般隐含良好的软件开发好的软件制品一般隐含良好的软件开发过程。过程。本节的其余部分介绍软件项目管理原则、软件项本节的其余部分介绍软件项目管理原则、软件项目
8、的管理模型、生存周期各阶段的软件制品。目的管理模型、生存周期各阶段的软件制品。16.1.2 16.1.2 软件项目管理的过程模型软件项目管理的过程模型第一章讨论了软件生存周期和软件开发的几种第一章讨论了软件生存周期和软件开发的几种模型。模型。生存周期及其划分涉及软件开发过程和过程生生存周期及其划分涉及软件开发过程和过程生成的制品。成的制品。软件开发过程分为线性过程和非线性过程两类。软件开发过程分为线性过程和非线性过程两类。瀑布模型是典型的线性过程模型。瀑布模型是典型的线性过程模型。增量模型、螺旋模型虽是迭代模型增量模型、螺旋模型虽是迭代模型, ,但本质上但本质上是瀑布模型的应用。是瀑布模型的应
9、用。统一过程统一过程RUPRUP是迭代的非线性模型,与瀑布模是迭代的非线性模型,与瀑布模型存在本质的区别。型存在本质的区别。这些模型既用于软件开发的技术过程,也用于这些模型既用于软件开发的技术过程,也用于软件开发的管理过程。软件开发的管理过程。软件项目管理的过程模型软件项目管理的过程模型软件开发的技术人员和管理人员在软件开发过程软件开发的技术人员和管理人员在软件开发过程中分工明确中分工明确, ,他们在模型中参与相应的活动,开发他们在模型中参与相应的活动,开发相应的制品。相应的制品。软件过程的活动序列按任务分类软件过程的活动序列按任务分类, ,组成软件开发人组成软件开发人员开发软件制品的员开发软
10、件制品的“工作流工作流”。“工作流工作流”强调强调“人的活动人的活动”,目标是开发软件,目标是开发软件制品,其中蕴含开发人员使用的技术、工具和必制品,其中蕴含开发人员使用的技术、工具和必须遵循的约束条件。须遵循的约束条件。第二章介绍了第二章介绍了RUPRUP的九个工作流,及在软件生存周的九个工作流,及在软件生存周期各阶段的工作量分布。期各阶段的工作量分布。2022-8-8国防科技大学计算机学院10软件项目管理的过程模型软件项目管理的过程模型启动每个工作流都要完成某项任务,产生某些制启动每个工作流都要完成某项任务,产生某些制品,都要使用一定的资源,必须满足一定的约束品,都要使用一定的资源,必须满
11、足一定的约束条件。条件。如,需求工作流将系统工程师或用户以某种方式如,需求工作流将系统工程师或用户以某种方式提供的系统功能和特征作为前置条件,通过需求提供的系统功能和特征作为前置条件,通过需求获取、分析、建模活动生成用软件建模语言(如,获取、分析、建模活动生成用软件建模语言(如,UMLUML)描述的软件需求规约。)描述的软件需求规约。需求阶段的约束是需求文档的标准、表示法、需需求阶段的约束是需求文档的标准、表示法、需求预算、进度等。求预算、进度等。2022-8-8国防科技大学计算机学院11软件项目管理的过程模型软件项目管理的过程模型软件团队选择软件过程模型时,有很大的灵活性,软件团队选择软件过
12、程模型时,有很大的灵活性,应根据项目需要确定过程模型。应根据项目需要确定过程模型。如果问题能很好地划分,时间紧,不可能完成所如果问题能很好地划分,时间紧,不可能完成所有功能,可采用增量模型,分期交付。有功能,可采用增量模型,分期交付。如果项目需求不能完全确定、需求变更频繁可采如果项目需求不能完全确定、需求变更频繁可采用用RUPRUP迭代过程模型等迭代过程模型等。2022-8-8国防科技大学计算机学院1216.1.3 16.1.3 软件项目管理的原则软件项目管理的原则W.Royce W.Royce 总结了现代软件项目管理应该遵循的十总结了现代软件项目管理应该遵循的十条重要原则。条重要原则。体系结
13、构优先的过程体系结构优先的过程软件体系结构是软件需求、软件设计活动的关键软件体系结构是软件需求、软件设计活动的关键制品。制品。软件体系结构过程涉及软件项目全局软件体系结构过程涉及软件项目全局, ,包括包括: :软件软件项目计划、需求获取、描述、风险分析、软件体项目计划、需求获取、描述、风险分析、软件体系结构设计等。系结构设计等。软件体系结构过程与软件实现、交付、维护相比,软件体系结构过程与软件实现、交付、维护相比,涉及的人较少,工作量较小。涉及的人较少,工作量较小。软件项目管理的原则软件项目管理的原则稳定、优质的体系结构是软件实现和交付的基础,稳定、优质的体系结构是软件实现和交付的基础,可以避
14、免软件上游缺陷蔓延到下游,减少软件制可以避免软件上游缺陷蔓延到下游,减少软件制品返工和报废,避免时间和资源的浪费。品返工和报废,避免时间和资源的浪费。软件体系结构基线是软件初始、软件细化阶段成软件体系结构基线是软件初始、软件细化阶段成熟的标志。熟的标志。体系结构优先的过程体现了软件体系结构在现代体系结构优先的过程体现了软件体系结构在现代软件开发过程中的重要地位。软件开发过程中的重要地位。2022-8-8国防科技大学计算机学院14软件项目管理的原则软件项目管理的原则 风险驱动的迭代过程风险驱动的迭代过程软件开发存在许多不确定因素,存在许多风险。软件开发存在许多不确定因素,存在许多风险。适时进行风
15、险分析,提出化解风险的措施,驱适时进行风险分析,提出化解风险的措施,驱动迭代过程,是保证软件开发过程按计划前行,动迭代过程,是保证软件开发过程按计划前行,软件制品随软件开发的迭代过程不断进化的有软件制品随软件开发的迭代过程不断进化的有效途径。效途径。 基于构件的设计基于构件的设计基于构件的软件设计可以降低软件复杂性,有基于构件的软件设计可以降低软件复杂性,有效实施软件复用,提高软件质量,降低软件开效实施软件复用,提高软件质量,降低软件开发成本,缩短交付期限,提高软件项目计划和发成本,缩短交付期限,提高软件项目计划和成本估算的准确性。成本估算的准确性。2022-8-8国防科技大学计算机学院15软
16、件项目管理的原则软件项目管理的原则 建立配置和变更管理环境建立配置和变更管理环境软件开发过程中变更不可避免软件开发过程中变更不可避免,需求不能完全确需求不能完全确定的项目只能在探索中前进。定的项目只能在探索中前进。软件开发文档、中间制品很多,某一文档的变更软件开发文档、中间制品很多,某一文档的变更通常会涉及相关文档,必须对这些文档进行相应通常会涉及相关文档,必须对这些文档进行相应的维护,保持软件制品的一致性。的维护,保持软件制品的一致性。采用迭代、增量开发模型,面对不同的用户需求,采用迭代、增量开发模型,面对不同的用户需求,项目团队将持续发布多种版本的软件制品。项目团队将持续发布多种版本的软件
17、制品。复杂多变的软件项目和制品复杂多变的软件项目和制品, ,需要需要变更管理工具、变更管理工具、配置数据库和配置管理系统的支持,人工配置数据库和配置管理系统的支持,人工不能不能完完成这一任务。成这一任务。软件项目管理的原则软件项目管理的原则 建立支持双向工程的工具和环境建立支持双向工程的工具和环境为了保持变更的一致性,软件工具和环境要支持为了保持变更的一致性,软件工具和环境要支持正向工程正向工程和和逆向工程。逆向工程。详细设计、代码的修改确定后,利用逆向工程工详细设计、代码的修改确定后,利用逆向工程工具和环境自动生成软件开发上游的体系结构和需具和环境自动生成软件开发上游的体系结构和需求文档。求
18、文档。正向和逆向工程的工具和环境相互配合,为可变正向和逆向工程的工具和环境相互配合,为可变更的迭代开发过程提供了灵活性,提高了软件开更的迭代开发过程提供了灵活性,提高了软件开发的效率和软件制品的质量。发的效率和软件制品的质量。2022-8-8国防科技大学计算机学院17软件项目管理的原则软件项目管理的原则 用严格的、基于模型的符号描述设计制品用严格的、基于模型的符号描述设计制品程序设计语言是描述程序的工具,用于人与人、程序设计语言是描述程序的工具,用于人与人、人与机器的交流,控制计算机的运行。人与机器的交流,控制计算机的运行。程序设计语言是用一组符号按照严格的语法、语程序设计语言是用一组符号按照
19、严格的语法、语义、语用定义的。义、语用定义的。目前广泛使用统一建模语言目前广泛使用统一建模语言UMLUML,支持软件需求、支持软件需求、设计和实现的全过程(实现过程需要设计和实现的全过程(实现过程需要JavaJava、C+C+等等程序设计语言的支持)。程序设计语言的支持)。UMLUML标准提供用例图、结构图(类图、对象图、包标准提供用例图、结构图(类图、对象图、包图)、行为图(交互图、状态图、顺序图、通信图)、行为图(交互图、状态图、顺序图、通信图)、构件图、部署图五类共十种图形建模表示图)、构件图、部署图五类共十种图形建模表示法和法和OCLOCL约束语言约束语言。软件项目管理的原则软件项目管
20、理的原则 为客观的质量控制插装验证和确认过程为客观的质量控制插装验证和确认过程客观的软件质量强调软件制品的实际质量。客观的软件质量强调软件制品的实际质量。在初始和细化阶段,只能通过检查、审查方式评在初始和细化阶段,只能通过检查、审查方式评估软件制品,软件的质量评估往往带有主观色彩。估软件制品,软件的质量评估往往带有主观色彩。在软件开发过程中,设置关键点插装评估过程,在软件开发过程中,设置关键点插装评估过程,对软件制品和过程进行严格检查和对软件制品和过程进行严格检查和V&VV&V可防止缺陷可防止缺陷蔓延、减少制品报废和返工,提高软件制品质量。蔓延、减少制品报废和返工,提高软件制品质量。2022-
21、8-8国防科技大学计算机学院19软件项目管理的原则软件项目管理的原则 借助演示评估中间制品借助演示评估中间制品现代软件开发过程借助场景、用例描述需求。现代软件开发过程借助场景、用例描述需求。场景、用例具有直观、便捷、容易理解的优点。场景、用例具有直观、便捷、容易理解的优点。软件开发过程中借助演示,验证确认基于场景、软件开发过程中借助演示,验证确认基于场景、用例的中间制品的演化过程,有利于团队成员的用例的中间制品的演化过程,有利于团队成员的沟通,及时统一软件开发人员对软件制品的认识,沟通,及时统一软件开发人员对软件制品的认识,减少因理解过失导致的软件制品缺陷,提高软件减少因理解过失导致的软件制品
22、缺陷,提高软件制品的评审质量和软件开发效率。制品的评审质量和软件开发效率。2022-8-8国防科技大学计算机学院20软件项目管理的原则软件项目管理的原则 大量使用场景。大量使用场景。按照场景细化等级,在软件生存周期的前期就开按照场景细化等级,在软件生存周期的前期就开始持续的发布有用的软件版本。始持续的发布有用的软件版本。保持需求、设计和计划均衡进化。保持需求、设计和计划均衡进化。 争取更多的投资回报。争取更多的投资回报。推广项目团队掌握的方法、技术、工具和经验,推广项目团队掌握的方法、技术、工具和经验,建立灵活的配置过程,在经济上争取更多的回报。建立灵活的配置过程,在经济上争取更多的回报。20
23、22-8-8国防科技大学计算机学院21软件项目管理的原则软件项目管理的原则现代软件项目管理要素是,人员、环境、质量、现代软件项目管理要素是,人员、环境、质量、规模和过程。规模和过程。上述十项原则符合软件经济学基本规律:上述十项原则符合软件经济学基本规律:成本成本 = =(人员)(人员)(环境)(环境)(质量)(质量)(规模)(规模)(过程(过程) 人员:用演示方式进行沟通、不断发布用例进人员:用演示方式进行沟通、不断发布用例进化细节,提高人员对项目、软件制品的理解和化细节,提高人员对项目、软件制品的理解和认识,避免误解和无效劳动。认识,避免误解和无效劳动。环境:建立软件双向工程的工具和环境,采
24、用环境:建立软件双向工程的工具和环境,采用过程插装,进行客观的质量度量和控制,提高过程插装,进行客观的质量度量和控制,提高软件开发质量和效率。软件开发质量和效率。软件项目管理的原则软件项目管理的原则质量:贯彻体系结构优先的原则,统一开发过程质量:贯彻体系结构优先的原则,统一开发过程和语言,实施变更管理,加强环境基础建设,重和语言,实施变更管理,加强环境基础建设,重视对项目和软件制品的视对项目和软件制品的V&VV&V,提高软件制品的质量。,提高软件制品的质量。规模:采用构件开发,统一开发过程的语言描述,规模:采用构件开发,统一开发过程的语言描述,利用多种途径降低复杂性,化解规模带来的压力。利用多
25、种途径降低复杂性,化解规模带来的压力。过程:采用迭代开发模型,实施可配置的过程改过程:采用迭代开发模型,实施可配置的过程改进,进行风险分析和管理,重视项目的过程复用,进,进行风险分析和管理,重视项目的过程复用,优化软件开发过程。优化软件开发过程。成本和规模、过程的指数关系表明成本和规模、过程的指数关系表明, ,减少规模,改减少规模,改进过程对降低成本的特殊重要性。进过程对降低成本的特殊重要性。人员、环境、质量、规模、过程的改进可减少大人员、环境、质量、规模、过程的改进可减少大量文档,降低软件开发成本。量文档,降低软件开发成本。软件项目管理的原则软件项目管理的原则按照上述原则进行软件项目管理是现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 软件 项目 管理 过程 改进 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内