UML——用例图

 

用例图中由四个部分组成:角色,关系,用例以及系统。

拿网站系统为例:

角色:游客,注册用户,管理员等;

关系:包含(include),扩展(extend),泛化(generalization);

用例:角色能够完成的任务(功能);

系统:整体系统,子系统。

介绍三种关系的不同:

包含:当两个或者多个用例具有相同子用例的时候,就将子用例独立出来,比如 两个用例 发贴和回帖,它们具有相同的子用例----登录,所以可以将登录独立出来

image

图1

因为子用例是从基用例独立出来的,所以基用例单独不能执行,必须得将子用例和基用例结合起来才可以。

扩展:基用例无需知道子用例是什么,即子用例对基用例没有影响,所以基用例可以单独执行。

比如用例--查询通讯录,有还有两个用例,一个是导出通讯录,另一个是 打印通讯录。那么后两个用例则可以作为前者的扩展。

image

图2

因为基用例并不感知扩展的子用例,所以扩展的子用例在系统执行时可有可无,由用户决定。

泛化:即继承,子用例将为继承基用例的所有行为。比如 用户分为会员和管理员,会员和管理员继承了用户的所有行为。

image

图3

区别:

包括(include):要实现基用例则必须把include的子用例都实现。

扩展(extend):要实现基用例与extend的子用例的实现无关。

泛化(generalization):基用例是抽象的,不能实现,只能靠子用例来实现。

posted @ 2012-06-28 14:01  Shadow_magic  阅读(1003)  评论(0编辑  收藏  举报