顺序图描述的是用例实例,一个用例是多个用例实例的抽象,所以一个用例描述多种事件流:正常的事件流,可选的事件流,异常的事件流。
那么对于一个用例,要用顺序图描述每一种用例实现(具体的事件流),所以就比较繁琐,一个用例要画多个顺序图(至少三个)。
这一点流程图有强的描述能力,可以在一个图中描述所有分支(通过条件判断分支)。但流程图的缺点是指描述控制流,无法描述对象和信息流。来源于流程图的带泳道和对象流和同步条的活动图补充了不足,可以用来描述用例,也可以通过泳道描述对象,所以可以代替顺序图描述用例实现中对象间的交互。但缺点是对象间的消息不明了。
可以增强顺序图的描述能力,改变顺序图的描述角度:描述用例而不是用例实例,增加分支判断,这样就可以在一张顺序图中描述一个用例的所有的事件流。
以往的流程图描述业务逻辑有很强的功能,但由于面向对象的缘故,要把职责分配给对象,所以有了顺序图,可是顺序图是一种实例图(描述一个具体的场景),所以损失了抽象能力,抽象由用例图和类图描述,但是顺序图在其中起的过渡作用不够,一个用例图,要画很多顺序图才能描述清楚,可在抽象成类图以后,又从类图很难找到和顺序图的对照关系。类图的关系抽象的太笼统了(从图形可视角度讲)。所以顺序图要作为一种抽象描述更合理,因为类图虽然可以抽象关系,但不能抽象逻辑(流程关系)。
当然实例场景的描述,也可以由现有的顺序图来完成。
新闻热点
疑难解答