1、软件过程改进(SPI)(二),主讲:李顺江,lishunjiangknowledgechina.org,主要内容,CMM二级关键过程域目标 需求管理(RM) 软件项目计划(SPP) 软件项目跟踪与监督(SPTO) 软件子合同管理(SSM) 软件质量保证(SQA) 软件配置管理(SCM) 特征: 建立软件管理的方针、规程 设置基本的软件管理控制 有纪律 与转包商通过合同建立供求关系,需求分析,设计,编码,测试,需求管理(RM),RM就是在客户和软件项目之间达成共识,控制系统软件需求,为软件工程和管理建立基准线;保持软件计划、产品和活动与系统软件的一致性,需求管理(RM),参与RM的组(系统工程组
2、,软件工程组) 就是确定便于理解的需求,稳定该需求,并说明需求的更改对项目的成本、进程的影响 内容: 需求确定的管理 需求实现的管理 需求变更的管理,需求管理数据流程图,来自客户、 销售客户、 和工程的 需求,定义的需求 用户需求和 技术需求,批准的需求 用户需求 和技术需求,提交的需求 用户需求和 技术需求,定义的需求(技术需求),实施的需求(技术需求),完成的需求(用户需求和技术需求),定义,分析,建议和项目计划,跟踪至设计阶段的技术需求,技术需求,用户需求,跟踪至编码阶段的技术需求,由技术测试检验的技术需求,跟踪其他项目管理过程得到的项目需求,需求变更 数据库,需求管理数据说明,需求决定
3、的管理 定义阶段 分析阶段 需求实现的管理 建议阶段 设计阶段 编码阶段 核实阶段 需求变更的管理 需求管理的评价 度量和分析 验证实施,需求管理目标,目标1分配给软件的系统需求是受控的,建立供软件工程和管理使用的基线。 目标2 软件计划、产品和活动与分配给软件的系统需求保持一致。,需求管理约定,1、对分配需求建立文档。 2 由下列人员评审分配需求: ? 软件经理。 ? 其它受到影响的组。 受到影响的组的例子有: 一系统测试组, 一软件工程组, 一系统工程组, 一软件质量保证组,配置管理组,和 文档支持组。 3 更改软件计划、工作产品和活动,以便和分配需求的改变保持一致。,需求管理能力,能力1
4、 对每个项目,建立分析系统需求并将其分配到硬件、软件和其它系统成分的职责。 分析和分配系统需求不是软件工程组的职责,而是他们工作的先决条件。 该职责包括: 1 、在项目整个生存期内,管理系统需求和它们的分配,并对其建立文档。 2 、实现对系统需求及其分配的更改。,需求管理能力,能力2 对分配需求建立文档。分配需求包括: 1 、影响和确定软件项目活动的非技术性需求(即:协议、条件、和(或)合同条款)。协议、条件和合同条款包括: 要交付的产品,交付日期,里程碑。 2 、对软件的技术需求。 技术需求有;最终用户、操作员、支持、或集成功能;性能要求; 设计约束;编程语言;和界面需求。 3 、用于确认软
5、件产品满足分配需求的验收准则。,需求管理能力,能力3 提供足够的用以管理分配需求的资源和投资。 1 指派在应用领域和软件工程方面有经验和技能的个人去管理分配需求。 2 使得支持管理需求活动的工具是可用的。 支持工具的例子有: 一电子表格程序, 一配置管理工具, 一跟踪工具,和 一测试管理工具。,需求管理能力,能力3 软件工程组和其它软件一有关组的成员受到培训以便完成他们的需求管理活动。 培训的例子包括: 一项目所使用的方法、标准、规程 一应用领域。,需求管理活动,分配需求被纳入软件项目之前,软件工程组评审它们 软件工程组采用分配需求作为软件计划、工作产品和活动的基础 评审分配需求的更改,将其纳
6、入软件项目。,需求管理测量分析,进行测量并将测量结果用以确定对分配需求的管理活动状态。 测量的例子包括; 每个分配需求的状态; 关于分配需求的更改活动; 对分配需求更改的累积数,包括所建议的、未解决的、已批准的和已并入系统基线的总数。,需求管理验证,验证1 高级管理者参与定期评审那些管理分配需求的活动。 高级管理者定期评审的主要目的是保证在合适的抽象层次上并以及时的方式了解和洞察软件过程。 评审间隔应该满足组织的需要,只要存在获得例外情况报告的合适机制,间隔可以长。 参考软件项目跟踪和监督关键过程区域的验证1 ,以便找到包括高级管理者监督评审的典型内容的实践。,验证2 项目经理既定期地又事件一
7、驱动地参与评审那些管理分配需求的活动。参考软件项目跟踪和监督关键过程区域的验证2 以便找到包括项目管理者监督评审的典型的实践。,需求管理验证,验证3 软件质量保证组评审和(或)审计管理分配需求的活动和工作产品,并报告其结果。 参考软件质量保证关键过程区域。 至少,这些评审和(或)审计要验证: 分配需求是已评审的,且在软件工程组承担它们之前,问题已经解决。 当分配需求更改时,软件计划、工作产品和活动已经合适地修改。 由分配需求的更改所导致的对约定的更改已与受影响的组协商过。,需求管理验证,验证4 软件质量保证组评审和(或)审计管理分配需求的活动和工作产品,并报告其结果。 参考软件质量保证关键过程
8、区域。 至少,这些评审和(或)审计要验证:,需求管理验证,需求管理工作流程,需求管理活动概述,软件项目计划(SPP),基础是执行的约定和执行的能力 软件项目的策划、建议和评审 确定易于管理的软件生命周期 制定项目的软件开发计划 目的、目标、范围、对象 软件生命周期的选择 规程、方法、和标准 识别软件工作产品 关于软件项目的估计 软件进度表 风险的鉴别与估计 工程设施及支持工具 记录软件策划数据,文档化软件 开发计划,软件需求,确定活动日程,预估规模、成本 和工作量,SDP,设计,编码,测试,定义软件生命周期,识别软件工作产品,软件项目计划的实现过程,1、计划初始阶段 2、制定SDP 3、对SD
9、P草稿进行审查和批准 4、实施软件开发计划 5、过程度量和评价 6、修改SDP,软件项目跟踪和监控SPTO,根据SPP跟踪和审查软件的完成情况和成果,并根据实际情况纠正偏差和调整项目计划 在开发过程的若干关键点上进行 SPTO的基础:约定、组织、人事及资源保证 执行约定 执行能力,SPTO跟踪和监控过程,1、利用SDP跟踪活动,并修改项目的开发计划 2、跟踪实际开发过程,必要时采取纠正措施 3、记录软件项目的实际度量数据,并重新计划数据 4、审查度量和分析 验证实施,软件转包合同管理SSM,目标 主承包商选择合格的软件转包商 主承包商和转包商之间互相同意他们之间的承诺 主承包商和转包商之间保持持续的联系 主承包商根据约定跟踪软件转包商实际的结果和执行情况,设计,编码,测试,定义软件生命周期,识别软件工作产品,定义工作陈述选择合格的承包商,批准承包人的SDP以便跟踪活动,审查承包商的能力和产品,活动 选择合格的转包商,并与之签定合同 审查转包商的开发计划,并用于跟踪其软件活动 评审、评价转包商 监督验收转包商的软件活动,