跟我学UML建模⼯具StarUML(第11部分)——应⽤StarUML创建顺序图的创建⽰例
1.1跟我学UML建模⼯具StarUML(第11部分)——应⽤StarUML创建顺序图的创建⽰例
1.1.1UML动态建模相关技术及应⽤
1、动态建模相关的技术
(1)在软件系统静态模型的基础上建⽴出相应的动态模型
在建⽴出软件系统的静态模型基础上,软件系统的分析和设计⼈员接下来就需要分析和设计软件系统的动态结构,并且建⽴出相应的动态模型。
因为软件系统的动态模型描述了软件系统随时间变化的⾏为,这些⾏为是⽤从静态模型视图中抽取出的系统瞬间值的变化来描述的。
(2)动态模型的主要内容
软件系统的动态模型主要包括UML顺序图、协作图、状态图、活动图,这些模型图便于分析软件系统的功能⾏为、印证和修改软件系统的静态结构,满⾜软件系统⽤户的功能和⾮功能性的需求,最终达到满⾜软件系统的功能⽬标。
2、交互图----可以对共同⼯作的对象体的⾏为建模
(1)交互图——主要包括协作图和顺序图
交互图主要⽤于定义软件系统如何实现相关功能的;因为它们能够逐步地显⽰⽤例的主要流程,这包括:在流程中需要什么对象、对象相互发送什么消息、什么⾓⾊启动流程、消息按什么时序发送等⽅⾯的信息。
(2)交互图中的“交互”含义
它描述了⼀个交互,由⼀组对象和它们之间的关系所组成,这包括在对象间传递的信息。
(3)顺序图和协作图的不同点
1)时序图(顺序图)
它强调消息时间顺序的交互图,描述类系统中类和类之间的交互,将交互建模成消息交换。下图为某个银⾏项⽬中⽤户取钱的顺序图⽰例:
2)协作图
和时序图⼀样,协作图也显⽰⽤例中特定情形的流程。但时序图按时间排序,⽽协作图则着重于对象之间的关系。
(4)顺序图和协作图⽰例
1)下⾯为⼀个软件系统中的⽤户注册的顺序图
2)⽽下⾯则为与前⾯的⽤户注册的顺序图相对应的协作图。
可以看出,协作图与时序图中的信息相同,但协作图显⽰了不同的流视图,在这个框图中,更容易看出对象之间的关系,但对象顺序信息则不够明显。为此,可以对⼀个情景同时创建时序图和协作图。尽管他们的作⽤相同,包含相同的信息,但视图有所不同。3、对象间的交互——消息
(1)什么是消息
所谓的消息是由⼀个对象发送并由另⼀个对象接收的已命名的对象,在UML的四个动态模型中均⽤到消息这个概念。
(2)消息传递
在⾯向对象技术中,对象间的交互是通过对象间消息的传递来完成的。通常,当⼀个对象调⽤另⼀个对象中的功能操作⽅法时,即完成了⼀次消息的传递。当功能操作执⾏完毕后,控制便返回到调⽤者。下图为在Rose⼯具中产⽣各种消息的⼯具按钮⽰图:
(3)通过消息进⾏合作
对象通过相互间的通信(消息传递)进⾏合作,并在其⽣命周期中根据通信的结果不断
地改变⾃⾝的状态。
4、消息的UML图形表⽰
(1)在UML中,消息的图形表⽰是⽤带有箭头的线段将消息的发送者和接收者联系起来,箭头的类型表⽰消息的类型、⽅向为从源对象指向⽬标对象,其上标有内容标签。
(2)同步消息⽤带三⾓箭头的实箭线表⽰如图:
(3)异步消息⽤带半叉箭头的实箭线表⽰。
5、消息的类型
(1)简单消息(Simple Message)
消息在单个控制线程中运⾏。⽤于描述控制如何在对象间进⾏传递,⽽不考虑通信的细节。
uml图用什么软件画
(2)同步消息(Synchronous Message)
调⽤者发出消息后必须等待消息返回,只有当处理消息的操作执⾏完毕后,调⽤者才可继续执⾏⾃⼰的
操作。
将产⽣出下⾯的同步消息:
(3)异步消息(Asynchronous Message)
当调⽤者发出消息后不⽤等待消息的返回即可继续执⾏⾃⼰的操作。异步消息主要⽤于描述实时系统中的并发⾏为,⽐如采⽤AJAX技术实现的消息。
将产⽣出下⾯的异步消息:
1.1.2UML动态建模中的顺序图
1、顺序图(序列图)
(1)什么是顺序图
顺序图作为交互图中的⼀种,它显⽰参与交互作⽤的参与者或对象,以及它们⽣成的按时间排序的事件。顺序图能够显⽰特定⽤例实例产⽣的事件并且侧重描述消息在对象之间如何传送等⽅⾯的信息。
顺序图由于是按时间顺序对控制流进⾏建模,因此主要⽤于对⽤例中的控制流的建模。它显⽰出随着时间的变化对象之间是如何通信。
(2)顺序图主要的作⽤
1)按时间顺序对控制流建模,主要⽤于对⽤例中的控制流的建模——体现⽤例的实现
过程。
2)它显⽰出随着时间的变化对象之间是如何通信的,同时也清楚地表⽰在实现某个⽤
例时所涉及的各个类。
由于顺序图表⽰了时间序列,便于分析交互的时序,但没有表⽰静态对象关系。它可以有效地帮助⼈们
观察系统的顺序⾏为。因此,顺序图⾮常适⽤于表⽰⾯向对象应⽤程序中消息流的交互。
顺序图反映了参与者与系统之间的交互,以销售为例,参与者为收银员,场景中对象有登录界⾯以验证权限、库存查询接⼝,⽤以判断库存中是否有数据、销售处理接⼝,其结果是从库存中减掉对应数量的图书。如下⽰图为某个项⽬中的图书销售顺序图⽰例:
2、顺序图中的各个坐标的含义
(1)序列图中的纵向维代表时间,按时间先后依次向下排序。