私の答えに含まれているユースケースの混乱についての@vainoloのコメントを修正した後に編集されました:
manage
ユースケースがメインアクターの意味を理解する(価値を生み出す)ために呼び出し可能なユースケース(managerUser、manageBooks、manageCategories)を必要とする場合は、include関係を使用する必要があります。
アクターがmanage
呼び出し可能なユースケース(managerUser、manageBooks、manageCategories)のゼロまたは3つすべてを実行してユースケースを完了することができる場合は、拡張関係を使用する必要があり、それらの拡張ポイント条件ステートメントを指定できます。
manage
ユースケースが、独立して実行できる3つの呼び出し可能なユースケースを整理するために使用されるコンテナーである場合、ユースケース自体ではなく、3つのユースケースを含むユースケースパッケージmanage
として モデル化します。
含まれているユースケースの必須ではない実行についてのその投稿からの次の抜粋を見つけてください(@vainoloによって正しく指摘されています):
ポイント5:包含ユースケースはオプションである可能性があります
2つの状態のUMLスーパーストラクチャステートメントセクション16.3.5 :
「[包含]ユースケースはオプションではなく、[ベース]ユースケースを正しく実行するには常に必要であることに注意してください。」</ p>
混乱の原因
これは、基本ユースケースの実行ごとに包含ユースケースを実行する必要があることを意味すると解釈する人もいます。
真実から遠く離れたものはなく、真実は単純です。
単純な真実
包含ユースケースが基本ユースケースに対して必須であるかオプションであるかは、基本ユースケースのどこでフラグメントが定義されたかによって異なります。フラグメントは、包含ユースケースのincludeステートメントに置き換えられています。
そのフラグメントが基本ユースケースの無条件フロー(常に実行されるステップ)の一部であった場合、包含ユースケースは必須です。そのフラグメントが条件付きフロー(オプションで実行されるステップ)の一部であった場合、包含ユースケースはオプションです。
では、UMLステートメントはどういう意味ですか?
UMLステートメントの目的は、次のように、include関係とextend関係を対比することであるように思われます。
拡張ポイント(基本ユースケース全体ではない)では、拡張ユースケースの実行はオプションです。
基本ユースケースの実行が拡張ポイントに到達すると、拡張関係に条件が付随している可能性があるため、拡張ユースケースが挿入される場合と挿入されない場合があります。ただし、「包含ポイント」(基本ユースケース全体ではない)では、包含ユースケースの実行は必須です。
基本ユースケースの実行が包含ポイント(つまり、基本ユースケースのincludeステートメント)に達すると、包含関係に条件を付加するための規定がないため、包含ユースケースは常に実行されます。