四 概要设计
1、概要设计任务
2、概要设计过程
3、设计基础
4、模块相关内容
一 概要设计任务
1、系统分析员审查软件计划、需求分析提供的文档,提出候选最佳方案供专家审定后进入设计。
2、确定模块结构,划分模块功能,将软件功能需求分配给所划分的最小单元模块。
3、编写概要设计说明书、数据库设计说明书、测试计划,完善用户手册,选用相关的软件工具来描述软件结构。
二 概要设计过程
1、设计系统方案
2、选取一组合理的方案
3、推荐最佳实施方案
4、功能分解
5、软件结构设计
6、数据设计、文件逻辑设计
(1)数据设计原则
①用于软件的系统化方法也适用于数据
②确定所有的数据结构和在每种数据结构上施加的操作
③应当建立一个数据词典并用来定义数据和软件上的设计
④低层数据设计的决策应推迟到设计过程的后期进行
⑤数据结构的表示只限于必须直接使用该数据结构内数据的模块才能知道
⑥应建立一个存放有效数据结构及相关操作的库
(2)文件设计过程
①整理必须的数据元素
②分析数据间的关系
③确定文件的逻辑设计
④理解文件的特性
⑤确定文件的组织方式:顺序文件或直接存取文件
⑥确定文件的存储介质、记录格式
⑦估算存取时间和存储容量
7、制定测试计划
8、编写概要设计文档
9、审查与复查概要设计文档
三 设计基础
1、自顶向下,逐步细化:对各个层次的过程细节和数据细节逐层细化。
2、软件结构:程序的模块结构和数据的结构。
3、程序结构:树状结构(层次分明)、网状结构
4、结构图:反应程序中模块之间的层次调用关系和联系。
5、模块化:能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。
6、抽象化:软件系统进行模块设计时,可有不同的抽象层次。
7、信息隐藏
四 模块相关内容
1、模块表示
2、调用关系
3、模块属性:功能、逻辑、状态
4、模块独立性:低耦合,高内聚
(1)模块间的耦合
①非直接耦合:两个模块之间没有直接关系
②数据耦合:一个模块访问另一个模块时,彼此之间时通过简单数据参数来交换输入输出信息的
③标记耦合:一组模块通过参数表达传递记录信息
④控制耦合:一个模块通过传送控制信息,明显的控制选择另一模块的功能
⑤外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息。
⑥公共耦合:一组模块都访问同一个公共数据环境,包括松散公共耦合和紧密公共耦合
⑦内容耦合
(2)模块内聚
①功能内聚:一个模块中各个部分都是完成某一具体功能必不可少的组成部分,不可分割
②信息内聚:模块完成多个功能,各个功能都在同一数结构上操作,每一项功能都有一个唯一的入口点
③通信内聚:一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据
④过程内聚:使用流程图作为工具设计程序时,把流程图中的某一部分划出组成模块
⑤时间内聚:模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行
⑥逻辑内聚:把几中相关的功能组合在一起
⑦巧合内聚:模块各功能之间没有联系,有联系也很松散