web-dev-qa-db-ja.com

私のユースケースでデータベースを表す必要がありますか?

私は自分のWebアプリケーションのユースケースを作成していて、DBの表現をアクターとしてリストする必要があるかどうか疑問に思っていました。たとえば、ユーザーは自分のプロファイルを確認して編集できます(ログインしている場合)。 2つの使用例は次のとおりです。
-ユーザーは自分のプロファイルを表示できます
-ユーザーは自分のプロファイルを編集できます

ユースケースは、例えば次のようになります:
俳優:ユーザー、DB
使用例:プロファイルを表示

または、DBをアクターとして除外できますか?残念ながら、ユースケースを描く一貫した方法を見つけられませんでした。

2
Bas

DBがアプリの内部にある場合(つまり、DBがこのアプリによってのみ使用され、外部の世界がアプリと直接やり取りしない場合)、別のアクターとして表すべきではありません。 。

DBが共有され、外部のユーザー/システムによって直接使用される場合、それを別個のアクターとして表す方がおそらく良いでしょう。

10
Péter Török

私の見解によれば、ユースケースは主にシステムと外部環境の間の相互作用を描くために描かれていると思います。

したがって、DBはシステムと比較して内部エンティティであるため、外部エンティティでない限り、DBをアクターとして描画する価値はありません。同時に、それは外部機関ですが、直接アクセスするとセキュリティの問題が発生する可能性があることにも注意してください!

したがって、そのようにする特別な理由がない限り、ユースケースでDBをアクターとして表すのは賢明ではありません。もちろん、シーケンス図でそれを行うことができます。アクターとオブジェクト間の相互作用を示しているため、そのような問題はありません。

3
Wageesha

ユースケースを定義するときは、構造ではなく、アクターのbehaviorについて考える必要があります。

データベースはアクターの静的な反映です。擬人化を使用する場合、データベースを俳優と呼ぶことは、写真や愛する人の思い出を本物の人間と呼ぶようなものです。

3
Arnis Lapsa