UML软件工程组织

CMM Level 2 实战(二)
作者:刘文威 宁传成
软件质量保证(Software Quality Assurance)
软件质量保证的目的是为管理人员提供软件项目所用流程和正在构建的产品的可见度。软件质量保证涉及审查和核实软件产品及其活动,以便验证它们与项目采用的过程与标准的一致性。软件质量保证是为了确保对项目进行客观、公正的审查。 软件质量保证的基本流程可如<图三>所示。该流程描述了软件质量保证计划的形成与复审,SQA人员根据质量保证计划开展质量保证活动,发现问题,跟踪解决问题,并最终向高层管理者汇报项目的执行情况。质量保证计划一般包含项目过程采用的标准(如:项目计划估算过程、计划过程、测试过程、复审过程、开发过程、风险管理等)以及软件工作产品的标准(如:编码标准、接口定义标准等)。
在项目实际进行过程中,比较典型的情况就是:质量保证人员担心与项目组成员起冲突,以至复审和审计活动缺乏有效性和公正性;或者是质量保证人员单纯重视软件产品(如:文档、代码等)的审阅,对项目执行的过程不够重视。

<图三>
根据<图三>所示流程,在实施项目的质量保证活动时,结合实际开发情况,可确定如下的软件质量保证过程:
a) 项目质量保证人员以Microsoft Word拟定项目质量保证计划文档,以Microsoft Project拟定项目质量保证活动的进度表。
b) 由质量保证经理或高层管理者指定项目的质量保证人员。项目的质量保证人员在项目开发计划复审通过之后,拟定项目的质量保证计划,并提交给项目经理和质量保证经理或高层管理者复审。
c) 质量保证人员根据计划对项目执行的活动进行定期审计,记录与项目流程定义不一致的问题,并形成报告。
d) 质量保证人员组织人员对产出的工作产品进行复审,以验证其是否与项目采用的标准一致,并形成报告。
e) 将审计和复审发现的问题记录到项目的问题跟踪进度表中,跟踪并协调问题的解决情况,并定期向高层管理者汇报。如果不能解决的由高层管理者协助解决。
f) 项目经理或高层管理者定期检查质量保证人员的活动。
g) 实际项目中应用的文档有:
项目质量保证流程定义、质量保证计划、流程审计报告、软件工作产品复审报告、质量保证计划进度表、SQA问题跟踪解决进度表。
软件配置管理(Software Configuration Management)
软件配置管理的目的是在整个软件生命周期中建立和维护软件项目中的产品的完整性。 它包括标识在给定时间点上软件的配置,系统地控制对配置的更改,并维护在整个软件生命周期内配置的完整性和可跟踪性。因此,软件配置管理可以分为两方面的内容,一是配置项的识别和管理,另一方面是变更管理。
a. 配置项管理
软件的配置项管理的基本流程可如<图四>所示,该流程描述了软件工程组在进行开发过程中,生成软件工作产品,识别配置项,为配置项创建基线。配置管理项最显著的特征就是包含版本号或发布日期。实际项目管理经常不知道该如何识别区分配置项和基线。

<图四>
b. 变更管理
<图五>描述了纳入配置管理的配置项进行变更的完整流程。根据新需求、项目进度报告、客户意见反馈、软件工作产品复审记录等不同的原因提出变更申请,由项目小组或变更控制委员会(SCCB)分析其影响,确定变更请求的拒绝、接受或搁置,并根据不同的决定进行不同的处理,一直到变更请求被处理。
一旦采用了严格的变更控制管理流程,才能了解变更造成的影响,所有项目组成员才了解变更,形成共识,接受变更。缺少对变更有效的控制,往往会造成配置管理的无序,导致项目返工、延期,甚至失败。

<图五>
根据<图四>和<图五>所示流程,可以确定软件配置管理的方法:
a) 项目设定配置管理人员,以Rational ClearCase为配置管理工具,根据项目计划拟定项目的配置管理计划文档,以Microsoft Project拟定项目配置活动的进度表。
b) 项目的配置管理计划包含以下内容:配置管理工具、目录结构、识别配置项的方法、配置项命名、创建配置管理库、基线管理、配置审计、配置状态报告、变更管理等。
c) 在ClearCase创建项目的VOB(版本对象库),创建项目小组成员的工作区和集成区,项目组成员只在各自的工作区Check in 或Check out操作,由配置管理人员进行合并,标识出软件配置项。
d) 由配置管理人员负责在适当的时机(如:里程碑处或迭代结束)创建基线,晋升基线,下降基线,并由其负责备份和恢复基线。
e) 根据配置管理计划对项目的配置项和基线定期(或里程碑处)进行审计,以验证其是否与项目配置计划或项目开发计划一致。
f) 所有的变更请求首先向配置管理人员提出,由配置管理人员对变更请求进行分析确定其影响,组织变更评审小组。
g) 一旦同意变更,由配置管理人员Check out需变更的配置项,然后对配置项进行变更,变更完成后再由配置管理人员Check in到配置管理库中。
h) 由SQA人员定期审计配置管理的活动。
i) 实际项目中应用的文档有:
项目配置管理计划制定流程定义、项目配置管理活动流程定义、项目配置管理计划、配置状态报告、基线审计报告(见附表)、配置项变更申请表、项目配置管理活动进度表、配置管理工具操作指南
三、结束语
这里所介绍的CMM2的方法及应用,不是一种固定的模式,各企业需要结合自身的实际情况去裁剪。其实CMM并不只是一个目标,不是一种“立竿见影”式的管理技术,它只是一种不断改进企业自身能力的方法,但其长远效益、应用效果和影响使非常显著的。实践证明,软件企业尤其是中小型企业在运用CMM的过程中,企业效率不断提高,时间控制更严格,品质更有保证,管理更有序。
附表:
基线审计报告

专案名称

 

专案经理

 

报告人

 

报告日期

 

审计人

 

审计日期

 

审计类型

 

基线名称

 

包含的构件

 

基线特性描述

 


配置项

版本

最后修改日期

修改人

状态

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

版权所有:UML软件工程组织