技术开发 频道

如何使开发文档臻于完善

    概要设计验证   

    图2 某桌面程序的开发流程

    从图2可以看出,概要设计是软件开发过程中决定软件产品质量的关键阶段。这个阶段设计人员需要站在全局的高度,在比较抽象的层次上分析、对比多种可能的系统实现方案和多种可能的软件体系结构,从中选出非常好的的方案和最合理的软件结构。概要设计验证可以确保《概要设计说明书》(以下简称《设计说明》)中所描述的软件概要设计在总体结构、外部接口、主要部件功能分配、全局数据结构以及各主要部件之间的接口等方面的合适性、完整性,从而以保证用较低的成本开发出较高质量的软件系统。

    1.验证设计系统在项目软件中所处的层次结构描述是否准确以及在后续设计阶段中的指导性作用

    这里主要是验证《设计说明》中对所要设计的系统在整个项目软件中所处的地位、作用,及其与同级、上级系统之间的关系描述是否准确; 以及是否可以作为《详细设计规格说明》撰写的基础性文档。

    2.验证系统描述是否具有可追溯性

    重点对《设计说明》做以下验证:每一部分的设计是否都可以追溯到《需求说明》、《接口设计说明书》或其他开发文档; 非功能需求项(如接口需求等)是否已经分配到《概要设计规格说明》中; 不完整、易变动或潜在的需求项是否都进行了相应的设计分析,对各种设计限制是否做了全面的考虑; 模块的规格及大小划分是否和《需求说明》中的功能需求项以及约束性需求项之间保持一致。

    3.验证总体设计是否合理

    重点对《设计说明》进行以下验证: 设计目标描述是否明确清晰; 是否阐述了设计所依赖的运行环境,核对是否和《需求说明》中规定的运行环境一致; 业务逻辑是否准确、完备; 是否对不同的设计方案作了介绍并比较,是否有选择方案的结论,是否清楚阐述了方案选择的理由; 是否合理地划分了模块并对各模块之间的关系作了清晰的阐述; 系统设计结构和数据处理流程是否能满足软件需求规格说明中所要求的全部功能性需求。

    4.接口设计是否合理

    这方面主要是验证《设计说明》中用户接口设计是否正确全面,是否有单独的用户界面设计文档,是否包括硬件接口、软件接口、通信接口等的设计,以及是否描述了各类接口的功能、各接口与其他接口或模块之间的关系以及接口的设计是否具有可测试性。

    5.验证模块及模块内部的设计是否合理

    主要验证模块的划分是合适、模块与模块之间是否具有一定的独立性; 每个模块的功能和接口定义是否正确; 数据结构的定义是否正确,比如面向对象编程中的数据封装是否适当等; 模块内的数据流和控制流的定义是否正确。

    6.验证概要设计是否包含相关属性设计

    验证《设计说明》中是否有可靠性、安全性、可维护性、可移植性、可测试性等方面的设计,并且是否合理、有效。

    7.验证计算机资源的利用和余量设计是否合理

    这里考察《设计说明》是否对余量设计做了相应考虑。包括CPU的处理能力要求、内存的容量要求、外存储设备的容量要求等是否留有余量; 外存储设备的容量要求是否留有余量; 算法的效率是否可接受; 关键软件部件发生故障时是否有快速恢复能力等等。

    各测试团队可以根据待测项目的规模进行裁减和细化。对于没有概要设计阶段的软件开发项目,此阶段的验证活动可以相应地略去。概要设计在执行中采取的形式以评审会为多,也可以采用非正式内部审查或专题会议的形式进行。由于概要设计的验证在很大程度上与软件需求规格说明的内容有关,建议聘请软件需求规格说明的起草人员和验证人员参与到概要设计的验证活动中来。

0
相关文章