软件/系统设计的总体思路一、概念软件设计的本质就是针对软件的需求,建立模型,通过将模型映射为软件,来解决实际问题
因此软件设计需要解决的核心问题是建立合适的模型,使得能够开发出满足用户需求的软件产品,并具有以下特性:灵活性(Flexibility)有效性(Efficiency)可靠性(Reliability)可理解性(Understandability)维护性(Maintainability)重用性(Reuse-ability)适应性(Adaptability)可移植性(Portability)可追踪性(Traceability)互操作性(Interoperability)因此,软件设计并没有一套放之四海而皆准的方法和模板,需要我们的设计开发人员在软件的设计开发过程中针对软件项目的特点进行沟通和协调,整理出对软件项目团队的行之有效的方式,进行软件的设计
并保障软件设计文档的一致性,完整性和可理解性
我们常常听到这样的话:“设计文档没有用,是用来糊弄客户和管理层的文档”;“用来写设计文档的时间,我的开发早就做完了”;“项目紧张,没有时间做设计”;这些言论,并不是正确的观念,根据软件项目的实际情况,软件开发设计团队可以约定设计文档的详细程度
项目团队需要保障设计文档的完整性和一致性,在项目进度紧张的情况下,软件设计文档可以更初略一些;在项目时间充裕的情况下,相关文档可以更为详尽
但是在项目开发过程中,需要软件设计开发团队对于设计文档有共同的理解
二、设计文档分类与使用通常来说,作为软件项目,我们需要有这几类文档需求说明文档功能设计文档系统架构说明书模块概要设计文档模块详细设计文档就像我之前说到的,在某个软件团队,对于以上的文档的要求是可以完全不同的,在简单项目中,可能所有类型的文档放在一个文档中进行说明;在复杂项目中,每一类文档可能都要写几