Chapter05-系统需求建模-事件和事物_第1页
Chapter05-系统需求建模-事件和事物_第2页
Chapter05-系统需求建模-事件和事物_第3页
Chapter05-系统需求建模-事件和事物_第4页
Chapter05-系统需求建模-事件和事物_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Chapter5系统需求建模:事件和事物哈尔滨工业大学国家示范性软件学院主讲:范国祥2008.04本章主要内容

模型和建模事件和系统需求

事物和系统需求

实体-关系图(ERD)类图本章目标

解释为何要建立信息系统模型描述三类模型,并列出一些分析和设计专用模型阐述如何使用事件来定义系统需求确定和分析系统做出响应的事件解释如何用系统中事物的概念来定义需求比较数据实体和对象之间的异同确定和分析系统中需要的数据实体和对象阅读、解释并创建实体-关系图阅读、解释并创建类图引子-WaitersonCall–餐馆送货系统1.在发生如下事件时,系统

可以进行处理:客户打电话下订餐订单客户打电话修改订单送货司机汇报工作情况送货司机上交一天的收入2.在特定时间内系统产生所

需信息:生成日结算存款单生成周末餐馆支付帐单生成周销售报表生成月财务报表3.需要建立数据库存储如下信息:餐馆菜单客户订单订单支付帐单司机(送餐员)4.系统还需要处理以下情况新餐馆加盟餐馆更改了菜单雇佣了新的送货司机(送餐员)送货司机(送餐员)离职分析员需要一组模型来充分描述信息

系统的需求不同的模型分别显示了问题和解决方

案的不同部分5.1模型和建模5.1模型和建模5.1模型和建模5.1.1模型的作用

建立模型的过程能帮助分析员澄清和改良设计系统往往很复杂,模型能很好表示各部分之间的关系

模型便于项目组成员之间交流

模型有助于和系统用户之间进行交流并促进理解

建立的模型可以作为以后的维护和升级时的文档在建模中了解信息通过抽象降低系统的复杂性有助于回忆所有的细节有助于和用户及系统相关者进行交流为以后的维护和升级提供了文档

5.1.2模型的类型

数学模型:描述系统技术方面的一系列数学公式

描述模型:描述系统某些方面的叙述性的备忘录、

报表、列表、文字等图形模型:描述系统的图表或系统某些方面的示

意性表示三种常见模型:数学模型、描述模型、图形模型5.1.3用于分析和设计的模型状态图协作图

时序图用例图

类图结构化英语/伪代码数据元素定义数据流定义ERDDFD事件列表分析阶段创建的模型界面设计报表设计数据库设计

结构图

系统流程图

网络图

分布图设计阶段创建的模型5.2事件和系统需求信息系统的所有处理过程都是由事件驱动或触发的,

因此当定义系统需求时将所有事件罗列出来并加以分

析是非常有意义的事件:发生在某一特定的时间和地点、可描述并且系统应该

记录下来的事情事件和系统需求的关系:什么事件发生时需要系统做出响应,

能列出所有这样的事件应该说就可以搞清楚用户对系统的需求5.2事件和系统需求过赊购帐处理系统:外部三个事件,内部三个事件5.2.1事件的类型

外部事件:系统之外发生的事件,通常是由外部实体或

动作参与者触发的

临时事件:由于到达某一时刻所发生的事件

状态事件:当系统内部发生了需要处理的情况时所引发

的事件事件分三大类:外部事件、临时事件、状态事件5.2.1事件的类型外部事件应包括:外部实体的需要触发一个事务处理,如客户下订单外部实体想获得某些信息,如客户查询帐户信息数据发生改变需要更新,如客户地址变更管理部门想获取某些信息,如管理者需要销售情况分析报告临时事件应包括:所需的内部输出结果,如定期报表

所需的外部输出结果,如定期结算单、帐单等

突发的情况,如系统掉电、内存溢出、读写错误、缺页状态事件应包括:所有外部事件和临时事件都要考虑是否有状态事件发生,

如,销售引起库存变化等5.2.2事件定义客户走进沃尔玛客户在沃尔玛试穿衬衫客户购买一件衬衫

(该事件直接影响系统)客户想买一件新衬衫客户开车来到购物中心客户在Sears试穿衬衫导致影响系统的一个事物的一系列行为区分事件和随事件发生的一部分交互行为5.2.2事件定义外部事件应包括:外部实体的需要触发一个事务处理,如客户下订单外部实体想获得某些信息,如客户查询帐户信息数据发生改变需要更新,如客户地址变更管理部门想获取某些信息,如管理者需要销售情况分析报告临时事件应包括:所需的内部输出结果,如定期报表

所需的外部输出结果,如定期结算单、帐单等状态事件应包括:所有外部事件和临时事件都要考虑是否有状态事件发生,

如,销售引起库存变化等客户查询订单状态客户修改帐户信息客户退货用户想要一本商品目录客户想确定商品信息的有效性客户下订单客户修改或取消订单导致许多事件的某一特定客户的“事务”处理序列跟踪事务处理生命周期可以得到一系列事件5.2.2事件定义外部事件应包括:外部实体的需要触发一个事务处理,如客户下订单外部实体想获得某些信息,如客户查询帐户信息数据发生改变需要更新,如客户地址变更管理部门想获取某些信息,如管理者需要销售情况分析报告临时事件应包括:所需的内部输出结果,如定期报表

所需的外部输出结果,如定期结算单、帐单等状态事件应包括:所有外部事件和临时事件都要考虑是否有状态事件发生,

如,销售引起库存变化等系统崩溃,需要恢复数据库该备份数据库了用户该修改密码了用户登录系统用户需要更改密码系统要改变系统性能设置在设计阶段之前可以忽略的事件特别细节的事件在系统分析阶段不予考虑5.2.3系统需求建模:事件列表事件列表属于“描述性模型”事件表各段信息的格式如下事件触发器来源活动/用例响应目的地5.2.3系统需求建模:事件列表5.2.3系统需求建模:事件列表5.3事物和系统需求事件和事物的区别与联系:

事件–发生在瞬间,有一定的随机性

事物–客观存在,不以主观意志为转移

联系–事件的发生可以改变事物的状态或产生新的事物事物:在传统的开发方法中,事物就是构成系统存储

信息的相关数据在面向对象的开发方法中,事物就是在系统中

相互交互的对象飞机书汽车文档工作表雇员顾客医生病人最终用户系统管理员管区部门工段任务组工作组传感器定时器控制器打印机磁盘驱动器键盘显示器窗口鼠标菜单按钮航班服务电话登录退出合同购买订单支付仓库部门办公室工厂零售店桌面5.3事物和系统需求5.3.1事物的类型事物实物角色组织部门设备偶然事件、

事件或交互地点/位置5.3事物和系统需求5.3.2开发事物初始列表的过程第一步:收集可能得到的名词方法1:与客户谈话中获得方法2:使用事件表及关于每一事件的信息获得方法3:使用已有系统、当前过程及报表中获得第二步:将名词列表精简并记录假设/要检查的问题5.3事物和系统需求5.3.2开发事物初始列表的过程第二步:将名词列表精简并记录假设/要检查的问题(1)确定名词是否应包含在列表中是系统需要了解的独特的事物吗?在你所工作的系统的范围之内吗?系统需要记住多于这些项目的一个吗?(2)确定每个名词是否应该从列表中将其排除与你已经定义的某个其它事物是同义词吗?真的是从你已经定义的其他信息中产生的系统输出吗?这一输入真的可以导致记录一些你已经定义的其他信息吗?(3)对每个名词提出问题确定是否应该对其进行进一步的研究可能是你已经定义的其他事物的一些具体信息(属性)吗?是当假设变化时你可能需要的事物吗?5.3事物和系统需求开发事物初始列表的过程5.3事物和系统需求开发事物初始列表的过程包含包含订单#1043财务部红衬衫

尺寸16/32牛仔裤尺寸:

34长被订购工作在Smith先生事物之间自然发生的关系5.3事物和系统需求5.3.3事物间的关系关系:某些事物间自然发生的联系,比如客户

发送订单、雇员在某部门工作等5.3事物和系统需求5.3.3事物间的关系根据每件事物的关联数目来理解每种关系的本质非常重要基数(重数):发生在事物间关联的数目

例如一个客户发送量多个订单

一个雇员在一个部门工作等

基数可以:0,1,0..n,1..n二元关系:两种不同类型事物之间的关系,如Teacher与Student一元(回归)关系:同一类型的两个事物间的关系,例如一个人和

另一个人的婚姻关系三元关系:三种不同类型事物之间的关系,

如Course、Teacher和Studentn元关系:n(n为任意数)种不同类型事物之间的关系5.3事物和系统需求5.3.4事物的属性属性:有关事物的一条特定信息标示符(关键字):能唯一标志事物的一个属性复合属性:包括了许多相关属性的属性,如客户全名:名+姓5.3事物和系统需求5.3.5数据实体和对象数据实体:在传统的系统开发方法中,事物被称为数据实体对象:在面向对象的系统开发方法中,将某一个事物称为对象数据实体与过程是分离的对象将数据和处理数据的方法封装成一个单元要让某个对象执行

某种操作,可以让

另外一个对象给该

对象发送一个消息5.4实体-关系图传统的系统开发方法都将重点集中在数据存储需求上数据存储需求包括数据实体、数据实体的属性以及它

们之间的关系一个客户可以发送

0个或多个订单一个订单必须对应一个客户5.4.1ERD概念的实例5.4实体-关系图只能一个(强制)0或多个(可选)1或多个(强制)0或1个(可选)实体之间关系的基数符号5.4.1ERD概念的实例5.4实体-关系图带有属性的扩展ERD图*表示标识符或关键字5.4.1ERD概念的实例5.4实体-关系图5.4.1ERD概念的实例图5-21客户、订单和订单中的商品该图显示了实际的数据在事务处理中呈现的形式5.4实体-关系图5.4.1ERD概念的实例分析员在建模的过程中,常常对ERD进行细化的工作就是

处理多对多的关系由于关系数据库中不能直接实现多对多的关系,因此必

须建立一个单独的表,来消除多对多的关系

关联实体

–解决上述问题的人为增加的数据实体,它

一定包含两端数据实体的关键字5.4实体-关系图5.4.1ERD概念的实例5.4实体-关系图5.4.2RMO商店实例的ERD图“产品”可在多个目录中列出,而一个“目录”可以列出多个“产品”,需用一个关联实体“商品目录”“退回商品”是关联实体吗?复杂的多元关系“发货员”和“发货部门”的关系完全是一种业务规则,与公司规定相关5.5类图面向对象的方法也强调对系统中所包含事物的理解面向对象的方法给事物建立的模型即是“类图”“类”和“实体”是明显区别的5.5类图5.5.1有关对象类的更复杂的问题

概括/具体层次图–把类按照从最概括的父类到

最具体的子类的顺序进行排列的层次图,有时

也被称作继承层次图

继承

–允许子类共享其父类的所有的特征5.5类图5.5.1有关对象类的更复杂的问题

概括/具体层次图机动车辆小汽车卡车拖拉机轿车跑车体育用车机动车辆的概括/具体层次图(继承关系)5.5.1有关对象类的更复杂的问题

概括/具体层次图5.5类图订单电话订单网上订单邮件订单5.5.1有关对象类的更复杂的问题

整体/局部层次图:按照类之间的关联组件将类进行

结构化分解的层次图

聚合:对象及其各个部分之间的一种整体-局部关系

组成:对象及其与它不可分割的各个部分之间的一种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论