第5回講義は「クラス図の作成」でした。
これはシーケンス図がちゃんとできているというのが前提になります。
シーケンス図の一番上にならんでいるのがオブジェクトですから、まずこれが
クラスになります。厳密にいうとシーケンス図にあるクラスはエンティティクラスです。
しかし、中にはコントロールクラスを含んで書いてる人もいると思いますのでその人は
コントロールクラスも混ざっていると思います。
クラス図ができればつくるものがはっきりみえてくるのでこれができれば
あとはプログラミングするだけです。(え、それが問題?(゜∀。)
では、説明です。
まず、大事なのはコントロールクラス、エンティティクラス、バウンダリクラスを把握することです。
この3つを説明すると
・コントロールクラス…バウンダリクラスとエンティティクラスの間でデータの加工をするクラス(計算などを行うクラス)
・エンティティクラス…システムに存在するデータのクラス(オブジェクト抽出で出てきたもの)
・バウンダリクラス…システムが外部のアクターと対話するために必要なクラス(アクターが直接使用するクラス)
これをまず理解しておきます。エンティティについてはもう抽出してるので分かると思います。
次にクラスの書き方を考えます。ここで大事なのはクラス名、属性名、操作名、関連を把握することです。
この4つを説明すると
・クラス名…そのままですがそのクラスの名前
・属性名…そのクラスで長期的に保存されるデータ(オブジェクト抽出で出た属性)
・操作名…そのクラスのオブジェクトが受信するメッセージ(そのクラスが使用するメソッド)
・関連…そのクラスが他のクラスのメソッドを使用するときなど関連がある(他に汎化や集約あり)
これがわかればクラス図はかけます。ここで難しいのは関連などです。関連だけではなく応用プログラミングで
やったように汎化や集約などの書き方もあるのでそれに注意しなければなりません。操作も注意しなければ
なりません。受信するメッセージというところが注意です。そのクラスが使用するメソッドという意味です。
注意してください。
これらに注意して全員のクラス図ができればこれからどうしたらいいのかわかってあと一息です!
追記:今回はエンティティだけのクラス図を書くようです。
お勧めページ
UML技術者認定制度「チュートリアル」<分析編>
45〜52ページ(ガイダンス資料にURLがあるのでそれを参考に。)
教科書より断然分かりやすいと思います。
注意!:この文章は管理人が思った風に書いているので本質とずれて
いる可能性大です。鵜呑みにしないで参考程度にみてくださいね。^^
TOPに戻る