第八章 需求的传统描述方法精品文档
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
来源
触发器
活动
总
结
目的地
响应
该图总结了DFD的组成 部分、在事件表中描述 的事件及在ERD中定义 的数据实体的一致性。
RMO客户支持系统的ERD
8.2.1 数据流图和抽象水平
1. 抽象水平 2. 关联图 3. DFD片段 4. 事件分割的系统模型
1. 抽象水平
DFD的特性:抽象、概括 抽象水平:把系统分解成一个逐渐细化的分层
0层图:表示工具,它对整个系统或子系统进行比关 联图更加详细的汇总。
课程 注册 系统 DF D片 段组 合成
0 层图
分析员避免设计0层图的原因
①信息内容与DFD片段的集合重复。 ②图表常常复杂而不实用,特别是对于需要响应许
多事件的大系统而言。 冗余性和复杂性是分析员无论何时都要尽可能避
免的两个DFD特征。
8.2.2 RMO数据流图
1. RMO客户支持系统的关联图 2. RMO子系统和对应每个子系统的事件 3. RMO订单子系统的关联图 4. RMO订单子系统的DFD片段 5. 订单输入子系统的事件分割模型 6. 创建新订单一个更详细的图
该件图 的M1R.D中F为D简组化合,在将一一起些。事 O 客 户 支 持 系 统 的 关 联 图
②高层数据流与相应的底层数据流内容不一致。
③数据流不能直接连接两个外部实体、两个数据存储, 以及数据存储与外部实体,数据流的一端至少应为 处理。
2. 最小化复杂度
⑴信息超量 ⑵7±2规则 ⑶接口最小化
⑴信息超量
信息超量:当太多的信息同时显现给一个人时所 发生的一种难以理解的情况。
避免信息超量的关键是把信息划分为小的且相对 独立的子集,每一个子集有一定数量的可逐个考 查和理解信息。
是可用条目细节,响应的目标是客户。 DFD以图形的方式显示系统活动来响应一个事件。
DFD与ERD
DFD的数据存储(条目可用性)信息没包含在事件表中。 DFD中的每一个数据存储在ERD中代表一个数据实体。 在DFD中的处理使用了在系统的ERD中所提供的数据实体
及其属性信息。 DFD将事件触发的处理和在ERD中定义的数据实体相结合。
第8章 需求的传统描述 方法
陈春林 wsccl2019yahoo
概述
本章关注“当事件发生时系统做什么”,即活动 和交互。
在传统方法中使用的图形和其他模型 建模必须严格地确定活动和交互的细节。 分析员和用户必须共同评估模型的完整性、正确
性,以及质量。
8.1 用传统的观点和OO的观点看待活动
与7±2规则直接相关。 接口:指一个问题或描述中的一部分与其他部
分的连接。
DFD中的处理表示业务和处理逻辑块,它们通过数据流 与其他处理、实体和数据存储相关联。带有大量接口(数 据流)的单个处理会复杂到不能理解。
解决问题的方法:把这种处理分解为两个或更多的处理, 以使分解后的处理接口更少。
③在进行处理时依据仅有的输入无法导出输出数据,这说明可能缺少输入数 据或处理分解有误。
④流入处理的数据应与流出处理的数据不相同;若相同,则有可能表明该处 理没有存在的价值(流入“处理订单”的信息为“订单”,流出的信息为 “订单”→“客户订单” 、“已处理的订单” )
⑵基于数据流的错误
①数据流表明处理过程之间数据的传递关系,而非控 制和时间先后次序关系。(“更正错误的学生信 息”→“错误的学生信息”或“更正后的学生信 息”)。
集合的建模技术。 DFD能够表现系统高层和低层的概念。
课 关联图 程 注 册 系 统 的
DFD 抽 象 层 次
2. 关联图
关联图(顶层图):在单个处理符号中概括系统内所 有处理活动的DFD。
或者说是描述系统抽象概念的DFD。 所有的外部实体和进出系统的数据流都在一张图中
显示,并且整个系统被表示成一个处理。 关联图在表达系统边界时很有用。
逻辑模型:假设可以用完美的技术实现这个系统。 物理模型:则在DFD中应包含一个或多个假设的
实现技术。
物理DFD
特定的技术处理; 特定的参与者的处理名称; 特定的技术或参与者处理顺序; 冗余的处理、数据流、文件。 要避免在分析阶段创建物理DFD。
安
①技术假设包含在处理1.1。
传统方法和OO方法的区别:
当一个事件发生时所发生的事情不同 系统建模和实现方法不同(传统方法强调包括处理、
数据、输入和输出这些组件的一系列处理模型;面 向对象的方法强调对象、对象的行为,以及对象之 间交互的一系列模型)
传统方法和面向对象方法的区别
8.2 数据流图
8.2.0 数据流图 8.2.1 数据流图和抽象水平 8.2.2 RMO数据流图 8.2.3 物理DFD和逻辑DFD 8.2.4 评估DFD质量
一、考虑如下客户在银行中发出的一 系列活动。
哪个活动是分析员应该为银行账目交易处理系 统定义的事件?(1)Kevin得到了奶奶送给他 的一张作为生日礼物的支票;(2)Kevin想买 一辆小汽车;(3)Kevin决定把钱存下来; (4)Kevin来到了银行;(5)Kevin排队等候; (6)Kevin在他的储蓄账户里存了一笔钱; (7)Kevin得到了储蓄收据;(8)Kevin索要 了一本介绍汽车贷款的宣传手册。
处理和数据存储。
项目开发的人都能从DFD中很快地看出系统一起 工作的各个部分。
2. DFD的符号
外部实体:在系统边界之外的个人或组织,它提供数据输入 或接受数据输出。
处理:在DFD中的一个符号,它代表从数据输入转换到数据 输出的算法或程序。
数据流:在DFD中的箭头,它表示在处理、数据存储和外部 实体之间的数据移动(流动的数据)。
二、(1)为下列事件画出一张包括最小和最 大基数的实体-联系图:系统存储两件事物 (汽车和汽车拥有者)的信息;汽车有牌子、 型号和出厂日期等属性;汽车拥有者有姓名和 地址等属性。假设一辆汽车必须有一个拥有者, 而一个拥有者可以拥有许多汽车,但一个拥有 者可能没有任何汽车(也许她刚卖掉了所有的 汽车,但是你仍然需要为她在系统中保留一条 记录)。
排
课
②处理的名称特别参考
程
了系统中的参与者。
的
DF
D
③包含相似的和多余 的处理逻辑的过程。
*
无经验的分析员
按照当前系统中事物本来的方式建模。 其问题在于会把旧系统的设计设想和技术限制不自觉地包含到新系统中
来。 如果分析和设计不是同一些人和小组,这种情况很容易发生。 新的设计人员可能没有认识到有些包含在DFD中的需求仅仅是当前系统
角度描述了同一种系统需求信息。
3. DFD片段
DFD片段:用一个单一处理符号表示系统响应一个事件的 DFD。
DFD片段是为事件表中的事件创建的。 DFD片段用一个单个的处理符号代表对一个事件的所有响应
处理。 在DFD片段中的数据存储代表ERD中的实体。 每个DFD片段显示要响应该事件的那些数据存储。
6.
这第个 5章数中据讲流到的的信E息RD。 中的客户数据实体。
创 建
③处理2.3需要获得一个与 信用部门保持实时连接以
新
取得客户的信用卡的信用
订
权限。用实时连接而不是 数据流是因为在处理过程
单
执行的时候数据需要很快
一
地来回流动。
个
更
详
细
Fra Baidu bibliotek
的
图
8.2.3 物理DFD和逻辑DFD
DFD可以是一个物理系统模型,也可以是逻辑系 统模型,也可以是两者的混合。
局部DFD,全局DFD
分析员通常是一次创建一个DFD片段,将精力 集中在系统的每一个部分中。
在事件表和关联图完成之后,DFD片段才被画 出来。
课程注册系统的DFD片段
4. 事件分割的系统模型
事件分割的系统模型或0层图:一个为系统需求建 立模型的DFD,建模过程中对应于系统或子系统 中每个事件使用单个处理。
1. DFD建模中常见的错误
⑴基于处理的错误 ⑵基于数据流的错误
⑴基于处理的错误
①处理的名称一般为动宾结构,不能只是一个动词(“增加”→“增加学生” 、 “计算”→“计算分数”)。
②一个处理至少应有一个输入和一个输出。若只有输入而没有输出(称为“黑 洞”)或只有输出而没有输入(称为“奇迹”)都是不正确的。
8.2.0 数据流图(data flow diagram)
1. DFD概念与作用 2. DFD符号 3. DFD结合了事件表和ERD
1. DFD概念与作用
DFD:用处理、外部实体、数据流,以及数据存 储来表示系统需求的图表。
DFD是用得最广泛的过程模型。 它在一张图中展示IS的主要需求:输入、输出、
DFD分层结构是把信息划分为小的且相对独立的 子集例子,这样可以逐个考查每一DFD。
⑵7±2规则
7±2规则:一种限制模型中组成元素个数或元素 之间的连接数不超过9的模型设计规则。
称为Miller数,心理学研究表明一个人可同时记 或操纵的信息“块”的数量介于5~9之间。
7±2规则在DFD中的应用
单个DFD中不应有超过7±2个处理; 单个DFD不应超过7±2个数据流进出一个处理、
数据存储和数据元素。 规则是一般的准则,不是不可违反的。 打破这些规则的DFD虽仍可读,但易发生潜在
问题。
⑶接口最小化
接口最小化:一种通过限制模型中各个元素之 间的连接数来达到简单的目的的模型设计原则。
数据存储:保存数据的地方,以便将来由一个或多个过程来 访问这些数据。
DF D 的 符 号
显示处理“查询可用条目”的DFD(RMO中DFD 片段) 描述了RMO案例的系统需求,是DFD的一部分,
它显示了响应一个事件的过程。
3.DFD结合了事件表和ERD
DFD中的处理对应于RMO事件表中的一个活动。 事件是客户想查询可用条目,触发器是条目查询,来源是客户,响应
的事物存在形式的一些简单反映,而不是系统中事物将来所必然存在的 形式。 通常在分析的最后阶段和设计的最早阶段开发和使用物理DFD。
8.2.4 评估DFD质量
高质量的DFD是可读的、内部一致的,并且能 够准确地描述系统需求。
1. DFD建模中常见的错误 2. 最小化复杂度 3. 保证数据流一致性
关联图与事件表
二者通常一起被建立。 每个关联图对应一个外部事件的触发器变成一个输入数据流,
而其来源变成一个外部实体。 每一个响应变成一个输出数据流,并且其目的源变成一个外
部实体。 对应短暂事件的触发器不是数据流,所以没有对应短暂事件
的数据流。 注意:关联图DFD能够直接从事件表创建。两种模型从不同
2.
RM O子 系统 和对 应每 个子 系统 的事 件
该图按照事件的相似性(包括与外部实体 和数据存储的交互以及必要处理的相似性),
3. RM将OR订M单O客子户系支持统系的统分关成联子图系统。
注意:来自该子系统事件表的所有数据流 都显示在DFD上。
4. RMO订单子系统的DFD片段
在处理之间对工作的最好划分是保证最简单,而保证最 简单的划分则要求处理之间使用最少的接口。
3. 保证数据流一致性
分析员通过查找DFD中各种类型的不一致性可以发 现错误或忽略的东西。
三个经常发生且容易判别的一致性错误:
①图中显示了RMO订单
5. 订 单 输
子图②高7的③明过个系中为图单。程0数层统D使的个D与据FF图的图可数独DD存仅0更读据立片片层储用加性存的段段图合做简,储数得显,并辅单上。据来示是成助,图存的了从图性并中储。哪上中说提的相些 关联。
入
子
系
统
的
事
件
分
割
模
型
①第一步开始于客户
提②供 数组据成存“储新代订表单了”在
(2)为上面所述的汽车和汽车拥有者画出一 张类图,并在图中画出具有特定属性的跑车、 轿车和小型货车子类。
三、考虑一下上课时讨论过的选课系 统的实体-联系图(见下图)。
在图中增加下列信息并列出你的所有假设。一 个教员通常教多门课程,但有的学期也许一门 课也不教.每个课程必须至少有一个教员,但有 时多个小组教一门课程。此外,为了确保所有 的课程是相似的,通常指定一个教员作为课程 协调员来监督课程,而且每一个教员也可以是 多门课程的协调员。