系统分析与设计_06章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014-11-19
Xi'an Jiaotong University
6
DFD抽象层次
关连图
描述系统抽象 的概念
0 层图
对关联图的一级 抽象(分解)
1 层图
对0层图的某个 处理的进一步分 解
2014-11-19 Xi'an Jiaotong University
6
关连图
Context Diagrams
2014-11-19 Xi'an Jiaotong University 4
6
数据流图符号
DFD——用处理、外部实体、数据流及数据存储 来表示系统需求的图表
处理 一步一步的执行指令
数据流 外部实体
数据存储 实时连接
2014-11-19 Xi'an Jiaotong University
6
查询商品可用条目的DFD(DFD片段)
两条规则对处理、对数据存储均有效。
2014-11-19
Xi'an Jiaotong University
6
带有不必要数据输入的处理:黑洞
(Black Hole)
检查可用条目,重点是确定条目和对相应数据存储的访问信息,没有必要 输入一个完整订单(订单、订单条目、订单交易),更多的访问数据存储
黑洞:违反一致性的第一条规则
结构化自然语言
2014-11-19
Xi'an Jiaotong University
6
HESC处理2.1和它的结构化英语处理描述
2014-11-19
Xi'an Jiaotong University
决策表和决策树
比结构化英语能更好的描述其复杂决策逻辑
购买>¥250 商品数量(N) 发货日期 发运费用 (¥) N≤3 是 N≥4 N≤3 否 N≥4 次日 N*7.5 第2天 N*3.5 第7天 N*2.5
物理模型(Physical model)
说明假设的实现技术 在分析的最后阶段或在设计的最早阶段开发和使用 物理模型的判断
特定的技术处理 特定的参与者的处理名称 特定的技术或参与者处理的顺序 冗余的处理、数据流、文件 具有其中之一,则为物理模型
2014-11-19
Xi'an Jiaotong University
6
评估DFD 质量
高质量的DFD的标准
可读性 内部一致性 准确地表示系统Accurately represents system
与用户进行了充分的交流 查阅了足够的资料
检查标准
达到最小化复杂度——避免信息超量 保证数据的一致性
信息超量 避免信息超量的规则
查询可 用条目
•外部实体:系统边界之外的个人或组织,提供数据的输入或接收数据的输出 •处理:表示从数据输入转换到数据输出的算法或程序 •数据流:表示在处理、数据存储和外部实体之间的数据移动 •数据存储:保存数据的地方,以便将来由一个处理或多个处理来访问这些数据
2014-11-19
Xi'an Jiaotong University
required to respond to events
2014-11-19
Xi'an Jiaotong University
6
HESC订单子系统的关连图
当系统响应许多事件时,常常把系统分为多个子 系统,并且为每个子系统创建一个关联图 划分子系统的原则 按事件的相似性(外部实体和数据存储的交互 性以及必要的处理)划分
数据流图DFD
DFD
——图形化的系统模型,它展示软件(信息)系统的主要需求
6
输入/输出 处理 数据存储
特点
易读易理解 抽象性:把具体的组织机构、工作场所、物质流都去掉, 只剩下信息和数据存储、流动、使用以及加工情况。 概括性:把系统对各种业务的处理过程联系起来考虑,形 成一个总体,即更高层,更概括的概念。也可形成一个更 详细的、更低层的概念。 容易表现系统高层和低层概念:在一个DFD中可以层层分解 为若干独立的、低层的、详细的DFD。
Xi'an Jiaotong University
6
带有不可能的数据输出的处理
2014-11-19
Xi'an Jiaotong University
6
DFD部件的文档
最低层的处理需要详细描述
处理分解到足以用结构化语言、决策树、决 策表描述为止,即无需再有其它的DFD定义
数据流的内容需要描述 数据存储需要根据数据元素来定义 每个数据元素也需要定义 处理定义的各种选择继续保留(存在)
1 查询条目 可用性
5 生成订单 汇总报告 信 用 卡 信 息 银行
4 生成交易 汇总报告
3 更新订单
订单汇 总报表
交易汇 总报表
信用卡 信息
发货
管理
财务
信用部门
发货
交易
信用卡信息 订单细节
2014-11-19
Xi'an Jiaotong University
自顶向下与自底向上
6
自顶向下
关联图
0层图(事件分割模型)
6
DFD的平衡与不平衡
平衡 不平衡
不平衡的DFD为结果也是可以接受的
2014-11-19
Xi'an Jiaotong University
22
6
一致性规则
一致性规则源于两个事实
保证一致性的两条规则 流入处理的所有数据流必须流出该处理或用于产生 流出该处理的数据 流出处理的所有数据必须曾流入该处理或是由流入 该处理的数据产生
Xi'an Jiaotong University
6
数据流定义
Data Flow Definitions
数据流内容和内部结构的文本描述
通常与ERD的数据实体属性一致
Data Flow Definitions Simply Listing Elements
2014-11-19
Xi'an Jiaotong University
第6章
需求的传统描述方法
The Traditional Approach to Requirements
学习目标
解释当事件发生时传统方法与面向对象方法 的差异 列出传统系统的组成元素和在数据流图中描 述这些元素的符号 说明数据流图如何在不同的抽象级别上描述 系统 设计数据流图、数据元素定义、数据存储定 义和处理描述 设计一些表来说明处理以及系统定位数据存 储的分布性
DFD 结合了事件表和ERD
Integrates Event Table and ERD
6
外部实体 、数据流 、过程来自 于表中有关事件的信息 数据存储来自于 E - R 图 来源 触发器
动作 / 活动
目录
条目查询
客户
可用条目明细
查询可用 条目
产品目录 库存目录
目的地
响应
2014-11-19
Xi'an Jiaotong University
DFD 和抽象水平
抽象水平:把系统分解成一个逐渐细化的分层集合 的建模技术 DFD的特性
用于描述系统需求 表现系统高层和低层的概念
6
DFD可以分解为更为详细的多层次的DFD
高层次的更为概括(更为抽象) 低层次的更为详细(更为具体)
分解
高层
若干独立的、低层次的、详细的DFD
6
DFD片段
DFD Fragments
定义:用一个单一处理符号表示系统响应一个 事件的DFD
显示系统如何响应某个事件的独立模型 注意力集中于系统的单个部分中Focuses attention on single
part of system
仅显示响应事件所需的数据存储Shows only data stores
6
创建新订单更为详细的DFD图
2014-11-19
Xi'an Jiaotong University
6
逻辑DFD和物理DFD
逻辑模型(Logical model)
假设可用完美的技术实现 并不告诉系统如何实现 逻辑模型的判断
何种类型的计算机系统可以完成这些处理(桌面系统、C/S结构、主机 系统、手工完成) 数据存储(连续的计算机文件、数据库中的表、文件柜的文件) 系统如何得到数据流(网页、电话、语音识别、手工填写) 无法说清楚系统的具体实现时,应该说明是逻辑模型
2014-11-19 Xi'an Jiaotong University
6
HESC订单子系统的两个DFD片段
DFD片段:用一个独立的处理符号表示系统响应一个事件
Xi'an Jiaotong University
2014-11-19
6
事件分割的系统模型
定义:为系统需求建模的DFD,建模过程中对应于系 统或子系统的每个事件使用单个处理
DFD 概述所有的处理活动 最高层是系统的概括 展示系统边界 整个系统表示为一个处理 通过单个处理和外部实体定义系统范围 显示了系统中所有的外部实体和进出系统的数据 数据存储属于系统内部实现的一部分,并不在关 联图中反映
2014-11-19
Xi'an Jiaotong University
购买>¥ 250 购买的商品数量N 发货日期 发运费用 25 10
≤3
次日 第 2天 第7天
N× 1.50 N× 6.50 N× 2.50 Free 35
≥4
是
次日 第 2天 第7天
否
≤3
≥4
次日 第 2天 第7天
15 10 N× 7.50
次日 第 2天 第7天
N× 3.50 N× 2.50
2014-11-19
也称为0层图
关连图的分解(也是比关连图更加详细的分解) 给出了系统所有的进出数据存储的数据流 分解成更为详细的DFD片段 相反,系统所有的DFD片段可以组合成一个单一的DFD, 该DFD即为0层图
影响(信息冗余、复杂)
2014-11-19
Xi'an Jiaotong University
7 +/- 2规则
限制模块中的元素个数或它们之间的连接数不超过9
接口最小化
限制模块中各元素之间的连接数
2014-11-19 Xi'an Jiaotong University
数据流一致性问题
导致一致性错误的3个判断
一个处理和它的处理分解在数据流内容中有差别 有数据流出却没有相应的数据流入 有数据流入却没有相应的数据流出
6
决策逻辑描述为决策表或决策树更具可读性 次 第2
日 25 天 10 第7天 N*1.5 次日 第2天 N*2.5 第7天 Free 次日 35 第2天 15 第7天 10 N*6.0
计算运费的决策树
决策表:处理逻辑的一种表格表示方法,其中包括决策 变量、决策变量值、行为或公式 决策树:用树型结构组织起来的线条对处理逻辑进行图 形化的描述
6
2014-11-19
Xi'an Jiaotong University
传统方法和OO方法
•OO需求模型 •事件和事件表 •类图 •用例图、用例描述 •顺序图 •协作图 •活动图 •状态图
6
•传统方法需求模型 •事件和事件表 •实体关系图 •关联图 •DFD •数据流定义 •过程描述
2014-11-19 Xi'an Jiaotong University
2014-11-19Байду номын сангаасXi'an Jiaotong University
6
有不可能的数据输出的处理:奇迹
需要必要的课程和课程注册数据,以产生班级列表提供给教员
奇迹:违反一致性的第二条规则
2014-11-19 Xi'an Jiaotong University
6
带有不必要数据输入的处理
2014-11-19
6
DFD片段组合以创建事件分离的系统模型
事件分割 的系统模 型
2014-11-19
Xi'an Jiaotong University
HESC事件分割模型(0层图)
订单确认 客户 新订单 更改确认 订单更改请求 条目查询
6
条目可用性细节
2 产生新订 单
订单目录 产品目录 库存条目 订单交易
目录 客户 订单
●●●
DFD片段
自底向上
2014-11-19
Xi'an Jiaotong University
分解 DFD片段
有时需要对DFD片段更为详细的研究 分解成更为详细的一些子处理
进步了解更多的需求 产生必要的文档
6
处理编号并不等于执行顺序
2014-11-19
Xi'an Jiaotong University
2014-11-19
Xi'an Jiaotong University
6
结构化英语
Structured English
定义:一种书写处理规范的方法,它将结构化 程序编程技术与叙述性英语相结合
优点:非常适合逻辑顺序处理和相对简单的逻辑 控制 缺点:不适合于复杂的决策逻辑和很少(few)有 顺序处理步骤