前言在我的工作中,用的最多的就是时序图了。可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过的了。 时序图简介首先,时序图用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或者状态机中引起转换的事件; 时序图中的元素时序图中包括的建模元素主要有:角色、对象、生命线、控制焦点、消息和Combined Fragments。接下来,分别介绍每一个元素,以及展现它们在Astah中的表现形式。 角色如下图: 图中的小人,就表示一个角色,这里的角色,可以是人,或者是其它的子系统或者系统。 对象如下图: 每条生命线上都关联着一个对象,上图中有三条生命线,可以看到有三个对象,但是三个对象的命名方式都是不一样的。在使用Astah画时序图时,选择一个对象,在属性中可以更改这种命名,分别介绍一下这三种命名方式:
其实,三种命名方式,没有特别的要求,哪一种能让阅读该时序图的人一眼就能看明白,就使用哪种,而我一般使用的是第一种和第二种,第一种信息量多,在单例时,可以用来表示;第二种,画时序图时不用刻意的去强调实例名,只需要作出类名就好了;但是,第三种,我一直不知道存在的意义,给你一个实例名,其实从图中真的看不出其的类名。所以,我个人还是建议大家使用第一种和第二种。 生命线没有什么多说的,从上面的两张图中,我们都可以看到一条向下延伸的虚线,而这条虚线就是表示的生命线,表示一个对象存在的时间。 控制焦点控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示。如下图表示: 消息消息一般分为同步消息、异步消息和返回消息;如下图表示。 同步消息就是指消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。 自关联消息表示方法的自身调用以及一个对象内的一个方法调用另外一个方法,如下图: Combined Fragments表示带有一些特定条件发送的消息。 http://image80.360doc.com/DownloadImg/2014/12/1914/48231452_6.png 如上图,就表示,循环(loop)发送GetProperty消息获得属性。在使用Astah画时序图时,选择一个Combined Fragments之后,可以在其对应的属性面板更改对应的发送条件。里面介绍了很多,此处列举一二:
总结关于时序图,就到此为止,讲的不深,主要是一些关于时序图的概念,没有涉及到应用,以及实际案例的分析,总是觉得缺点什么,是吧。没有关系,大家可以参考这里:这里。我的这篇博文中的很多内容也是参考这里的。希望大家满意。也希望大家有所收获,下一篇博文再见。 |
|