一、用例图中的各种关系

a)参与者与用例间的关联关系:参与者与用例之间的通信,也成为关联或通信关系。

b)用例与用例之间的关系:包含关系(include)、扩展关系(extend)、泛化关系。

1.包含关系

(1)包含:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含的关系来表示它们。其中这个提取出来的公共用例成为抽象用例,而把原始用例成为基本用例或基础用例。其中“<<include>>”是包含关系的构造型,箭头指向抽象用例。

例如,在机房收费系统中“注册学生信息”和“充值”两个用例都需要操作员或者管理员登陆,为此,可以定义一个抽象用例“用户登陆”。用例“注册学生信息”和“充值”与用例“用户登陆”之间的关系就是包含关系。

如图               

(2)一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。

在这里插入图片描述
说明:一般用户有很多功能,其中包括各种信息的查看,这时可以建立一个查询信息这一个用例,然后下面在包含查看余额、查看上机记录、查看充值记录这三个小用例。

2.扩展关系

如果一个用例明显地混合了两种或者两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样可能会使描述更加清晰。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此他能根据基用例中扩展点的当前状态来决定是否执行自己。而扩展用例对基用例不可见。如机房收费系统中“维护学生信息”操作时如果发现信息有误或者更新则需要使用“修改学生信息”用例完成更新,所以用例“查询上机记录”和“导出EXCEL”之间的关系就是扩展关系。“<<extend>>”是扩展关系的构造型,箭头指向基本用例。

说明:罚款与还书用例之间属于扩展关系,你还书不一定要罚款,如果你超时还书可能要罚款;但是如果你按时还书,就不需要罚款了。即两个用例只在特定条件下才会执行。

3.泛化关系

 当多个用例共同拥有一种类似的结构和行为时,可以将他们的共性抽象成为父用例,其他的用例作为泛化关系的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例。注意,这里是三角箭头

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐