1.1跟我学UML建模工具StarUML(第11部分)——应用StarUML创建顺序图的创建示例
(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)简单消息(SimpleMessage)
消息在单个控制线程中运行。用于描述控制如何在对象间进行传递,而不考虑通信的细节。
(2)同步消息(SynchronousMessage)
调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可继续执行自己的操作。
将产生出下面的同步消息:
(3)异步消息(AsynchronousMessage)
当调用者发出消息后不用等待消息的返回即可继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为,比如采用AJAX技术实现的消息。
将产生出下面的异步消息:
1.1.2UML动态建模中的顺序图
1、顺序图(序列图)
(1)什么是顺序图
(2)顺序图主要的作用
过程。
例时所涉及的各个类。
2、顺序图中的各个坐标的含义
(2)横向维则代表不同的主角或对象。
3、顺序图中的组成
序列图包含如下的模型元素:对象、消息、生命线、激活期(点)。
4、顺序图面向不同的人员所起的作用
(1)软件系统的用户
软件系统的用户从中可以看到业务实现过程的细节(因为每个用例则通过顺序图中的一个或者多个场景来精确描述)
(2)软件系统的分析人员
(3)软件系统的开发实现人员
软件系统的开发实现人员看到需要开发的对象和它们的操作,因为对象间的通信通过在对象的生命线之间画出消息来表示。
软件系统的测试人员能够通过顺序图看到过程的细节,并根据这个过程开发出测试用例。