Chinaunix首页 | 论坛 | 博客
  • 博客访问: 968906
  • 博文数量: 134
  • 博客积分: 7443
  • 博客等级: 少将
  • 技术积分: 1411
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-10 20:18
文章分类

全部博文(134)

文章存档

2012年(7)

2011年(29)

2010年(16)

2009年(6)

2008年(18)

2007年(58)

分类: 项目管理

2008-10-29 13:00:45

N同学:问一下,如何在UML序列图中,画出分支和循环。
   我: UML2.0中,使用了画框的方法表现分支和循环。但是我建议不要使用。

N同学:为什么?
   我:序列图,重点要表现的是多个对象之间的协作关系,表现复杂的流程或算法并不是其
       所擅长。画出的分支和循环看上去很乱.

N同学:老大,客观上是存在分支和循环的呀,不是我想画呀。
   我:很多的分支和循环意味着复杂的算法或流程,如果存在复杂的算法或流程,使用另
       外单独的流程图来表现比较好。

N同学: 我晕,使用流程图,没有办法表现多个对象之间的交互呀。
   我:如果在同一个场景中,同时有复杂流程和交互过程要表现,那就画两个图。

N同学:画一个流程图和一个序列图?
   我:对,不同的图表现不同的视面,每个图都表现的简单和清晰。

N同学:哦,听上去很有道理,我考虑下。
   我:那你先考虑。其实我还没有说完呢。
 
(过了一会)
 
N同学:你看看我这个序列图(图中表现的是某种消息的接收和处理),你说序列图上不考虑分支。
      可是你看我这个分支,是根据接收到消息类型来决定分发给不同的【消息处理器】。没有办
      法画呀,我不能把所有的调用都画上吧?那样看上去像顺序调用所有的【消息处理器】。
   我:消息类型为什么不是固定的?

N同学:我晕,消息类型就是多个呀。
   我:呵呵,其实我的意思是,每一个序列图都是针对一个特定场景的,特定场景肯定是
       针对某种具体消息类型的处理。

N同学:哦。难道每个消息类型都要一个场景,要画很多序列图了。
   我:如果需要的话,可以画多个。但一般不需要,比如,像你这种情况,每种消息的处理
       过程其实是相似的。选定一个典型的场景就可以了,其他的可以类比出来,文字说明
       下就可以了。

N同学:有道理,我再考虑下。
   我:其实,这正是我刚才想说的:对同一个处理过程,序列图是针对一个特定场景的,
       而流程图直接说明处理流程,是针对所有场景共同流程。这是分开画序列图和流程图
       的另外一个原因。

N同学:我知道了,每次都画两种图,这真够麻烦的。
   我:谁让你都画了?如果有复杂的流程要说明才画流程图,有复杂的协作关系才画顺序图。
       如果流程也简单,协作关系也不复杂,干脆一个都不用画。简短文字能说明的,画图
       干嘛。 ---一切从实际出发吗。

N同学:那我这个还画不画?
   我:那只能你自己判断----我对你要描述的东西了解还不全面。
  
  
  
      
 
 
阅读(8698) | 评论(1) | 转发(0) |
0

上一篇:盖茨是这样发家的

下一篇:Unix战争

给主人留下些什么吧!~~

chinaunix网友2008-12-03 09:40:15

初学者需要明确的方法,孤立的简单规则,然而老手却给出一堆有复杂联系的观点,甚至是上升到方法论高度的思想。矛盾呀。