收藏 分享(赏)

软件项目管理与质量保证(bs)new.doc

上传人:dzzj200808 文档编号:2727558 上传时间:2018-09-26 格式:DOC 页数:31 大小:169.50KB
下载 相关 举报
软件项目管理与质量保证(bs)new.doc_第1页
第1页 / 共31页
软件项目管理与质量保证(bs)new.doc_第2页
第2页 / 共31页
软件项目管理与质量保证(bs)new.doc_第3页
第3页 / 共31页
软件项目管理与质量保证(bs)new.doc_第4页
第4页 / 共31页
软件项目管理与质量保证(bs)new.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、软件项目管理与 CMM吉林大学 计算机科学与技术学院李文辉Tel: 8888987E-mail: 第一章 前言一实施的意义软件能力成熟度模型是一种描述有效软件过程的关键元素的框架,CMM描述一条从无序的不成熟的过程到成熟的、有纪律的过程的进化的改进途径。CMM 包括对 软件开发 和维护进行策划、工程化和管理的实践。遵循这些关键实践,就能改进组织在实现有关成本、进度、功能和产品质量等目标上的能力。为什么要重视软件的开发过程:二软件危机人们便提出了“软件危机”的观点,究其原因,主要有三:1 用户不易准确描述对软件的需求,经常存在二义性,遗漏甚至错误。所以,用户常在开发过程中提出修改,补充软件功能。

2、需求的易变性。2 大型软件往往需要成百上千人的合作,由于软件系统结构复杂,如何有效组织管理、充分发挥团队作用就成为软件开发成功的关键。 3 缺乏有效的软件开发方法和工具的支持,过分依靠程序设计在开发中的技巧和创造性,加剧了软件产品的个性化。三世界软件产业发展现状及中国软件业的差距四中国的软件现状印度 中国 (软件产值)99: 53。2 67。500 71。7 88。501 96。3 102。3印度 中国 (软件出口)99: 39 2。500 62 401 77。8 7。2从以上数据可见,我国的软件产值可以,但出口却非常小。从侧面说明我们的项目管理不到位,软件质量不过关。第二章 软件项目管理一

3、过程与项目管理1什么是项目管理?Badiru(1991)将项目管理定义为:一种为高效恰当地完成某个既定的目标而对资源进行管理、分配和调度的过程。我们也可以把项目管理定义为:一种为实现既定目标而对技术、人力及金融资源所进行的系统集成。每个项目都具有以下特征:一个明确的范围和目标;一个预期的完成时间;有可以利用的资源;一种已定义的性能评估方法;评审工作时使用的评估等级。2项目管理的主体知识项目管理的主体知识(project management body of knowledge, 简称 PMBOK)定义为充分将项目管理的理论和协作开展一个项目的实践结合起来时所运用到的主题、研究范围和方法。主要涉

4、及 8 个方面:范围管理:按照某个特定的目标确定和控制整个项目范围的过程。 质量管理:指在遵循客户的需求和期望的情况下,确保项目的性能符合规范。时间管理:有效地利用时间以方便项目的执行。主要以项目规划的方式实现。成本管理:成本是进行项目性能评估的一个主要性能。成本管理是指通过运用有关评估、预测、预算和报告的可靠技术使我们能够有效地控制项目成本。风险管理:是识别、分析并确认各种可能影响项目的风险和不确定因素的过程。人力资源管理:是指在项目生命周期内对人力资源进行管理的功能。合同/采购管理:是指获取必要的设备、工具、物品、服务和资源以成功实现项目目标的方法。通讯管理:是指项目环境中个人和团体之间的

5、功能接口,包括恰当地组织、传递和控制为促进工作所需要的信息。项目管理过程是指对项目进行组织、排列和优化。包括以下步骤:问题定义 任务描述规划组织资源分配调度跟踪报告控制结束。 (d8)软件项目主要涉及两方面的任务:软件工程和项目管理 软件工程:项目管理:软件过程:人们用以开发和维护软件及其相连产品的一组活动、方法、实践。技术上讲:它由执行改任务时应当遵循的一个步骤系列组成。对一个组织而言:它建议其工程师和项目经理使用的过程就远非一个步骤系列了,他们涵盖了工程师和项目经理所掌握的成功地执行项目的实践。对于一个项目而言,软件工程过程通常规定如何执行工程任务,诸如:需求、设计、测试等等。而项目管理过

6、程则规定如何设置里程碑、组织人员、管理风险、监督进展等任务。项目管理主要有三个大的阶段:项目规划,项目执行,项目收尾 项目规划:主要是项目经理审阅合同条款,并制定一个满足他们的计划,实际上包括:定义生命周期、估计工作量和进度、制定任务进度计划等。项目执行:包括执行项目计划、跟踪项目的状态,并在项目的绩效偏离项目计划设定的绩效时采取措施进行纠正。项目收尾:主要是在客户接收工作产品之后对项目进行系统的总结。数据分析是这一阶段的主要任务。二 INFOSYS 公司的项目管理 1 INFOSYS 公司的背景知识 2 SEPG 对项目的支持3 高层经理参与项目4 项目经理培训5 项目管理过程(项目规划,

7、项目执行, 项目收尾)第三章 项目规划基础结构关键要素:过程数据库(process database, PDB)过程能力基线(process capability baseline , PCB)过程财富( process asset)一 过程数据库1 内容PDB 中保存项目的基本信息:项目所使用的语言、平台、所用的数据库、所用的工具、项目规模和工作量等。实际上在 INFOSYS 的 PDB 中保存的数据可以分成如下几类:项目特征项目进度项目工作量项目规模故障风险2 记录项示例这里给出 ACIC 项目的一个子项目SYNERGY 的四张表信息,分别是项目的基本信息表工作量信息表故障信息表规模信息表

8、二 过程能力基线(PCB)1 PCB 的主要内容Infosys 公司的 PCB 包含过程绩效,主要用(生产率,质量,进度计划,工作量,故障发布) 。具体为:已交付软件的质量生产率进度计划工作量分布故障引入率过程中故障排除率质量成本故障发布这些信息可以用于项目规划(project plan):对组织的过程管理起到重要的作用组织中的不同过程有不同的过程能力基线三 过程财富过程财富的组成:(组织标准软件过程(包括软件过程体系结构和软件过程元素)Organizations Standard Software Process标准软件过程描述基本的软件过程元素,即预计每个项目都会纳入到其自己定义的软件过程

9、的过程元素。也描述这些软件过程元素间的关系。组织标准软件过程是项目定义软件过程的基础,他保证保证组织过程活动的连续性,且是组织所用软件过程的测量和长期改进的依据。软件过程元素间的关系称为“软件过程体系结构”软件过程元素是一个软件过程描述的构成元素。每个过程元素包括了一组妥善定义了的、有限制的紧密相关的作业。如软件设计元素、编码元素等。输入 输出准入:指进入此元素的前提条件(工具、资源等) ,活动涉及到规模、方法、技术也要进行说明。准出:指该过程元素结束时必须满足的条件对软件生命周期的描述(Software Life Cycles )用于剪裁组织标准软件过程的指南和准则(Guidelines a

10、nd Criteria for Tailoring the Organizations Standard Software Process)软件相关文档 :即组织中常用的文档模板活动准入准出度量制定组织的标准软件过程组织的软件过程数据库软件有关文档软件生命周期描述标准软件过程的剪裁指南和准则组织的标准软件过程的描述软件过程体系结构软件过程元素的描述项目定义软件过程的描述项目的软件生存周期项目软件过程的描述项目的软件开发计划活动项目结果和软件工作产品制定项目软件过程选择项目的软件生存周期需求第四章 过程规划良好的规划是项目成功的关键。项目规划为项目的启动、实施以及结束提供了基础。过程规划是项目规

11、划的一部分。一 项目的开发过程在项目规划期间,项目经理必须决定采用什么过程来设计软件,只是一个非常关键的问题。软件开发存在几种过程模型。瀑布模型,原型法开发模型,螺旋模型,迭代式增强模型。1。标准过程2。过程剪裁项目特征标准过程 项目的过程剪裁指南二 需求变更管理需求是会发生变化的,而且需求的变更可以在项目生命周期的任何时间发生。越是发生在后期,对项目的影响越大。如何管理好需求变更的申请是非常重要的。1 变更管理过程变更管理过程规定如何发出变更申请、何时需要正式批准等。在出现需求变更申请时,必须执行需求变更管理过程。一般的变更管理过程如下:记录变更分析变更对工作产品的影响估计变更申请所需的工作

12、量重新估计交付时间表执行累计的成本影响风险如果影响超出一定的限度,则与高级主管一起评审影响客户不再提出变更申请修改工作产品过程剪裁主要变更次要变更(在一定工作量以下的变更)注意变更的积累的危险2 示例变更申请模板:申请号,日期,变更说明,影响分析(变更分析,解决方案,工作量影响,进度影响) ,状态。第五章 工作量估计和进度计划一 估计与进度安排现在软件规模估计的主要估算方法有代码行(LOC/KLOC)和功能点法1代码行优点:不管用何种语言都很容易计算;存在许多基于 LOC 的软件估算模型和涉及 LOC 的文献和数据;从 LOC 很容易导出其他一些度量,如生产率 LOC/人月,质量(bug 数/

13、Kloc)缺点:只有在产品完成后才能精确计算,在开发早期很难估算 LOC,尤其在使用新技术时;依赖于程序设计语言;不利于好的设计二产生的短小程序;2功能点法(function points)由 Albrecht 和 Gaffney 于 1979 年提出。功能点的计算步骤如下:A 计算未调整的功能点 UFP(unadjusted function points)通过检查和风险软件需求,确定所需的输入、输出、查询、数据文件和界面等 5 类系统元素的数量和复杂度,然后根据这些数量和复杂度计算各条目的功能点和整个软件的功能点。例如:加权因子测量元素 数量简单 平均 复杂功能点用户输入 3 4 6用户输

14、出 4 5 6用户查询 3 4 6数据文件 7 10 15用户界面 5 7 10B 计算技术复杂度因子 TCF(technical complexity factor)通过对 14 个因子的评估,并将各评估值相加,即可获得技术复杂度因子TCF= F1+F2 + + F14技术因子有:F1: 可靠的备份和恢复 F8: 联机更新F2: 数据通信 F9: 接口复杂度F3: 分布式功能 F10: 可复用性F4: 性能要求 F11: 处理复杂性F5: 操作环境 F12: 安装的方便性F6: 联机数据输入 F13: 多站点F7: 多屏输入 F14: 使用方便性取值范围:0:不需要或没有影响1:偶有影响2:

15、轻微影响3:一般影响4:较大影响5:严重影响C 计算功能点FP= UFP * (0.65+0.01*TCF)D 功能点与代码行的转换编程语言 Loc/FP 编程语言 Loc/FPC 128 Ada 70Cobol 105 4GL 25FORTRAN 105 代码生成器 15PASCAL 90 电子表格 61 估计模型(estimation model )自顶向下法(TOP-TOWN)自底向上法(BOTTOM-UP)COCOMO 模型A 基本 COCOMO 模型:应用于对中小规模项目进行快速而又粗略的估计,该模型将开发工作量作为软件规模的函数进行计算,软件规模以代码行来表示:工作量估算 E= a

16、*Sb开发时间估计 D= c* Ed其中,E 未以人月为单位的工作量,S 是以千行为单位的代码行数,D 是以月为单位的开发时间,a,b,c,d 的取值如下:项目类型 a b c d有机的 2.4 1/05 2.5 0.38半分离的 3.0 1.12 2.5 0.35嵌入的 3.6 1.2 2.5 0.32B 中级 COCOMO 模型:它将软件开发工作量作为软件规模及“工作量调整因子“的函数进行计算,估算的精度有所提高。工作量调整因子(Efford adjustment Factor, EAF),包括一组“成本驱动因子属性“值的评估。此属性分 4 类 15 个,每个属性可在”非常低“到”极高“6

17、 个等级上取值。成本驱动因子属性值成本驱动因子属性值因子属性产品属性非常低 低 中等 高 非常高 极高软件可靠性 0.75 0.88 1.0 1.15 1.4 -数据库规模 0.94 1.0 1.08 1.16处理复杂度 0.7 0.85 1.0 1.15 1.3 1.65项目属性使用现代编程方法1.24 1.1 1.0 0.91 0.82使用软件工具1.24 1.1 1.0 0.91 0.83进度约束 1.23 1.08 1 1.04 1.1计算机属性Cpu 时间属性1 1.11 1.3 1.66内存容量约束1.06 1.21 1.56虚拟机发散性.087 1 1.15 1.3人员属性分析能

18、力 1.46 1.19 1 0.86 0.71应用经验 1.29 1.13 1 0.91 0.82编程能力 1.42 1.17 1 0.86 0.7编程语言经验1.14 1.07 1 0.95中级 COCOMO 的形式如下:E= a1 * Sb1*EAFEAF = ci其中,Ci 为成本驱动因子属性值, 系数 a1,b1 如下:项目类型 A1 B1有机的 3.2 1.05半分离的 3.0 1.12嵌入的 2.8 1.2二 工作量估计工作量估计一般在需求分析之后进行。在 Infosys 公司常用的工作量估计方法有两种:1 自底向上的估计方法2 自顶向下的估计方法步骤概括如下:(x46)三 进度计

19、划在工作量确定以后,根据项目投入的资源,就可以制定进度计划。进度计划可以分解为两个子任务:一个是确定总的进度计划(项目持续的时间)及主要里程碑,另一个子任务是制定各种任务的详细进度计划。1 总的进度计划控制项目的人力资源可以灵活确定进度计划,但这种灵活性是有限度的。根据经验来描述出来的进度工作量图表,得出人力数根号(工作量) ,则进度得到最好的保证。另外,项目的人力资源在生命周期内遵循瑞利(Rayleigh)曲线。1:2:1(设计,构建,测试)2 详细的进度计划一旦使得里程碑和资源,就该设置详细的进度安排。进度计划是一个不断修正和迭代的过程。一般采用 MS Project 来编制详细进度计划。

20、第六章 质量规划软件质量:是指软件产品满足规定的和隐含的需求的能力和有关特征的集合,软件过程质量决定了软件质量。 (cmm6)(x62)一 质量概念软件质量的定义:我们用已交付软件的故障密度作为软件质量的定义即,已交付软件中每个单位规模的故障数。故障排除任务包括需求评审、设计评审、代码评审、单元测试、集成测试、系统测试和验收测试。故障引入开发设计故障排除质量管理的任务是规划合理的质量控制任务,然后正确地执行和控制它们,以实现项目的质量目标。1质量管理的过程化方法故障的排除有两种方式:评审和测试。 (x64)过程化方法缺乏量化的手段来评价软件的质量。2质量管理的定量化方法定量化软件管理涉及 2

21、个问题:设置定量化的质量目标;定量化地管理软件开发过程以满足这一质量目标。故障排除效率(defect removal efficiency, DRE):质量任务检测到的故障占现有总故障数的百分比。 (x65)故障预测(defect prediction):根据已经交付软件的故障密度设定质量目标。估计各故障检测任务可能识别出的故障数设定中间质量目标;然后将实际故障数与估计的相比较。.二 定量化质量管理规划讨论如何采用故障预测方法定量地管理软件质量。1 设置质量目标根据以往的数据计算所得到值设置质量目标,设置质量目标的数据源主要有 2 种:同类项目的以往数据和 PCB 数据。使用 PCB 数据预测

22、项目的故障数步骤:( x67)根据故障排除率设置目标的步骤:(x67)需求分析 R 设计 R 编码 R UT IT/ST AT2 估计其他阶段的故障x673 质量过程规划4 X68三 故障预防规划故障预防(Defect prevention, DP)旨在提高项目的质量和生产率。DP 通常是需要收集关于过去发现的故障数据,对这些数据进行分析以找到引入故障的根源,然后制定方案来解决这些根源。故障预防任务的步骤:(x69)第七章 风险管理风险管理(Risk management )试图使由于意外事件而导致项目失败的概率降到最小。一 风险和风险管理概念什么是风险:(x77)风险管理是要付出额外的成本;

23、风险管理的价值不容易度量风险管理的过程:(x78)风险的评估,风险的暴露度的定义(79)二 风险评估1 风险识别2 风险等级划分三 风险控制1 风险管理规划2 风险监督和跟踪3第八章 计划的度量和跟踪项目管理计划是一个可以用来指导项目执行的文档。一 度量概念项目度量的基本目的是有效地控制项目。1 指标与度量软件指标:可用于定量表示软件过程或者软件产品的各种特征。过程指标产品指标进度、规模、工作量和故障是项目的基本度量,他们形成了一个稳定的指标集。2 通过统计过程控制的监控过程统计过程控制;二 度量对一个项目的任何度量控制主要取决于项目这些期间的度量。度量规划是项目规划的一个关键要素。度量什么;

24、何时度量:如何度量;1 工作量数据收集周报(weekly activity report WAR);2 故障记录与跟踪故障的生命周期故障数据记录表(x96)故障类型表故障严重性表3 进度与规模度量三 项目跟踪项目跟踪的主要目标是让项目经理掌握项目执行情况,以便他们能够确定是否要采取什么措施一确保项目目标得到满足。一般要制定 3 个跟踪计划:任务跟踪故障跟踪问题跟踪另外,为了跟踪项目的工作量状态、进度状态和质量状态,项目经理还必须制定如下计划:任务级监督状态报告里程碑报告第九章 项目管理计划项目管理计划(Project management plan, PMP)文档是项目经理承担的所有规划任务的

25、核心。各种规划任务的结果都出现在该文档中,它是指导所有项目执行的基准文档。一 团队管理团队管理不仅仅是软件工程和项目管理的问题,而且还涉及人员管理问题。1 团队结构层次结构开发人员与质保人员的比例 3:1。2 沟通沟通的例子:艾柏林悖论(Abilene Paradox) Harvey 1974(d75)两类沟通:与项目相关的沟通;缓减压力的沟通。3 团队建设二 客户沟通和问题解决方案状态报告;三 项目管理计划的结构项目管理计划模板的四个部分:项目提要;项目规划;项目跟踪;项目团队四 ACIC 项目计划五 ACIC 项目的项目管理计划第十章 配置管理一 配置管理概念软件配置管理(software

26、 configuration management, SCM)是项目管理的一项内容,主要涉及对变更进行系统地控制,建立和维护在项目的整个软件生存周期中软件项目产品的完整性。主要包括:标识在给定时间点上软件的配置,系统地控制对配置项的更改、并维护在整个软件生存周期中配置的完整性和可跟踪性。置于配置管理之下的工作产品包括交付给客户的软件产品(例如软件需求文档和代码) ,以及与这些软件产品等同的产品项或生成这些软件产品所要求的产品项(例如编译程序) 。配置管理的功能:x123配置管理的机制包括:x124二 置管理过程主要有:规划;执行;状态监控1 配置管理规划和制定典型的配置项:SCM 人员或者项目

27、经理进行 SCM 规划。该阶段的任务:(x127)2 执行配置管理配置控制任务主要有两个:一个涉及程序的状态转移管理;另一个涉及必须被实现的报告申请管理变更申请的步骤:x1293 状态监督和审计三 ACIC 项目的配置管理计划第十一章 评审评审是最有效的也是最常用的标识故障的方法,可以对文档及代码进行评审。评审还可以是管理人员掌握项目的进展。评审的好处:评审的功能及特点:评审可以运用于软件开发各个阶段产生的各种类型的产品;评审比软件测试更有效率,因为它看到的是问题本身而不是征兆;通过评审,不仅发现错误,还可以提出对软件产品的改进建议,防止再发生;评审可以在产品开发阶段进行,作者对产品细节很清楚

28、,可以及时修改;不止发现错误,还有利于评审员、软件项目相关组熟悉有关产品。评审的回报率一般为 48 倍。一 评审过程小组评审:小组评审目标:小组评审的几个阶段:1 评审规划选择评审成员及安排评审时间;46 人。作者准备好相应的材料。2 概述和准备此阶段的目的:是将要评审的软件包交给评审人员,并在需要时,对工作产品进行说明。第一次会议;在正式会议之前,各评审员独立地评审工作产品,作评审日志。需要准备的材料:评审通知;被评审的工作产品正式的评审记录单检查表其他资料(如相关文档、标准等)3 评审会议评审会议的目的:会前检查准备工作;会议期间提出问题;会议结束时,给出问题和故障列表。评审主席的责任和素

29、质;4 返工和后续措施作者执行返工,以改正评审会议上提出的所有故障。作者与评审主席一起审查改正情况。5 单人评审成本较低,效果尚可。6 项目评审指南选择被评审的工作产品指南二 数据收集在评审的各个阶段,数据都要被记录下来,每次评审的总结数据都被保存到一个评审数据库中。1 自备日志2 小组评审会议日志3 小组评审总结报告三 监督和控制监督和控制主要针对评审的效率。没有效率的评审是对时间和资源的巨大浪费。1 评审能力基准如何应用 SPC 来监督评审?INFOSYS 公司的绩效参数的控制极限:2 分析和控制指南第十二章 项目监督和控制项目监督和控制的目的是:建立对项目的实际进展的适当的可视性,使管理

30、者能在软件项目性能明显偏离软件计划时采取有效措施。活动包括:对照已文档化的估计和计划,评审和跟踪软件完成情况和结果,基于实际的完成情况和结果调整原有计划。一 项目跟踪1 任务跟踪目的是确保任务可以按时完成。把任务分解成合适的粒度,使其利于跟踪和管理。 (12 天)任务状态(完成,未完成)对更高层次的任务,计算低层次的任务完成比例,来得到高层次的任务完成率。2 故障跟踪故障跟踪系统的使用故障跟踪表及数据库3 问题跟踪4 状态报告状态报告是定期向高级管理人员和客户通报项目状态的主要机制,目的是为了保证项目继续按计划进展并解决未决的问题。提供了定期监督项目的机制。二 里程碑分析管理者监控软件活动,主

31、要通过在所选出的软件工作产品在所选择的里程碑处,将实际的软件规模、工作量、成本和时间表与计划相比较,来确定进展情况。1 工作量和进度分析设定偏差极限,实际与计划比较,分析进度情况,及对以后的影响。2 规模分析实际代码规模的分析实际文档规模分析定期精炼、监控和调整软件工作产品的整体规模预测和受影响的组协商对软件工作产品规模估计的更改。3 质量监督计划故障数与实际的故障数相比较,分析结果。监督评审次数 。4 与风险有关的监督里程碑报告应报告当前的风险以及当前的风险缓和措施的状态。5 ACIC 项目三 用进行任务级分析任务级分析可以更加准确地评价任务地绩效和有效性。当有问题时及时采取措施。任务级分析

32、常采用 SPC 来完成。任务级监督集中解决与编码相关的评审和单元测试任务。四 故障分析和预防故障预防旨在学习至今项目中所发现的故障,一防止项目的其余任务出现类似故障。1 执行帕累多分析2 执行因果分析34 制定和实施解决方案采取措施减少故障发生5 ACIC 项目的故障预防五 过程监督和审计审计的基本目标是保证遵循已定义的过程,并使高级管理人员监督过程的使用。定期执行审计。由其他项目的人员来审计项目。1 执行审计审计检查表2 后续措施第十三章 项目收尾项目收尾分析是过程改进的绝好机会。一 项目收尾分析1 收尾分析的作用收尾分析的目标:2 执行收尾分析3 收尾分析报告二 ACIC 项目分析报告第十

33、四章 CMM 简介CMM-Capability Maturity Model for Software, Version 1.11前言CMM的发展过程 (SEI /Software Engineering Institute/Carnegie Mellon university)SEI应政府要求在MITRE公司的帮助下开发出成熟度 模型和成熟度提问单的一个初始版本。模型的设计目标: 基于现实的实践; 反映最好的实践状态; 反映从事软件过程改进、软件过程评估或软件能力评价的个人的需要; 是已文档化的; 是公开可以得到的。过程成熟度框架 (The Process Maturity Framewor

34、k)软件能力成熟度模型是一种描述有效软件过程的关键元素的框架,CMM描述一条从无序的不成熟的过程到成熟的、有纪律的过程的进化的改进途径。CMM包括对软件开发和维护进行策划、工程化和管理的实践。遵循这些关键实践,就能改进组织在实现有关成本、进度、功能和产品质量等目标上的能力。11 不成熟和成熟组织的比较1 2 构成过程成熟度基础的基本概念(cMM 7)软件过程能力:软件过程性能:软件过程成熟度:2软件过程成熟度的五个等级成熟度等级:成熟度等级的五个级别的主要特征:(cmm9)不断改进的过程可预测的过程标准一致的过程有纪律的过程21 等级的行为特征(9) 成熟度可以通过以下各项对其特征加以描述:1

35、 组织为建立或改进软件过程所进行的活动2 对每个项目所进行的活动3 所产生的横跨各项目的过程能力 等级 1: 等级 2:1 具有项目级的方针和执行这些方针的规程2 基于在类似项目上的经验对新项目进行规划和管理3 达到等级 2 的目的是使软件项目的有效管理过程制度化4 一个有效过程可特征化为:实用的、已文档化的、已实施的、已培训的、已测量的、能改进的5 等级 2 组织的过程能力可概括为有纪律的。优化级(5)已定义级(3)已管理级(4)可重复级(2)初始级(1) 等级 3:1 有组织级的标准软件过程2 存在一个负责组织的软件过程活动的组,SEPG3 实施全组织的培训计划4 项目剪裁组织的标准软件过

36、程去建立他们自己的软件过程(项目定义软件过程)5 等级 3 组织的软件过程能力可概括为标准和一致的 等级 4:1 组织对软件产品和过程都设置定量的质量目标2 组织内建立了软件过程数据库3 开始定量地认识软件过程4 软件过程变化较小,一般在可接受的范围内5 等级 4 组织的软件过程能力概括为可预测的 等级 5:1 整个组织集中精力进行不断的过程改进2 缺陷预防3 技术更新4 等级 5 组织的软件过程能力可特征化为不断改进22 软件过程的可视性等级 1一个黑盒等级 2 项目里程碑处具有管理可视性等级 3盒子的内部结构可视等级 4软件过程被配备上度量,并得到定量地控制等级 5对过程不断改进图示:2

37、3 过程能力和性能预测随着成熟度增加,预定目标结果与实际结果间的差距减少随着成熟度增长,实际结果相对预定目标结果的偏差范围减小随着成熟度增加,预定目标结果得到改善24 跳越成熟度等级跳跃等级是违反生产规律的3 CMM 的可操作定义四种用法(20)31 成熟度等级的内部结构KPACommon featureKP32 成熟度等级33 关键过程区域每个关键过程区域 识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标CMM共有 18个 KPA,2级6个;3级7个;4级2个;5级3个。KPA的特性:A 每个识别出一串相关活动B 每KPA 定义在单个成熟度等级上C KPA鉴别

38、出为达到某一成熟度等级所必须解决的问题等级2的KPA :(集中关注软件项目所关心的、与建立基本项目管理控制有关的问题)成熟度等级 关键过程域共同特点关键实践 需求管理 软件项目策划 软件项目跟踪和监督 子合同管理 质量保证 软件配置管理等级3的KPA :(既阐述项目问题,又阐述组织的问题) 组织过程焦点 组织过程定义 培训大纲 集成软件管理 软件产品工程 组间协调 同行评审等级4的KPA :(关注焦点是建立对软件过程和软件产品的定量了解) 定量过程管理 软件质量管理等级5的KPA :(关注那些为了实施连续不断的和可测的软件过程改进,组织和项目都必须解决的问题) 缺陷预防 技术改革管理 过程更改

39、管理34 共同特点KPA 目标 成熟度等级 KPAs KPA 共同特点 (执行约定,执行能力,执行活动,测量和KPA 分析,验证实施)执行约定必须执行的活动执行能力先决条件执行的活动 描述为了建立过程能力必须作什么,而其他的实践是执行的活动中所描述的实践规范化的基础测量和分析验证实施35 关键实践关键实践描述应做什么,但不应解释为强制如何实现目标。36 目标目标概括一个PKA中的所有关键实践,并能用于确定一个组织或项目是否已有效地实施此KPA。目标表示每个关键过程域地范围、边界和意图。4 运用建立一组公用、有效的描述成熟人组织特征的准则。组织能够运用这些准则去改进其开发和维护软件的过程,政府或

40、商业组织能用它去评价与一特定公司签定软件项目合同时的风险。软件过程评估:软件能力评价:41 软件过程评估和软件能力评价方法42 软件过程评估和软件能力评价之间的差别43CMM 在过程改进方面的其他用法软件项目策划(SPP)软件项目策划的目的:为完成软件工程和管理软件项目制定合理的计划。顶层关键实践(单句)子关键实践(详细描述、例子)子关键实践(详细描述、例子)软件项目策划包含:估计待完成的工作,建立必要的约定和确定进行该工作的计划。具体有:1 选择生命周期2 对要完成的工作进行估计3 建立必要的约定4 识别软件项目风险5 制定工作计划目标目标1:对策划和跟踪软件项目用的软件估计已经建立文档目标

41、2:软件项目的活动和约定是有计划的并已经建立文档目标3:受影响的组和个人同意他们的关于软件项目的约定执行约定(必须采取的活动)约定1:指定项目软件经理负责协商约定和制定项目软件开发计划。约定2:项目遵循书面的组织的用于策划软件项目的方针。该方针一般规定:1 将分配给软件的需求用作策划软件项目的基础2 在项目经理、项目软件经理和其他经理之间协商软件项目的约定。3 和其他的过程组协商他们介入该软件活动的事宜,并记入文档。4 受影响的组评审软件项目的:软件规模估计,工作量和成本估计,进度和其他约定。5 高级管理者评审所有的对组织外部的个人和组所作的软件项目约定。6 对项目的软件开发计划进行管理和控制

42、执行能力(先决条件)能力1:对软件项目存在文档化的经批准的工作陈述。(工作陈述包括:。 。 。 。工作陈述需被评审并应被管理和控制)能力2:安排制定软件开发计划的职责(人员)主要有两点:1 项目软件经理,直接工作或委托代表,协调项目的软件策划。2 以可追踪,可说明的方式分解对软件产品和活动的职责,并将其安排给软件经理。能力3:为策划软件项目提供足够的资源和投资(资源)主要有:1 在可能时,可以使用对正在策划的软件项目的应用领域有专门知识的有经验的个人来制定软件开发计划。2 使得支持软件项目策划的工具合用能力4:介入软件策划的软件经理、软件工程师和其他个人,在适用于其职责范围的软件估计和策划规程

43、方面受到培训。执行的活动活动1:软件工程组参加项目群组。主要有2方面的工作:1 建议的准备和提交;说明的讨论和提交;对影响软件项目的约定作更改而进行的协商。2 软件工程组评审所建议的项目约定。活动2:在整个项目策划的早期阶段启动软件项目策划,此两项策划平行进行。活动3:在项目的生命周期内,软件工程组和其他受影响的组一起参加整个项目的策划。软件工程组评审项目层的计划。活动4:高级管理者参加按照已文档化的规程评审对组织外部的个人和组所作的软件项目的约定。活动5:识别或确定具有可管理规模的预先规定阶段的软件生命周期。活动6:按照已文档化的规程制定项目的软件开发计划。该规程一般规定:。 。 。活动7:

44、对软件开发计划建立文档软件开发计划包括以下内容:。 。 。活动8:识别为建立和保持对软件项目的所必须的工作产品。活动9:按照已文档化的规程导出对软件工作产品规模的估计。此规程一般规定:(5点)活动10:按照已文档化的规程导出对软件项目的工作量及成本的估计。该规程一般规定:(4条)活动11:按照已文档化的规程导出对项目的关键计算机资源的估计。该规程一般规定:(3条)活动12:按照已文档化的规程导出项目的软件进度表。该规程一般规定:(6条)活动13:对与项目成本资源、进度和技术方面相联系的软件风险进行鉴别、评估和建立文档。1 基于风险对项目的潜在影响,对风险进行分析和优先级排序2 鉴别风险的偶发事件活动14:制定关于项目软件工程实施和支持工具的计划。1 A2 B3 C活动15:记录软件策划数据(2点内容)测量和分析测量1。进行测量,并将测量结果用于确定软件策划活动的状态。验证实施验证1。高级管理者定期参与评审软件策划的活动。(主要有:1 评审技术、成本、人员配置和进度等性能2 分析在较低层次上未解决的矛盾和问题3 分析软件项目风险4 安排和评审措施条款并跟踪到结束。5 准备每次会议的摘要报告,并将其散发到受影响的组和个人。)

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报