三、评审在高质量软件开发的实际应用
3.1 高质量软件开发项目介绍
高质量软件,如电信软件、金融证券类软件等,有较严格的要求:可用性要求非常高,并且不会因为系统维护和扩展而带来运营中断;支持使用现有管理工具和标准进行远程管理;能够提供更出色的性能以及运营在高可用性集群上的能力,减少任何单点的软硬件失效现象。五个九(99.999%)意味着一个系统的宕机时间一年不超过5分26秒。因此高质量软件项目是一种对可用性、可靠性、稳定性要求非常高的软件项目,要求软件能够每周7*24工作。
因此高质量软件开发一般采用严格的软件开发过程,明确定义每个阶段的质量目标和要求,严格项目软件开发过程控制。
我们在多个高质量软件开发项目中成功地采用了评审技术,并发挥了巨大的作用。从这些项目的实际开发过程中,我们针对于规模从30人月——300人月,代码行数从5万行——30万行的运营支撑系统项目制定了项目评审流程和相关要求。
3.2 软件过程定义
软件过程主要分为项目立项阶段、需求分析阶段、设计阶段、编码实现阶段、测试阶段(包括集成测试、系统测试和用户验收测试)、实施阶段和维护阶段,项目管理工作横贯于所有的阶段。详细流程见流程图。
在软件过程中,我们定义了以下角色:
1)客户
2)销售人员
3)项目经理
4)系统分析员
5)系统架构师
6)开发工程师
7)质量工程师
8)技术支持人员
在规划质量体系时,我们参考PMBOK对项目质量管理的要求,将项目质量管理过程设计为三个阶段:
1)质量规划——确定质量活动的流程和标准,如软件过程定义,质量达标定义等;
2)实施质量保证——编写相应的测试计划、执行测试和评审活动;
3)实施质量控制——监控质量保证活动的结果,判断是否达标,如不达标,则采取相应的风险防范措施。
3.3 软件评审过程及标准定义
我们在整体软件过程中明确定义了需要软件评审的过程及实施的方法。
3.3.1 采用审查的过程
采用最严格最系统的评审方法——审查的软件过程有:
1)《软件需求规格说明书》的评审
2)《概要设计说明书》的评审
3)《详细设计说明书》的评审