软件工程-项目管理第五讲课件.ppt

上传人(卖家):晟晟文业 文档编号:4907388 上传时间:2023-01-24 格式:PPT 页数:93 大小:2.38MB
下载 相关 举报
软件工程-项目管理第五讲课件.ppt_第1页
第1页 / 共93页
软件工程-项目管理第五讲课件.ppt_第2页
第2页 / 共93页
软件工程-项目管理第五讲课件.ppt_第3页
第3页 / 共93页
软件工程-项目管理第五讲课件.ppt_第4页
第4页 / 共93页
软件工程-项目管理第五讲课件.ppt_第5页
第5页 / 共93页
点击查看更多>>
资源描述

1、软件工程导论软件工程导论2006年8月7日 软件教研室软件教研室所谓软件项目管理就是通过计划、组织所谓软件项目管理就是通过计划、组织和控制等一系列活动,合理地配置和使和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。用各种资源,以达到既定目标的过程。第五讲第五讲 软件项目管理软件项目管理注:几个核心概念:度量、估算、风险分析、进度安排、追踪与控制 2006年8月7日 软件教研室软件教研室软件项目的特征软件项目的特征 软件产品的不可见性;软件产品的不可见性;项目的高度不确定性;项目的高度不确定性;软件过程的多变化性;软件过程的多变化性;软件人员的高流动性;软件人员的高流动性;注

2、:降低复杂性和控制变化是软件项目管理的关键问题;注:降低复杂性和控制变化是软件项目管理的关键问题;2006年8月7日 软件教研室软件教研室项目管理过程项目管理过程 软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程(主要对象是4P行为);2006年8月7日 软件教研室软件教研室项目管理与管理过程的关系项目管理与管理过程的关系 2006年8月7日 软件教研室软件教研室项目管理的关注点项目管理的关注点 2006年8月7日 软件教研室软件教研室软件项目管理的活动软件项目管理的活动 项目启动阶段:项目启动阶段:确定项目范围、组建项目团队、建立项目环境;项目规划阶段:项目规划阶段:确

3、定项目活动、预算项目成本、制定进度计划;项目实施阶段:项目实施阶段:监控项目执行、管理项目风险、控制项目变更;项目收尾阶段:项目收尾阶段:客户验收项目、安装培训软件、总结项目经验;2006年8月7日 软件教研室软件教研室启动一个软件项目启动一个软件项目明确项目的目标和范围;考虑候选的解决方案;标明技术和管理上的要求;2006年8月7日 软件教研室软件教研室第一节第一节 软件规模与工作量估算软件规模与工作量估算 2006年8月7日 软件教研室软件教研室主要技术主要技术1.1.代码行技术;代码行技术;2.功能点技术;功能点技术;3.专家判断;专家判断;4.类比估算;类比估算;5.COCOMO模型;

4、模型;2006年8月7日 软件教研室软件教研室代码行技术代码行技术代码行技术是一种简单而直观的软件规模估算方法,它从过代码行技术是一种简单而直观的软件规模估算方法,它从过去开发类似产品的经验和历史数据出发,估算出所开发软件去开发类似产品的经验和历史数据出发,估算出所开发软件的代码行数。的代码行数。优点简单方便,在历史数据可靠的情况下可以很快估算出比较准确的代码行数。缺点需要依赖比较详细的功能分解,难以在开发初期进行估算估算结果与所用开发语言紧密相关,无法适用于非过程语言2006年8月7日 软件教研室软件教研室功能点技术功能点技术功能点技术是依据软件信息域的基本特征和对软件复杂性的估计,估算出软

5、件规模。这种方法适合于在软件开发初期进行估算,并以功能点为单位度量软件规模。软件信息域的5 个基本特征外部输入:用户进行添加或修改数据的屏幕或表格外部输出:软件为用户产生的输出屏幕或报表外部查询:软件以联机输出方式产生的独立查询内部逻辑文件:软件修改或保存的逻辑记录集合外部接口:与其他系统进行信息交换或共享的文件2006年8月7日 软件教研室软件教研室专家判断专家判断专家判断是依靠一个或多个专家对项目成本作出估计,这是一种近似的猜测,要求专家具有专门知识和丰富的经验。Delphi 方法是最流行的专家评估技术,它鼓励参与者就问题相互讨论,互相说服对方,最终达成共识。2006年8月7日 软件教研室

6、软件教研室类比估算类比估算类比估算是一种比较科学的传统估算方法,它适合评估一些与历史项目在应用领域、环境和复杂度上相似的项目,通过新项目与历史项目的比较得到规模估算。类比估算的精确度取决于历史项目数据的完整性和准确度。2006年8月7日 软件教研室软件教研室COCOMOCOCOMO模型模型结构性成本模型COCOMO(COnstructiveCOstMOdel)是一种利用经验模型进行成本估算的方法基本基本COCOMO 模型模型这是一个静态单变量模型,用一个以源代码行数为自变量的经验函数来计算软件开发工作量。2006年8月7日 软件教研室软件教研室中间中间 COCOMO COCOMO 模型模型中间

7、 COCOMO 模型以基本 COCOMO 模型为基础,通过对影响工作量的若干因素进行估计,确定出调节因子,再对工作量估算公式进行修正。2006年8月7日 软件教研室软件教研室软件项目规划是项目管理者对资源、成本和进度作出合理的估算,制定出切实可行的软件项目计划。第二节第二节 软件项目规划软件项目规划 2006年8月7日 软件教研室软件教研室软件项目规划过程软件项目规划过程软件项目规划过程软件项目规划过程确定项目的目的和范围:具体说明项目的最终产品以及期望的时间、成本、质量目标分解和定义整个项目应包括的工作活动和任务估算完成该项目的规模及其所需资源制定合理的软件项目计划:包括进度、成本、质量等方

8、面的预测2006年8月7日 软件教研室软件教研室需要考虑的问题需要考虑的问题预先对进度如何计划?工作怎样就位?如何识别定义好的任务?管理人员对结束时间如何掌握?如何识别和监控关键路径以确保结束?对进展如何度量?如何建立分隔任务的里程碑?2006年8月7日 软件教研室软件教研室软件项目计划软件项目计划软件项目计划是一个用来协调所有其他计划、以指导项目实施和控制的文件,它应该随着项目的进展和信息的补充进行定期完善。软件项目计划包括项目可用的资源、工作分解以及完成工作的进度安排,另外还有各种支持性计划。质量计划:描述质量过程和质量标准确认计划:描述系统确认的方法、资源和进度配置管理计划:描述配置管理

9、的过程和结构维护计划:预期系统维护需求和所需的成本与人力人员开发计划:描述如何开发项目人员的技能和经验2006年8月7日 软件教研室软件教研室软件项目计划的过程软件项目计划的过程2006年8月7日 软件教研室软件教研室软件项目分解软件项目分解将项目整体分解成较小的、易于管理和控制的若干子项目或工作单元,直到可交付成果定义的足够详细,足以支持项目将来的活动。按照项目实施过程的顺序分解:2006年8月7日 软件教研室软件教研室制定进度计划的主要工具制定进度计划的主要工具 Gantt图:2006年8月7日 软件教研室软件教研室追踪和控制追踪和控制 由项目管理人员负责追踪在进度安排中标明的每一个任务。

10、如果任务实际完成日期滞后于进度安排,则管理人员可以使用一种自动的项目进度安排工具来确定在项目的中间里程碑上进度误期所造成的影响。还可对资源重新定向。对任务重新安排(做为最坏的结果)可以修改交付日期以调整已经暴露的问题。用这种方式可以较好地控制软件的开发。2006年8月7日 软件教研室软件教研室第三节第三节 人员组织人员组织 人员是软件开发中最重要的资源:人员的选择、分配和组织很大程度上影响软件项目的效率、进度、过程管理和产品质量;软件开发依赖于开发人员的认知能力和沟通技能;项目经理的任务主要是面向人的:项目经理必须能够了解人;项目经理需要建立和优化团队,使其工作达到最佳;典型的软件开发组织形式

11、:民主式、主程序员式、技术管理式;2006年8月7日 软件教研室软件教研室参考因素参考因素 说明说明应用领域的经验应用领域的经验 为了成功地开发系统,开发人员必须了解相关的应用领域。为了成功地开发系统,开发人员必须了解相关的应用领域。平台的经验平台的经验 在编写底层程序时该因素很重要。在编写底层程序时该因素很重要。编程语言的经验编程语言的经验 该因素对于短周期的项目是很重要的。该因素对于短周期的项目是很重要的。教育背景教育背景 该因素可以显示候选人应该掌握的基础知识和学习能力,由于开该因素可以显示候选人应该掌握的基础知识和学习能力,由于开 发人员的经验可以在项目实践中获得,该因素并非是关键的。

12、发人员的经验可以在项目实践中获得,该因素并非是关键的。沟通能力沟通能力 由于项目成员需要与其他人员、管理者和客户进行口头和书面交由于项目成员需要与其他人员、管理者和客户进行口头和书面交 流,该因素是十分重要的。流,该因素是十分重要的。适应性适应性 适应性可以通过候选人的各种经历进行判断,该因素反映出一个适应性可以通过候选人的各种经历进行判断,该因素反映出一个 的学习能力。的学习能力。工作态度工作态度 项目成员应该有积极的工作态度,乐于学习新技术,该因素很重项目成员应该有积极的工作态度,乐于学习新技术,该因素很重 要但是难以评估。要但是难以评估。个性个性 候选人必须与团队成员关系融洽,尚没有软件

13、工程方面的特定个候选人必须与团队成员关系融洽,尚没有软件工程方面的特定个 性类型,该因素很重要但是难以评估。性类型,该因素很重要但是难以评估。人员的选择人员的选择 2006年8月7日 软件教研室软件教研室团队和小组团队和小组 小组(Groups)强有力的领导者个人负责制围绕组织的目标做事个人创作的结果有效的组织会议形式根据对他人的影响评价业绩由人委派工作一个有凝聚力的团队是一组紧密团结的人,其整体力量大于个体一个有凝聚力的团队是一组紧密团结的人,其整体力量大于个体力量的总和。力量的总和。团队(TEAMS)共同参与个人与集体共同负责围绕特点的团队目标做事集体创作的结晶自由开放式的会议形式根据工作

14、产品评价业绩共同完成实际工作2006年8月7日 软件教研室软件教研室团队成功的关键团队成功的关键 明确的目标与共同的承诺明确的目标与共同的承诺项目目标与客户需求相一致共同认同项目的前景和目标清晰的分工与紧密的协作清晰的分工与紧密的协作清晰地定义项目成员的角色和分工充分认识团队合作的重要性融洽的关系与通畅的沟通融洽的关系与通畅的沟通共同营造和谐、宽松、团结、互爱的工作环境具有高效的沟通渠道和开放坦诚的沟通氛围高昂的士气与高效的工作高昂的士气与高效的工作2006年8月7日 软件教研室软件教研室民主式组织结构民主式组织结构小组成员完全平等,名义上的组长与其他成员没有任何区别。大家享有充分的民主,项目

15、工作由全体讨论协商决定,并根据每个人的能力和经验进行适当分配。.优点同等的项目参与权激发大家的创造力,有利于攻克技术难关特别适合于规模小、能力强、习惯于共同工作的软件开发组.缺点缺乏明确的权威领导,很难解决意见分歧无法适用于大规模开发的情形。2006年8月7日 软件教研室软件教研室主程序员式组织结构主程序员式组织结构以主程序员为核心主程序员既是项目管理者也是技术负责人团队其他人员的职能进行专业化分工.优点成员之间采取简单的交流沟通模式.缺点很难找到技术和管理才能兼备的主程序员2006年8月7日 软件教研室软件教研室技术管理式组织结构技术管理式组织结构技术与管理工作进行分离技术与管理工作进行分离

16、技术负责人负责技术决策管理负责人负责非技术性事务的管理决策和绩效评价在这种组织结构中,明确划分技术负责人和管在这种组织结构中,明确划分技术负责人和管理负责人的管理权限是十分重要的理负责人的管理权限是十分重要的2006年8月7日 软件教研室软件教研室案例:微软公司的软件开发组织案例:微软公司的软件开发组织微软开发团队的特点微软开发团队的特点小型的、多元化的项目组织相互依赖的角色与共同分享的职责具备专深的技术水平和业务技能具有强烈的产品意识,关注最终发布的软件产品清晰的目标和远景人人参与设计项目组成员在同一地点办公对于规模较大的项目,采取类似小型项目组的运作模式2006年8月7日 软件教研室软件教

17、研室案例:微软公司的软件开发组织案例:微软公司的软件开发组织2006年8月7日 软件教研室软件教研室案例:微软公司的软件开发组织案例:微软公司的软件开发组织2006年8月7日 软件教研室软件教研室案例:微软公司的软件开发组织案例:微软公司的软件开发组织2006年8月7日 软件教研室软件教研室案例:微软公司的软件开发组织案例:微软公司的软件开发组织2006年8月7日 软件教研室软件教研室案例:微软公司的软件开发组织案例:微软公司的软件开发组织2006年8月7日 软件教研室软件教研室案例:微软公司的软件开发组织案例:微软公司的软件开发组织2006年8月7日 软件教研室软件教研室案例:微软公司的软件

18、开发组织案例:微软公司的软件开发组织2006年8月7日 软件教研室软件教研室案例:微软公司对员工的要求案例:微软公司对员工的要求个人素质个人素质聪明有自我发展能力足够自信有很强的工作驱动能力,知道如何开展工作沉着与镇定有创新精神对待产品和技术对待产品和技术热爱技术,热心解决问题针对变化和创新,有良好的适应和管理能力2006年8月7日 软件教研室软件教研室案例:微软公司对员工的要求案例:微软公司对员工的要求注重客户的反馈注重客户的反馈所有员工都要以客户为中心开展工作员工代表公司的形象团队合作团队合作有团队精神具备良好的交流沟通能力善于与人相处你认为如何培养这些素质?2006年8月7日 软件教研室

19、软件教研室怎样进行软件开发管理才能生产出高质量的软件产品呢?在ISO9000 质量管理和质量保证标准中,制定了在软件开发、供应和维护中的使用指南标准,该标准除对软件生命周期的各个阶段做了严格的规定外,还在其质量体系中规定了与阶段无关的支持活动,其中软件配置管理(Software Configuration Management,简称SCM)被放在首位。第四节第四节 软件配置管理软件配置管理 2006年8月7日 软件教研室软件教研室软件变化的影响软件变化的影响 2006年8月7日 软件教研室软件教研室软件配置管理定义软件配置管理定义 Wayne Babich 的Software Configur

20、ation Management:Coordinating for Team Productivity一书中把软件配置管理描述为:对软件开发组所建立的软件的修改进行标识、组织和控制的艺术,其目标是减少错误,提高生产力 Steve McConnell 的Code Complete一书中:配置管理能够系统地处理变更,从而使得软件系统可以随时保持其完整性。配置管理又可称为变更控制,可以用来评估提出的变更请求,跟踪变更,并保存系统在不同时间的状态。2006年8月7日 软件教研室软件教研室软件配置管理的作用软件配置管理的作用 SCM 可以系统地管理软件系统中的多重版本;全面记载系统开发的历史过程,包括为

21、什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。SCM 对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报 2006年8月7日 软件教研室软件教研室软件配置管理的实施要点软件配置管理的实施要点 一般来讲要考虑两个方面的因素:流程和工具 注:流程和工具是相辅相成的,流程起决定性作用,它确定了管理的规则和方法,工具用来将变更存储在一个中央存储库中,可以重现任一时期的历史版本,一个好的工具可以提高效率

22、,是贯彻实施流程的必要手段。2006年8月7日 软件教研室软件教研室配置管理的功能配置管理的功能 并行开发支持:因开发和维护的原因,要求能够实现开发人员同时在同一个软件模块上工作,同时对同一个代码部分作不同的修改,即使是跨地域分布的开发团队也能互不干扰,协同工作,而又不失去控制修订版管理:跟踪每一个变更的创造者、时间和原因,从而加快问题和缺陷的确定版本控制:能够简单、明确地重现软件系统的任何一个历史版本 产品发布管理:管理、计划软件的变更,与软件的发布计划、预先定制好的生命周期或相关的质量过程保持一致;项目经理能够随时清晰地了解项目的状态建立管理:基于软件存储库的版本控制功能,实现建立(bui

23、ld)过程自动化过程控制:贯彻实施开发规范,包括访问权限控制、开发规则的实施等变更请求管理:跟踪、管理开发过程中出现的缺陷(Defect)、功能增强请求(RFE)或任务(Task),加强沟通和协作,能够随时了解变更的状态代码共享:提供良好的存储和访问机制,开发人员可以共享各自的开发资源 2006年8月7日 软件教研室软件教研室配置管理的实施配置管理的实施-规划、调整网规划、调整网络开发环境络开发环境 网络的带宽、拓扑结构服务器的选择、命名规范存储区的定位开发人员及组的命名规约一个规划良好的开发环境,是实施配置管理系统的前提。在此阶段我们要对配置管理系统做出规划,主要考虑以下问题:2006年8月

24、7日 软件教研室软件教研室配置管理的实施配置管理的实施-软件配置项软件配置项 软件配置项是为了配置管理而作为单独实体处理的一个工作产品或软件。2006年8月7日 软件教研室软件教研室配置管理的实施配置管理的实施-基线基线 基线是已经通过了正式复审的规格说明或中间产品,它可以作为进基线是已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变。一步开发的基础,并且只有通过正式的变化控制过程才能改变。2006年8月7日 软件教研室软件教研室配置管理的实施配置管理的实施-设计配置管理库设计配置管理库 根据项目开发的要求,设计开发资源的存储模式,良好的

25、存储模式有利于减轻管理上的负担,增强配置管理库的访问性能,同时便于控制访问权限,保护软件资产。2006年8月7日 软件教研室软件教研室配置管理的实施配置管理的实施-版本管理版本管理 版本是确定在明确定义的时间点上某个配置项的状态。版本管理版本是确定在明确定义的时间点上某个配置项的状态。版本管理是对系统不同的版本进行标识和跟踪的过程,从而保证软件技术是对系统不同的版本进行标识和跟踪的过程,从而保证软件技术状态的一致性。状态的一致性。版本演变的实例:版本演变的实例:2006年8月7日 软件教研室软件教研室配置管理的实施配置管理的实施-版本存取控制版本存取控制 2006年8月7日 软件教研室软件教研

26、室配置管理的实施配置管理的实施-变更控制变更控制 变更控制是建立一套组织结构和控制规程,有意识地控制软件的变更过程。2006年8月7日 软件教研室软件教研室配置管理的实施配置管理的实施-定义配置管理定义配置管理系统的角色系统的角色 在此阶段,我们需要确定与配置管理相关的所有角色,包括他们的相应的活动。在开发过程中,一个开发人员可能兼任多种角色,但一项任务在同一时刻只能由一个角色来执行。一般配置管理中的角色主要包括:项目经理:项目经理在配置管理方面的职责是依靠配置管理员、系统管理员和系统体系结构设计人员的帮助,制定项目的组织结构和配置管理策略。这些工作包括:定制开发子系统,定制访问控制,制定常用

27、策略,制定集成里程碑,以及进行系统集成配置管理员:配置管理员的职责是根据项目经理制定的开发组织结构和策略,实施、维护配置管理的环境。其主要职责如下:创建配置管理库,对存储库进行日常备份和恢复,维护配置管理环境,及管理配置管理相关的用户软件开发人员:软件开发人员依据项目的开发和配置管理策略,创建、修改和测试开发工件集成人员:对软件进行归并,形成相应的基线或发布版本QA 人员:需要对软件配置管理有较深的认识,其主要工作是跟踪当前项目的状态,测试,报告错误,并验证其修复结果2006年8月7日 软件教研室软件教研室配置管理的实施配置管理的实施-制定配置管理流程制定配置管理流程 这是配置管理实施的一个重

28、要阶段,其主要目的是根据项目开发的需要,制定相应的配置管理流程,以更好地支持开发,主要活动包括:定制并行开发策略:合理的并行开发策略应该具有以下特点:协调项目的复杂性和需求,统一创建分支类型和元数据,为开发过程中的变更集成制定有效的规范,适时反映开发过程中方法和需求的变化发布版本管理:软件开发过程中的一个关键活动是提取工件的相关版本,以形成软件系统的阶段版本或发布版本,我们一般将其称为稳定基线。一个稳定基线代表新开发活动的开始,而一系列定制良好的活动之后又会产生一个新的稳定基线。有效地利用此项功能,在项目开发过程中可以至始至终管理、跟踪工件版本间的关联。2006年8月7日 软件教研室软件教研室

29、配置管理的实施配置管理的实施-相关人员的培训相关人员的培训 管理员培训:针对配置管理员,主要学习配置管理工具管理相关内容开发人员培训:针对开发人员,主要学习配置管理工具与开发相关的常用操作管理流程培训:针对全体人员,目的是了解配置管理策略和流程,以及如何与开发管理、项目管理相结合2006年8月7日 软件教研室软件教研室配置管理工具的选择配置管理工具的选择 目前配置管理工具可以分为3个级别:第一个级别 版本控制工具,是入门级的工具,例如:CVS,Visual Source Safe;第二个级别 项目级配置管理工具,适合管理中小型的项目,在版本管理的基础上增加变更控制、状态统计的功能,例如:CLE

30、ARCASE,PVCS;第三个级别 企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强的过程管理功能,例如:ALLFUSION Harvest。2006年8月7日 软件教研室软件教研室配置管理工具介绍配置管理工具介绍 Rational ClearCase版本控制、工作空间管理支持并行开发统一变更管理与Microsoft和IBM 的开发工具相集成Microsoft SourceSafe版本控制与Microsoft的开发工具相集成CVS并发版本控制开放源码的软件开发2006年8月7日 软件教研室软件教研室联想集团软件部的软件配置管理联想集团软件部的软件配置管理-SCM-SCM准备工作

31、准备工作 SCM组与项目经理一起制定SCM计划。然后经其他受到影响的组和个人进行评审,得到被批准的SCM计划。其内容包括:项目中将要进行的SCM活动,文档标识的参考规范,时间安排,相关资源,职责分配,将要设计的每个软件配置项(SCI)的定义,SCI变更的影响范围。此外,事业部SCM主管需要为新启动的项目建立开发库、受控库和产品库,为项目组成员分配相应的用户权限。2006年8月7日 软件教研室软件教研室联想集团软件部的软件配置管理联想集团软件部的软件配置管理-SCI-SCI的标识的标识 该活动发生在SCM计划被批准之后。SCI撰写人根据SCM计划中制定的文档规范进行标识。2006年8月7日 软件

32、教研室软件教研室联想集团软件部的软件配置管理联想集团软件部的软件配置管理-SCI-SCI入受控库入受控库 软件开发过程中,项目组成员将产品提交到开发库中,经批准后,再转移到受控库中。同时通知所有的受到影响的组和个人。2006年8月7日 软件教研室软件教研室联想集团软件部的软件配置管理联想集团软件部的软件配置管理-SCI-SCI变更变更 SCI的变更分为基线变更和版本变更。2006年8月7日 软件教研室软件教研室联想集团软件部的软件配置管理联想集团软件部的软件配置管理-基线审计基线审计 其目的是维护软件配置项的状态,使其满足一致性、完备性和可跟踪性。其内容包括:验证当前基线所有SCI对迁移基线相

33、应项的可追踪性,确认当前SCI正确反映了软件需求,审计三库中的项目工作产品,填写报告。2006年8月7日 软件教研室软件教研室联想集团软件部的软件配置管理联想集团软件部的软件配置管理-配置状态记录与汇报配置状态记录与汇报 其目的是为管理人员和开发人员提供有关项目进展的全面信息。以定期或事件驱动的方式,提供项目配置的当前状态及修改情况。2006年8月7日 软件教研室软件教研室联想集团软件部的软件配置管理联想集团软件部的软件配置管理-SCI-SCI的备份的备份 指对开发库、受控库和产品库中所有的SCI进行备份,以保证三库信息的安全。2006年8月7日 软件教研室软件教研室第五节第五节 CMMICM

34、MI介绍介绍 CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。2006年8月7日 软件教研室软件教研室技术背景技术背景1994 年SEI 正式发布软件CMM:涉及系统工程、软件采购、人力资源管理以及集成产品和过程开发方面的多个能力成熟度模型 CMM的问题:不能集中其不同过程改进的能力以取得更大成绩;要进行一些重复的培训、评估和改进活动,因而增加了许多成本;遇到不同模型中有一些对相同事物说法不一致,或活动不协调,甚至相抵触。1997年10月SEI停止对CMM的研究,改而致力于CMMI,以解決使用

35、多个过程改进模型的问题。SEI同时宣布CMMI将取代CMM。2000年8月11日发布了CMMI-SE/SW 1.0版本,2001年12月发布了1.1版本,这次发布标志着CMMI正式启用。2006年8月7日 软件教研室软件教研室CMMICMMI与与CMMCMM的不同的不同CMMI 与CMM 最大的不同点在于:CMMISM-SE/SW/IPPD/SS 1.1 版本有四个集成成分,即:系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及到供应商外包管理可以相应的应用SS(Supplier Sourcing)部分。目前有如下模型:CM

36、MI-SE/SW/IPPD/SS,V1.1 CMMI-SE/SW/IPPD V1.1 CMMI-SE/SW V1.1CMMI-SW V1.1 注:注:CMM是作为评估标准出现的,所以是是作为评估标准出现的,所以是“必要必要”的才能保证评估的标准。的才能保证评估的标准。CMMI是作为改进模型出现的,罗列了较多的最佳实践,利于过程的改进。是作为改进模型出现的,罗列了较多的最佳实践,利于过程的改进。2006年8月7日 软件教研室软件教研室实施实施CMMICMMI的意义的意义CMMI的实施能够提高我国企业的管理水平。降低企业的工程成本。实际上这个问题对不同的人有不同的答案。对采购部门的人员来说,掌握了

37、实际上这个问题对不同的人有不同的答案。对采购部门的人员来说,掌握了CMMI技术可以有目的地考察项目实施人员或公司的实施能力,从而保证所采技术可以有目的地考察项目实施人员或公司的实施能力,从而保证所采购的项目能够顺利完成。对于项目经理来说,掌握购的项目能够顺利完成。对于项目经理来说,掌握CMMI技术能够提高自己的技术能够提高自己的管理能力,从而能够使项目高质量,低成本,按期限地完成。对于企业老总来管理能力,从而能够使项目高质量,低成本,按期限地完成。对于企业老总来说,说,CMMI还能够引入科学的管理理念,提升企业的整体管理水平。还能够引入科学的管理理念,提升企业的整体管理水平。2006年8月7日

38、 软件教研室软件教研室CMMI的两种实施方法的两种实施方法连续式实施方法:主要是衡量一个企业的项目能力。企业在接连续式实施方法:主要是衡量一个企业的项目能力。企业在接受评估时可以选择自己希望评估的项目来进行评估。因为是企受评估时可以选择自己希望评估的项目来进行评估。因为是企业自己挑选项目,其评估通过的可能性就较大一点。但是,它业自己挑选项目,其评估通过的可能性就较大一点。但是,它反映的内容也比较窄一点反映的内容也比较窄一点。它仅仅表示企业在该项目或类似项。它仅仅表示企业在该项目或类似项目的实施能力达到了某一等级。目的实施能力达到了某一等级。阶段性实施方法:它主要是衡量一个企业的成熟度,亦即是阶

39、段性实施方法:它主要是衡量一个企业的成熟度,亦即是企企业在项目实施上的综合实力业在项目实施上的综合实力。企业在进行评估时,一定要由评。企业在进行评估时,一定要由评估师来挑选企业内部的任何项目,甚至于任何项目的任何部分。估师来挑选企业内部的任何项目,甚至于任何项目的任何部分。一般地讲,一个企业要想在阶段性评估中得到三级,其企业内一般地讲,一个企业要想在阶段性评估中得到三级,其企业内部的大部分项目要达到三级,小部分项目可以在二级,但绝不部的大部分项目要达到三级,小部分项目可以在二级,但绝不能够有一级。阶段性实施方法的难度要大一些。能够有一级。阶段性实施方法的难度要大一些。2006年8月7日 软件教

40、研室软件教研室CMMI的关键词的关键词 质量质量 过程过程 过程改进过程改进2006年8月7日 软件教研室软件教研室质量支点质量支点 人人 技术技术 过程过程其中过程是人、技术和过程组成的三其中过程是人、技术和过程组成的三角的粘合剂角的粘合剂2006年8月7日 软件教研室软件教研室 当一个项目获得成功,是否可以预示着下一当一个项目获得成功,是否可以预示着下一个项目也同样可以获得成功?个项目也同样可以获得成功?.否,则意味着:一个软件英雄的存在否,则意味着:一个软件英雄的存在.是,则意味着:一个成熟的过程体系的存是,则意味着:一个成熟的过程体系的存在在2006年8月7日 软件教研室软件教研室过程

41、定义过程定义 Process A sequence of steps performed for a given purpose.为实现给定目标而执行的一系列步骤。为实现给定目标而执行的一系列步骤。(IEEE)Process The logical organization of people,materials,energy,equipment,and procedures into work activities designed to produce a specified end result.(Quality Process Management)Process Activities

42、 that can be recognized as implementations of practices in a model.(CMMI glossary)2006年8月7日 软件教研室软件教研室不成熟的过程不成熟的过程Immature processes 过程没有被定义、或者没有被严格的执行、或者没有被巩固过程没有被定义、或者没有被严格的执行、或者没有被巩固 过分依赖于当前的开发人员过分依赖于当前的开发人员 成本和进度经常有问题成本和进度经常有问题 质量难以预测质量难以预测 经常会为了进度牺牲产品的功能和质量经常会为了进度牺牲产品的功能和质量 害怕使用新的技术,因为这意味着面临高风险

43、害怕使用新的技术,因为这意味着面临高风险Immature processes result in fighting fires:没有时间改进,因为开发人员总是在救火没有时间改进,因为开发人员总是在救火 最后救火者自己都着火了最后救火者自己都着火了 死灰复燃死灰复燃2006年8月7日 软件教研室软件教研室成熟的过程成熟的过程 Mature Process 能够切合实际的工作流程能够切合实际的工作流程 被定义、被理解、被使用、被改进被定义、被理解、被使用、被改进 得到组织中所有人的支持得到组织中所有人的支持 被严格的执行被严格的执行 产品及过程的度量指标得到应用产品及过程的度量指标得到应用 有固定

44、的方法使新技术得到评估并被采用。有固定的方法使新技术得到评估并被采用。2006年8月7日 软件教研室软件教研室过程改进过程改进 过程改进:根据目标,改进做事的过程、方法过程改进:根据目标,改进做事的过程、方法或工具,以达到预期的目标。或工具,以达到预期的目标。过程改进的益处过程改进的益处 提高进度和预算的可预测性提高进度和预算的可预测性 加快项目周期加快项目周期 提高生产力提高生产力 改进产品质量改进产品质量 提高客户满意度提高客户满意度 提高投资回报(提高投资回报(ROI)2006年8月7日 软件教研室软件教研室过程改进模型过程改进模型 过程改进的模型:过程改进的模型:ISO CMM/CMM

45、I Six Sigma,PCMM TQM 2006年8月7日 软件教研室软件教研室几个基本概念几个基本概念 Process Areas(PA)过程域:过程域:软件过程中互相关联的若干软件实践活动和有软件过程中互相关联的若干软件实践活动和有关基础设施的一个集合称为过程域关基础设施的一个集合称为过程域 不论连续式表示,还是阶段式表示,不论连续式表示,还是阶段式表示,PA的名字的名字和内容都一样和内容都一样2006年8月7日 软件教研室软件教研室几个基本概念几个基本概念Goals目标:目标:用于评估某个过程域是否已经被满足,达到了目标就满足模型里用于评估某个过程域是否已经被满足,达到了目标就满足模型

46、里PA的要求,没达到就的要求,没达到就不满足;是不满足;是CMMI模型的必要(模型的必要(Required)组件)组件 Generic Goals(GG)通用目标:对应与某个过程域的目标通用目标:对应与某个过程域的目标 Specific Goals(SG)特殊目标:对应与某个成熟度内多个过程域或者某个能力度的目特殊目标:对应与某个成熟度内多个过程域或者某个能力度的目标标Practice实践:构成目标的活动,活动做得达到某种要求,就能满足某种等级的目实践:构成目标的活动,活动做得达到某种要求,就能满足某种等级的目标,是标,是CMMI模型的期望(模型的期望(Expected)组件)组件 Gener

47、ic Practice通用实践:组织要想达到通用实践:组织要想达到GG期望能执行的方法期望能执行的方法 Specific Practice特殊实践:组织要想达到特殊实践:组织要想达到SG期望能执行的方法期望能执行的方法Informative:为使组织达到必要组件和期望组件而提供的一些更为详细的参考。:为使组织达到必要组件和期望组件而提供的一些更为详细的参考。Sub practice、Typical product、titleCMMI中的中的GG和和GP可以理解为所有可以理解为所有PA所具有的共性所具有的共性CMMI中的中的SG和和SP可以理解为每个可以理解为每个PA的特性的特性2006年8月7

48、日 软件教研室软件教研室几个基本概念几个基本概念Capability 能力度:能力度:针对整个组织做某项活动(某个针对整个组织做某项活动(某个PA)的能力度)的能力度 从从0-5,共,共6个级别个级别 使用使用Continuous方式进行评级方式进行评级Maturity 成熟度成熟度 针对整个组织提供产品和服务的综合成熟度针对整个组织提供产品和服务的综合成熟度 从从1-5,共,共5个级别个级别 使用使用Staged方式进行评级方式进行评级 在向成熟的软件组织中前进的一个平台,每一个成熟度等在向成熟的软件组织中前进的一个平台,每一个成熟度等级为组织的持续改进提供了一个台基。级为组织的持续改进提供

49、了一个台基。Level等级:是对过程改进的程度的一个定义等级:是对过程改进的程度的一个定义2006年8月7日 软件教研室软件教研室CMMI的五个阶段的五个阶段一级一级 系统的开发及维护环境不稳定 管理面及工程面活动不充分 无效的计划 应急式的沟通体系 当危机出现时只关注开发及测试 软件英雄主义 进度、缺陷、功能性、质量都不可预知 没有稳定的过程关键词:临时性,不可预知关键词:临时性,不可预知2006年8月7日 软件教研室软件教研室一级一级 如果你是一个大拿,那么如果你是一个大拿,那么 所有人都崇拜你所有人都崇拜你 你的经理都要捧着你你的经理都要捧着你 总能做到别人认为不可能的事情总能做到别人认

50、为不可能的事情 如果你不是一个大拿,那么如果你不是一个大拿,那么 你爱怎么做就怎么做,习惯怎么做就怎么做你爱怎么做就怎么做,习惯怎么做就怎么做 在一团糟的局面下,没人会注意到你犯的错误在一团糟的局面下,没人会注意到你犯的错误2006年8月7日 软件教研室软件教研室CMMI的五个阶段的五个阶段二级二级 拒绝一团糟的局面,开始管起来 有计划 有跟踪 有进度的控制 有需求的控制 有承诺的控制 有配置管理的控制 有供应商的控制关键词:纪律性关键词:纪律性2006年8月7日 软件教研室软件教研室二级二级成熟度成熟度2级级/已管理级,意味着已管理级,意味着 对于经理来说,会很严肃的看待给客户的承诺和项目组

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件工程-项目管理第五讲课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|