UML建模工具软件StarUML从入门到精通——如何应用StarUML创建UML状态图的应用示例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2)应用转换连接“初始状态”和“注册用户”状态
(6)再添加其它的状态和 转换方式 1)“注册用户”通 过“系统登录”转换为 “会员用户”
如下示图为在StarUML工具软件中所提 供的复合(嵌套)状态(Composite State) 工具按钮的图示例。 7、或关系(如下图所示)说明在某一时刻仅 可到达一个子状态
例如一个 处于行驶状态 的汽车,在 “行驶”这个 复合状态中有 向前和向后两 个不同的子状 态,在某一时 刻汽车要么向 前,要么向后 (倒车)。
8、与关系说明复合状态中在某一时刻可同时到达多个子 状态(称为并发子状态) 具有并发子状态的状态图称为并发状态图。
9、转移(或者转换)
(1)转换 1)转换是状态间的关联,它们用于对一个实体的不同状 态间的关系建模。 2)在UML状态图中采用带箭头的连线来表示( ),状 态的变迁通常是由事件触发而产生的,此时应在转移上 标出触发转移的事件表达式。
(3)中间状态 1)初态和终态之外的状态称为中间状态, 采用圆角矩形表示( )。 2)如下示图为在StarUML工具软件中所 提供的中间状态(简单状态Simple State)工具按钮的图示例。
(4)复合(嵌套)状态 1)一个状态可以进一步地细化为多个子状态,我们将可以进 一步细化的状态称作复合状态。 2)子状态之间有“或关系”和“与关系”两种关系。 3)如下为一个复合(嵌套)状态的图示例。
因此,在软件系统的分析设计中创建出一个UML状态图是为 了达到以下的研究目的: 1)研究类、角色、子系统、或组件的复杂行为。 2)建模实时软件应用系统。
6、UML状态图中定义的状态类型
在UML状态图中定义的状态主要有:初态、终态、中间状态、 复合状态等类型。
(1)初态 1)它是状态图的起始点,一般都把初始状态放置在状态图的 左上角。在UML状态图中的初始状态被建模成一个实心圈 ( )。 2)如下示图为在StarUML工具软件中所提供的初态工具按钮 的图示例。 (2)终态 1)它是UML状态图中的终点状态(结束的状 态),一般都把最终状态放置在状态图的 右下角。 2)在UML状态图中的最终状态被建模为一个 带边界的实心圆( ); 3)一个UML状态图只能有一个初态,而终态 则可以有多个。 4)如下示图为在StarUML工具软件中所提供的终态工具按钮的图 示例:
如何应用StarUML 创建UML状态图的应用示例
1、状态机图和状态机图中的状态
(1)状态机图 UML状态图(也称UML状态机图)是展示对象状态与状态转 换的视图,在UML中,状态机图用于对具有事件驱动的特性的动 态行为的建模。 (2)状态机图中的状态 1)状态是状态机图的重要组成部分,所有对象都具有状态 ,状态是对象执行了一系列活动的结果。 2)当某个事件发生后,对象的状态将发生变化。
(1)在StarUML工具软件中与状态图相关的工 具按钮 1)一般的工具按钮
2)高级工具按钮
3)注释说明相关的工具按钮
(2)添加一个状态图
(3)在左边的Toolbox面板中将自动地出现与状 态图相关的各个工具按钮
(4)命名该状态图为“BBS前台注册用户的状态 图”
(5)在状态图中添加各个状态及其转换 1)游客用户通过系统注册而成为注册用户 此时的游客用户的状态将从“游客用户”的初始状态转换 为“注册用户”状态。
(3)为单个的对象和共 同工作的对象建模 使用UML交互图可以 对共同工作的对象群体的 行为进行建模,而使用状 态图,则可以对单个的对 象行为进行建模。 因为状态图能够说明 对象在它的生命期中响应 事件所经历的状态序列以 及它们对那些事件的响应。 (4)可以了解类的动态行为 软件系统的分析人员和开发人员通过状态图能够更好地了 解系统中类的动态行为,有助于理解系统中的复杂业务逻辑。
(1)当功能行为的改变和状态有关时才需要创建出UML状态图, 因为通过状态图可以显示对象在其生命周期中依次经历的各种状 态。 (2)但如果要表示由系统内部生成的功能操作(而非外部事件 )驱动的事件流时,则一般使用UML活动图。
(3)如下给出一个Account对象的状态图示例:
5、为什么要使用UML状态图 (1)动态特性是由事件所触发的
ຫໍສະໝຸດ Baidu
10、状态图的建模过程—— 创建UML状态图的一般步骤如下
(1)识别一个要对其生命周期进行描述的参与行为的类。 (2)对状态建模,即确定对象可能存在的各种状态。 (3)对事件建模,即确定对象可能存在的事件和相应被执行的 动作。 (4)对建模结果进行精化和细化。
11、在StarUML工具软件中创建UML状态图的 建模示例
2、什么是状态图
用来描述一个特定对象的所有 可能状态及其引起状态转移的事件 ,从而可以实现对单个的对象行为 建模。
3、状态图的主要作用
大多数面向对象技术都用状态图表示单个对象在其生命周期 中的行为,同时也显示了该实体如何根据当前所处的状态对不同 的时间做出反应的。
4、在什么应用场合中应该要采用状态图
1)一个完全静态的系统是无任何应用价值的,因为没有 事件发生也就不可能产生出具体的功能。 2)所有真正的软件应用系统自身都含有某些动态的特性, 并且这些动态的特性是由内部或外部发生的事件所触 发。 3)比如,在一个ATM机上,动作是由一个用户按下相关 的功能按钮引发而开始一个事件; 4)比如,在一个自动机器人中,动作是由机器人碰上一 个对象而引发的; 5)比如,在一个网络路由器中,动作是由检测消息缓冲 区是否溢出而引发的。 (2)如下图为一个图书销售业务的状态图示例
3)如果转移上未标明事件,则表示在源 状态的内部活动执行完毕后自动触发 转移。
4)如右示图为在StarUML工具软件中所 提供的状态转换(Transition)工具 按钮的图示例。
(2)转换的组成 在UML状态图中的转换由四个部分组成,它们分别是: 1)源状态(Source State) 2)目标状态(Target State) 3)触发事件(Trigger Event) 4)监护条件(Guard Condition)