我们都知道,软件的质量是设计出来的。好的设计意味着好的质量。那么,如何判断软件设计的好坏呢?
可以基于以下3个标准来判断软件设计好坏:
设计必须覆盖所有需求,所有需求都必须被设计
设计是实现的基础,如果设计遗漏了部分需求,那么最终实现的软件也不会满足用户的需求。这里的所有需求,既包括需求模型中描述的所有显示需求,也包括用户希望的所有隐式需求。
设计必须具备一定的可读性
软件设计说明是编码实现、测试以及维护的基础,所以设计必须具备一定的可读性,易于理解,这样才便于后续的编码、测试和维护活动的进行。
设计的结果应能反映出软件产品的全貌
软件设计应能给出构成软件的模块划分、模块间的静态关系、模块间的调用关系、模块的接口设计、模块内部的算法和数据组织,既包括设计细节,又有全局观,使得编码人员可以从设计结果中,看出软件的数据、功能和行为的全貌。
以上判断软件设计好坏的3个标准,实际上也是软件设计过程的目标。为达到这些目标,我们需要建立以下技术原则:
分层架构。软件的结构设计应采用分层结构,这样设计既清晰,又便于控制。
模块化。将软件的功能/子功能设计成模块,与分层架构结合起来展示软件结构。
抽象。软件设计应当既包含数据抽象也包含过程图像。
高内聚,低耦合。软件设计的模块应当尽可能地具有独立功能。
简单接口。软件与外部环境之间接口应尽可能地简单。
可复用。软件设计应能结合软件需求分析的结果,确定并设计可复用的公用模块。
这正是:
设计决定好质量,评判好坏仨标准
需求覆盖可读性,整体局部皆顾全
参考书目:*用软件工程,作者:*震宇等,出版社:电子工业出版社
作者简介:王小双,长期从事GJB推广、实施、评价、改进的工作,创建《软件工程之思》