软件文档中概要设计也称“总体设计”,是开发人员在明确用户需求(要什么)后对系统的一个总体考虑(明确系统目标、设计原则,初步考虑数据库设计和功能设计),国家关于这方面有相关标准(概要设计说明书(GB8567-88))。
在具体实践中可以按下列提纲撰写内容:
1.引言
编写目的
[说明编写这份概要设计说明书的目的,指出预期的读者。]
背景
a.[待开发软件系统的名称;]
b.[列出本项目的任务提出者、开发者、用户。]
定义
[列出本文件中用到的专门术语的定义和外文首字母组词的原词组。]
参考资料
[列出有关的参考资料。]
2.总体设计
需求规定
[说明对本系统的主要的输入输出项目、处理的功能性能要求。包括]
系统功能
系统性能
精度
时间特性要求
可靠性
灵活性
输入输出要求
数据管理能力要求
故障处理要求
其他专门要求
运行环境
[简要地说明对本系统的运行环境的规定。]
设备
[列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能。]
支持软件
[列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。]
接口
[说明该系统同其他系统之间的接口、数据通信协议等]
控制
[说明控制该系统的运行的方法和控制信号,并说明这些控制信号的来源。]
基本设计概念和处理流程
[说明本系统的基本设计概念和处理流程,尽量使用图表的形式。]
结构
[给出系统结构总体框图(包括软件、硬件结构框图),说明本系统的各模块的划分,扼要说明每个系统模块的标识符和功能,分层次地给出各模块之间的控制与被控制关系。]
功能需求与系统模块的关系
[本条用一张矩阵图说明各项功能需求的实现同各模块的分配关系。]
人工处理过程
[说明在本系统的工作过程中不得不包含的人工处理过程。]
尚未解决的问题
[说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。]
3.接口设计
用户接口
[说明将向用户提供的命令和它们的语法结构,以及相应的回答信息。]
[说明提供给用户操作的硬件控制面板的定义。]
外部接口
[说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持系统之间的接口关系。]
内部接口
[说明本系统之内的各个系统元素之间的接口的安排。]
4.运行设计
运行模块组合
[说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块的支持软件。]
运行控制
[说明每一种外界的运行控制的方式方法和操作步骤。]
运行时间
[说明每种运行模块组合将占用各种资源的时间。]
5.系统数据结构设计
[不涉及软件设计可不包含]
逻辑结构设计要点
[给出本系统内软件所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。]
物理结构设计要点
[给出本系统内软件所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系、设计考虑和保密条件。]
数据结构与程序的关系
[说明各个数据结构与访问这些数据结构的各个程序之间的对应关系。]
6.系统出错处理设计
出错信息
[用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。]
补救措施
[说明故障出现后可能采取的变通措施。]
系统维护设计
[说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。]
概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。 [1]
概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。
(1)层次图。层次图用来描绘软件的层次结构。一个矩形框代表一个模块,方框间的连线表示调用关系。如图,最顶层的方框代表正文加工系统的主控模块,它调用下层模块,完成正文加工的全部功能。第二层的每个模块完成正文加工的一个主要功能。
(2)HIPO图。HIPO图是IBM公司发明的“层次图加输入/处理/输出图”。层次图加上编号称为H图。在层次图的基础上,除最顶层的方框之外,其余每个方框都加了编号。层次图中每一个方框都有一个对应的IPO图(表示模块的处理过程)。每张IPO图应增加的编号与其表示的(对应的)层次图编号一致。IPO图是输入/加工/输出图的简称。
(3)结构图。结构图是Yordon提出的进行软件结构设计的工具,结构图和层次图类似,一个方框代表一个模块,框内注明模块的名字或主要功能。方框之间的直线(箭头)表示模块的调用关系。用带注释的箭头表示模块调用过程中来回传递的信息,尾部是空心的,表示传递的是数据,实心的表示传递的是控制。