当前位置:文档之家› 04结构化分析与设计方法总结

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

(1)建立U/C矩阵
(2)整理成“基本U/C矩阵”
在原始的U/C矩阵基础上,反复调换列,使得尽可能
多的“C”标记处于矩阵的对角线附近
(3)子系统划分
按照“职能域”对U/C矩阵进行划分
(4)子系统定义
含业务过程和主题数据库
11
2.6 建立结构模型
系统功能结构模型图
企业管理信息系统
经营计划子系统
28
3.2 基于数据流的系统分析 -外部实体、数据流和处理来自于 事件表中有关事件的信息
数据流

来源 触发器 活动
数据存储来自于 ERD中的实体
条目查询
客户 可用的 条目细节 查询 可用条目
目录 产品条目 库存条目
目的地
响应
DFD元素和事件表及ERD之间的一致性关系 29
3.2.1 数据流图和抽象层次
系统的结构化分析与设计方法
哈尔滨工业大学 国家示范性软件学院 主讲:范国祥 2011.03
本章主要内容

结构化方法
总体规划


结构化分析
结构化设计

结构化分析与设计实例
2
1. 结构化方法概述
20世纪60年代 – 软件危机 20世纪70年代 – 出现“结构化方法” 结构化方法的主要思想:
(1)软件是有组织、有结构的逻辑实体,其结构为 自顶向下的形式
– Batch(批处理) – Real time(实时处理)
18
3.1 业务过程分 析
符号 名称 处理
系统流程图的符号
说明
能改变数据值或位置的加工,例如,程序模块、处理机等都是处理
输入/输出
连接 换页连接 数据流 文档 联机存储 磁盘 显示 人工输入 人工操作
表示输入或输出,是一个广义的不指明具体设备的符号
39
3.2.5 详细层次的DFD
订单 客 户 订单确认 发货运输 记录客户 信息


订 订单详单
单 订单细节
订单条目
交易账目
销售分析程序
库存 数据库
订单履行 (发货)
远程发货系统
销售分析报表
商品目录 /促销 数据库
商品目录 维护程序
发货凭证
系统流程图例子 – RMO系 统流程图
商品目录 促销材料
22
3.1 业务过程分析 – 人工业务过程建模
检查考勤卡 税率表
税率维护 程序
更正错误
职工信息 数据库
雇员数据 维护程序
传统方法
系统是处理的集合 处理与数据实体的交互 处理接受输入并产生输出
用传统结构化和OO的观 点看待系统活动的比较
一些处理由人完成,一些由计算机完成
当处理执行时,读出数据,处理后的数据写 回数据文件中
VS.
OO方法
系统是交互对象的集合 对象与人或其他对象交互 对象发送和响应信息
对象是有行为的(方法),方法使得对象与 其他对象或系统使用者进行交互。
指出转到图的另一部分或从图的另一部分转来,通常在同一页 指出转到另一页图上或由另一页图转来 用来连接其他符号,指明数据流动方向 通常表示打印输出,也可表示用打印终端输入数据 表示任何种类的联机存储,包括磁盘、软盘和海量存储器件等 磁盘输入/输出,也可表示存储在磁盘上的文件或数据库 CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出 人工输入数据的脱机处理,例如,填写表格 人工完成的处理,例如,会计在工资支票上签名
客户
订单确认 订单更改
订单子系统
管理层
更改确认
订单细节
银行
交易/事务
订单更改细节
发货部
订单子系统的关联图
33
3.2.3 DFD片段
DFD片段:用一个单一处理符号表示系统响应一个事件的DFD
在DFD片段中,展示了处理、外部实体和内部数据存储之间的 交互细节 每个DFD片段仅显示要响应该事件的那些数据存储 一个DFD片段是为事件表中的每一个事件创建的
(1)过程(处理)对数据的操作可以分为2类:
Use – 使用,包括Select、Insert、Delete、
Update
Create – 建立,即创建数据
(2)U/C矩阵
二维矩阵表
横向业务 – 过程 ;纵向 – 主题数据库
(3)U/C矩阵的作用
为子系统划分提供帮助
10
2.5 子系统规划
学 籍 与 选 课 系 统 的 系 统 流 程 图 25
3.2 基于数据流的系统分析 -图
数据流
数据流图:用处理、外部实体、数据流以及数据存储来 (DFD) 表示系统需求的图表
DFD的特点

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

最终用户、管理人员和系统开发人员只需稍加培 训即可读懂DFD图,方便交流
学生 注册
注册请求
学生
课程表
课程注册
班级列表
安排课程
提供的课程
产生班 机列表
教 员
1层图
课程
选择日 期时间
分配 教室 提供的课程 可用教室
提供的课程
教学 部门 可用教员 分配 教员
31
课程注册系统的DFD抽象层次
3.2.2 关联图
关联图:在单个处理符号中概括系统内所有处理活动的DFD 关联图在表达系统边界时用处很大
外部实体 – 系统之外的 数据源或目的地
27
3.2 基于数据流的系统分析 -图
数据流图例子:
数据流
从外部实体出发的“数据流”可以是: 1. 外部实体发出的“处理请求”,即一个事 件 2. 外部实体给出的“输入数据”
目录
条目查询
客户
可用的 条目细节
查询 可用条目
产品条目
库存条目
指向“外部实体”的“数据 流” 一般是“处理”的反馈或处 图6-3 显示处理“查询可用条目”的DFD 理 结果
职能域 – 子系统
(2)业务过程的建立
一个职能域包括若干个业务过程 业务过程 – 模块
(3)业务活动的建立
业务活动是业务过程的细化,即一个业务过程可分解为若干
个处理单元
业务活动 – 大的活动可以抽取为一个功能
可由调查的事件抽取
8
2.3 数据规划 – 主题数据库的建立
(1)实体法
辅助操作
通信链路
使用设备进行的脱机操作
通过远程通信线路或链路传送数据
19
3.1 业务过程分 析
系统流程图的符号
20
3.1 业务过程分析 – 人工业务过程建模
系统流程图例子 -- 人工销 售教材的业务流程
21
3.1 业务过程分析 – 人工业务过程建模
客户信息 维护程序
客户 数据库
客户订购程序
订单 数据库
教员
37
课程注册系统中将DFD片段组合创建的0层图
3.2.4 DFD的0层图
0层图对整个系统或子系统进行比关联图更加详尽的描述
但是,有时不使用0层图,因为: 1)包含的信息与DFD片段重复; 2)图表比较复杂,特别是对于需要响应较多事件的大系统 好处: 可以直观地分析各个“处理”之间的数据流的关联关系 适当规模的子系统可以使用0层图
针对系统规划文档,进一步调查、分 析系统的业务过程,建立业务流程图 及系统流程图
17
3.1 业务过程分析
系统流程图(system flowchart)
对不同计算机程序、文件、数据库和相关手工 过程设计的表达
主要从较高的层次描述系统的相对独立的子系 统和程序模块 用图形化的方式描述了对子系统的组织 可以表明系统业务类型
(2)软件由程序和数据组成,其结构呈现三层组织 形式,即系统、子系统、功能模块/数据体 (3)软件结构中的各部分既独立又关联
3
1. 结构化方法概述
系统
子系统
模块
功能
功能的数据体
结构化软件系统结构图
4
1. 结构化方法概述
结构化方法的特点:
(1)抽象性:抽象描述系统的本质内容 (2)结构化、模块化、层次化:
6
2.1 需求调查
需求调查内容:
系统目标与边界 组织机构调查 业务流程调查 单据、报表及台帐等数据源调查 现有资源调查 结束条件调查 薄弱环节调查
7
2.2 业务过程规划
(1)职能域的建立
系统的工作职能分类,如按照产、供、销、人、财、物等管
理职能;再如前处理、计算、后处理等
DFD图可以描述高层次的具有高度概括的系统处理 也可以描述低层次的具有更详细分解的系统处理 抽象层次:把系统分解成一个逐步细化的分层集合的建模技术
关联DFD
0层DFD
1层DFD
30Biblioteka 关联图3.2.1 数据流图和抽象层次
班级列表
教员
教学 部门
安排时间数据 注册请求 课程注册 系统 课程表
学生
0层图
教学 部门 时间安 排数据 学生
技术管理子系统
生产管理子系统
销售管理子系统
财务管理子系统
人事管理子系统
产品预测模块 产品开发模块 生产工艺模块 经营计划管理模块
库存控制模块 生产计划模块 材料需求管理模块 操作顺序管理模块
销售区域管理模块 销售管理模块 订货服务模块 货物发运管理模块
通用会计模块 成本会计模块
人事计划管理模块 人员考核模块
0层DFD图:“处理”的编号为i
36
3.2.4 DFD的0层图
DFD片段2 DFD片段3 学生 教员 班级列表 产生班 级列表 提供的课程 课程注册
DFD片段1
相关主题