第十章 需求的描述方法--传统方法教材课程

上传人:yuzo****123 文档编号:140365051 上传时间:2020-07-29 格式:PPT 页数:68 大小:995.50KB
返回 下载 相关 举报
第十章 需求的描述方法--传统方法教材课程_第1页
第1页 / 共68页
第十章 需求的描述方法--传统方法教材课程_第2页
第2页 / 共68页
第十章 需求的描述方法--传统方法教材课程_第3页
第3页 / 共68页
第十章 需求的描述方法--传统方法教材课程_第4页
第4页 / 共68页
第十章 需求的描述方法--传统方法教材课程_第5页
第5页 / 共68页
点击查看更多>>
资源描述

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

1、第十章 需求的描述方法,第一部分 传统方法,用传统的观点和面向对象的观点看待活动 数据流程图 详细记录DFD部件 信息工程模型 考虑网络节点和通信 工作流建模,第9章描述了在使用传统方法和面向对象方法的信息系统开发过程中与建立系统需求模型相关的两个关键概念:事件和事物。而在这一章。我们的重点将转向当事件发生时系统会做什么,即活动和交互。,相比之下,面向对象(oo)方法把系统看成是一个相互影响的对象集。这些对象已在第9章中讨论过。对象是有行为的(叫做方法)。这些方法可以使对象与其他对象或系统使用者进行交互。一个对象通过发送消息请求另一个对象做某事。就其本身而论,面向对象方法不存在常规的计算机过程

2、和数据文件。对象执行活动并记录下数值。当为系统响应事件建模的时候,面向对象方法包括显示对象的模型、模型的行为以及与对象的交互。 图10-1总结了传统方法和面向对象这两种方法的不同点。,传缭方法 系统是过程的集合 过程与数据实体交互 过程接受输入并产生输出,面向对象方法 系统是交互对象的集合 对象与人或其他对象交互对象发送与响应消息,10.2数据流程图,在信息系统开发中传统方法把活动描述为由人或计算机执行的过程。数据流程图已被证明它是建立过程模型非常有价值的图形化模型。当然,还有其他的过程模型如在信息工程中使用的过程依赖图和用于业务流程再造的工作流程图,但数据流程图是最常用的过程模型。,外部实体

3、:在系统边界之外的个人或组织,它提供数据输入或接受数据输出。 过程:在DFD中的一个符号,它代表从数据输入转换到数据输出的算法或程序。 数据流:在DFD中的箭头,它表示在过程、数据存储和外部实体之间的数据移动。 数据存储:保存数据的地方,以便将来由一个或多个过程来访问这些数据。,一个DFD演示处理“查找可用条目”,1,这个事件是客户想检查可用条目,触发器是条目查询,来源是客户,响应是可用条目细节,响应的目标是客户。所以,这个数据流程图以一个图形方式响应一个事件来显示系统活动。 但是DFD的另一个信息没有包含在事件表中。数据存储包括条目可用性的信息。每一个数据存储在实体一联系图(ERD)中代表一

4、个数据实体。在DFD中的过程使用了在ERD中我们所提供的数据实体及其属性信息。所以,数据流程图将事件触发的过程和在ERD中定义的数据实体相结合。下图总结了DFD的组成部分、在事件表中描述的事件及在ERD中定义的数据实体这三者的一致性。,10 .2.1数据流程图和抽象水平 抽象水平:能把系统分解成一个逐渐细化的分层集合的建模技术。 有许多种类型的数据流程图用于描述系统需求。刚才描述的例子是DFD的一部分,它显示了响应一个事件的过程。其他的数据流程图用于显示一个更高层(系统更概括的概念)或更低层(系统更详细的概念)的处理。这些不同的系统概念(高层的和低层的)被认为是抽象水平。数据流程图的另一个非常

5、有用的特性是能够表现系统高层和低层概念。在一个DFD中高层次过程可以分解成若干独立的、低层次的、详细的DFD,详细的DFD中的过程可以进一步分解成其他的图形以便提供多层次或多水平的抽象。,10.2.2关联图,关联图是指描述系统高层结构的DFD。所有的外部实体和进出系统的数据流都画在一张图中,并且整个系统被表示成一个过程。如图显示了一个简单的大学课程注册系统的关联图,这个图与三个外部实体交互:学术部、学生和教员。学术部提供有关课程的信息,学生申请注册,教员在注册完成后得到班级列表。,图10-5大学课程注册系统的关联图,关联图在表达系统边界时很有用。系统的范围是通过单过程和外部实体所表示的事物来定

6、义的。提供和接收数据的外部实体在系统范围以外,其他任何事情属于系统的范围。 数据存储不画在关联图中是因为数据存储本身被认为是属于系统内部的。在系统计划阶段,我们将关联图当做确定新系统范围的工具使用。,10.2.3 DFD片段,一个DFD片段是为事件清单(扩展为事件表)中的每个事件创建的。每个DFD片段是 一个显示系统如何响应某个事件的独立模型。分析员通常是一次创建一个DFD片段,这样能将精力集中在系统的一个部分中。,下图显示了课程注册系统的三个DFD片段。每一个DFD片段在一个过程符号中代表对一个事件的所有响应过程。但是这些片段展示厂在过程、外部实体和内部数据存储之间的交互细节。在DFD片段中

7、的数据存储代表ERD中的实体。每个DFD片段仅显示要响应该事件的那些数据存储。,图10-7课程注册系统的DFD片段,10.2.4事件划分的系统模型 DFD片段的完全集可以组合到一个叫做事件划分的系统模型或0层图中。0层图通常在单个的DFD中显示完整的系统,它比关联图包含更多的细节。图10-10显示了四个相关的DFD以展示每一层是如何为上一层提供更进一步的信息的。最高层的DFD就是大学课程注册系统的关联图。紧接在关联图下方的DFD是事件划分系统模型(或0层图)。注意0层图实际上是关联图中对过程的分解,它也是图10-7中的三个DFD片段的一个组合。在0层图中的每一个过程表示处理一个事件。,0层图,

8、DFD片断1,图1,在图10-10中的第三个DFD展示了对应与0层图中过程1的一个DFD片段。由于在0层图中有三个过程,因此,应该有三个独立的DFD片段,每一个对应于一个过程或事件。但在图中只画了一个DFD片段。在这个DFD的下面是过程1中的一个分解。 创建一个DFD是用来描述系统如何分解为子系统。一旦子系统的DFD创建好,系统分析员就为每一个子系统画一个独立的事件划分DFD。当子系统定义好,DFD集合就一个个相互联结起来。关联图分解为一个子系统DFD,而子系统DFD进一步分解为事件划分的DFD集合。没有单独的0层图。相反,每一个子系统有一个事件划分的DFD。本质上来说,一个事件划分的DFD是

9、一个子系统的0层图。,10.2.5 分解过程以查看一项活动更详细的信息 有时一些DFD片段包括许多处理,这些处理需要系统分析员做更详细的研究。正像一个关联图可以分解为0层图一样,一个DFD片段也可以分解为子过程。在任何建模步骤中,进一步的分解都将帮助系统分析员了解更多的需求,同时产生需要的文档。,图2是DFD片段2“创建新订单”较为详细的分解图的一个例子。把它命名为图表2是由于它显示过程2的内部信息。子过程被编号为2.1、2.2、2.3、2.4。然而,编号方式不必要表示子处理的执行顺序。 本图把过程2分解为四个子过程:“记录客户信息”、记录订单”、“处理订单交易”,“产生确认信息”。这些子过程

10、被认为是完整活动的四个主要步骤。这也是细化工作的一种办法。另一个分析员可能得到不同的分析结果。,第一步开始于客户提供“新订单这个数据流的信息。“新订单”数据流包含客户和客户想要订购的所有项目信息。过程2.1在一个叫“客户”的数据存储中保存客户信息(可创建新的客户信息或根据要求更新已有客户信息)。数据存储代表ERD中的客户数据实体。在数据存储中的数据与客户数据实体的属性列表相对应。如果客户是一个已有的客户,数据就已经在数据存储中,所以过程就把这些数据读出。过程2.1就把有关订单的其他信息名叫“订单细节”的数据流发送给过程2.2。,过程2.2使用“订单细节”数据流并在“订单”数据存储中通过加入数据

11、创建一个新的订单记录。然后,对应于每一个订单条目,在“产品项目”、“库存项目”的数据存储中查询库存和产品价格。如果当前有足够的库存,就创建一个订单条目记录,同时库存数据要修改。重复这些步骤直到所有的条目处理完毕。例如如果有三个项目被预定,则需要创建一个订单记录和三个订单条目记录。,过程2.2根据订单(每一个条目的单价、时间、数量)累计总数,同时发送交易细节”的数据流到过程2.3以记录交易。“交易细节”包含订单号、数量和信用卡信息。过程2.3需要一个与信用部门保持实时连接以取得客户的信用卡的信用权限。这里用实时连接而不是数据流是因为在过程执行的时候数据需要很快的来回流动。如果信用卡是可用的,就在

12、数据存储“订单交易”中创建一条记录,同时一条交易数据流直接传到银行。,最后一个过程是处理给客户的订单确认信息和发给运输部门的订单细节。根据订单号过程2.4可以在订单、客户、每一个订单条目(加上产品条目中的条目描述)中查询数据和产生必要的输出。,10.2.6 评估DFD质量 高质量的DFD是可读的、内部一致的以及能准确表示系统需求的。表示的准确性主要取决于是否咨询了用户或其他博识的系统相关者。通过在DFD结构上应用一些简单的规则,一个项目小组可以保证DFD的可读性和内部一致性。分析员应该在开发DFD时或在准备好草图后的某一部分质量检查过程中使用这些规则。 复杂性最小化人们对复杂的信息处理是有局限

13、性的。当太多的信息同时出现时,人们把这种现象叫做信息超量。当信息超量发生时,一个人很难理解呈现在面前的信息。避免信息超量的关键是把信息划分为小的且相对独立的子集,每一个子集有一定数量的可单独考察和理解的信息。,DFD分层结构是把信息划分为小的且相对独立的一大批子集例子,这样可以单独考察每一个DFD。读者要了解某个过程更加详细的信息可以跳转到该过程的下一层,如果要知道一个DFD如何与其他DFD相关联可以跳转到上一层的DFD去考察。 分析员要在任何一个DFD中避免信息超量可以遵循以下两条DFD构造规则: 72 接口最小化,72规则(也称为Miller数)来源于心理学研究。心理学研究表明一个人可同时

14、记住或操纵的信息“块”的数量介于5到9之间。信息块的数量太大就要引起信息超量。信息块可以包括许多事情如名称、在一个列表中的单词、数字或一个图片中的各部分。 72规则:模型设计规则,它限制模型中组成元素个数或元素之间的连接数不能超过9 72规则在DFD中的应用如下: 单个DFD中不应有超过72个过程 单个DFD不应超过72个数据流进出一个过程、数据存储和数据元素,接口最小化是与72规则直接相关的。接口是指一个问题或描述中的一部分与其他部分的连接。与信息块一样,一个人可同时记住或操纵的连接是有限的,所以连接数应保证最小。DFD中的过程表示业务和处理逻辑块,它们通过数据流与其他过程、实体和数据存储相

15、关联。有大量接口(数据流)的单个过程会复杂到不能理解。这也许会作为72规则的违反行为直接在过程分解中显现出来。分析员通常可以这样来解决这个问题,即把这种过程分解为二个或更多的过程;以使分解后的过程接口更少。 接口最小化:模型设计的原则,该原则通过使模型中各个元素之间的接口放或连接数最小化来达到简单的目的。,过程成对或成组且在它们之间有大量的数据流是与接口最小化规则相冲突的另一个例子:通常这样的条件预示着过程中的任务处理划分都比较差。解决这个问题的办法是重新分配处理任务以使在它们之间需要更少的接口。在过程之间对工作的最好划分是保证最简单。而保证最简单的划分需要过程之间使用最少的接口。,数据流一致

16、性 分析员通过查找DFD中各种类型的不一致性可以发现错误或忽略的东西以下是三个经常发生且易 辨别的一致性错误: 一个过程和它的过程分解在数据流内容中有差别 有数据流出但没有相应的数据流入 有数据流入但没有相应的数据流出 过程分解以一种更详细的形式展示了一个高层过程的内部细节:在大多数情况下,DFD层次中流入和流出过程的数据内容应与分解后的DFD中流入和流出所有过程的数据内容一致,这种一致性叫做平衡,且高层的DFD与过程分解的DFD称为“在平衡中”。 平衡:进出过程的数据流与进出过程分解DFD的数据流在数据内容上一致。,如果由于在高层忽略了一些数据流而引起数据流程图不平衡,则不平衡的DFD也是可接收的。例如一个大系统的0层图通常省略错误处理的细节,如当订购了一件商品但库存量不够或者该商品不再继续生产,在0层图有一个过程叫“完成订单”,在这种情况下就没有任何相关的数据流,而在过程“完成订单”的分解图中系统分析员可以加上一个过程和一些数据流去处理这些下能继续的项目。,DFD不一致性还可以发生在单个过程或数据存储的数据流入或流

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

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

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