一步一步学习UML(3)-时序图

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hjs218/article/details/82821246

1、时序图简介
时序图(Sequence Diagram),又名序列图、循序图,是对象之间交互的UML交互图,这些对象是按时间顺序排列的。时序图中建模元素主要有:角色(Actor)、对象(Object)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。
2、时序图元素
角色(Actor)
系统角色,可以是人、其他的系统或子系统。
对象(Object)
对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色
对象一般包含以下三种命名方式:
第一种方式包含对象名和类名。
第二种方式只显示类名不显示对象名,即为一个匿名对象。
第三种方式只显示对象名不显示类名。
在这里插入图片描述
生命线(Lifeline)
生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。
在这里插入图片描述
控制焦点(Focus of control)
控制焦点代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容。
消息(Message)
消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。下图只列举了常用的几种消息,还有其他比如异步消息,删除消息等
在这里插入图片描述

3、 通过时序图分析业务流程的优缺点
优点:
角色之间的交互一目了然、层次清晰;
不用考虑或考虑“系统角色”,两种情况分别代表系统上线前后的流程变化,即上线前可以不用考虑“系统角色”,上线后必须把“系统角色”考虑流程变化;
将系统作为角色加入到流程中,帮助我们提炼出更合适的用例(UseCase)。
缺点:
不太适合表达复杂的分支结构,可以考虑活动图或者还是时序图,选择重要的分支,每个分支只画一个。
4、总结:
通过时序图进行详细设计,如果架构设计和数据库设计都能做好,其实已经解决了功能设计的大部分问题了,并需要全部用例进行详细设计,只需要挑选有价值、难度较大等部分进行详细设计就可以。
PS:以上图是通过starUML工具画的,Mac上个人觉得用起来还不错。

猜你喜欢

转载自blog.csdn.net/hjs218/article/details/82821246
今日推荐