动态建模

静态结构和动态行为,uml提供图来描述系统的结构和行为。uml提供图来描述系统的结构和行为,类图最合适于描述系统的静态结构,类,对象以及它们之间的关系,而状态,序列,协作和活动图则适合于描述系统的动态行为,即描述系统中的对象在执行期间不同的时间点是如何动态交互的。

系统中的对象需要相互通信:它们相互发送消息。通常情况下,一个消息就是一个对象激活另一个对象中的操作调用,对象是如何进行通信以及通信的结果如何则是系统的动态行为,也就是说,对象通过通信来协作的方式以及系统中的对象在系统的生命期中改变状态的方式是系统的动态行为。一组对象为了实现一些功能而进行通信称之为交互,可以通过三类图来描述交互:序列图,协作图和活动图。

状态图:描述对象在生命周期内处于哪些状态,每一种状态的行为以及什么样的事件引起对象状态发生改变。

序列图:描述对象如何相互交互和通信,序列图中最重要的是时间,通过序列图,可以看出为了完成某些功能一组对象如何发送和接收一序列消息。

协作图:描述对象交互,侧重于空间的协作,明确地给出对象间的关系(链接)。

活动图:描述对象交互的,侧重于工作的描述,当对象交互时,需要执行一些工作或活动,这些活动以及它们的出现顺序就是活动图所要描述的。

序列图,协作图,活动图都是用来描述对象交互的,在具体描述一个交互时就需要为此做出选择,具体如何选择起决于描述哪个方面:时间?空间?还是活动?

除了静态结构和动态行为外,还可以从功能的角度来描述,功能的角度主要是描述系统的功能,用例就是从功能的角度来描述系统,它描述角色如何使用系统,类和交互实现系统中的用例。交互通过序列图,协作图或活动图来描述,所以功能视图和动态视图之间也存在着联系。在用例的实现中所使用的类在类图和状态图中描述。

扫描二维码关注公众号,回复: 13027541 查看本文章

一,消息

消息是连接发送者和接收者的一根箭头线,箭头的类型表示消息的类型。

简单消息:表示普通的控制流,它只是表示控制是如何从一个对象传给另一个对象,而没有描述通信的任何细节。

同步消息:一个嵌套控制流,典型情况下表示一个操作调用。处理消息的操作在调用者恢复执行之前完成。返回可以用一个简单消息来表示,或当消息被处理完毕隐含的表示。

异步消息:异步控制流,没有直接返回给调用者,发送者发送完消息后部需要等待消息处理完成而是继续执行。

二,状态图
状态图主要用来描述对象,子系统,系统的生命周期,通过状态图可以了解到一个对象所能到达的所有状态以及对象收到的事件对对象状态的影响。所有的类,只要它有可标记的状态和复杂的行为,都应该有一个状态图。
状态图指定对象的行为以及根据不同的当前状态行为之间的差别,同时,它还能说明事件是如何改变一个类的对象的状态。
状态时对象操作的前一次活动的结果,通常情况下,状态对象的属性值以及指向其它对象的链来决定的。类的状态由类中的指定属性来说明或对象的状态由对象中的通用属性的值来确定。
状态图可以有一个起点和多个终点,起点用一个黑圆点表示,终点用黑圆点外加一个圆表示。状态图中的状态用一个圆角四边形表示,状态之间为状态转换,用一条箭头的线表示。引起状态转换的事件可以用状态转换线旁边的标签来表示。
一个状态一般包含三个部分,第一部分为状态的名称,第二部分为可选的状态变量的变量名和变量值,属性指的是状态图中类的属性,第三部分为可选的活动表,列出有关的事件和活动。在活动表中,常常使用下面三种标准事件:进入,退出,做。
活动部分的语法如下:
 

猜你喜欢

转载自blog.csdn.net/jinzhengquanqq/article/details/5871596