04结构化分析与设计方法总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– Batch(批处理) – Real time(实时处理)
18
3.1 业务过程分 析
符号 名称 处理
系统流程图的符号
说明
能改变数据值或位置的加工,例如,程序模块、处理机等都是处理
输入/输出
连接 换页连接 数据流 文档 联机存储 磁盘 显示 人工输入 人工操作
表示输入或输出,是一个广义的不指明具体设备的符号
职能域 – 子系统
(2)业务过程的建立
一个职能域包括若干个业务过程 业务过程 – 模块
(3)业务活动的建立
业务活动是业务过程的细化,即一个业务过程可分解为若干
个处理单元
业务活动 – 大的活动可以抽取为一个功能
可由调查的事件抽取
8
2.3 数据规划 – 主题数据库的建立
(1)实体法
34
1
教学 部门
时间安排数据
安排 课程
提供的课程
学生
学 生
注册请求 课程表
2
注册 学生
提供的课 程
课程注册
3
学生 提供的课程 课程注册
教 员
班级列表
产生班 级列表
课程注册系统的DFD片段
35
3.2.4 DFD的0层图
事件分离的系统模型/0层图:
将一个系统或子系统的所有DFD片段组合到一个单个的DFD图 中,这样的DFD图称为事件分离的系统模型/0层图
根据业务过程规划中所出现的事物、人等实体组成数
据实体
如:客户、供应商、职工、产品、零件、材料、设备
(2)过程分析法
根据业务过程规划的业务活动中出现的输入、输出、
存储、记录等数据实体
(3)分类法
一般的数据可以分为若干类 如:存档类的数据、事务类的数据、统计类的数据
9
2.4 过程与数据间的关系建立 – U/C矩 阵
28
3.2 基于数据流的系统分析 -外部实体、数据流和处理来自于 事件表中有关事件的信息
数据流

来源 触发器 活动
数据存储来自于 ERD中的实体
条目查询
客户 可用的 条目细节 查询 可用条目
目录 产品条目 库存条目
目的地
响应
DFD元素和事件表及ERD之间的一致性关系 29
3.2.1 数据流图和抽象层次
针对系统规划文档,进一步调查、分 析系统的业务过程,建立业务流程图 及系统流程图
17
3.1 业务过程分析
系统流程图(system flowchart)
对不同计算机程序、文件、数据库和相关手工 过程设计的表达
主要从较高的层次描述系统的相对独立的子系 统和程序模块 用图形化的方式描述了对子系统的组织 可以表明系统业务类型
(1)建立U/C矩阵
(2)整理成“基本U/C矩阵”
在原始的U/C矩阵基础上,反复调换列,使得尽可能
多的“C”标记处于矩阵的对角线附近
(3)子系统划分
按照“职能域”对U/C矩阵进行划分
(4)子系统定义
含业务过程和主题数据库
11
2.6 建立结构模型
系统功能结构模型图
企业管理信息系统
ห้องสมุดไป่ตู้
经营计划子系统
辅助操作
通信链路
使用设备进行的脱机操作
通过远程通信线路或链路传送数据
19
3.1 业务过程分 析
系统流程图的符号
20
3.1 业务过程分析 – 人工业务过程建模
系统流程图例子 -- 人工销 售教材的业务流程
21
3.1 业务过程分析 – 人工业务过程建模
客户信息 维护程序
客户 数据库
客户订购程序
订单 数据库
26
3.2 基于数据流的系统分析 -图
数据流图的符号说明
处理 – 一步步地执行指令, 将输入转换成输出 (由人、机器或两者共 同完成该处理任务)
数据流
数据存储 – 存放起来以备 将来使用的数据。通 常与ERD图中的数据 实体相对应
数据流 – 从一处流向另一 处的数据,如处理的 输入或输出
实时连接 – 当处理执行时, 外部实体与处理之间来 回通信(如信用卡验证)
学 籍 与 选 课 系 统 的 系 统 流 程 图 25
3.2 基于数据流的系统分析 -图
数据流
数据流图:用处理、外部实体、数据流以及数据存储来 (DFD) 表示系统需求的图表
DFD的特点

图形元素少且符号简单易懂 较充分表达系统的主要需求:输入、输出、处理
和数据存储

最终用户、管理人员和系统开发人员只需稍加培 训即可读懂DFD图,方便交流
传统方法
系统是处理的集合 处理与数据实体的交互 处理接受输入并产生输出
用传统结构化和OO的观 点看待系统活动的比较
一些处理由人完成,一些由计算机完成
当处理执行时,读出数据,处理后的数据写 回数据文件中
VS.
OO方法
系统是交互对象的集合 对象与人或其他对象交互 对象发送和响应信息
对象是有行为的(方法),方法使得对象与 其他对象或系统使用者进行交互。
财务计划管理模块 资产规模管理模块 身缠调度模块
12
2.7 编制总体规划文档
系统总体规划文档模板
13
3 结构化系统分析 – 宏观视图回顾
事件和事件表
事物
OO 方法
类图
实体-关系图
传统 方法
用例图
用例和场景描述
关联图
DFD片断
处理描述
交互图
状态图
数据流定义
其他OO模型
其他传统模型 14
3 结构化系统分析
(2)软件由程序和数据组成,其结构呈现三层组织 形式,即系统、子系统、功能模块/数据体 (3)软件结构中的各部分既独立又关联
3
1. 结构化方法概述
系统
子系统
模块
功能
功能的数据体
结构化软件系统结构图
4
1. 结构化方法概述
结构化方法的特点:
(1)抽象性:抽象描述系统的本质内容 (2)结构化、模块化、层次化:
38
3.2.5 详细层次的DFD
分解“处理”-理解“处理”的细节:
一个DFD片段中的处理也可以包含多个更小的处理 有时分析员需要将该DFD片段进一步细化,生成更 详细层次的DFD图
1层DFD图:将0层DFD中的处理进一步细化等到的DFD图 “处理”的编号为“i.j” 2层DFD图:将1层DFD中的处理进一步细化等到的DFD图 “处理”的编号为“i.j.k”
39
3.2.5 详细层次的DFD
订单 客 户 订单确认 发货运输 记录客户 信息


订 订单详单
单 订单细节
订单条目
0层DFD图:“处理”的编号为i
36
3.2.4 DFD的0层图
DFD片段2 DFD片段3 学生 教员 班级列表 产生班 级列表 提供的课程 课程注册
DFD片段1
组合DFD 片段创建 0层图
0层图 教学 部门 时间安 排数据 学生 课程注册 学生 注册
注册请求
学生
课程表
排课
提供的课程
产生班 级列表
班级列表
一个对象通过发送消息请求另一个对象做某事
15
3 结构化系统分析 --
任务、过程、结果
分析基础:总体规划说明书
分析每个业务过程的详细流程
分析每个主题数据库的数据结构 建立分析模型:


系统业务流程图
详细的数据流图 数据字典
结构化系统分析结果:系统分析说明书
16
3.1 业务过程分析
DFD图可以描述高层次的具有高度概括的系统处理 也可以描述低层次的具有更详细分解的系统处理 抽象层次:把系统分解成一个逐步细化的分层集合的建模技术
关联DFD
0层DFD
1层DFD
30
关联图
3.2.1 数据流图和抽象层次
班级列表
教员
教学 部门
安排时间数据 注册请求 课程注册 系统 课程表
学生
0层图
教学 部门 时间安 排数据 学生
系统的范围是通过单个的处理和外部实体所表示的事物来定义的 数据存储不画在关联图中是因为它本身被认为是系统内部的内容
当一个系统响应事件较多时,常常将系统分成多个子系统, 并为每个子系统创建一张关联图
32
3.2.2 关联图
信用 局
信用信息
交易汇总报表
财务部
可用条目响应 可用条目查询 订单 订单汇总报表
6
2.1 需求调查
需求调查内容:
系统目标与边界 组织机构调查 业务流程调查 单据、报表及台帐等数据源调查 现有资源调查 结束条件调查 薄弱环节调查
7
2.2 业务过程规划
(1)职能域的建立
系统的工作职能分类,如按照产、供、销、人、财、物等管
理职能;再如前处理、计算、后处理等
系统的结构化分析与设计方法
哈尔滨工业大学 国家示范性软件学院 主讲:范国祥 2011.03
本章主要内容

结构化方法
总体规划


结构化分析
结构化设计

结构化分析与设计实例
2
1. 结构化方法概述
20世纪60年代 – 软件危机 20世纪70年代 – 出现“结构化方法” 结构化方法的主要思想:
(1)软件是有组织、有结构的逻辑实体,其结构为 自顶向下的形式
教员
37
课程注册系统中将DFD片段组合创建的0层图
3.2.4 DFD的0层图
0层图对整个系统或子系统进行比关联图更加详尽的描述
但是,有时不使用0层图,因为: 1)包含的信息与DFD片段重复; 2)图表比较复杂,特别是对于需要响应较多事件的大系统 好处: 可以直观地分析各个“处理”之间的数据流的关联关系 适当规模的子系统可以使用0层图
分而治之,由分到合
(3)分析与设计线索:
面向过程(处理) – 过程驱动 面向数据 – 数据驱动
5
2. 总体规划
总体规划:
为所规划的软件系统作出一个战略的、宏观
的、全局的技术方案
构建宏观结构模型,为后期的分析与设计奠
定基础
三个工作内容:
(1)需求调查 (2)结构模型建立 (3)总体规划文档撰写
外部实体 – 系统之外的 数据源或目的地
27
3.2 基于数据流的系统分析 -图
数据流图例子:
数据流
从外部实体出发的“数据流”可以是: 1. 外部实体发出的“处理请求”,即一个事 件 2. 外部实体给出的“输入数据”
目录
条目查询
客户
可用的 条目细节
查询 可用条目
产品条目
库存条目
指向“外部实体”的“数据 流” 一般是“处理”的反馈或处 图6-3 显示处理“查询可用条目”的DFD 理 结果
学生 注册
注册请求
学生
课程表
课程注册
班级列表
安排课程
提供的课程
产生班 机列表
教 员
1层图
课程
选择日 期时间
分配 教室 提供的课程 可用教室
提供的课程
教学 部门 可用教员 分配 教员
31
课程注册系统的DFD抽象层次
3.2.2 关联图
关联图:在单个处理符号中概括系统内所有处理活动的DFD 关联图在表达系统边界时用处很大
客户
订单确认 订单更改
订单子系统
管理层
更改确认
订单细节
银行
交易/事务
订单更改细节
发货部
订单子系统的关联图
33
3.2.3 DFD片段
DFD片段:用一个单一处理符号表示系统响应一个事件的DFD
在DFD片段中,展示了处理、外部实体和内部数据存储之间的 交互细节 每个DFD片段仅显示要响应该事件的那些数据存储 一个DFD片段是为事件表中的每一个事件创建的
技术管理子系统
生产管理子系统
销售管理子系统
财务管理子系统
人事管理子系统
产品预测模块 产品开发模块 生产工艺模块 经营计划管理模块
库存控制模块 生产计划模块 材料需求管理模块 操作顺序管理模块
销售区域管理模块 销售管理模块 订货服务模块 货物发运管理模块
通用会计模块 成本会计模块
人事计划管理模块 人员考核模块
工资程序
雇员W-2
错误报告 工资处理
年度税处理 程序
联合的940表格
正式的940表格 工资处理 记录 支票打印程序
系统流程图例子 –某工资 系统的系统流程图
工资汇总报表
支票
检查支票
23
3.1 业务过程分析 – 系统业务逻辑建模
系统流程图例子 --工资管 理子系统的系统流程图
24
3.1 业务过程分析 – 系统业务逻辑建模
交易账目
销售分析程序
库存 数据库
订单履行 (发货)
远程发货系统
销售分析报表
商品目录 /促销 数据库
商品目录 维护程序
发货凭证
系统流程图例子 – RMO系 统流程图
商品目录 促销材料
22
3.1 业务过程分析 – 人工业务过程建模
检查考勤卡 税率表
税率维护 程序
更正错误
职工信息 数据库
雇员数据 维护程序
指出转到图的另一部分或从图的另一部分转来,通常在同一页 指出转到另一页图上或由另一页图转来 用来连接其他符号,指明数据流动方向 通常表示打印输出,也可表示用打印终端输入数据 表示任何种类的联机存储,包括磁盘、软盘和海量存储器件等 磁盘输入/输出,也可表示存储在磁盘上的文件或数据库 CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出 人工输入数据的脱机处理,例如,填写表格 人工完成的处理,例如,会计在工资支票上签名
(1)过程(处理)对数据的操作可以分为2类:
Use – 使用,包括Select、Insert、Delete、
Update
Create – 建立,即创建数据
(2)U/C矩阵
二维矩阵表
横向业务 – 过程 ;纵向 – 主题数据库
(3)U/C矩阵的作用
为子系统划分提供帮助
10
2.5 子系统规划
相关文档
最新文档