以下用例图是否正确?

时间:2014-01-23 10:27:17

标签: uml class-diagram use-case

从过去一年的论文中找出了一个用例图问题。希望根据以下问题对我的图表是否正确提供一些反馈。谢谢你的指导。

问题: 大学新图书馆系统。

学生将使用电脑终端查看图书的可用性。 学生图书馆卡被扫描到系统中。 系统搜索学生数据库以检查学生的借阅历史。

学生可以借阅一本书,但须遵守以下两个限制:

  • 他们没有过期的书
  • 目前租借的书籍不超过4本。

如果不允许贷款,图书管理员可以覆盖系统并输入代码以允许贷款。

学生可以通过访问贷款系统从其他大学的图书馆借阅,以查找书籍和下订单。 再次执行上述学生卡的检查。

图书馆内的特殊书籍无法借用。他们只能咨询。还受到前面描述的2个约束。

最后,学生可以使用以前由卡上第三方添加的积分访问打印机。打印过程的卡片检查是 受前面描述的限制。

构造上述过程的UML表示。这将涉及生成一个或多个用例图。

答案:

enter image description here

链接到我的UML图: http://www.picpaste.com/pics/exam_uml-sCmMDwtm.1390472335.jpg

1 个答案:

答案 0 :(得分:0)

没有。您不应将任何“if”逻辑放入用例图中。 “没有过期”或“没有> 4books ......”属于更具体的图表 - 序列,状态,活动,交互活动,也许,时间。但它们不是用例。

另一方面,这里没有系统元素。用例是agents之间对话的主题,即人员和系统组件或子系统。你这里只有人。

此外,您此处没有登录活动,也没有管理员。但也许,这超出了任务的范围。

打印机应该是一个子系统。但是您没有连接用户和打印子系统的“打印”用例

编辑:

如果您认为检查如此重要以便出现在用例图的级别上,请为它创建一个子系统,并在Actors和该子系统之间创建一个或两个用例。

我还看到了另外一个问题:interlib贷款系统和数据库应该显示为子系统,并且对第一个和历史检查的访问权仍然是与用户连接的。

我无法帮助“咨询特殊书籍”,因为我根本不明白。

这样的基本操作在哪里,如搜索书籍,搜索作者,扫描卡片?

请注意,您的“包含”应成为子系统之间的正常用例。