uml用例图包括和扩展

uml用例图包括和扩展,uml,use-case,Uml,Use Case,我在我的用例图上有注册配置文件和编辑配置文件。当用户注册应用程序时,注册配置文件将是第一次,但编辑配置文件将始终是我必须做的包括或扩展这些用例关系的方式。根本不做任何扩展和包括。只需对用例寄存器配置文件设置一个约束,使其只执行一次。包含/扩展不得用于功能分解。它们的使用是“非常复杂的”(以避免像臃肿或愚蠢这样的词),建议不要使用它们,因为第一个原因:没有功能分解 这取决于您如何看待: 注册配置文件和编辑配置文件是否独立?示例:有人第一次进入您的网站,并选择注册;一旦他保存了个人资料信息,他就会

我在我的用例图上有注册配置文件和编辑配置文件。当用户注册应用程序时,注册配置文件将是第一次,但编辑配置文件将始终是我必须做的包括或扩展这些用例关系的方式。

根本不做任何扩展和包括。只需对用例
寄存器配置文件
设置一个约束,使其只执行一次。包含/扩展不得用于功能分解。它们的使用是“非常复杂的”(以避免像臃肿或愚蠢这样的词),建议不要使用它们,因为第一个原因:没有功能分解

这取决于您如何看待:

  • 注册配置文件
    编辑配置文件
    是否独立?示例:有人第一次进入您的网站,并选择注册;一旦他保存了个人资料信息,他就会回到原来的状态

  • 或者您认为
    编辑配置文件
    之前的第一步是注册配置文件
?示例:有人第一次进入您的网站,并选择注册;一旦他创建了个人资料,他就会自动进入
编辑个人资料
,以防他想做一些更改。在这种情况下,
edit
扩展
register
:两者都是自给自足的用例,但在注册结束时,一个扩展点链接到扩展用例

  • 或者您是否认为
    注册配置文件
    依赖于
    编辑配置文件
    ,这是它的重要组成部分?示例:有人进入您的网站并自动获取匿名个人资料;当他选择注册时,
    编辑配置文件
    将打开,允许他在现有配置文件上输入姓名。在这种情况下,
    寄存器
    包括
    编辑
    :没有第二个就不能有第一个

  • 请注意,就个人而言,我会选择第一种方法(正如Thomas所建议的),因为您肯定需要两种交互。我将保留仅包含用户不直接触发的用例。我不想使用扩展,因为它是不明确的(这里:是编辑扩展寄存器由于扩展点,还是注册扩展编辑,由于添加的功能)。MartinFowler在“UML蒸馏”中强烈建议不要在这里使用扩展,因为它们通常会引发激烈的争论

    可能重复的