技术开发 频道

面向软件开发过程的软件质量控制

    1、 需求管理与质量

    目前,迭代式开发方式已基本替代了瀑布式开发方式而被越来越多的企业所采用。

    迭代式开发方式主要解决了风险与需求变更问题,那么需求管理在迭代式开发方式中也显得极为重要,需求管理好了,项目开发过程将会事半功倍,开发将会有节奏,项目可视化程度 将会得到提高;需求管理不好,项目将面临频繁返工、功能混乱、重构代码工程次数高、测试用例维护成本太高和工作低效率、低质量的境地。

    无论是哪种软件产品(即使是游戏产品),软件需求必须首先规划好、组织好,比如采用FPA(Function Point Analysis)或者Mk II(ISO 14143/1)。当前也有相当多的游戏开发人认为游戏是一种比较特殊的软件产品,游戏的内容基本上属于“创意”,传统的软件需求管理方法不适用于游戏项目。其实事实上并非如些,因为游戏也是软件,只是该软件的质量特性增加了“游戏性”,传统软件的功能性、性能性、安全性、稳定性等质量特性同样具备。

    需求文档作为软件特征的描述的主要载体,它是软件开发过程的起点。

    需求质量特性一般可以有:

    审查类别 审查内容

    需求完整性 需求优先级

    外部硬件,软件接口,通讯接口

    计算部分,是否有必要的算法

    正确性 需求是否有相互矛盾的地方

    需求是否超出项目范围

    需求是否明确无二义性的描述

    质量 性能目标是否给出

    安全特性是否给出

    其他 其他方面

    注:表格中列出的内容仅作为示例,根据企业和项目的实际情况,可以补充完善。

    2、 设计质量与实现质量

    设计质量侧重于系统架构和接口,以可实现性、可扩展性、可维护性为主要衡量指标。设计质量的检验时机一般比较滞后,因为它需要由“系统或模块需要进行重构”、“某个需求无法在现有系统上被实现”表现出来。所以设计质量控制多数采用“评审”和“审查”的方式,由几个经验丰富的系统设计师来主持完成。

    实现质量一般为程序代码,也有图形图像、音乐、版本制作等。以程序代码质量为例:

    代码的质量一般采用代码规范约束、单元测试以及“Code Reivew”的方法进行控制,关于“Code Review”与单元测试的解释在此不再敷述。

0
相关文章