拡張とインクルードを正しく使用しているかどうかを判断したいだけです。ここのどこかでどちらかを間違って使用している場合は、どこが間違っているのか、可能であれば理由を示してください。
https://imageshack.com/scaled/large/163/nlnk.jpg
乾杯。
拡張とインクルードを正しく使用しているかどうかを判断したいだけです。ここのどこかでどちらかを間違って使用している場合は、どこが間違っているのか、可能であれば理由を示してください。
https://imageshack.com/scaled/large/163/nlnk.jpg
乾杯。
<<include>>
とを使用するためのルール<<extend>>
は簡単です。
<<include>>
一般的なユースケースに常に含まれるサブユースケースを定義します: use-case -include-->
sub use-case。通常、ユースケースの個別の部分、または他のユースケースで再利用できる共通部分を示すために使用されます。
<<extend>>
特定の条件で実行できるオプションのサブ ユース ケースを定義します (ユース ケース図ではなく、下位レベルの設計で定義する必要があります)。ここで、リレーションの方向はリレーションの反対<<include>>
です: use-case <--extend-
sub use-case。
これらのルールを図に適用し、それが正しいかどうかを判断してください。
ここでは、多くの関係が明らかに正しくありません。ただし、この図の主な問題は、include と extend の正しい使用ではなく、複雑で全体的に不明確な関係にあると思います。状況的に有効ですが、これらの関係の複数のレベルを使用することは避ける必要があります。
あなたの図は、たどって解釈するのが本当に難しいです。
いくつかのリファクタリングのアイデアと修正:
リンクする他のアクティビティの前に、「安全なログイン」を実行する必要があるようです<<include>>
。インクルードは、ユースケースが含まれているユースケースを毎回実行することを意味しますが、これはおそらく意図したものではありません (セッションごとに 1 回のログインのみ)。などの新しいステレオタイプをいつでも作成できます<<precedes>> or <<requires>>
。それらを一貫して使用すると、意味を伝えることができます。