UMLで要求仕様を書くとすると、作成するのは、普通
・ユースケース図
・アクティビティ図
であり、この段階では、普通、クラス図を作成しない(と思う)。
ユースケース図、アクティビティ図とも、作成時、プロセス(ユースケースないしアクション状態)だけに着目して書こうと思えば、かけてしまう。
もちろん、アクティビティ図において、オブジェクトを記載「することもできる」が、書かない気になれば、書かなくても、かまわない。
そうすると、ユースケースやアクティビティ、ユースケースシナリオを作成しても、その中に出てくるプロセスで操作するモノのデータ構造がわからない。
特に、違うデータに同じ名前を付けてしまった場合、データの入出力について着目すれば気づくはずのケースでも、気づかないで済んでしまうケースがある。
たとえば、以下のケースを考える
・在庫管理リストをみて、毎日発注するというプロセスと、
・在庫管理リストを作成するというプロセスがあった場合、
後者で作成し、前者でそれを参照しているので、一見問題はない。
しかし、前者の在庫管理リストは、それをもとに、毎日発注するのだから、在庫管理リストは、日時あるいはそれ以下の単位である。一方後者は、(日時でもOKだけど)、月次で作ってるかもしれない。月1回しか作らない資料をみて、毎日発注??
おかしいですよね。
これらを防ぐ方法として、ER図をいれるという方法もあるが、そもそもER図は、DOAの枠組みで作成されるもので、UMLの図にはない。したがって、ER図と、そのほかのダイアログとの関係は、びみょーになる。