第八章 需求的传统描述方法教学案例

上传人:yuzo****123 文档编号:141182911 上传时间:2020-08-05 格式:PPT 页数:90 大小:4.20MB
返回 下载 相关 举报
第八章 需求的传统描述方法教学案例_第1页
第1页 / 共90页
第八章 需求的传统描述方法教学案例_第2页
第2页 / 共90页
第八章 需求的传统描述方法教学案例_第3页
第3页 / 共90页
第八章 需求的传统描述方法教学案例_第4页
第4页 / 共90页
第八章 需求的传统描述方法教学案例_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《第八章 需求的传统描述方法教学案例》由会员分享,可在线阅读,更多相关《第八章 需求的传统描述方法教学案例(90页珍藏版)》请在金锄头文库上搜索。

1、一、考虑如下客户在银行中发出的一系列活动。,哪个活动是分析员应该为银行账目交易处理系统定义的事件?(1)Kevin得到了奶奶送给他的一张作为生日礼物的支票;(2)Kevin想买一辆小汽车;(3)Kevin决定把钱存下来;(4)Kevin来到了银行;(5)Kevin排队等候;(6)Kevin在他的储蓄账户里存了一笔钱;(7)Kevin得到了储蓄收据;(8)Kevin索要了一本介绍汽车贷款的宣传手册。,二、(1)为下列事件画出一张包括最小和最大基数的实体-联系图:系统存储两件事物(汽车和汽车拥有者)的信息;汽车有牌子、型号和出厂日期等属性;汽车拥有者有姓名和地址等属性。假设一辆汽车必须有一个拥有者

2、,而一个拥有者可以拥有许多汽车,但一个拥有者可能没有任何汽车(也许她刚卖掉了所有的汽车,但是你仍然需要为她在系统中保留一条记录)。,(2)为上面所述的汽车和汽车拥有者画出一张类图,并在图中画出具有特定属性的跑车、轿车和小型货车子类。,在图中增加下列信息并列出你的所有假设。一个教员通常教多门课程,但有的学期也许一门课也不教.每个课程必须至少有一个教员,但有时多个小组教一门课程。此外,为了确保所有的课程是相似的,通常指定一个教员作为课程协调员来监督课程,而且每一个教员也可以是多门课程的协调员。,第8章 需求的传统描述方法,陈春林 ,概述,本章关注“当事件发生时系统做什么”,即活动和交互。 在传统方

3、法中使用的图形和其他模型 建模必须严格地确定活动和交互的细节。 分析员和用户必须共同评估模型的完整性、正确性,以及质量。,8.1 用传统的观点和OO的观点看待活动,传统方法和OO方法的区别: 当一个事件发生时所发生的事情不同 系统建模和实现方法不同(传统方法强调包括处理、数据、输入和输出这些组件的一系列处理模型;面向对象的方法强调对象、对象的行为,以及对象之间交互的一系列模型),传统方法和面向对象方法的区别,8.2 数据流图,8.2.0 数据流图 8.2.1 数据流图和抽象水平 8.2.2 RMO数据流图 8.2.3 物理DFD和逻辑DFD 8.2.4 评估DFD质量,8.2.0 数据流图(d

4、ata flow diagram),1. DFD概念与作用 2. DFD符号 3. DFD结合了事件表和ERD,1. DFD概念与作用,DFD:用处理、外部实体、数据流,以及数据存储来表示系统需求的图表。 DFD是用得最广泛的过程模型。 它在一张图中展示IS的主要需求:输入、输出、处理和数据存储。 项目开发的人都能从DFD中很快地看出系统一起工作的各个部分。,2. DFD的符号,外部实体:在系统边界之外的个人或组织,它提供数据输入或接受数据输出。 处理:在DFD中的一个符号,它代表从数据输入转换到数据输出的算法或程序。 数据流:在DFD中的箭头,它表示在处理、数据存储和外部实体之间的数据移动(

5、流动的数据)。 数据存储:保存数据的地方,以便将来由一个或多个过程来访问这些数据。,DFD的符号,显示处理“查询可用条目”的DFD(RMO中DFD片段),描述了RMO案例的系统需求,是DFD的一部分,它显示了响应一个事件的过程。,3.DFD结合了事件表和ERD,DFD中的处理对应于RMO事件表中的一个活动。 事件是客户想查询可用条目,触发器是条目查询,来源是客户,响应是可用条目细节,响应的目标是客户。 DFD以图形的方式显示系统活动来响应一个事件。,DFD与ERD,DFD的数据存储(条目可用性)信息没包含在事件表中。 DFD中的每一个数据存储在ERD中代表一个数据实体。 在DFD中的处理使用了

6、在系统的ERD中所提供的数据实体及其属性信息。 DFD将事件触发的处理和在ERD中定义的数据实体相结合。,总结,该图总结了DFD的组成部分、在事件表中描述的事件及在ERD中定义的数据实体的一致性。,RMO客户支持系统的ERD,8.2.1 数据流图和抽象水平,1. 抽象水平 2. 关联图 3. DFD片段 4. 事件分割的系统模型,1. 抽象水平,DFD的特性:抽象、概括 抽象水平:把系统分解成一个逐渐细化的分层集合的建模技术。 DFD能够表现系统高层和低层的概念。,课程注册系统的DFD抽象层次,关联图,2. 关联图,关联图(顶层图):在单个处理符号中概括系统内所有处理活动的DFD。 或者说是描

7、述系统抽象概念的DFD。 所有的外部实体和进出系统的数据流都在一张图中显示,并且整个系统被表示成一个处理。 关联图在表达系统边界时很有用。,关联图与事件表,二者通常一起被建立。 每个关联图对应一个外部事件的触发器变成一个输入数据流,而其来源变成一个外部实体。 每一个响应变成一个输出数据流,并且其目的源变成一个外部实体。 对应短暂事件的触发器不是数据流,所以没有对应短暂事件的数据流。 注意:关联图DFD能够直接从事件表创建。两种模型从不同角度描述了同一种系统需求信息。,3. DFD片段,DFD片段:用一个单一处理符号表示系统响应一个事件的DFD。 DFD片段是为事件表中的事件创建的。 DFD片段

8、用一个单个的处理符号代表对一个事件的所有响应处理。 在DFD片段中的数据存储代表ERD中的实体。 每个DFD片段显示要响应该事件的那些数据存储。,局部DFD,全局DFD,分析员通常是一次创建一个DFD片段,将精力集中在系统的每一个部分中。 在事件表和关联图完成之后,DFD片段才被画出来。,课程注册系统的DFD片段,4. 事件分割的系统模型,事件分割的系统模型或0层图:一个为系统需求建立模型的DFD,建模过程中对应于系统或子系统中每个事件使用单个处理。 0层图:表示工具,它对整个系统或子系统进行比关联图更加详细的汇总。,课程注册系统DFD片段组合成0层图,分析员避免设计0层图的原因,信息内容与D

9、FD片段的集合重复。 图表常常复杂而不实用,特别是对于需要响应许多事件的大系统而言。 冗余性和复杂性是分析员无论何时都要尽可能避免的两个DFD特征。,8.2.2 RMO数据流图,1. RMO客户支持系统的关联图 2. RMO子系统和对应每个子系统的事件 3. RMO订单子系统的关联图 4. RMO订单子系统的DFD片段 5. 订单输入子系统的事件分割模型 6. 创建新订单一个更详细的图,1. RMO客户支持系统的关联图,该图中为简化,将一些事件的DFD组合在一起。,2. RMO子系统和对应每个子系统的事件,3. RMO订单子系统的关联图,该图按照事件的相似性(包括与外部实体和数据存储的交互以及

10、必要处理的相似性),将RMO客户支持系统分成子系统。 注意:来自该子系统事件表的所有数据流都显示在DFD上。,4. RMO订单子系统的DFD片段,5.订单输入子系统的事件分割模型,图中显示了RMO订单子系统的0层图,是从上图中DFD片段得来的。,为使图更加简单,并提高图的可读性,上图中的7个数据存储合并成图中的单个数据存储。, 0层图仅用做辅助性说明。DFD片段显示了哪些过程与独立的数据存储相关联。,6.创建新订单一个更详细的图,第一步开始于客户提供组成“新订单”这个数据流的信息。,数据存储代表了在第5章中讲到的ERD中的客户数据实体。,处理2.3需要获得一个与信用部门保持实时连接以取得客户的

11、信用卡的信用权限。用实时连接而不是数据流是因为在处理过程执行的时候数据需要很快地来回流动。,8.2.3 物理DFD和逻辑DFD,DFD可以是一个物理系统模型,也可以是逻辑系统模型,也可以是两者的混合。 逻辑模型:假设可以用完美的技术实现这个系统。 物理模型:则在DFD中应包含一个或多个假设的实现技术。,物理DFD,特定的技术处理; 特定的参与者的处理名称; 特定的技术或参与者处理顺序; 冗余的处理、数据流、文件。 要避免在分析阶段创建物理DFD。,安排课程的DFD,技术假设包含在处理1.1。,处理的名称特别参考了系统中的参与者。,包含相似的和多余的处理逻辑的过程。,*,无经验的分析员,按照当前

12、系统中事物本来的方式建模。 其问题在于会把旧系统的设计设想和技术限制不自觉地包含到新系统中来。 如果分析和设计不是同一些人和小组,这种情况很容易发生。 新的设计人员可能没有认识到有些包含在DFD中的需求仅仅是当前系统的事物存在形式的一些简单反映,而不是系统中事物将来所必然存在的形式。 通常在分析的最后阶段和设计的最早阶段开发和使用物理DFD。,8.2.4 评估DFD质量,高质量的DFD是可读的、内部一致的,并且能够准确地描述系统需求。 1. DFD建模中常见的错误 2. 最小化复杂度 3. 保证数据流一致性,1. DFD建模中常见的错误,基于处理的错误 基于数据流的错误,基于处理的错误,处理的

13、名称一般为动宾结构,不能只是一个动词(“增加”“增加学生” 、“计算”“计算分数”)。 一个处理至少应有一个输入和一个输出。若只有输入而没有输出(称为“黑洞”)或只有输出而没有输入(称为“奇迹”)都是不正确的。 在进行处理时依据仅有的输入无法导出输出数据,这说明可能缺少输入数据或处理分解有误。 流入处理的数据应与流出处理的数据不相同;若相同,则有可能表明该处理没有存在的价值(流入“处理订单”的信息为“订单”,流出的信息为“订单”“客户订单” 、“已处理的订单” ),基于数据流的错误,数据流表明处理过程之间数据的传递关系,而非控制和时间先后次序关系。(“更正错误的学生信息”“错误的学生信息”或“

14、更正后的学生信息”)。 高层数据流与相应的底层数据流内容不一致。 数据流不能直接连接两个外部实体、两个数据存储,以及数据存储与外部实体,数据流的一端至少应为处理。,2. 最小化复杂度,信息超量 72规则 接口最小化,信息超量,信息超量:当太多的信息同时显现给一个人时所发生的一种难以理解的情况。 避免信息超量的关键是把信息划分为小的且相对独立的子集,每一个子集有一定数量的可逐个考查和理解信息。 DFD分层结构是把信息划分为小的且相对独立的子集例子,这样可以逐个考查每一DFD。,72规则,72规则:一种限制模型中组成元素个数或元素之间的连接数不超过9的模型设计规则。 称为Miller数,心理学研究

15、表明一个人可同时记或操纵的信息“块”的数量介于59之间。,72规则在DFD中的应用,单个DFD中不应有超过72个处理; 单个DFD不应超过72个数据流进出一个处理、数据存储和数据元素。 规则是一般的准则,不是不可违反的。 打破这些规则的DFD虽仍可读,但易发生潜在问题。,接口最小化,接口最小化:一种通过限制模型中各个元素之间的连接数来达到简单的目的的模型设计原则。 与72规则直接相关。 接口:指一个问题或描述中的一部分与其他部分的连接。,DFD中的处理表示业务和处理逻辑块,它们通过数据流与其他处理、实体和数据存储相关联。带有大量接口(数据流)的单个处理会复杂到不能理解。 解决问题的方法:把这种

16、处理分解为两个或更多的处理,以使分解后的处理接口更少。 在处理之间对工作的最好划分是保证最简单,而保证最简单的划分则要求处理之间使用最少的接口。,3. 保证数据流一致性,分析员通过查找DFD中各种类型的不一致性可以发现错误或忽略的东西。 三个经常发生且容易判别的一致性错误: 一个处理和它的处理分解在数据流内容中有差别; 有数据流出却没有相应的数据流入; 有数据流入却没有相应的数据流出。,要求DFD应该符合,流入处理的所有数据必须流出该处理或用于产生流出该处理的数据; 流出处理的所有数据必须曾流入过该处理或是由流入该处理的数据产生。 平衡 黑洞 奇迹 根据定义,处理将输入数据转换成输出数据。 在一个逻辑DFD中,数据不应该没有意义地传给处理。,平衡,进出处理的数据流与进出处理分解DFD的数据流在数据内容上保持一致的状态。 数据流的名称在不同的层次可能不一样,其原因很多,如将一个组合的数据流分解为更小的数据流。分析员必须仔细地看清楚数据流的内容而不能只看到它的名称。 只有在

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号