- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
状态图 高天迎 状态图 1 状态机 2 状态图 3 状态 4 事件 5 转换 6 状态图建模技术 7 实例——图书馆管理系统的状态图 1 状态机 状态机是展示状态与状态转换的图,包含了一个类的对象在其生命期间所有状态的序列以及对象对接受到的事件所产生的反应。 利用状态机可以精确地描述对象的行为。 UML用状态机对软件系统的动态特征建模。 组成: 状态(State):模型在其生存周期内的状况 转换(Transition):不同状态之间的联系 事件(Event):触发状态的转换 活动(Activity):一系列动作 动作(Action): 2 状态图 状态图表示状态机。一个状态机可以用多个状态图描述。 状态图表现从一个状态到另一个状态的控制流。 状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。 组成: 状态(State) 转换(Transition) 初始状态(Start State) 终结状态(End State) 判定(Decision) 2 状态图 示意图: 状态图的用途 UML的状态图主要用于建立类的一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。 状态图的目的是为具有以下两个特性的属性建模: 属性拥有很少的值; 属性在这些值之间的转移有一定的限制。 例:类SellableItem有两个属性salePrice:Money和status:Inspection。 其中salePrice的取值范围为正实数,status的取值为received, inInspection, accepted, rejected等,则应根据属性status建立状态图。 说明: 状态图是对系统的动态行为建模。 状态图描述了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。 状态图是显示状态机的一种方式,另一种显示状态机的方式是活动图。 Rose中,状态图不生成代码,但状态图在检查,调试和描述类的动态行为时非常有用。 状态图适合于描述跨越多个用例的单个对象的行为,而不适合描述多个对象之间的行为协作,因此,常常将状态图与其它技术组合使用。例如,交互图适合于描述单个用例中的多个对象的行为,活动图适合于描述多个对象和多个用例的活动的总次序。 3 状态 3.1 概述 3.2 状态名 3.3 内部转换 3.4 入口动作与出口动作 3.5 简单状态 3.6 组成状态 3.7 历史状态 3.1 概述 一个状态是指在对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。 状态由一个带圆角的矩形表示。 状态图标可以分为三部分: 名称 内部转换 嵌套状态 3.1 概述 状态图中的状态一般是给定类对象中的一组属性值,这组属性值是对象所有属性的子集。 在对系统建模时,我们可以只关心那些明显影响对象行为的属性以及由他们表达的对象状态,而不用理睬那些于对象行为无关的状态。 3.1 概述 状态种类: 简单状态(Simple State) 组成状态(Composite State) 状态组成: 状态名(Name) 活动(Activity) 入口动作(Entry Action) 出口动作(Exit Action) 说明: 所有对象都具有状态,状态是对象执行了一系列活动的结果。当某个事件发生后,对象的状态将发生变化。 状态图中定义的状态有:初态、终态、中间状态、组合状态、历史状态等。 一个状态图只能有一个初态,而终态可以有多个,也可以没有终态。 3.2 状态名 状态名表示状态的名字,通常用字符串表示。 一个状态的名称在状态图所在的上下文中应该是唯一的。 状态允许匿名。 状态的名字通常放在状态图标的顶部 3.3 内部转换 内部转换只有一个源状态而没有目标状态,因此转换激发的结果并不改变状态本身。 如果一个内部转换带有动作,动作也要被执行,但是由于没有状态改变发生,因此不需要执行入口和出口动作。 内部转换和自转换不同,虽然两者都不改变状态本身,但是自转换会激发入口动作和出口动作的执行,而内部转换却不会。 3.4 入口动作与出口动作 入口动作和出口动作表示进入或退出这个状态所要执行的动作。 入口动作用“entry/要执行的动作”表达,而出口动作用“exit/要执行的动作”表达。 3.5 简单状态 简单状态是指不包含其他状态的状态。 简单状态没有子结构,但它可以具有内部转换、入口动作和出口动作等。 3.6 组成状态 组成状态是可以包含一些嵌套的子状态的状态。 组成状态可以使用“与”关系分解为并发子状态,或者通过“或”关系分解为互相排斥的顺序子状态。
文档评论(0)