关于用例图的一些问题~
大家先看图:
接触rose不到一个月,有很多东西不明白,同时我也看了很多参考书,发现不同书说的完全不一样,甚至互相矛盾,这让我更郁闷了。
比如上图中,资料查询我把它作为一个抽象用例,它有两个子用例——公告通知查询和下载资料查询。
我现在也不清楚是否该用泛化关系来描述这三个用例间的管理,在张海藩的《软件工程导论》第五版第226页第4节的下一句这样说:
UML用例之间主要有扩展和使用两种关系,它们是泛化关系的两种不同形式。
而在《UML基础与ROSE建模案例》第二版的第60页的5.3.4节中,它说用例间的关系有:泛化、包含、扩展
这里居然又将泛化和扩展分开来,而且多了一个包含,少了一个使用。
搞得我简直是一头雾水,根本不知道该怎么画。。。
从上面的例子中,用户使用资料查询,但资料查询只是一个抽象的概念,用户在真正的使用场景中只能使用公告通知查询或下载资料查询,那么这种关系应该用什么用例关系来表示:泛化?使用?还是包含? 这是我第一个搞不明白的问题。
还有一个问题,看上图的文件上传和回复主题这两个用例,他们和审核管理这个用例之间有关系。实际的场景是这样的:用户在进行文件上传或者回复主题(通俗讲就是回帖)时,需要经过管理员的审核,他们上传的文件或回帖才会成功。
这两者间的关系,我首先想到得是扩展关系,但后来翻翻书——《UML基础与ROSE建模案例》第二版的第62页的第二自然段的倒数第二句:但在一般情况下,基础用例的执行不会涉及扩展用例的行为,如果特定条件发生,扩展用例的行为才被执行,然后流继续。
它说的是特殊情况下才会执行到的那个用例才是扩展关系。而我在上例中,我每次上传东西上去都要通过审核呀,次次都要用到,不是特殊情况,那么就一定不是扩展咯?于是我把它改成了使用,可是使用关系我也感觉怎么不对味啊,审核管理是后台管理员的一个用例,能这样使用吗?我不清楚,疑惑以及郁闷中……
最后还有一些小问题,rose中代表继承关系有两种线:一种是空心三角形加实线,另一种是我上面画的、虚线箭头再加《derive》这样一个文本标签。到底该用哪种?
书上用例的发起者和用例之间有时用单项关联,有时用双向关联,怎么判断?
rose上我找不到使用关系的那条线,但我看到书上是用泛化关系的那条线再加个《uses》的标签表示的,是这样吗?
快被rose和uml搞崩溃了,help me~!
[解决办法]
虽然语法上有这些关系,但这是不推荐使用的
[解决办法]