ドメインモデル図とクラス図の両方を設計するとき、何を入れるべきか理解するのに苦労しています。
私が言いたいことの例を挙げます:
Administrator
とを持つ休暇スケジューラ プログラムを実行していEnd-Users
ます。は、プログラムへのAdministrator
登録、特権の変更などのいくつかのことを行います。休暇の日などを選択できます。End-Users
End-User
最初に and をドメイン モデルの概念として定義しAdministrator
、End-User
後でクラス図のクラスとして定義しました。クラス図では、両方のクラスが次のようないくつかのメソッドを持つことになりました
Administrator.RegisterNewUser();
Administrator.UnregisterUser(int id);
等
しばらくして、実際にはAdministrator
との両方End-User
がアクターであることに気付きました。おそらく、このデザインは完全に間違っていたのでしょう。管理者クラスとエンド ユーザー クラスにユース ケースの要求を実行するためのメソッドを入力する代わりに、ドメインから他のクラスを定義してそれらを実行し、コントローラにユース ケースを処理させることができます (実際には、それぞれに 1 つずつ実行することにしました)。使用事例)。たとえば、クラスでこれらのメソッドを使用する代わりに、 UserDatabase.RegisterNewUser()
andを使用できます。UserDatabase.UnregisterUser(int id);
Administrator
アイデアは、休暇スケジューラ全体を、一連の機能を持ち、認証などのことを気にしない「クローズドプログラム」と考えようとすることです。外の世界に見せたいのは、そのコントローラーです。
これは正しいアプローチですか?それとも、私はこれを完全に間違っていますか?アクターをドメインモデル/クラス図に入れるのは一般的に悪い考えですか? これにはどのような経験則がありますか?
私の講師はApplying UML and Patternsに従っていますが、これはひどいと思います。そのため、この記述されたアクター モデルの状況に関する詳細情報をどこで調べられるか知りたいです。
この新しいアプローチは、私が以前に行ったこととは根本的に異なるため、私はまだこれらすべてについて少し混乱しています。