概要设计与详细设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
事务分析
初始SC 初始 初始SC 初始
初始的SC 初始的SC
主模块
由变换分 析产生
输入模块 主加工模块 输入模块
事务控制模块
由事务分 析产生
接受模块
动作发送模块
动作1 动作1模块 动作2模块 动作3模块 动作2 动作3
(1)
变换分析设计方法
步骤: 步骤:
(1)区分传入、变换中心、 (1)区分传入、变换中心、 区分传入 传出部分, 传出部分,在 DFD 上 标明分界线
中心加工分支的分解
MT e p
Q
c,p
P
r
u,w r
R
(2)
事务分析设计方法
任何情况下都可使用变换分析 方法设计软件结构, 方法设计软件结构,但如数据 流具有明显的事务特点时 (有 一个明显的事务中心), ),以采用 一个明显的事务中心),以采用 事务分析方法为宜。 事务分析方法为宜。
事务分析设计方法步骤:
约定: 约定:
不加区分的数据 数据信息 控制信息 编辑学生记录 学生数据 学号 无此学生 读学生记录
SC中的选择调用
A根据内 根据内 部判断决 定是否调 用B
A C
A按另一判 按另一判 定结果选择 调用C或 调用 或D
B
D
SC中的循环调用
A
B C
A根据内在的循环重 根据内在的循环重 复调用B、C等模块 复调用 等模块
处理
显示
逻辑 输出 物理 输出
特点:具有明确的传入、变换( 特点:具有明确的传入、变换(或称主加 和传出界面的DFD 工) 和传出界面的
事务型数据流图举例 L
C D E F G
B A
I
M N
O
H
大型系统DFD中 变换型和事务型 大型系统DFD中,变换型和事务型 DFD 结构往往共存: 结构往往共存:
§6.5概要设计(总体设计)
概要设计确定:
软件系统的结构 各模块功能及模块间联系(接口) 各模块功能及模块间联系(接口)
表示软件结构的图形工具
结构图 层次图和HIPO图(HC+IPO图) 层次图和 图
6.5.1结构图(SC Structure
Chart)
SD方法在概要设计中的主要表达工具 SD方法在概要设计中的主要表达工具
读系统 数据
置文件
格式化 配置数据
格式化 配置 数据
配置信息
格式化 配置数据 显示信息 和状态
命令 命令 开/关 类型 分析处理 命令 密码命令 密码 读 密码
A/D 激活/ 激活/非活动 信息
系统
检验 信息
显示 信息
四位 与文件中 数字 密码比较 检验 信息
重试 检验信 信息
息过程
用户命令交互子系统的SC
X
Q1
Y
Q2
X
Y
Q’
X
Q1
Y
Q2
C C
重复部分
改进前 Q1、Q2功 Q1、Q2功 能相似
改进方法1 改进方法1: C Q1、 将Q1、Q2 改进方法2 改进方法2: 合并为Q’ 合并为Q’ Q1、Q2的公共 将Q1、Q2的公共 不可取 部分分离出来
(3)将模块的影响限制 (3)将模块的影响限制 在模块的控制范围内
系统
检验 信息
显示 信息
四位 与文件中 数字 密码比较 检验 信息
重试 检验信 信息
息过程
初始的SC 初始的SC
主模块
由变换分 析产生
输入模块 主加工模块 输出模块
事务控制模块
由事务分 析产生
接受模块
动作发送模块
动作1 动作1模块 动作2模块 动作3模块 动作2 动作3
接收 路径
总控 调度
A路径
b
c,e MA
e
E
d
B
a
D
A
Get C Get E c d d e b b Get B B to C Read D D to E b a a (2) Read D A to B
传 入 分 支 的 分 解
c,e
c
MA
e
传 w,u w,u 出 ME ME 分 u w w u 支 的 W U Write W Put U 分 u v v v 解 U to V Write V V (1) (2)
改进软件结构设计的指导原则
(软件结构设计的启发式规则) (1)模块功能的完善化 (1)模块功能的完善化 (2)消除重复功能 (2)消除重复功能 (3)将模块的影响限制在模块的控制范围内 (4)深度 宽度、 深度、 (4)深度、宽度、扇出和扇入适中 (5)模块大小适中 (5)模块大小适中 (6)降低模块接口的复杂性 (6)降低模块接口的复杂性 (7)模块功能可预测 (7)模块功能可预测 (8)避免模块的病态连接 (8)避免模块的病态连接 (9)根据设计约束和可移植性要对软件打包
面向数据 流方法的 设计过程
精化数据流图 “变换” 变换” “事务” 事务”
流类型 区分输入和 输出分支
区分事务中心 和数据接收路径
映射成事务结构
事务分析
映射成变换结构
用启发式设计规则精化软件结构 变换分析 导出接口描述和全程数据结构 复查
详细设计
SD方法的两种映射过渡方法
变换分析
变换型DFD 变换型 事务型DFD 事务型
B路径
C路径
A路径
C路径 B路径
事务分析的映射方法
初始的SC 用户命令交互子系统初始的SC
用户执行模块 读用户命令 命令处理
系统设置 现用/非现用 密码处理 现用/ 控制器 系统 控制器
用户命令交互子系统DFD 用户命令交互子系统DFD
用户 命令
读用户 命令
系统参 数数据
配置命令
原配置 数据 建立配
P O S 系 统
6.5.2 面向数据流的设计方法 (结构化设计方法SD)
1. 面向数据流设计方法的基本概念 SD以数据流图为基础,它定义了把 以数据流图为基础, 以数据流图为基础 DFD变换成软件结构的不同映射方法 的不同映射 映射方法 变换成
DFD
(问题结构) 问题结构)
映射
软件系统的结构
(程序结构) 程序结构)
A
a
B
b
变换中心 C
传入 部分
c
P
r
R p Q u
w
W 传出 部分
d D
E
e
v U
V
变换分析设计方法步骤 (2)第一级分解(建立初始SC框架 框架) (2)第一级分解(建立初始 框架) 第一级分解
设计顶层和第一层模块
第一级分解的方法
MC MA MT ME
第一级分解后的SC 第一级分解后的SC
接受 事务型 路径
结构
事务 中心
变换型 数据流 结构
传入 部分 传入 接受 部分 接受
变换 中心 变换 事务 中心 事务 分析
传出 部分 传出 动作 1 动作 2 动作 3
事务型 数据流 结构
变换型数据流举例
传入部分
输入 信息 物理 输入
变换中心 结果
传出部分 数据
正确 信息 格式 检查 逻辑 输入
用文件 密码输出 比较密码 控制器 产生 无效信息
6.5.3 体系结构设计优化
将初始SC根据模块独立性原 将初始 根据模块独立性原 则进行精化,对模块进行合并、 则进行精化,对模块进行合并、分 解修改、调整,得到高内聚、 解修改、调整,得到高内聚、低 耦合模块,得到易于实现、 耦合模块,得到易于实现、易于 测试和易于维护的软件结构, 测试和易于维护的软件结构,产 生设计文档的最终SC。 生设计文档的最终 。
系统结构特征可归纳为两种典型形式: 系统结构特征可归纳为两种典型形式: 变换型结构 事务型结构 数据流图可分为两种类型: 数据流图可分为两种类型: 变换型数据流 事务型数据流
基本模型
变换型 输入 结构 变换 输出 中心
特征
由输入、 由输入、变 换中心和输 出三部分组 成 动 作 路 径 具有在多种 事务中选择 执行某类事 物的能力
(6)降低模块接口的复杂性
接口传递信息应简单且和模块功能 一致。 一致。
(7) 模块功能可预测
模块看成黑盒子, 模块看成黑盒子,相同输入产生 相同输出,其功能为可预测的。 相同输出,其功能为可预测的。 模块带有内部状态其功能可能是 不可预测的。难理解、难测试、 不可预测的。难理解、难测试、 难维护。 难维护。
X A B D F C E G H J I K L
如果模块 C 作出的 决策影响 了模块L 了模块L ,L超出 了C 的控 制范围
模块C的控制范围: 模块C的控制范围: C、D、E、F、G、H
(4) 减少高扇出争取高扇入
高扇出的模块结构举例: 高扇出的模块结构举例: 计算实发工资
取得 计时 薪金 编外 税收 编外 常规 编外 工资 制工 制工 人员 人员 人员 数据 资额 资额 工资 扣款 税款 扣款 扣款
传入 变换 传出
T
事务中心
2. 面向数据流设计方法的设计步骤 (1)精化 精化DFD (1)精化DFD (2)确定DFD类型及边界 确定DFD (2)确定DFD类型及边界 (3)把DFD映射到系统模块结构设计 (3)把DFD映射到系统模块结构设计 出模块结构的上层 (4)基于DFD逐步分解高层模块设计 (4)基于DFD逐步分解高层模块设计 基于DFD 出下层模块 (5)根据模块独立性原理 根据模块独立性原理, (5)根据模块独立性原理,精化模 块结构 (6)模块接口描述 (6)模块接口描述
结构图(SC)举例
处方 挂号
医院管理系统
总计 费
门诊 管理
挂 号 单
挂 号 费 总 计
药库 管理
药房 管理
病房 管理
财务 管理
挂号 病历 处方 处理 管理 管理
出库 处理
常规 处理
进药 管理
大型零售商场管理信息系统功能结构图 TM M I S
系 统 维 护 零 售 实 时 系 统 商 品 进 货 管 理 商 品 批 发 管 理 商 品 库 存 管 理 商 品 及 商 品 帐 管 理 顾 客 管 理 连 锁 店 管 理 财 务 管 理 人 事 工 资 管 理 计 划 统 计 管 理 经 理 查 询
(1)在DFD上确定事务中心、 (1)在DFD上确定事务中心、接收部 上确定事务中心 分和发送部分。 分和发送部分。 (2)画出SC框架 画出SC框架, DFD上的三部分 (2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、 分别映射为事务控制模块、接收 模块和动作发送模块。 模块和动作发送模块。 (3)分解细化接收分支和发送分支 分解细化接收分支和发送分支, (3)分解细化接收分支和发送分支, 完成初始SC SC。 完成初始SC。
用户命令交互子系统DFD 用户命令交互子系统DFD
用户 命令
读用户 命令 原配置 系统参 数据 建立配 数数据 置文件 读系统 配置命令 数据 格式化 配置数据
格式化 配置 数据
配置信息
格式化 配置数据 显示信息 和状态
命令 命令 开/关 类型 分析处理 命令 密码命令 密码 读 密码
A/D 激活/ 激活/非活动 信息
(1) 模块功能的完善化 完整的模块应包括三部分: 完整的模块应包括三部分: (1)执行规定功能部分 (1)执行规定功能部分 (2)出错处理部分 (2)出错处理部分 (3)需返回给调用者数据时, (3)需返回给调用者数据时, 需返回给调用者数据时 返回是否正确结束标志。 返回是否正确结束标志。
(2)消除重复功能
避免平铺结构
增加中间层降低扇出
计算实发工资
取得工 计时工人 计薪工人 资数据 实发工资 实发工资 编外人员 实发工资
计时 税收 薪金 常规 制工 制工 资额 扣款 资额 扣款
编外 编外 编外 人员 人员 人员 工资 税款 扣款
(5) 模块大小适中
模块过大: 模块过大:可理解程度下降 模块过小: 模块过小:开销大于有效操作 系统接口复杂
MC c,e MA
传入模块
顶层
u,w c,e u,w
MT
中心变 换模块
ME
第一层
传出模块
变换分析设计方法步骤
(3)第二级分解 分解SC各分支) SC各分支 (3)第二级分解(分解SC各分支)
自顶向下分解, 自顶向下分解,设计出每个分 支的中、 支的中、下层模块
传 入 分 支 的 分 解
(1)
c
C
原配置 数据 建立配
置文件
格式化 配置数据
格式化 配置 数据
配置信息
配置 数据 显示信息 和状态
A/D 激活/ 激活/非活动 信息
系统
检验 信息
显示 信息
重试 检验信 信息息Leabharlann 程用户命令交互子系统的SC
用户执行模块 读用户命令
系统设置 控制器 读系统 数据 建立配 置文件
命令处理
现用/ 现用/非现用 系统 读 密码 显示信息 与状态 密码处理 控制器
用户执行模块 读用户命令
系统设置 控制器 读系统 数据 建立配 置文件
命令处理
现用/ 现用/非现用 系统 显示信息 与状态 密码处理 控制器
用户命令交互子系统DFD 用户命令交互子系统DFD
用户 命令 读系统 读用户 数据 命令 配置命令 命令 命令 开/关 类型 分析处理 命令 密码命令 密码 读 密码 四位 与文件中 数字 密码比较 检验 信息 系统参 数数据
防止模块功能过分局限
功能单一的模块具有高内聚。 功能单一的模块具有高内聚。 但如任意限制局部数据结构的 大小, 大小,过分限制控制流中可做的选 择或外部接口的模式, 择或外部接口的模式,模块功能就 过分局限,使用范围过分狭窄, 过分局限,使用范围过分狭窄,缺 乏灵活性和可扩充性。 乏灵活性和可扩充性。
相关文档
最新文档