第十篇需求的描述方法传统方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

过程
(由人、机器或这两者完成这个工作)
数据流
从一处到另一处的数据流向,如从输入或输 出到一个过程的数据流
外部实体
系统之外的数据源或目的
数据存储
存放数据的地方,这些数据在以后使用,通 常与实体-联系图中的一个数据实体祖对应
实时连接
当过程执行时,外部实体与过程之间来回通 信(如信用卡验证)
客户
条目查询 1
关联图 教员
班级列表
0层图 学术部
学术部
课程安排数据
0
注册请求
课程注册 系统
课程安排
学生
2 注册学生
注册请求 学生
课程安排
课程安 排数据
学生
课程注册
1 课程安排
提供的课程
3
产生班级 列表
班级 列表
教员
DFD片断1 学术部
课程安排数据
1 课程安排
提供的课程
图1 课程
学术部
1.1
选择日期和 时间
可用教员
1.2 分配教员
1.3 分配教室 提供的课程 可用教室
学术部
在图10-10中的第三个DFD展示了对应与0层图中 过程1的一个DFD片段。由于在0层图中有三个过 程,因此,应该有三个独立的DFD片段,每一个 对应于一个过程或事件。但在图中只画了一个 DFD片段。在这个DFD的下面是过程1中的一个 分解。
本图把过程2分解为四个子过程:“记录客户信 息”、’‘记录订单”、“处理订单交易”,“产 生确认信息”。这些子过程被认为是完整活动的四 个主要步骤。这也是细化工作的一种办法。另一个 分析员可能得到不同的分析结果。
第一步开始于客户提供“新订单‘’这个数据流
的信息。“新订单”数据流包含客户和客户想要 订购的所有项目信息。过程2.1在一个叫“客户” 的数据存储中保存客户信息(可创建新的客户信息 或根据要求更新已有客户信息)。数据存储代表 ERD中的客户数据实体。在数据存储中的数据与 客户数据实体的属性列表相对应。如果客户是一
10.2.3 DFD片段
一个DFD片段是为事件清单(扩展为事件表) 中的每个事件创建的。每个DFD片段是 一个显示系统如何响应某个事件的独立模 型。分析员通常是一次创建一个DFD片段, 这样能将精力集中在系统的一个部分中。
下图显示了课程注册系统的三个DFD片段。 每一个DFD片段在一个过程符号中代表对 一个事件的所有响应过程。但是这些片段
10.1用传统方法的观点和面向对象 的观点看待活动
传统方法和面向对象方法的区别在于当一个事件 发生时所发生的事情是不同的。有关系统需求的 一个关键问题是:系统如何响应事件。传统方法区 别于面向对象方法的地方在于系统的建模和实现 方法的不同。传统方法把系统看作一个过程的集 合体,一些由人完成,另一些由计算机完成。计 算机过程就象常规的计算机程序—有按顺序执行 的指令。当过程开始执行时,它与数据进行交互、 读出数据、又把数据写回数据文件中。过程或许 也要与人进行交互,例如它有时要求用户输人一 个值或者在计算机屏幕上显示信息给用户看。所 以,系统的传统方法包括过程、数据、输人和输 出。在为系统对事件做出的反应进行建模的过程 中,传统方法包括了强调组件的过程模型。
DFD分层结构是把信息划分为小的且相对独立的 一大批子集例子,这样可以单独考察每一个DFD。 读者要了解某个过程更加详细的信息可以跳转到 该过程的下一层,如果要知道一个DFD如何与其 他DFD相关联可以跳转到上一层的DFD去考察。 分析员要在任何一个DFD中避免信息超量可以遵 循以下两条DFD构造规则:
最后一个过程是处理给客户的订单确认信 息和发给运输部门的订单细节。根据订单 号过程2.4可以在订单、客户、每一个订单 条目(加上产品条目中的条目描述)中查询数 据和产生必要的输出。
10.2.6 评估DFD质量 高质量的DFD是可读的、内部一致的以及能准确
表示系统需求的。表示的准确性主要取决于是否 咨询了用户或其他博识的系统相关者。通过在 DFD结构上应用一些简单的规则,一个项目小组 可以保证DFD的可读性和内部一致性。分析员应 该在开发DFD时或在准备好草图后的某一部分质 量检查过程中使用这些规则。 复杂性最小化人们对复杂的信息处理是有局限 性的。当太多的信息同时出现时,人们把这种现 象叫做信息超量。当信息超量发生时,一个人很 难理解呈现在面前的信息。避免信息超量的关键 是把信息划分为小的且相对独立的子集,每一个 子集有一定数量的可单独考察和理解的信息。
相比之下,面向对象(oo)方法把系统看成是一个 相互影响的对象集。这些对象已在第9章中讨论过。 对象是有行为的(叫做方法)。这些方法可以使对 象与其他对象或系统使用者进行交互。一个对象 通过发送消息请求另一个对象做某事。就其本身 而论,面向对象方法不存在常规的计算机过程和 数据文件。对象执行活动并记录下数值。当为系 统响应事件建模的时候,面向对象方法包括显示 对象的模型、模型的行为以及与对象的交互。
查询可用条目
目录 产品条目
可用条目细节
库存条目
一个DFD演示处理“查找可用条目”
这个事件是客户想检查可用条目,触发器是条目 查询,来源是客户,响应是可用条目细节,响应 的目标是客户。所以,这个数据流程图以一个图 形方式响应一个事件来显示系统活动。
但是DFD的另一个信息没有包含在事件表中。数 据存储包括条目可用性的信息。每一个数据存储 在实体一联系图(ERD)中代表一个数据实体。在 DFD中的过程使用了在ERD中我们所提供的数据 实体及其属性信息。所以,数据流程图将事件触 发的过程和在ERD中定义的数据实体相结合。下 图总结了DFD的组成部分、在事件表中描述的事 件及在ERD中定义的数据实体这三者的一致性。
学生 提供的课程 课程注册
10.2.4事件划分的系统模型
DFD片段的完全集可以组合到一个叫做事件 划分的系统模型或0层图中。0层图通常在单个的 DFD中显示完整的系统,它比关联图包含更多的 细节。图10ຫໍສະໝຸດ Baidu10显示了四个相关的DFD以展示每一
层是如何为上一层提供更进一步的信息的。最高 层的DFD就是大学课程注册系统的关联图。紧接 在关联图下方的DFD是事件划分系统模型(或0层 图)。注意0层图实际上是关联图中对过程的分解, 它也是图10-7中的三个DFD片段的一个组合。在0 层图中的每一个过程表示处理一个事件。
过程2.2根据订单(每一个条目的单价、时间、数 量)累计总数,同时发送‘’交易细节”的数据流 到过程2.3以记录交易。“交易细节”包含订单号、 数量和信用卡信息。过程2.3需要一个与信用部门 保持实时连接以取得客户的信用卡的信用权限。 这里用实时连接而不是数据流是因为在过程执行 的时候数据需要很快的来回流动。如果信用卡是 可用的,就在数据存储“订单交易”中创建一条 记录,同时一条交易数据流直接传到银行。
外部实体、数据流、和过程来自于事件 表中有关事件的信息
数据存储来自于实体一联系图
来源
触发器 条目查询
动作
客户
查询可用条目
可用条目细节
目的地
响应
目录 产品条目 库存条目
10 .2.1数据流程图和抽象水平 抽象水平:能把系统分解成一个逐渐细化的分层集
合的建模技术。
有许多种类型的数据流程图用于描述系统需求。 刚才描述的例子是DFD的一部分,它显示了响应 一个事件的过程。其他的数据流程图用于显示一 个更高层(系统更概括的概念)或更低层(系统更详 细的概念)的处理。这些不同的系统概念(高层的 和低层的)被认为是抽象水平。数据流程图的另一 个非常有用的特性是能够表现系统高层和低层概 念。在一个DFD中高层次过程可以分解成若干独 立的、低层次的、详细的DFD,详细的DFD中的 过程可以进一步分解成其他的图形以便提供多层 次或多水平的抽象。
个已有的客户,数据就已经在数据存储中,所以 过程就把这些数据读出。过程2.1就把有关订单的 其他信息—名叫“订单细节”的数据流发送给过 程2.2。
过程2.2使用“订单细节”数据流并在“订 单”数据存储中通过加入数据创建一个新 的订单记录。然后,对应于每一个订单条 目,在“产品项目”、“库存项目”的数 据存储中查询库存和产品价格。如果当前 有足够的库存,就创建一个订单条目记录, 同时库存数据要修改。重复这些步骤直到 所有的条目处理完毕。例如如果有三个项 目被预定,则需要创建一个订单记录和三 个订单条目记录。
第十章 需求的描述方法
第一部分 传统方法
用传统的观点和面向对象的观点看待活动 数据流程图 详细记录DFD部件 信息工程模型 考虑网络节点和通信 工作流建模
第9章描述了在使用传统方法和面向对象方 法的信息系统开发过程中与建立系统需求 模型相关的两个关键概念:事件和事物。而 在这一章。我们的重点将转向当事件发生 时系统会做什么,即活动和交互。
7±2
接口最小化
7±2规则(也称为Miller数)来源于心理学研究。心 理学研究表明一个人可同时记住或操纵的信息 “块”的数量介于5到9之间。信息块的数量太大 就要引起信息超量。信息块可以包括许多事情如 名称、在一个列表中的单词、数字或一个图片中 的各部分。
学术部 教员
时间表数据
注册请求 0
课程注册系统
时间表
班级列表
学生
图10-5大学课程注册系统的关联图
关联图在表达系统边界时很有用。系统的 范围是通过单过程和外部实体所表示的事 物来定义的。提供和接收数据的外部实体 在系统范围以外,其他任何事情属于系统 的范围。
数据存储不画在关联图中是因为数据存储 本身被认为是属于系统内部的。在系统计 划阶段,我们将关联图当做确定新系统范 围的工具使用。
创建一个DFD是用来描述系统如何分解为子系统。 一旦子系统的DFD创建好,系统分析员就为每一 个子系统画一个独立的事件划分DFD。当子系统 定义好,DFD集合就一个个相互联结起来。关联 图分解为一个子系统DFD,而子系统DFD进一步 分解为事件划分的DFD集合。没有单独的0层图。 相反,每一个子系统有一个事件划分的DFD。本 质上来说,一个事件划分的DFD是一个子系统的0 层图。
外部实体:在系统边界之外的个人或组织, 它提供数据输入或接受数据输出。
过程:在DFD中的一个符号,它代表从数据 输入转换到数据输出的算法或程序。
数据流:在DFD中的箭头,它表示在过程、 数据存储和外部实体之间的数据移动。
数据存储:保存数据的地方,以便将来由一 个或多个过程来访问这些数据。
一步步地执行指令。将输入换成输出
10.2.2关联图
关联图是指描述系统高层结构的DFD。所 有的外部实体和进出系统的数据流都画在 一张图中,并且整个系统被表示成一个过 程。如图显示了一个简单的大学课程注册 系统的关联图,这个图与三个外部实体交 互:学术部、学生和教员。学术部提供有关 课程的信息,学生申请注册,教员在注册 完成后得到班级列表。
10.2.5 分解过程以查看一项活动更详细的信 息
有时一些DFD片段包括许多处理,这些处 理需要系统分析员做更详细的研究。正像 一个关联图可以分解为0层图一样,一个 DFD片段也可以分解为子过程。在任何建 模步骤中,进一步的分解都将帮助系统分 析员了解更多的需求,同时产生需要的文 档。
图2是DFD片段2“创建新订单”较为详细的分解图 的一个例子。把它命名为图表2是由于它显示过程 2的内部信息。子过程被编号为2.1、2.2、2.3、 2.4。然而,编号方式不必要表示子处理的执行顺 序。
图10-1总结了传统方法和面向对象这两种方法的 不同点。
传缭方法 系统是过程的集合 过程与数据实体交互 过程接受输入并产生输出
面向对象方法 系统是交互对象的集合 对象与人或其他对象交互对象发送与响应消息
10.2数据流程图
在信息系统开发中传统方法把活动描述为 由人或计算机执行的过程。数据流程图已 被证明它是建立过程模型非常有价值的图 形化模型。当然,还有其他的过程模型如 在信息工程中使用的过程依赖图和用于业 务流程再造的工作流程图,但数据流程图 是最常用的过程模型。
展示厂在过程、外部实体和内部数据存储 之间的交互细节。在DFD片段中的数据存 储代表ERD中的实体。每个DFD片段仅显 示要响应该事件的那些数据存储。
学术部
计划安排 数据
1 计划课程
提供的课程
学生 教员
注册请求 计划安排
2 注册学生
班级列表
3 产生班级列表
图10-7课程注册系统的DFD片段
学生 提供的课程 课程注册
相关文档
最新文档