UML序列图

最近项目处于设计阶段,需要画一些序列图,但是有些细节记不太清楚,所以找了一篇文章重新学习了一下.参考的是这边文章:http://www.uml.org.cn/oobject/201909232.asp
有些文字感觉说的很专业,就直接引用了

图的目的

序列图主要用于按照交互发生的一些列顺序,显示对象之间的这些交互.它的主要目的是把用例表达的需求,转换为进一步,更加正式的精细表达.用例常常被喜欢为一个或多个序列图.

符号

在UML2.0中引入了一个符号叫框架元件.很多人把它当作图形边化界来使用

除了提供一个图形化的边框之外,框架元件也有描述交互的重要功能

注意:统治的标签以sd开始,具体格式如下:

图类型 图名称

UML规范提供特定的文本值,比如:sd代表序列图,activity代表活动图,use case代表用例图

基础

序列图的主要目的是定义事件序列,产生希望的输出,它的重点是消息产生的顺序.图按照水平和垂直的维度传递信息: 垂直维度从上而下表示消息/调用发生的时间序列,而且水平维度从左到右表示消息发送的对象实例

生命线

当绘制序列图时,首先要放置生命线符号元件.生命线表示序列中建模的角色或对象实例.生命线包括上方的方格,以及一条由上至下的虚线.生命线名字放置到方格内.如上图的Bank,AccountLedger等.生命线的命名格式如下:

实例名:类名

上例中,类型名是Bank,实例名是buyersBank,并不是所有生命线都包含实例名. 序列图可以包含匿名的生命线

消息

为了便于阅读,序列图的第一个消息总是从顶端开始,并位于图的左边,然后是后序消息. 我们通过带箭头的线从消息发送放指向消息接收方.因为消息分为同步和异步两种,并且我们往往需要知道消息执行结果,UML用以下线段来表示:

消息返回是可选的,个人习惯加上返回值,因为可以提供更多的细节.

上例是一个财务分析的序列图,分析员通过getAvailableReports()向报表系统发送消息,报表系统然后向安全系统发送消息,验证当前用户是否合法,验证通过后返回

约束

对象交互时,有时必须满足一定的条件才能发送消息.在UML1.x中,通常把约束放到消息名字之前.约束的格式如下:

[Boolean Test]

如上图,只有余额大于转账金额时才允许扣款,我们把约束balance >= amount放到消息名deduct(amount)前面

发表评论

邮箱地址不会被公开。 必填项已用*标注