质量管理体系培训教材(一)北京博思美亚科技发展公司目录公司标准软件过程体系文件导读 (1)软件生命周期模型 (15)软件开发过程 (25)技术类评审 (111)项目估算指南 (146)标准软件过程总体裁剪指南 (152)公司标准软件过程体系文件导读目录1、概述 (2)1.1目的 (2)1.2适用范围 (2)1.3引用文件 (2)1.4术语 (2)1.5参考资料 (2)2、公司标准软件过程的开发 (3)2.1开发历程 (3)2.2公司标准软件过程总体结构 (6)3、软件过程体系文件 (10)3.1过程管理 (10)3.2软件开发过程 (12)3.3项目管理 (12)3.4资源管理 (13)3.5指南性文件 (14)1、概述1.1目的本文件对公司软件过程及其体系文件的总体结构进行描述,为与软件过程的开发、维护、改进、执行、管理和跟踪等有关的人员学习、理解和使用软件过程体系文件提供指南。
1.2适用范围适用于SEPG、高层经理、项目经理、软件开发人员、测试人员、软件质量保证人员、软件配置管理人员及其他支持人员为了按规范开展各自的业务活动,学习、理解和使用软件过程体系文件。
1.3引用文件无。
1.4术语无。
1.5参考资料•《Software Project Management Guidebook》(Version 2.0),Process Strategies,Inc.•《软件工程-实践者的研究方法》,(美)Roger S. Pressman著,黄柏素、梅宏译,机械工业出版社出版,1999年10月•《实践中的CMM-INFOSYS公司实施软件项目之过程》,潘卡•杰罗特著,杨慧鸣、李光龙泽,2001年7月2、公司标准软件过程的开发2.1开发历程为了使软件过程保持长期稳定并能持续改进,必须开发组织(即公司)级的标准软件过程。
为此,公司组织了以软件工程过程组(SEPG)为主体的标准软件过程开发和文件编写组,具体实施上述任务。
公司标准软件过程是在公司范围内的软件项目全面执行CMM二级的基础上,在软件工程一般理论的指导下,收集公司全部软件项目所采用的软件过程,经过分析、归纳、提炼、分类、总结等一系列步骤开发而成;又在开发标准软件过程的基础上,形成了描述这些标准软件过程的相互关联的程序文件体系。
本程序文件体系对组成标准软件过程的基本软件过程要紧,以及软件过程要素之间的关系(软件过程结构)进行描述,描述的重点放在过程的可操作性上。
此外,与此相关联,开发或编写了公司的软件过程数据库、与软件过程相关的文档库、软件生命周期描述文件和标准软件过程裁剪指南。
它们和公司标准软件过程一起,组成了公司的软件过程资产。
公司的软件过程资产为规范公司软件项目的软件过程提供了基础和保证。
各软件项目按标准软件过程裁剪指南,根据项目的实际情况(主要是客户需求)对公司标准软件过程进行裁剪,开发适合项目特定特性的项目软件过程;项目软件过程开发的重点在软件过程的可用性,以及附加到该项目的价值。
项目以项目定义的软件过程为基础,制订项目软件开发计划;按计划执行项目的软件开发活动,产生相应的软件工作产品及其他开发成果;开发过程中的数据以及项目结束后进行总结的数据,经过一定的手续,反馈到公司的软件过程数据和软件过程相关文档库,丰富公司的软件过程资产。
如此反复循环,促使软件过程得以持续改进。
以上过程和关系可以用图1表示。
图中:表示实体,例如“分配到软件的需求”表示活动,例如“选择项目的软件生命周期”图中上半部分用粗线框围起来的部分即公司的软件过程资产部分,它由描述公司标准软件过程的程序文件、软件过程数据库、与软件过程相关的文档库、软件生命周期描述文件和标准软件过程裁剪指南组成。
下半部分则描述公司软件过程资产的利用过程:软件项目按标准软件过程裁剪指南,根据项目的实际情况(主要是客户需求)对公司标准软件过程进行裁剪,开发适合项目特定特性的项目软件过程;制订项目软件开发计划,并按计划执行项目的软件开发活动;将项目数据(包括开发过程中的数据以及项目结束后进行总结的数据)反馈到公司的软件过程数据库和软件过程相关文档库。
图1公司软件过程资产的开发和利用2.2公司标准软件过程总体结构图2为公司标准软件过程的总体结构。
由于本公司的产品(项目)除了纯软件产品(项目)外,还包括软件和硬件兼有的产品(项目),考虑到过程的完整性以及便于理解软件过程和其他过程之间的接口关系,图中的项目开发过程反映了软件和硬件兼有的产品的整个开发过程,但其中非软件过程部分均采用虚线,以示区别。
有关内容说明如下:(1)项目、项目生命周期和软件生命周期项目是由一组有起止日期、相互协调的受控活动组成的独特过程,该过程要求达到符合包括时间、成本和资源等约束条件在内的规定要求的目标,其结果将产生产品。
而软件项目则是为了开发软件产品(包括系统)而建立的项目。
项目和产品都具有一定的生命周期。
项目生命周期是指从项目启动到项目结束为止的时间间隔。
项目生命周期一般包括:•初期策划阶段(主要是可行性分析);•开发策划阶段(开发前的人、财、物等的计划和准备);•实施阶段(具体实施项目开发计划,保证项目的质量、成本、进度的顺利完成);•结束阶段(评审、鉴定及项目交付和组织结束工作)。
在整个项目生命周期,所涉及的过程可以分为两类:•项目开发过程(和被开发产品的实现直接相关);•项目管理过程(对项目的开发过程进行管理和控制)。
软件生命周期则是指软件产品的生命周期,即是指从设想-软件产品开始到软件不再供使用为止的时间间隔。
软件生命周期一般包括:概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装和调整阶段、运行和维护阶段,有时还包括退役阶段。
显然,项目生命周期和软件生命周期在时间上是相关的,但在概念上是完全不同的。
一般来说,项目生命周期不会超过该项目所开发的软件产品的生命周期。
(2)项目开发过程图中的下部表示项目的开发过程。
它从客户需求开始,通过系统分析,将客户需求分解成软件部分的需求和硬件部分的需求(从此处项目将分成软件项目和硬件项目两部分)。
其中,软件项目从软件需求定义阶段、设计阶段、实现阶段、测试阶段、验收交付阶段到项目总结,表示整个软件开发的结束。
一般来说,作为软件开发项目到此就意味着结束了,但软件产品的生命周期并未结束。
软件产品交付后,将经历使用过程中的维护阶段(维护阶段的时间可能和项目合同有关),直到最后产品退役。
(3)项目管理过程图中的中部表示项目的管理过程,即对项目的开发过程实施管理的过程。
对于软件和硬件兼有的项目来说,项目管理的主要过程如下:•初期策划(主要针对系统分析、可行性分析进行策划);•开发策划(开发前的人、财、物等的计划和准备);•项目跟踪与监控(对项目初期的系统分析、可行性分析,以及项目开发过程中软件需求定义、设计、实现、测试、验收交付等活动进行跟踪与监控);•软件质量保证(SQA,对项目的软件过程和软件产品的符合性进行质量监控,它贯穿于软件项目的始终);•软件配置管理(SCM,为确保软件产品的完整性和正确性进行的管理,它贯穿于软件项目的始终);•需求管理(为确保满足客户需求进行的管理,它贯穿于项目的始终);•评审过程(包括同行评审等技术类评审和计划评审等管理类评审);•项目结束处理(包括项目的鉴定、验收、交付,以及进行项目总结)。
此外,在项目管理活动中,还可能有以下管理过程:•项目培训;•组间协调等。
(4)过程资产本公司的软件过程资产分两个层次:公司级资产和项目级资产。
a.公司级资产包括:•过程数据库(含软件过程和其他过程的资产);•过程相关文档库;•人力资源库。
b.项目级资产包括:•项目控制数据库(项目经理控制,用于保存项目数据,以便对项目进行跟踪与监控);•SQA管理库(SQA控制,用于保存项目的软件质量保证数据);•SCM管理库(SCM控制,用于保存项目的软件配置管理数据);•SCM库(SCM控制,用于保存项目的所有配置项)。
通过一定的手续,项目的项目控制数据库和SQA管理库中的数据,经过选择,将补充到公司的过程数据库和过程相关文档库中。
此外,根据实际需要,总部一级也可能需要有人力资源库。
图2软件过程结构图3、软件过程体系文件公司的软件过程体系文件的组成如图3所示。
图3软件过程体系文件按文件的使用目的,公司的软件过程体系文件分为五类:过程管理、软件开发过程、项目管理、资源管理和指南。
3.1过程管理过程管理是指对软件过程进行管理,此类文件的使用人员主要是对软件过程进行开发、维护、改进的人员,例如SEPG成员、项目经理、SQA等。
有关文件说明如下:(1)标准软件过程开发与维护•使用人员:SEPG和软件过程描述文件编写人员。
•内容提要:本文件对如何开发和管理公司的标准软件过程、如何编写软件过程描述文件、如何编写标准软件过程裁剪指南等作出了规定。
(2)过程描述文件编写规范(一)•使用人员:软件过程描述文件编写人员。
•内容提要:为能分解成若干过程元素的较大过程编写的描述文件编写规范。
(3)过程描述文件编写规范(二)•使用人员:软件过程描述文件编写人员。
•内容提要:为没有明显的入口和出口准则的过程(例如日常管理类的过程)编写的描述文件编写规范。
(4)质量管理体系数据库管理和维护文件•使用人员:SEPG、项目经理、SQA和数据库的管理和维护人员。
•内容提要:本文件对公司的软件过程数据库和与过程相关文档库的管理和维护作出了规定。
考虑到将来需要扩充ISO9001要求的其他数据库,故起此名。
(5)软件生命周期模型描述文件•使用人员:项目经理以及参与项目软件过程定义的有关人员。
•内容提要:本文件对公司所确定的软件生命周期模型进行描述,作为公司的过程资产之一,供项目选择适合项目情况的软件生命周期模型时参考。
(6)标识规范•使用人员:对被标识对象进行标识的人中员。
•内容提要:为规范包括文件、表格、产品的标识而制订的规范。
(7)术语•使用人员:SEPG和软件过程描述文件编写人员。
•内容提要:本文件定义了本软件过程体系文件所使用的专用术语。
(8)文件控制程序•使用人员:文件管理人员。
•内容提要:本文件对文件的编写、评审、批准、发布、发放、回收等文件管理要求作出了规定,是整个质量管理体系所要求的用于对受控文件进行管理的文件。
3.2软件开发过程软件开发过程是指与软件开发有关的过程,相关文件的使用人员主要是和软件开发有关的人员。
(9)软件开发过程程序文件•使用人员:项目经理以及参与项目软件过程定义的有关人员。
•内容提要:本程序文件针对本公司软件项目所采用的典型开发过程,分解成过程要素进行描述,供各软件项目根据标准软件过程裁剪指南,定义项目自己的软件过程时使用。
3.3项目管理与项目管理有关的文件如下:(10)客户需求管理程序文件•使用人员:项目经理、SQA、SCM和软件开发人员。