UML 用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
UML 用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,
然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。
1、包含(include)
包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动
作(行为片断),以便多个基(Base)用例复用。基用例控制与包含用例的
关系,以及被包含用例的事件流是否会插入到基用例的事件流中。基用例可以
依赖包含用例执行的结果,但是双方都不能访问对方的属性。
包含关系对典型的应用就是复用,也就是定义中说的情景。但是有时当某用
例的事件流过于复杂时,为了简化用例的描述,我们也可以把某一段事件流抽
象成为一个被包含的用例;相反,用例划分太细时,也可以抽象出一个基用例,
来包含这些细颗粒的用例。这种情况类似于在过程设计语言中,将程序的某一
段算法封装成一个子过程,然后再从主程序中调用这一子过程。
例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,
那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、
编辑用例和删除用例,则划分太细。这时包含关系可以用来理清关系。
评论3