概要设计
首先设计过程寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案。
两个主要阶段组成:
系统设计阶段:确定系统具体实现方案
结构设计阶段:确定软件结构
选取合理的方案:
a 系统流程图
b 组成系统的物理元素清单
c 成本、效益分析
d 实现这个系统的进度计划
设计软件结构
数据库设计
制定测试计划
书写文档
a 系统说明
b 用户手册
c 测试计划
d 详细的实现计划
e 数据库设计结果
审查和复查
5.2 设计原理
模块化
抽象
逐步求精
信息隐藏和局部化
模块独立
面向数据流的设计方法
1 概念
面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法
信息流(变换流,事务流)
2.变化分析
是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成
软件结构。
设计步骤
a 复查基本系统模型
b 复查并简化数据流图
c 确定数据流图具有变化特性还是事务特性
d 确定输入流和输出流的边界,从而孤立出变换中心
问答
概要设计
首先设计过程寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案。
两个主要阶段组成:
系统设计阶段:确定系统具体实现方案
结构设计阶段:确定软件结构
选取合理的方案:
a 系统流程图
b 组成系统的物理元素清单
c 成本、效益分析
d 实现这个系统的进度计划
设计软件结构
数据库设计
制定测试计划
书写文档
a 系统说明
b 用户手册
c 测试计划
d 详细的实现计划
e 数据库设计结果
审查和复查
5.2 设计原理
模块化
抽象
逐步求精
信息隐藏和局部化
模块独立
面向数据流的设计方法
1 概念
面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法
信息流(变换流,事务流)
2.变化分析
是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成
软件结构。
设计步骤
a 复查基本系统模型
b 复查并简化数据流图
c 确定数据流图具有变化特性还是事务特性
d 确定输入流和输出流的边界,从而孤立出变换中心
问答
1 什么是软件概要设计?该阶段的基本任务是什么?
(1) 把一个软件需求转换为软件表示时,首先设计出软件总体结构。
(2) 基本任务:
A.设计软件系统结构
a 采用某种设计方法,将一个复杂的系统按照功能划分为模块
b 确定每个模块功能
c 确定模块之间的调用关系
d 确定模块之间的接口
B.进行数据结构及数据库的设计
C.编写概要设计文档
主要内容:概要设计说明书,数据库说明书
D 评审:是否完整地实现规定的功能、性能要求。设计方案是否可行。
2.软件设计的基本原理包括哪些内容?
1 模块化:模块是软件的组成部分,是具有独立功能且命名的一段程序
模块具有以下几种特性:
接口:模块的输入输出
功能:模块实现功能
逻辑:描述模块内部如果实现要求及所需的数据
状态:该模块的运行环境,模块间
2 抽象:
3 信息隐蔽
4 模块独立性
3 衡量模块独立性的两个标准是什么?个表示什么?
内聚和耦合
内聚:块内联系,指模块部分之间关联的程度。以高内聚为设计目标
耦合:块间联系,模块之间相互联系的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。
4 模块的耦合性有哪几种?各表示什么含义?
内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入 另一模块
公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用
控制耦合:模块之间通过传递控制信息相互作用
标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合
数据耦合:模块之间通过传递数据交换信息
无耦合:模块之间任何关系,独立工作
5.模块的内聚性有哪几种?各表示什么含义?
偶然内聚:一个模块各个成分之间毫无关系
逻辑内聚:将几个逻辑上相关联的功能放在同一个模块中
时间内聚:一个模块完成的功能在同一时间执行
进程内聚:一个模块内部的出来成分是相关的,而且必须以特定的次序执行
通信内聚:一个模块的所有成分都集中在同一个数据结构上
顺序内聚:一个模块各个成分同一个功能密切相关,而且一个成分的输出,作为另个成分输入
功能内聚:模块内聚的所有成分属于一个整体,完成单一的功能。
6.什么是软件结构?简述软件结构设计的优化准则?
1 改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚
2 模块的规模应该适中
3 模块结构的深度、宽度、扇出、扇入
4 一个模块的作用域,应处在这个模块的控制域之内
模块的作用域:受该模块内一个判定影响的所有模块的集合
模块的控制域:这个模块本身以及所有直接或间接从属的模块集合
8.什么样式"事物流"?什么是“变换流”
变换流:由输入、输出、变换三部分组成
事物流:它的某个加工、分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行
9 试述“变换分析”、“事物分析”
变换分析步骤:
确定变换中心,逻辑输入和输出
顶层是完成所有模块的控制
设计中、下层模块,对第一层的模块自顶向下分解
设计的优化:输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口
事务分析步骤
确定事务中心和加工路径
设计顶层(事务机构)和第一层顶层模块由两个功能:接收数据和根据事务类型调用相应处理模块
中下层模块的设计、优化工作与变换结构相同
事务型软件结构:接收分支 发送分支 通常包括一个调度模块。当事务类型不多是,可与主模块合并