UML用例图:重用扩展用例

UML用例图:重用扩展用例,uml,diagram,use-case,ucd,Uml,Diagram,Use Case,Ucd,我目前正在更新/改变我在软件开发方面的知识,因为我很快就会在这个领域工作。我们在大学里学到了很多关于UML图和编码的知识,但我从来没有在一个真正的项目中把它们结合在一起。因此,我开始在Grails中创建一个测试web应用程序,我想从需求分析和用例开始,让它更接近现实 我的web应用程序应该允许用户共享食谱、查找食谱以及查看其他用户的食谱。每个食谱都有许多成分,这些成分不仅仅是字符串,而是实体,因此可以使用卡路里、脂肪、蛋白质和碳水化合物来自动计算某个食谱的营养成分 可以由消费者或营养专家将成分添

我目前正在更新/改变我在软件开发方面的知识,因为我很快就会在这个领域工作。我们在大学里学到了很多关于UML图和编码的知识,但我从来没有在一个真正的项目中把它们结合在一起。因此,我开始在Grails中创建一个测试web应用程序,我想从需求分析和用例开始,让它更接近现实

我的web应用程序应该允许用户共享食谱、查找食谱以及查看其他用户的食谱。每个食谱都有许多成分,这些成分不仅仅是字符串,而是实体,因此可以使用卡路里、脂肪、蛋白质和碳水化合物来自动计算某个食谱的营养成分

可以由消费者或营养专家将成分添加到数据库中。如果它是由消费者创建的,则它只是一种“预期”成分,这意味着它必须经过管理员验证才能成为“适当”成分——否则它会被标记,例如红色文本颜色

这是我当前的用例图:

我的问题是:

  • 就我而言,包含的用例可以重用,这意味着被其他用例包含或与其他参与者关联。但是,通过扩展用例,这也是可能的吗?“AddProspectiveComponent”是否也可以扩展“VerifyComponent”(尽管它对该系统没有任何意义)

您可以有许多用例,相互扩展。因为扩展是一种变体。只是这太过分了。如果A-B和B-C已经如此连接,则不需要在A和C之间绘制扩展连接


但您可能会遇到工具限制方面的问题。VP-UML与“扩展”的配合不是很好。即使通常的删除在“扩展点”上也无法正常工作是的,您可以通过一个或多个其他用例引用用例(使用
包含
扩展
关系之一),并且您还可以将包含的或扩展的用例与参与者关联起来

有助于区分用例图中的
include
extend
关系