软件工程第八章项目管理.ppt_第1页
软件工程第八章项目管理.ppt_第2页
软件工程第八章项目管理.ppt_第3页
软件工程第八章项目管理.ppt_第4页
软件工程第八章项目管理.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程,第八讲 软件项目管理,第十讲 项目管理,8.1 软件项目管理基础 8.2 软件度量 8.3 软件计划管理 8.4 软件风险分析、管理 8.5 软件质量管理 8.6 软件配置管理 8.7 软件开发过程管理,8.1 软件项目管理基础,目的: 为了使软件项目能够在预定成本、进度、质量的前提下顺利完成,必须对软件工程项目进行计划、组织、监控和管理。 例如: Windows 2000的开发 是微软公司历史上最艰巨的任务,仅核心部门的的成员就有2500人,测试用的代码就有1000万行,测试中所用到的脚本程序就有6500种。规模如此之大的软件系统,如果没有科学的、规范的、有效的管理,是不可能成功的。因此软件项目管理成为软件工程的重要研究内容之一。,项目管理内容 软件度量 软件项目估算 软件计划管理 软件风险管理 软件质量管理 软件配置管理 软件开发过程管理,8.2 软件度量,软件度量的目的: 通过对软件生产率和软件质量进行度量,可以对软件提出要求和评价,进而可以建立改进软件工程过程的目标。 软件工程过程度量属性:投入的成本和工作量。 软件产品度量属性:产生的代码行(LOC)、执行速度、存储量大小、周期报告错误数;功能性、复杂性、效率、可靠性、可维护性、和其它质量特性等。,8.3 软件计划管理,进度计划 人员计划 资源(硬、软)计划 人员计划 如何合理的配备人员是成功的完成软件项目的切实保证。即,按不同阶段适时任用人员,恰当掌握人员标准。,软件开发小组与软件生产率,开发小组的组织有以下原则: 1、软件开发小组的规模不宜太大,人数不能太多,一般3-5人左右为宜。 2、切忌在开发过程中增加人员,这将因增加人员之间的联系而降低效率。,例:设一开发小组有4个软件工程师,开发效率为5000行/年,共有6条通信路径,每条路径降低生产率250行/年,则小组生产率为: 50004250618500(行/年),如为了加快进度,新增加2人,每人效率为840行/年,通信路径增加到15条,此时的小组生产率为: 2000084022501517930 (行/年) 即新增加人,并未提高生产率。,人员组织 采用层次型组织结构 软件经理 项目经理 开发小组 开发小组的组织形式 民主开发小组 主程序员小组Chief Programmer Team 微软的组队模型Team Model,主程序员,主程序员助理,高级程序员,程序员,后援支撑人员,微软的组队模型Team Model,什么是软件质量 不贪的官就是好官吗? 软件产品中能满足给定需要的性质和特性的总体。例如,符合规格说明。 软件具有所期望的各种属性的集合。 顾客和用户觉得软件满足其综合期望的程度。,8.4 质量管理,外在与内在的质量标准,产品标准 用于衡量待开发的软件产品,如文档,代码标准。 过程标准 定义软件开发必须遵循的过程,如对分析、设计和有效性验证过程的定义。 (1)质量形成于生产全过程 (2)必须使影响产品质量的全部因素在生产全过程中始终处于受控状态 (3)应使企业具有持续提供符合要求产品的能力,外在与内在的质量标准,产品标准 用于衡量待开发的软件产品,如文档,代码标准,外在与内在的质量标准,过程标准: 定义软件开发必须遵循的过程,如对分析、设计和有效性验证过程的定义。 通常“好的过程”产生“好的产品”,而“差的过程”将产生“差的产品”。假设企业已经制定了软件过程规范,如果质量保证人员发现某些项目的“工作过程以及工作成果”不符合既定的规范,那么马上可以断定产品存在缺陷。 (1)质量形成于生产全过程 (2)必须使影响产品质量的全部因素在生产全过程中始终处于受控状态,一般由 “软件质量保证小组(SQA)” 完成。,从管理者观点看,关键的质量保证活动包括: 、质量保证。建立机构质量规程和标准的整体框架,这是生产高质量软件的保证。 、质量规划。从上述框架中选择适当的的规程和标准,进行改写使之适应某一特定的软件项目。 如对特定项目最重要的质量属性,以及针对该项目的质量评估过程。 、质量控制。监督检查整个软件开发过程,以确保质量保证规程和标准得到严格执行。,软件质量保证活动,质量规划的主要内容: 1. 质量要素分析 2. 质量目标 3. 人员与职责 4. 过程检查计划 5. 技术评审计划 6. 软件测试计划 7. 缺陷跟踪工具 8. 审批意见,质量控制的主要方式: 1)技术评审 技术评审的目的是尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。技术评审和软件测试的目的都是为了消除软件的缺陷,两者的主要区别是: 前者无需运行软件,评审人员和作者把工作成果摆放在桌面上讨论;而后者一定要运行软件来查找缺陷。技术评审在软件测试之前执行,尤其是在需求开发和系统设计阶段。 技术评审有两种基本类型: 正式技术评审(FTR)。FTR比较严格,需要举行评审会议,参加 评审会议的人员比较多。 非正式技术评审(ITR)。ITR的形式比较灵活,通常在同伴之间开展,不必举行评审会议,评审人员比较少。,2)过程检查 即检查软件项目的“工作过程和工作成果”是否符合既定的规范。,为什么需要软件配置 系统开发过程中需求总是动态变化的,因而产生不同的软件版本,这些版本中包含了对错误的修正,以及不同硬件、操作系统的适应等内容。这样就需要跟踪已经实现的变更以及这些变更如何被包含在软件产品中。 如果没有软件配置管理 最大的麻烦是工作成果被覆盖。 在Make时错用文件版本。 原本正确的程序突然出错,原因是同事修改了程序却没有告知自己。,8.6 软件配置管理,什么是软件配置管理 是指通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。 GB/T11457-1995 SCM是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的状态和变动要求,验证配置项的完整性和正确性。,如上定义的共同性 软件配置管理(SCM)是贯穿于整个软件过程中的保护性活动。 SCM目的是保证软件项目生成的产品在软件生命周期中的完整性和一致性。 SCM 活动被设计来: (1) 标识变化; (2) 控制变化; (3) 保证变化被适当地实现; (4) 向其他可能有兴趣的人员报告变化。,软件配置管理涉及的主要内容,(1)软件配置项SCI 与合同、过程、计划和产品有关的文档及数据。 源代码、目标代码和可执行代码。 相关产品,包括软件工具、库内可复用软件、外购软件及顾客提供的软件等。 每个配置项的主要属性有: 名称、标识符、文件状态、版本、作者、日期等。 配置项及其历史记录反映了软件的演化过程。,(2)基线 由正式技术评审而得到的软件配置项即构成了基线。 基线(Baseline)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。 基线中的配置项被“冻结”了,只能通过正式的变化控制过程才能改变。 基线通常对应于开发过程中的里程碑,其作用是把各阶段工作划分的更加准确,使之便于检验和确认阶段开发成果。,软件配置管理过程模型,(1)配置管理计划的主要内容: 1. 人员与职责 2. 软件硬件资源 3. 配置项计划 4. 基线计划 5. 配置库备份计划 6. 版本控制规则 7. 变更控制规则,(2)版本控制 版本控制是识别和追踪一个系统的各种配置项SCI的演化过程 主要包括版本标识和发布管理,版本标识 为方便存储和检索,对软件配置项进行命名。 版本编号 基于属性的标识(客户,开发语言,开发状态,平台,日期) Sale(language=java platfor,=XP date=Jan2005) 基于变更的标识 在基于属性标识的基础上,关联一个或多个变更请求,发布管理 创建分发给用户的系统版本。 发布系统创建时,要编写构建脚本,说明系统中不同组件间的依赖关系,还要指定编译和连接工具,(3)变更控制 变更控制的目的是防止配置项被随意修改而导致混乱。 对于处于“草稿状态”的配置项,不必进行变更控制,因为它们本来就是草稿,本来就是要被不断地修改的,但仍然要进行访问控制和同步控制。 当配置项状态为“正式发布”,或者该配置项已经成为某个基线的一部分(即被“冻结”)时,如果要修改配置项的话,那么按照变更控制规则执行。,访问控制:管理各个人员存取或修改一个特定软件配置对象的权限。 同步控制:即版本的检入(提交)检出(恢复)。,变更请求CR(change request)、 许可与实施,(4)配置审计 配置审计的目的就是要保证所有人员都遵守配置管理规范。所以配置审计是质量人员的工作职责之一,可以归类为“过程检查活动”。 配置审计的对象是项目的主要配置项,如果主要配置项符合“版本控制规则”和“变更控制规则”,并且定期备份了配置库,那么就可以认为配置管理符合既定的规范。 反之,如果质量人员在审计的时候发现主要配置项比较混乱,那么应当告知当事人及时更正,这样就起到了审计的作用。,8.7 软件过程与软件能力成熟度模型(CMM),软件能力成熟度模型CMM(Capability Maturity Model)是由美国卡内基-梅隆大学软件工程研究所(CMU/SEI)推出的评估软件能力与成熟度的一套标准。并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。 该标准基于众多软件专家的实践经验,侧重于软件开发过程的管理及工程能力的提高与评估,是国际上流行的软件生产过程标准和软件企业成熟度等级认证标准,它更代表了一种管理哲学在软件工业中的应用。,CMM的基本概念,1. 软件过程 一个软件过程是指人们开发和维护软件及其相关产品所采取的一系列活动。 软件产品的质量主要取决于产品开发和维护的软件过程的质量。一个有效的、可视的软件过程能够将人力资源、物理设备和实施方法结合成一个有机的整体,并为软件工程师和高级管理者提供实际项目的状态和性能,从而可以监督和控制软件过程的进行。,2. 软件过程能力与性能 软件过程能力是软件过程本身具有的按预定计划生产产品的固有能力。一个组织的软件过程能力为组织提供了预测软件项目开发的数据基础。 软件过程性能是软件过程执行的实际结果。由于特定项目的属性和环境限制,项目的实际性能并不能充分反映组织的软件过程能力,但成熟的软件过程可弱化和预见不可控制的过程因素(如客户需求变化或技术变革等)。,模块测试过程,模块测试活动,3. 软件过程成熟度 软件过程成熟度是指一个软件过程被明确定义、管理、度量和控制的有效程度。成熟意味着软件过程能力持续改善的过程,成熟度代表软件过程能力改善的潜力。 成熟度等级用来描述某一成熟度等级上的组织特征,每一等级都为下一等级奠定基础,过程的潜力只有在一定的基础之上才能够被充分发挥。,软件过程的成熟度等级,CMM将软件过程的成熟度分为5个级别(Maturity Levels) ,如图所示,5个等级分别是:,1、初始级(Initial) 2、可重复(Repeatable) 3、已定义级(Defined) 4、已管理级(Managed) 5、优化级(Optimizing),初始级(Initial) 在初始级,企业一般不具备稳定的软件开发与维护环境。项目成功与否在很大程度上取决于是否有杰出的项目经理和经验丰富的开发团队。此时,项目经常超出预算和不能按期完成,组织的软件过程能力不可预测。,图 初始级,可重复级(Repeatable): 在可重复级,组织建立了管理软件项目的方针以及为贯彻执行这些方针的措施。组织基于在类似项目上的经验对新项目进行策划和管理。组织的软件过程能力可描述为有纪律的,并且项目过程处于项目管理系统的有效控制之下。,图 可重复级,已定义级(Defined): 在已定义级,组织形成了管理软件开发和维护活动的组织标准软件过程,包括软件工程过程和软件管理过程。项目依据标准定义自己的软件过程进行管理和控制。组织的软件过程能力可描述为标准的和一致的,过程是稳定的和可重复的并且高度可视,图 已定义级,已管理级(Managed): 在已管理级,组织对软件产品和过程都设置定量的质量目标。项目通过把过程性能的变化限制在可接受的范围内,实现对产品和过程的控制。组织的软件过程能力可描述为可预测的,软件产品具有可预测的高质量,图 已管理级,优化级(Optimizing): 在优化级,组织通过预防缺陷、技术创新和更改过程等多种方式,不断提高项目的过程性能以持续改善组织软件过程能力。组织的软件过程能力可描述为持续改善的。,图 优化级,下表描述了SW-CMM不同成熟度等级过程的可视性和过程能力。,可视性与过程能力的比较,SW-CMM的关键过程区域,关键过程区域 每一成熟度等级由若干个关键过程区域构成。关键过程区域指出为了达到某个成熟度等级所要着手解决的问题。达到一个成熟度等级,必须实现该等级上的全部关键过程区域。,关键过程区域KPY(Key Process Areas)是一组相关的活动,可按照上表描述,也可按照下图描述。,软件企业如何实施CMM,软件是促进我国电子信息产业发展的关键技术。而要发展我国的软件产业,在战略上,必须将软件产业作为我国高新技术产业的龙头和国民经济发展的新增长点,在策略上,必须走软件过程管理专业化的道路。 但目前国内的绝大部分软件企业处于CMM的初级阶段,没有基础和经验。软件企业实施CMM或通过CMM评估所必须经历的步骤如下。,提高思想认识,进行CMM培 训和咨询工作,确定合理的目标,成立工作组,制定和完善 软件过程,内部评审,正式评估,根据评估结果 改进软件过程,图 CMM步骤,中国通过CMM五级认证的企业,1摩托罗拉中国软件中心 于2000年9月通过CMM第五级认证,是中国首家获得CMM第五级认证的企业。 2沈阳东软股份有限公司 于2002年12月通过CMM第五级认证,是首家获得CMM第五级认证的中国企业。 3大连海辉科技股份有限公司 于2003年3月通过CMM第五级认证,是中国首家企业整体通过CMM第五级认证的企业。 4华为印度研究所 于2003年8月通过CMM第五级认证,此外华为北京研究所和南京研究所已经通过CMM第四级认证。 5新宇科技集团 于2003年9月通过CMM和CMMI第五级认证,是中国第一家通过CMMI第五级认证的企业。 6大连华信计算机技术有限公司 于2004年2月通过CMM第五级认证,是中国软件出口的龙头企业。 7惠普中国软件研发中心 于2004年6月通过CMM第五级认证,是全球三大解决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论