- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
- 本文参考资料:电子工业出版社《软件文档写作教程》 马平,黄冬梅编著
概要设计书概述
《概要设计说明书》又称为《系统设计说明书》,编制的目的是说明对软件系统的设计考虑,包括软件系统的基本处理流程、组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
概要设计书编制目标
在软件需求分析阶段,已经搞清楚了软件“做什么”的问题,并把这些需求通过规格说明书描述了出来,这也是目标系统的逻辑模型。进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计。
概要设计的基本任务包含如下几方面。
设计软件系统结构
为了实现目标系统,最终必须设计出组成这个系统的所有程序和数据库(文件),对于程序,则首先进行结构设计,具体为:
(a)采用某种设计方法,将一个复杂的系统按功能划分成模块。
(b)确定每个模块的功能。
©确定模块之间的调用关系。
(d)确定模块之间的接口,即模块之间传递的信息。
(e)评价模块结构的质量。
根据以上内容,软件结构的设计是以模块为基础的,在需求分析阶段,已经把系统分成层次结构。设计阶段,以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。软件结构的设计是概要设计关键的一步,直接影响到下一阶段详细设计与编码的工作,软件系统的质量及一些整体特性都在软件结构的设计中决定。
数据结构及数据库设计
对于大型数据处理的软件系统,除了控制结构的模块设计外,数据结构与数据库设计也是很重要的。
(a)数据结构的设计
逐步细化的方法也适用于数据结构的设计。在需求分析阶段,已通过数据字典对数据的组成、操作约束、数据之间的关系等方面进行了描述,确定了数据的结构特性,在概要设计阶段要加以细化,详细设计阶段则规定具体的实现细节。在概要设计阶段,宜使用抽象的数据类型。
(b)数据库的设计
数据库的设计指数据存储文件的设计,主要进行以下几方面设计:
①概念设计
在数据分析的基础上,采用自底向上的方法从用户角度进行视图设计,一般用E-R模型来表示数据模型,这是一个概念模型。
②逻辑设计
E-R模型或IDEFlx模型是独立于数据库管理系统(DBMS)的,要结合具体的DBMS特征来建立数据库的逻辑结构,对于关系型的DBMS来说将概念结构转换为数据模式、子模式并进行规范,要给出数据结构的定义,即定义所含的数据项、类型、长度及它们之间的层次或相互关系的表格等。
③物理设计
对于不同的DBMS,物理环境不同,提供的存储结构与存取方法各不相同。物理设计就是设计数据模式的一些物理细节,如数据项存储要求、存取方式、索引的建立。
编写概要设计文档
文档主要有:
(a)概要设计说明书。
(b)数据库设计说明书,主要给出所使用的DBMS简介、数据库的概念模型、逻辑设计、结果。
©用户手册,对需求分析阶段编写的用户手册进行补充。
(d)修订测试计划,对测试策略、方法、步骤提出明确要求。
评审
对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性、有效性,各部分之间的一致性等都一一进行评审。
概要设计是软件开发中承上启下的一个重要环节,它决定了软件开发的方向和过程。因为软件开发是个复杂过程,需要考虑方方面面的内容,如果没有一个纲领性的文档来组织管理,那么软件开发必然是一团糟。因此,概要设计书挑起了这个重任。
总结
我们写出来概要设计书应该达到以下4个目标。
1 .确定开发方案
如果让十个人拿着需求分析书直接进行软件开发,最后结果很可能是开发出十个风格迥异功能相同的系统。这些系统虽然功能相同,但是实现方法各有千秋,通过互相比较即可知道孰优孰劣。但是对于软件的开发来说,我们不可能同时开发出十个软件然后让客户择一而用,这是时间和金钱的浪费。所以必须在软件开发的概要设计阶段,深入调查、全盘考虑和细致比较之后确定开发方案。
2 .刻画软件的全貌
既然概要设计是在宏观层面对软件进行设计,决定系统的体系结构,系统模块划分和采用的技术路线,并指出实现该系统的关键技术难点等。所以在概要设计书中,着重记录软件的运行环境、功能模块划分和相互关系,而不涉及功能的实现细节。
3 .实现客户到软件开发者的转移
在软件系统的开发前期,一般只有少数几个资深的系统分析师与客户接触,了解需求,形成需求分析文档之后回到软件公司接着做概要设计。概要设计以及其后的阶段都是由软件从业人员着手进行,这些软件从业人员具有相同的领域知识,相互之间用专业术语来分析说明问题有时候会比用自然语言更容易表达和理解,并且不容易产生歧义。概要设计书担当起了客户与软件从业人员之间的桥梁作用,把客户用自然语言描述的需求转化为软件从业人员容易理解的系统功能说明书。
4 .为详细设计阶段提供可加工的素材
所有的详细设计都是基于概要设计中划分出的模块、组件,并且要遵守概要设计中的各项原则。所以,概要设计是详细设计的素材、依据、标准,是开展详细设计工作的起点。