2017-04-18 3 views
1

拡張関係は、ユースケースがオプションの場合ですが、インクルードはユースケースの操作が必要なときです(すべてではありません)。私は登録システムのためのユースケースをモデルにしたいとの関係は、使用する疑問に来て、私が持っている二つの可能なオプションは以下のとおりです。はUMLに含まれているか、または拡張されていますか?

enter image description here

私は(b)の途中で、より熱心ですデータを変更したり、データを削除する部分はオプションであってはならず、学生の記録を維持するために使われます(私のグラフのタイプミスで申し訳ありません)。ある同僚は、(a)オプションがこの状況に対処するためにより正確であると述べていますが。どちらも正しいでしょうか?これが起こる可能性がある場合は? ありがとう

答えて

2

ユースケースを設計しているときは、ユースケースをあまりにも多くのサブケースに分解してしまう「機能分解」があります。ここの古典はCRUD操作にあります。 "Maintain Records"は合理的なユースケースですが、これをCreate Record、Delete Recordなどに分解することはめったにありません。ある程度、 'include ...' vs 'extend ...' 「どちらでもない」。

特定のアクタのみがレコードを作成できる間に1人のアクタが検索できる場合や、レコードを削除する際に特に複雑な認証手順がある場合は、これらの別々のユースケースを作成することがあります。この場合、「記録更新」ユースケースは必要ないかもしれませんが、2つのケースを別々に記述することになります。

にはが必要な場合は、「データの変更」が「記録の更新」を拡張することをお勧めします。

チェックアウトこの回答:CRUD in a use-case diagram?

そして、あなたが有用見つけるかもしれない議論はここhttp://www.se.cs.put.poznan.pl/knowledge-base/software-engineering-blog/crud-pattern-in-use-cases

0

である私は、それはあなたのダイアグラムから「メンテナンスレコードの」ユースケースを取り外す優れている、と言うでしょう。それはユースケースのグループのように聞こえる。データの変更とデータの削除は、このグループの2つの用途に過ぎません。

関連する問題