当前位置:   article > 正文

如何用在UML序列图中表示分支_uml序列图分支

uml序列图分支

考虑引起分支的原因:

1。异常处理,比如接收到错误的消息,网络断开等

2。复杂的业务流程,比如在订单处理程序中,对于vip客户和普通用户可能分别使用不同的数据,而最后还要统一进入计价和发货流程

不同的情况下,分支的流程可能很大或很小,很难有完善的办法来满足所有的情况。

原始的方法是在序列图中放弃分支,因为引起分支最主要的原因是异常情况,而异常情况的处理一般都很简单,或者进入标准的处理办法,这样就可以在发生异常的地方加个小小的注释,这样既不影响整体流程,又保证了不丢失细节信息。然而难于处理的是正常的分支,都要有很复杂的处理,

UML2.0提到了两种方法来临时解决分支的概念,一种是在顺序图中产生分支的地方插入一个引用,对于每个分支,分别用一个单独的序列图来表示,这种方法要求分支后不再聚合,并且各分支间没有太多具体关联。这种方法类似于函数的重用,比如某个分支在很多用例中被用到,可以在各个序列图中引用它而避免重复。代价则是序列图变得多而繁杂,让人看起来不能够一目了然。

对于非常复杂的业务来说,可以采用流程图和顺序图相互辅助的方法来表达完整的信息,顺序图侧重组件交互的时间关系,活动图侧重组件交互的空间关系,流程图侧重控制流程的时间关系,我一直觉得UML中的活动图和状态图过于细节,没办法和顺序图很好的结合(也许是功力不够:))。

再进一步说,在实现真正的MDA之前,采用UML来描述的目的是为了更好的理解业务和实现,而业务和实现是一个立体的景象,空间和时间都是它的一个方面,因此用静态的顺序图或者流程图没办法同时表示它的时间和空间。我所想到的一个办法是:在组件图上用动画效果演示交互流程,就像围棋打谱程序中对于参考图的处理。期待这样的工具早点出来。

 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/577789
推荐阅读
相关标签
  

闽ICP备14008679号