据我所知,扩展关系是当用例是可选的时,但包含是当需要用例的操作时(但不是所有时候)。我想为注册系统建模一个用例,但对使用哪种关系有疑问,我有两个可能的选择:
我更热衷于(b)表示此操作的方式,因为修改数据和删除数据的部分不应该是可选的,它们用于维护学生的记录(抱歉我图中的拼写错误)。尽管一位同事表示(a)选项更准确地处理这种情况。两者都可以正确吗?如果是这种情况,在什么情况下会发生这种情况?
谢谢
当您设计用例时,一个容易陷入的陷阱是“功能分解”,即您将用例分解为太多的子用例。一个经典的例子是 CRUD 操作。虽然“维护记录”是一个合理的用例,但您很少想将其分解为创建记录、删除记录等。因此,在某种程度上,您关于“包含...”与“扩展...”的问题的答案将是是“两者都不是”。
有时,假设一个参与者可以搜索,而只有特定参与者可以创建记录,或者删除记录时有一个特别复杂的身份验证步骤,您可能需要创建这些单独的用例。在这种情况下,您可能不需要“维护记录”用例,但需要分别描述这两种情况。
If you must两者都有,那么我建议“修改数据”扩展“维护记录”,因为您有时可能会执行它,但并不总是如此。
查看这个答案:用例图中的 CRUD? https://stackoverflow.com/questions/7772399/crud-in-a-use-case-diagram
您可能会发现有用的讨论在这里http://www.se.cs.put.poznan.pl/knowledge-base/software-engineering-blog/crud-pattern-in-use-cases http://www.se.cs.put.poznan.pl/knowledge-base/software-engineering-blog/crud-pattern-in-use-cases
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)