信息系统分析与设计案例2010-5.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息系统分析与设计案例2010-5

内容 5 状态图 简介 从不同的角度审视一个系统 如何一个类被系统中不同的类所影响 类的对象是如何表现来响应影响它们的事件 一个展示类的对象的所有可能表现的模型被称为状态图 在面向对象建模中,状态图是一个重要的技术,但在小的信息系统中它们没有被广泛地应用 一个状态图对一个类的对象所能具有的不同状态和引起对象从一个状态转变到另一个状态的事件进行建模 状态和事件-1 状态的含义 一个类对该类所有的对象提供了一个模版或模式。 作为一个例子,图5.1表示了一个类BankAccount和该类的两个对象。 诸如BankAccount类的每个对象有相同的属性(虽然值不同)和相同的操作。 这意味着类的每个对象都潜在地具备同样范围操作的能力 。 然而,一个对象在系统生命周期中的实际表现不仅仅取决于它的操作,而且也取决于决定它所在状态的事件。 在这里,对象的状态描述了其在满足某些条件(诸如银行账户上有钱)或等待一个事件(例如某人试图取款或存款)所处的情形。 状态和事件-2 状态的含义(续) 一个事件是发生的某些事,其对系统有意义,并至少影响系统的一个类。 我们能通过察看对象的属性值和它同其它对象的联系来区别是否一个对象处于一个特定的状态。 例如,如果一个BankAccount对象是在信用状态,其存款属性的值将是正数或零,但是如果它是在透支状态, 存款属性值将是负值。 在Wheels案例研究中,我们能告诉一辆车是否租出去了,因为有一个联系从 Bike对象到一个活动的Hire对象。 构建状态图 -1 例子的背景 这个例子涉及一个人力资源系统,其中有一个Job Application类非常复杂,需要画一个状态图。 该图展示了Job Application类对象的所有可能的不同行为 。 当一个申请表格被收到时产生一个Job Application对象并记录下细节。 然后,申请由一位经理阅读,申请可能被考虑,或者被拒绝。如果拒绝,该申请被存档6个月,到时被丢弃。 如果申请被考虑,发出面试细节,并且通常由申请人来决定面谈。 一旦进行面试,申请人可能没有通过;在这种情况下,一封拒绝信被寄出,该申请被存档6个月然后丢弃 。如果申请人被提供了工作,一封offer信被寄出。如果offer被申请人拒绝,该申请被存档6个月然后丢弃;如果接受,申请结束,另外的过程开始。 在申请过程中,申请人可能在任何时间撤回申请。 构建状态图 -2 绘制状态图 我们需要选出能发生的事件和Job Application对象能具备的不同状态(参见表5-4)。 一个对象在发生任何事之前,总是从起始状态开始其生命周期。 我们能从这个表中看出它不仅有许多状态,而且有三种不同的方式达到一个停止状态。 在状态图中对个停止状态是常见的,因为一个对象终止其生命的方式将取决于它所经受的特殊事件系列的。相反,在状态图中仅有一个起始状态,因为所有类的对象以相同的方式产生。 在表中分别出现的多个事件实际上是相同的事件,但带有不同的条件。例如,‘read by manager’事件有条件拒绝‘rejected’和接受‘shortlisted’。 这些条件在状态图中被表示在相关的转换标签中转换条件部分的方框中。 构建状态图 -3 绘制状态图(续1) 在这个阶段,我们也应该检查是否存在任何系统必须执行的行动,以响应一个事件。这些将包括在相关转换的标签中。 在 Job Application例子中,有两个行动,‘send rejection letter’ 和 ‘send offer letter’。 我们从起始状态、产生Job Application对象的事件、以及对象将进入的状态出发,来开始构建状态图。图5.4表示了该图的第一阶段。 我们能通过决定在Job Application对象处于“Application logged”状态时可能产生什么事件,并增加这些事件来构建该图。图5.5表示了构建过程的下一个阶段。 构建状态图 -4 绘制状态图(续2) 我们逐一将表中的事件和状态加到图中,直到表中的每一项被包括,然后我们返回来确认我们有没有遗漏应该包括在转换中的任何转换条件和行动。 这里值得注意的是行动也能被包括在状态中(在状态标签中用关键词 ‘do/...’ 表示)。行动的类型通常描述成一个活动,活动在进行中(不是瞬间)能被一个事件所中断。 例如,可能有一个活动‘send for references’同‘Shortlisted’状态相关联。 在这个阶段的状态图在图5.6中表示。 构建状态图 -5 绘制状态图(续3) Job Application类的行为描述表示了申请人可能在任何时候撤回申请。 为了在图5.6中的状态图中包括这点,我们需要增加第三个终止状态,然后从图中的四

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档