2013-03-17 88 views
3

我开始学习UML和有一个关于演员泛化问题:UML用例模型:演员泛化

想象我在写用例图中为某种应用的一个学院。我已经确定有两个演员;学生和老师。

现在,要尽量简短,让说的要求是相当简单的(而不是真正重要的是我的问题):

  • 学生可以搜索类
  • 学生可以对登记
  • 类学生可以提交一份文件,
  • 学生可以支付他的学费
  • 教师可以档次纸
  • 一学生可以联系他的一个班级的老师(电子邮件类型的消息,但都在系统内管理)
  • 老师可以联系所有学生的一个班级(同样由系统处理)。

一切都很好。

我卡住是这样的:

  • 学生已经一个用户名和密码,必须登录使用 系统
  • 老师有一个用户名和密码,必须登录到使用 系统
  • 学生可以通过在线门户
  • 一个复位他的密码,教师可以在门户网站通过重置其密码

所以我的问题是这样的.. 如何最好地处理系统的常见用例?一方面,我可以看到学生和老师都是一种特殊类型的用户,并且用户角色与常见用例相关联(所以用户具有用户名和密码并且必须登录,用户可以通过在线门户重置密码等)。

另一方面,让老师和学生拥有相同的超级演员(正确的术语?)似乎有点奇怪,因为他们似乎是两个完全不同的系统用户。我是否应该与两位演员(学生和教师)保持联系,并简单地将学生与常见用例以及教师与常见用例联系起来?

我试过这两种方法。正如我所提到的,由于老师和学生有很大的不同,因此用户的泛化方法让人感觉不同,但对于不同的角色,有几个相同的用例看起来有点没有被优化(或多余的,或者只是看起来很滑稽!)。

对此有没有正确或错误的答案,还是只是偏好?

感谢先进!

回答

3

演员一般化的最重要的用法之一是“因素出共同演员行为”。

做到这一点的最好方法是让User actor抽象。这样,你不必担心它的细节,老师和学生的差异如此之大。 “明智地使用抽象演员可以简化您的关系图并提高可读性”。

所以我说去概括,但让父演员抽象。尽管不这样做根本没有错,正如你所说的:没有错或是正确的。

行情从UML 2 and the Unified Process - 第5.2节 - 演员泛化。

+0

非常感谢您的信息! Id投票了,但我没有互联网点! – user2179721 2013-03-18 14:40:41

+0

+1。我无法更好地解释它。 – Steph 2013-03-18 19:26:31