7
软件开发过程
2. 设计
软件设计是根据需求分析的结果,考虑如何在逻辑、程序上 去实现所定义的产品功能、特性等。可以分为概要设计 和详细设计,也可以分为数据结构设计、软件体系结构 设计、应用接口设计、模块设计、算法设计、界面设计 等。设计过程将需求转换成软件表示,设计的结果将作 为编码的框架和依据,以提高编码的效率和质量。设计 的文档化体现在产品规格说明书(functional specification)、技术设计文档(development design document)和软件配置文档(software configuration document)。
29
质量的决定因素:
一件产品或一项服务能否成功地完成它预定的使命 取决于四个主要因素,它们是:
(1) 设计质量:设计人员对产品或服务的一些性能所做出
的接受或拒绝的选择。
(2) 量符合设计的程度:产品或服务符合(即实现)设计 人员意图的程度。 (3) 便于使用。 (4) 售后服务。
30
戴明:W.E. Deming
质量是反映实体(产品、过程或活动等)满足 明确和隐含需要的能力的特性总和。
20
实体(entity, item): “可单独描述和研究的事 物” ,实体可以是活动或过程,可以是产品,可以 是组织、体系或人,也可以是上述各项的任何组合。
需求( requirements) : 包括“明确需要”和“隐 含需要”。
边写边改模式 在大棒模式的基础上考虑了产品的要求。项目成员通常 只有粗略的想法就进行简单的设计,然后开始漫长 的编码、测试、修复。
12
大棒模式或边写边改模式
探索测试
如果采用大棒模式或者边写边改模式,就不会有作为测试依据的 各类文档。尽管这对于软件测试员不是理想的状况,但是此时 可以采用称为探索测试的解决方案。