1 CMMI过程体系介绍 蒋晖 内容 ? CMMI过程体系文件结构 ? CMMI过程体系文件介绍 ?项目管理过程 ?软件工程过程 ?过程管理过程 ?支持过程 ?示例 2 CMMI 概貌 3 CMMI过程体系文件结构 方 针(Policies) 过程文件(Processes) 规程文件 (Procedures) 模 板 (Plans,Reports,Tables, Checklist) 指南 (Guideline) 过程体系文件的内容 ?方针 ?指导性原则 ?过程文件 ?描述执行一个过程所必需的角色、工具和方法。 ?规程文件 ?用以指导某个具体过程的特定活动的可操作步 骤。 ?模板 ?包括各种计划、表格、报告等,用于证实过程运 行的效果。 4 过程的描述 ?过程元素 ?用以描述过程的一个基本单元,一般具有 以下属性: ?角色、入口准则、输入、任务、出口准则、输 出、资源和能力、度量、裁剪指南 ?遵循ETVX模型(Entry, Task, Verification, Exit, 即入口、任务、验证、出口) 过程元素的属性 ?角色:描述该活动需要的人员。 ?入口准则:规定活动开始的标志,即前条件。 ?输入:描述活动需要读取的内容。 ?任务:执行活动所要做的一系列事情。 ?出口准则:表明活动结束的标志,即后条件。 ?输出:活动的输出结果及结果形式,即工作产品。 ?资源和能力:描述活动需要的人员、资金、时间、培 训、设备、方法和支持工具。 ?度量:描述活动需要测量的数据。 ?裁剪指南:描述活动是否可以删减的指导性描述。 5 CMMI过程体系文件介绍 过程文件的分类 ?项目管理过程文件 ?工程过程文件 ?过程管理过程文件 ?支持过程文件 6 项目 管理 过程 项目管理文件 ?使用人员:项目经理、项目成员、以及与项目相关人 员。 ?主要内容包括: ?项目立项过程 ?项目计划过程 ?项目跟踪与监控过程 ?集成项目管理过程 ?组间协调过程 ?风险管理过程 ?外包与采购管理过程 7 项目策划过程 ?项目策划(Project Planing-PP)活动集中在立项 完成之后的开始阶段。它主要有项目定义、工作 拆分、软件估计、制定项目计划等过程。 ? PP负责规划整个软件生命周期的活动,为实施软 件工程和管理软件项目制定合理的计划。 ? PP为实施和管理软件项目活动提供基础,并根据 软件项目资源、约束条件和能力向软件项目的客 户提出承诺。 项目 立项 PM PM、软件工程组 SEPG 需求过程定义 需求计划制定 需求开发 需求评审 需求开发 定义软件 生命周期 项目过程定 义 识别软件 工作产品 需求人员、CCB、SEPG 项目定义工作拆分软件估计 高层经理、SQA、SCM、 测试组、软件工程组等 组织项目团队 制定计划 项目 实施 定义技术活动 制定项目 开发计划 制定附属 项目开发计划 计划评审 PM、软件工程组PM、软件工程组 定义管理 和支持活动 风险管理计划 软件配置管理计划 软件质量保证计划 培训计划 软件测试计划 度量与分析计划 项目开发计划书 制定进度表 估计软件规 模、缺陷等 项 目 计 划 过程裁剪 任务拆分 估算: size,effort ,schedule 风险识别 建立承 诺 8 活动1:项目定义 ?组建项目团队 ?选择生命周期模型 ?项目过程定义 ?标准过程裁剪 PP-SP1.3 定义项目生 命周期阶段 IPM-SP1.1 建立和维护 项目定义的过程 活动2:WBS 项目 支持 项目管理 计划跟踪QA CM 工程活动管理/支持活动 阶段1阶段2 组件1组件2 9 WBS-工作拆分 ?工程活动的拆分 ?第一个级别是技术活动的阶段 ?更细的任务随着项目的进展而逐步得到定义 ?最底层结构的定义可以在项目阶段的详细计划活动 中完成 ?每一项最底层的任务都应该有一个任务描述 ?管理和支持活动的拆分 ?工作拆分方法和工程活动大致相同 ?管理/支持活动的工作拆分结构中有些任务是“投入 水平”的任务(Level of Effort),一般只有每周投入 工时的信息 PP-SP1.1建立WBS估计项目范围 PP-SP1.2估计工作产品和任务 WBS-2周原则 ?所有的项目活动最终都要拆分成由一个 人在2周(80小时)内完成的任务 ?任务划分的比较细有利于精确的估算 ?监控和评估进度比较容易 ?跟踪项目进度和成本的时候及时更新状 态信息成为可能 10 活动3:软件估计 ?软件估计的特点是: ?对输入的数据很敏感,而结果是在一个可 接受的范围内,不考虑获得精确的答案 ?贯穿整个软件生命周期,随着过程的改进 和历史数据的积累,估计变得越来越精 确。 软件估计的内容 ?估计软件大小 ?估计工作量 ?估计管理活动,包括项目报告、项目例会、里程碑会 议等活动 ?估计工程活动,包括软件需求分析、系统设计、编 码、评审、测试等活动 ?估计支持活动,包括QA、CM、MA及其他活动 ?估计外部成本 ?估计关键计算机资源 ?估计管理储备 ?制作时间表 PP-SP1.4估计工作量和成本 PP-SP2.1建立和维护项目预 算和进度 11 软件估计的方式 ?进行式估计(On_going) ?项目早期阶段:自上而下(top_down) ?项目执行阶段:自下而上(bottom_up) 软件估计的策略 ?确定估计内容 ?如规模、工作量等 ?确定估计时间 ?在生命周期的什么时候准备进行估计 ?确定估计技术 ?将要用到的估计技术,如Delphi估算方法 ?确定估计粒度 ?如人天、人月,代码行、功能点 12 软件估计的原则 ?两周原则 ?对每一个任务,一个人在两周或更少的时 间内可以完成; ?每个两周的任务必须产生一个切实的产品 易于估计成本和时间 易于跟踪 易于度量 软件估计的流程 从上到下估计 软件规模估计 工作量估计 外部成本估计 建立管理储备 关键计算机资 源估计 制定进度表 阶段详细估计 建立 项目基准 13 软件估计的方法 ?规模估计的方法 ? Wideband Delphi Technique ? Pert Sizing Technique ? Sizing by Analogy(类比法) ? Reused Code ?工作量估计的方法 ?运算法(Algorithmic Cost models) ?专家判断法(Expert Judgement) 活动4:制订风险管理计划 ?风险识别 ?风险分析 ?风险处理和减缓行动 PP-SP2.2识别和分析风险 14 活动5:制订项目资料管理计划 ?需要管理的项目资料,例如 ?项目交付物和非交付物 ?合同相关资料和非合同相关资料 ?供应商提供的资料 ?客户提供的资料等 ?职责 ?数据存储方式 ?保密和读取 PP-SP2.3项目资料管理计划 活动6:制订沟通管理计划 ?沟通管理的原则 ?尽早沟通、主动沟通 ?沟通计划 ?确定沟通对象、沟通范围、沟通时机、沟 通方式等 ?内部沟通:项目与各部门或其他项目之间 的沟通 ?外部沟通:项目与客户、项目与销售之间 的沟通 PP-SP2.6计划项目 相关方的参与 15 活动7:制订项目计划 ?制订各种子计划,包括: ?项目开发计划、培训计划、测试计划、度 量计划、评审计划、风险管理计划、质量 保证计划、配置管理计划、组间协调计划 等 ?计划评审 ?计划审批 PP-SG2建立和维护项 目计划 PP-SG2建立项目承诺 项目监督和控制过程 ?要点 ?监督什么? ?计划是跟踪的基础,计划什么则跟踪什么 ? size, effort, schedule, CCR, risk ?监督的手段 ?项目报告、例会、评审等 ?项目控制 ?跟踪的结果:数据分析、问题处理,纠正措施 16 项目监督和控制过程 项目跟踪活动 ?计划分解/任务分配 ?任务完成汇报 ?产品审批 ?项目例会 ?里程碑评审 ?组间交流 ?问题/风险跟踪 PMC-SG1依据项目 计划监督项目的实 际性能和进展 17 项目度量活动 ?项目数据采集 ?软件产品规模、实际工作量、实际进度、实际成 本 ?项目数据整理 ?项目度量分析报告 ?项目数据分析 ?分析项目状态 ?问题识别,原因分析 ?项目性能报告 PMC-SP2.1收集和分 析问题,并决定必要 的纠正措施 主要的度量-挣值分析(EV) ?一种全面衡量工程进度、成本状况的整 体方法: ?对计划完成的工作,实际挣得的收益,实 际花费的成本进行比较; ?更关注资金已经转化成工程成果的量。 18 EV-三个基本值 ? BCWS (Budgeted Cost of Work Scheduled) (PV) ?计划预算,在一个给定的时间范围内计划完成的 工作核定的成本估算总和。 ? BCWP (Budgeted Cost of work Performed) (EV) ?执行预算,在一个给定的时间内为已完成工作核 定的成本估算总和。 ? ACWP(Actual Cost of Work Performed)(AC) ?执行成本,一定的时间内完成工作所花费的实际 总成本。 如何计算这三个值 ?项目数据收集(以周报的形式) ACWP=35+12+15+9BCWP=30*80%+10+10*80%+3BCWS=30+10+10+4 YY934评审 NN(80%)151510编码2 YY121210编码1 NN(80%)352030 详细设 计 合计(h)本周(h) 是否和进度相 符? 是否完 成 已用工时 预算工 时 (h) 任务 19 EV图 计算偏差 ? CPI (Cost Performance Index) ?成本性能指数,执行预算对执行成本的比率 (BCWP/ACWP),反映正在进行的项目的成本效率。 ? SPI (Schedule Performance Index) ?进度性能指数,执行预算对计划预算的比率 (BCWP/BCWS),反映正在进行的项目的进度效率。 ? CV (Cost Variance) ?成本差异,CV=BCWP-ACWP,执行预算与执行成本的差 值,反映项目成本是否超支。 ? SV (Schedule Variance) ?进度差异,SV=BCWS-BCWP,计划预算与执行预算的差 值,反映项目进度是否滞后。 20 偏差控制阀值 ?对于进度性能指数(SPI) ? SPI>0.9时,则不需要采取解决措施; ? 0.8<SPI<0.9之间,适当加班,不必调整计划; ? SPI<0.8时,则需要重新策划,调整计划,包括重新估计、动用管 理储备等。 ? SPI>1.2时,说明进度超前,则需要重新策划,调整计划,包括重 新估计等。 ?对于成本性能指数(CPI) ? CPI>0.9时,则不需要采取解决措施; ? 0.8<CPI<0.9之间,考虑资源和人员的分配; ? CPI<0.8,则需要重新策划,调整计划,包括重新估计、动用管理 储备等。 ? CPI>1.2时,则需要重新策划,调整计划,包括重新估计等。 项目控制活动 ?问题管理与跟踪 ?风险监控 ?计划变更 PMC-SP2.2跟踪纠正 措施,直到问题关闭 21 主要的项目报告 ?项目周报 ?项目阶段报告 ?里程碑评审报告 ?项目度量报告(项目状态报告) ?项目总结报告 外包与采购管理过程 ?规范公司项目从外部获取待开发产品的 部件(含服务)的相关活动,确保项目 外包和采购的结果满足规定的质量要 求。 22 外包与采购管理过程 项 目 立 项 采购 申请 外包 申请 Make or Buy 决策 采购 自主 开发 外包 供 方 管 理 签定 合同 验 收 选择 外包 方 选择 供应 商 签定 合同 过程 监控 验 收 相关文档 ?项目外包申请表、项目外包方初次评价 表、项目采购供应商初次评价表、采购询 价表、供方业绩复评表、外包合同、采购 合同 ?设备采购单、外包开发过程监控报告 ?采购验收单、外包项目验收报告 23 工程 过程 RD TS PI 客户 VER VAL REQM 软件需求 可选择可行的 设计方案 构件、模块 或子系统 软件产品 软件需求 软件需求 软 件 需 求 评 审 结 果 工作产品评 审 结 果 评 审 结 果工 作 产 品 软件产品验 收 确 认 客户需求 过程管理过程 支持过程 项目管理过程 输入: 1.组织过程改进需要和目标 2.组织标准过程和过程资产 3.培训 输出: 1.过程改进建议 2.过程改进信息(如文档、数据等) 3.培训需求 输出: 1.要开发什么 2.项目执行状态 3.项目问题 4.度量分析结果 5.产品体系划分 输入: 1.任务拆分 2.度量要求 3.纠正措施 4.组间承诺及组 间问题解决 输入: 1.基线,审计报告 2.不符合问题 3.度量分析结果 4.分析决策 5.过程改进建议 输出: 1.配置项、变更请求 2.规程、工作产品规范 3.度量需求 4.重大事件 5.缺陷或问题 工程过程文件 ?使用人员:项目经理、软件开发工程师、软件 测试工程师、QA人员、配置人员等。 ?主要内容包括: ?需求管理过程 ?需求开发过程 ?技术解决方案过程 ?产品集成过程 ?评审过程 ?软件测试过程 ?验收确认过程 24 需求管理 验证需 求完成 情况 需求文档 化,形成 基线 变更要 受控 需求与 后续产 品一致 活动1:需求定义 ?用户需求列表 ?需求编号 ?需求项名称:WBS拆分结果 ?需求功能描述 ?补充约定:如业务规则、数据约束、非功能需求 ?优先级:实现的顺序 ?需求状态:已建议、已批准、已设计、已实现、已删除 备注需求状态优先级补充说明功能描述需求项名称需求代号 25 活动2:需求追溯 ?需求跟踪矩阵 ?随项目的进展阶段填写,如需求阶段、设计阶段、编码阶 段、测试阶段 ?开发工程师、测试工程师填写,QA人员验证 ?需求变更时维护此表 m2c JTT4th_Req_0 2 h2m JTT4th_Req_0 1 TC编号/名称文件名设计元素设计元素 测试用例代码实现详细设计概要设计 需求项名称需求代号 活动3:需求状态统计 ?项目定期统计,如里程碑处 ?由QA人员或CM人员统计 已删除%已验证%已实现%已设计%已批准%已建议%统计日期 26 活动4:需求变更 ?变更控制流程 ?需求变更申请-CCB评审-实施变更-变更后评审-记录 变更 ?若变更涉及下游工作产品,相应工作产品需变更,并 需求维护需求跟踪矩阵 确认人状态变更发生阶段变更日期变更内容 需求编 号 需求开发过程 ?要点 ?需求获取-开发用户需求 ?需求分析-开发产品需求 ?需求验证和确认 27 需求开发过程 需求获取的主要活动 ?联合应用开发(Joint Application Development)会议,其实质是范围较广 的专题研讨会 ?用户访谈 ?识别用户 ?确定项目前景和范围 ?制作原型 ?编写USE CASE 28 需求分析的主要活动 ?识别系统用户及其特征 ?描述操作环境 ?描述外部接口需求 ?用户接口、硬件接口、软件接口、通讯接口 ?描述功能需求和业务规则 ?确定非功能需求 ?确定质量属性 ?分析需求的可行性 ?确定需求的优先级别 ?编写需求规格说明书 需求验证确认活动 ?评审和确认需求文档 ?以需求为依据编写测试用例 ?着手编写用户手册 29 技术解决方案过程 ?要点 ?评价和选择设计方案 ?详细设计 ?实现 架构设计的主要活动 ?确定设计方法 ?结构化设计、OO设计 ?系统体系结构设计 ?原则:高内聚、低偶合 ?要求:易于实现、测试、维护和重用 ?数据体系结构设计 ?将数据需求形成软件所需要的数据结构 ?接口设计 ?数据接口、软件模块间接口、人机接口 ?确定新开发、采购和复用方案 ?架构设计评审 30 详细设计的主要活动 ?细化架构设计 ?界面设计 ?模块设计 ?程序逻辑设计 ?算法设计 ?程序接口设计 ?详细设计评审 编码及单元测试活动 ?编码 ?确定编码规范 ?编码、调试 ?代码走查 ?单元测试 ?编写单元测试用例 ?代码覆盖 ?执行单元测试 ?单元测试报告、Bug记录及修改 31 技术解决方案过程-相关文档 ?方针 ?技术解决方案方针 ?模板 ?概要设计说明书 ?数据库设计说明书 ?详细设计说明书 ?编码规范 ? ……. 产品集成过程 ?要点 ?确定集成策略 ?集成顺序、集成环境、规程及准则 ?接口检查 ?构造产品 ?集成测试 ?产品交付 32 活动1: 建立集成计划 ?选择集成策略 ?增量式集成&非增量式集成 ?选择集成顺序 ?自顶向下增量式集成 ?自下向上增量式集成 ?确定集成环境 ?确定集成时机、资源安排、时间要求 ?评审集成计划 活动2:集成准备 ?搭建集成环境 ?接口检查 ?确认接口实现与接口设计是否存在偏差 ?接口设计完善 33 活动3:产品集成 ?建立集成目录 ?确定及验证待集成单元 ?从配置库中取待集成单元 ?构造集成块,联调 ?控制接口变更 评审过程 ?要点 ?判断确定设计和开发的输出能否实现软件 产品预先定义的规格 ?标识出与规格和标准的偏差 ?由一组有资格的人员进行评价 34 评审类型 ?技术评审 ?技术性评审活动,旨在发现工作产品可能存在的 缺陷。通常是走查、同行评审和设计评审的形 式。 ?评审人员以工程技术人员为主 ?管理评审 ?管理性评审活动,如里程碑评审、CCB评审等 ?评审人员由项目经理、QA人员、CM人员和部分 技术人员组成 ?过程评审 ?针对过程的符合性检查活动,主要由QA和EPG执 行 评审流程 制定评审计划 预审 评审会议 返工 跟踪 因果分析 评审材料包 缺陷检查表 规则集 评审意见表 初始交付产品 评审总结报告 评审问题日志 修改后的可 交付产品 可基线化的 可交付产品 质量数据分 析表 评审活动计划 35 评审检查单 ?项目计划评审检查单 ?需求评审检查单 ?概要设计检查单 ?详细设计检查单 ?测试检查单 评审人员组成表(参考) 公司总工/产品部总工,高级经理,项目经理,同行高级 经理,其他人员 项目成果项目验收报告 (内部) 项目经理、SQA人员、测试人员、系统设计人员,其他人 员 《测试用例》 项目经理、SQA人员、测试人员、同行,系统设计人员, 其他人员 《详细设计说明 书》 项目经理、SQA人员、测试人员、同行,系统设计人员, 其他人员 《概要设计说明 书》 设计过程 项目经理,系统设计人员,用户代表,同行,SQA人员, 测试人员,销售人员,其他人员 《需求规格说明 书》 项目经理,SQA人员,配置人员 项目经理,高级经理,QA经理,SQA人员 项目组成员,SQA人员,测试人员,其他人员项目管理计划: 《测试计划书》 《质量保证计划》 《配置管理计划》 高级经理,项目经理,同行项目经理系统设计人员,测试 人员,SQA人员,销售人员,其他人员 《项目开发计划 书》 项目计划过程 公司总工/产品部总经理,项目经理,高级经理,同行高 级经理,销售人员,其他人员 立项报告立项 建议评审小组组成评审对象评审阶段 36 评审工作产品和评审类型表(参考) 详细设计说明书 (可选) 集成测试用例(可 选) 系统测试用例 ?概要设计说明书 (可选) 项目组成员,相关人员项目评审表 项目评审问题跟踪表 非正式评审?项目管理计划 ?需求规格说明书 项目评审小组项目评审表 项目评审问题跟踪表 正式评审?项目开发计划文档类中/改进 项目类 详细设计说明书 集成测试用例 系统测试用例 项目组成员,相关人员项目评审表 项目评审问题跟踪表 非正式评审项目管理计划 概要设计说明书 需求规格说明书 项目评审小组项目评审表 项目评审问题跟踪表 正式评审项目开发计划文档类大/新项 目类 责任人成果评审方法检查点项目类 项目经理项目评审表 项目评审问题跟踪表 非正式评审系统测试用例 项目组成员项目评审表 项目评审问题跟踪表 非正式评审?概要设计说明书/ ?概要详细设计表 ?(可选) 项目评审小组项目评审表 项目评审问题跟踪表 正式评审?需求规格说明书/ 需求表 项目组成员,其他人 员 项目评审表 项目评审问题跟踪表 非正式评审?项目开发计划 ?(开发和管理计划 ) ?文档类小项目 类 项目经理项目评审表 项目评审问题跟踪表 非正式评审详细设计说明书 (可选) 项目经理项目评审表 项目评审问题跟踪表 非正式评审系统测试用例 (可选) 项目组成员项目评审表 项目评审问题跟踪表 非正式评审?概要设计说明书 (可选) 项目评审小组项目评审表 项目评审问题跟踪表 正式评审?需求规格说明书 项目组成员,相关人 员 项目评审表 项目评审问题跟踪表 非正式评审?项目开发计划 ?(开发和管理计划 ) 文档类工程定 制项目 类 评审工作产品和评审类型表-续(参考) 37 测试过程 ?确保最终交给用户的产品的功能符合用 户的需求,把尽可能多的问题在产品交 给用户之前发现并改正。 ?测试包括系统测试、集成测试和单元测 试,每个阶段对应软件生命周期的需 求、设计和编码并检查他们的缺陷 测试流程 软件项目 计划 软件需求 分析 软件需求规格书 软件系统 设计 软件测试用例、测试 脚本及相关设计文档 测试计划 测试设 计、开发 系统实现测试执行 软件测试计划 评估测试 软件测试记录、缺 陷跟踪报告 测试评估分析报告 软件发行通知书 缺陷跟踪 38 测试主要活动 ?测试计划制订及管理 ?测试用例设计及管理 ?测试程序设计及维护 ?单元测试 ?集成测试 ?系统测试 ?缺陷管理 ?测试分析报告编写及管理 支持过程 39 支持过程文件 ?主要包括: ?质量保证过程 ?配置管理过程 ?度量分析过程 质量保证 1.确定项目的QA负责人 2.支持需求基线的建立 3.支持项目的开发策划 40 质量保证 SQA负责人项目经理 客户 质量保证专家 SQA组长 检查 检查 管理汇报 发现的 不符合 项 上级经理 项目层面不 能解决的问 题 资源的 批准 状态和问题 的汇报 QA组独立 于项目组 相关文档模板 ? QA计划 ? QA周报 ? QA过程评审报告 ? QA产品审计报告 ? QA向高层报告 ?对QA独立审计报告 41 配置管理 基线管理 SCM计划 识别配置项 组建SCCB 定义基线 制定SCMP 建立配置库 产品检查及入库 基线审计 基线发布 基线变更 配置状态记录 及报告 配置审计 软件基线库 产品发布 产品构造 产品发布 配置管理活动与软件生命周期 客户需求调研 软件需求分析 概要设计 详细设计 编码 单体测试 集成测试 系统测试 验收测试 试运行 产品发布 安装培训 用户手册编写 需求阶段 设计阶段 编码阶段 测试 及试运行阶段 正式运行 及维护阶段 客户需求文档 客户需求基线1.0 软件需求规格说明书 软件需求基线1.0 详细设计 设计基线1.0 数据库设计 概要设计 代码基线1.0 源代码、执行码 用户手册、在线帮助 测试基线1.0 测试基线x.y 试运行的软件产品1.0 运行基线1.0 正式软件产品 产品发布报告 基 线 库 经CCB批准 经项目经理批准 经项目经理批准 经项目经理批准 经项目经理批准 审计1/经项目经理批准 经CCB批准 运行基线x.y 试运行的软件产品x.y 审计2/经CCB批准 制定SCMP/识别需求阶段CSCIs 维护SCMP, 识别设计阶段CSCIs 维护SCMP, 识别编码阶段CSCIs 维护SCMP, 识别测试阶段CSCIs 维护SCMP 产品变更 变更控制/维护变更日志 状态记录/配置状态记录 版本控制/为产品标识版本 软件配置管理活动与软件生命周期关联图 42 变更控制规程 配置管理-相关文档模板 ?软件配置管理计 划 ?变更请求单 ?变更历史报告 ?变更状态报告 ?配置状态记录 ?配置状态报告 ?基线审计报告 ?基线发布报告 ?产品发布报告 ? SCCB会议记录 ? SCM周报 43 度量与分析过程 数据库(配置 库) 定义度量 与分析规 格说明 实施项目度量与 分析活动 基础数据来源 个人周报各种表单记录 干系人 实施公司 度量与分 析活动 商业目标和管理 信息的需要 度量数据和 分析结果 度量数据和 分析结果 活动1:定义度量 ?识别商业目标 ?分析影响商业目标的关键问题 ?定义与解决问题相关的度量数据 ?建立度量计划 ?评审度量计划 44 计划的变更次数 项目的生产率 挣值分析(Earned Value) 进度计划不准确 进度控制缺乏数 据 项目的效率 计划与实际的偏 差 加快项目进度 产品的规模 各种活动所花费的工作量 项目预算难以估 计 成本控制缺乏数 据 项目预算 实际费用 降低项目成本 评审所发现的缺陷类型、 等级和数量 测试所发现的缺陷类型、 等级和数量 质保所发现的缺陷类型、 等级和数量 评审所发现的缺 陷比较少 测试所发现的缺 陷比较多 质保尚未建立 评审的效果 测试的效果 质保的效果 缺陷密度 缺陷类型 缺陷等级 提高产品质量 需求的规模 需求的变更率 需求增长快 需求不稳定 需求增长的速度 需求的稳定性 满足客户的需 求 主要度量数据关键的问题管理信息的需要商业目标 活动2:项目度量 ?项目度量计划 ?项目数据采集与分析 ?公共度量 ?特殊度量 ?项目度量结果通报 45 活动3:组织度量 ?组织度量计划 ?过程数据采集与分析 ?公共度量 ?组织度量结果通报 示例1:某公司产品研发软件过程 46 基于UML的WEB开发过程测试 工作产品工作产品工作产品 项目 跟踪 项目计划 需求 管理 同行评审 质量保证 配置管理 培训 需求阶段 绘制用例图 书写用例文档 绘制界面原型 给出页面需求 确定界面风格 需求评审 不通过 需求阶段 通过 需求分析人员 美工 检查点 用例文档、界面原型是否一致; 用例文档是否描述清晰 词汇表 问题说明书 Use Case文 档 补充规约 页面设计 页面需求 47 分析阶段 数据库设计 得到分析类 建立用例实现 根据顺序图分 配职责 建立用例与用例实现跟踪图 数据库设计 得到初步类图 对于每个 用例实现 得到分析类 实体类界面类控制类 页面逻辑图 对应于 STRUTS应用 类的分层、分包组织 数据库物理实现 Struts- config.xml 分析阶段 Action实现接口 (ILoginAction) 其中定义实现接口 系统架构设计人员 逻辑实现单元 (如:日期验证) Facade 逻辑实现单元 接口设计 分析类职责分配 得到struts- config.xml 检查点检查点 检查点 设计 实现 阶段 数据库物理实现 设计阶段 实现阶段 Action实现接口 (ILoginAction) 其中定义实现接口 Action实现接口实现 (LoginActionImpl) 通过组装逻辑实现单 元来实现 在逻辑单元实现之前 可以通过构造伪实现 来调试 页面设计 (coding) 页面设计人员逻辑单元实现人员 包括:前端的JSP、 ActionForm、 XXXAction(LoginActi on)、Action实现接口 (ILoginAction) 逻辑单元设计 非常独立 的设计, 检查点 逻辑单元实现 联调 48 相关设计规范 ?基于UML的WEB设计规范 ?数据库设计规范 ?软件产品交互设计规范 ?代码规范 ? ROSE协同工作规范 ? Bugrat协同工作规范 示例2:某公司对日项目软件过程 49 设计编码 测试 工作产品工作产品 项目 跟踪 项目计划 配置管理 需求 管理 质量保证 同行评审 培训 对 日 外 包 软 件 开 发 过 程 50 对日外包项目过程中关键点 ?设计阶段 ?加强对式样书的理解,提QA表确认 ?日方评审设计和测试用例成果 ?编码阶段 ?确定Sample代码 ?加强代码走查 ?项目跟踪 ?分阶段纳品交付 ?开发进度报告 ?品质控制 ?制订开发过程的品质标准,如代码评审、文档审核、测试 的标准 结束