团队沟通利器之UML—— 序列图

一:用途

     对一个开发团队来说,序列图是非常重要的,因为序列图用于描述系统内部一群对象之间的交互情况,尤其在做爬虫这种

业务复杂性的项目,序列图可以让我们更快的理清这些复杂流程。

 

二:基本元素

   序列图中的uml元素还是相对比较少的,先截个图。

1:生命线

首先我们要知道序列图有一种动静结合的特点,以类图作为静态结构,用例图作为动态行为的过程。所以我们可以认为生命线

就是一个类,比如下图中,customer:Customer ,前者是类的实例,后者是类名,图中的“X”是类的析构函数,也就是销毁。

这里有一个注意的地方,我们将图中的”Actor“属性设为True是,该生命线就会变成参与者生命线。

2:同步,异步

    说起同步或者异步,我想大家第一反应可能就是ajax或者Thread,既然序列图是描叙对象之间的交互就必然存在同步

或者异步,在uml元素中,“同步”是具有来去箭头的,而”异步“就是单向箭头。

从上面的序列图中,我们可以看出Customer向Order下订单,下单成功后同时异步请求email发送邮件,既然是异步,也就不

存在影响主流程了。

3:创建

   在交互段内如果要创建别的生命线(类对象),那么此时需要使用创建消息,不过在实际应用中用的还是比较少的,毕竟万事

万物遵循”八二原则“的。

   在vs2010里面有支持序列图的”反向工程“,蛮有意思的,我们先看一下,我在Program里面实例化了一个Test类,看看在序列

图中是否用Create来实现。

 

4:组合片段

    现在我们也知道了,序列图中是一群对象在交互,那么交互必然存在着逻辑,比如if/else,for等等,在uml中有12中这样的业务

逻辑的组合片段,同样八二原则,了解一些常用的即可。

通过对比两张图,我想大家肯定清楚下面的那张序列图所表达的意思。

 

最后上一张综合一点的图,有了上面的简述,我想这张图大家应该也能看得懂。

posted @ 2012-10-16 23:17  一线码农  阅读(8143)  评论(22编辑  收藏  举报