~ITコンサルタント養成講座~
第64回「UML-その2」
皆さん、こんにちは! 当メルマガを担当しています井上正和です。このメルマガはシリーズに
なっており、今回はその第64回です。
前回はUMLのクラス図を取り上げました。今回はこのUMLのクラス図の関係を取り上げようと思います。
この関係の表記にはいくつかありますが、その中で代表的な関係表記である“多重度”、“汎化”、“集約”を取り上げようと思います。この関係表記はクラスを体系的に整理するために使用されます。
クラスには属性の定義と操作(=機能)の定義がありました。従来の情報システムでいえばデータベースサブシステムのようなものです。データベースですから、クラスの属性であるデータ項目にはキーデータ項目が含まれています。情報モデルの項でも述べましたように、データベース間にその含まれるレコードの関係が成り立ちました。クラスも属性を有するレコードがたくさんあると考えて良いわけですから、クラス間の関係が存在することになります。
(1)多重度の表記
この表記はクラス間のキー項目属性の関係を表すものです。
たとえば、受注伝票の項目属性を持つ受注クラスと顧客レコードの項目属性を持つ顧客クラスの関係は、受注伝票には顧客NOキーが必ず1つありますので、受注クラスと顧客クラスの関係は“1”、同様にして、顧客クラスから受注クラスの関係を見れば、1つの顧客は複数の注文を発行もしますし、1回だけの注文で終わっている顧客もあるでしょうから、“1”から固定できない複数の値としての“N”の関係、1からNの関係が成り立っています。
この関係をUMLでは1個の関係を“1”と表記し、1個からN子の関係を“1..N”という表記をして関係を明示的にします。
(2)汎化の表記
汎化とは汎用化のことです。何を汎用化するかというとクラスの属性です。
よく例に引かれていますのは動物と人間、犬、猫との関係です。動物をスーパクラスといい、人間、犬、猫をサブクラスとして位置づけます。この関係は動物としての共通属性、食べる、動く、見る、声を出す、目、足など共通属性が多くあります。これらの属性を動物クラスとすると、人間、犬、猫のそれぞれのクラスは動物クラス以外の独自属性を持てば良いことになります。
この動物クラスに共通属性をまとめて持たせることを“汎化”といいます。一方、人間、犬、猫のサブクラスは動物クラスの下位として存在し、サブクラスを参照するときには上位の動物クラスの属性も共有できる構造にすればそれぞれの特徴を生かしたクラス構造が出来上がります。
このサブクラスを参照したときに上位のスーパクラスの属性も共有できるようにすることを“継承”といいます。
情報システムのデータベースに置き換えますと、業績予実クラスなどがスーパクラスに該当します。サブクラスとしては受注クラスや出荷クラスなどが該当します。業績予実クラスは部門や、営業員、商品、顧客に対する受注目標や出荷目標といった計画情報と実績サマリー情報を有することになります。サブクラスはそれぞれの計画値に対する個々の実績項目を有しています。UMLで言う汎化の関係にあります。
(3)集約の表記
集約の関係の例は自動車クラスです。自動車はエンジン、車体、ハンドルタイヤ、シャーシといった部組(=部分組立品)から構成されます。これらの属性を見ますと、汎化の例と違って共通の属性がありません。ただし、自動車はこれらの部組があって初めて機能する実体となります。この関係が“集約”です。
情報システムに置き換えますと、商品クラスと商品カテゴリークラスがこの関係にあります。
商品カテゴリー毎に異なるサブクラスの属性が存在することになります。
第64回はここで終了します。UMLのクラスの関係性を取り上げました。
次回は、クラス図の機能を決めるシーケンス図を「UML―その3」として取り上げます。
ISMリサーチ代表 井上正和
http://www.ism-research.com/
グローバルナレッジネットワーク(株)経営関連およびITC講座担当講師
http://www.globalknowledge.co.jp/reference/Reference.asp?KBN=2&DCODE=21&SCODE=17
(株)富士ゼロックス総合教育研究所 ITコンサルタント講座担当講師
http://www.itc-pro.com/multi/gaiyou3.html
(注1)「ITコーディネータ補試験想定問題集」に興味のある方は
http://www.ism-research.com/itc-test/index.html
(注2)バックナンバーの絵入メルマガ配本のご購入は次のURLをご参照ください。
http://www.ism-research.com/mail-bk/index.html
(注3)「ITコンサルタント」関連コース&教材に興味のある方は
コース: http://www.ism-research.com/on-site/index.html
教材 : http://www.ism-research.com/kyozai/index.html
(注4) マグマグバックナンバーをご覧になる方は次のUMLをご参照ください。
http://backno.mag2.com/reader/Back?id=0000118350
(注5)メルマガの配信停止は次のURLをご参照ください。
http://www.ism-research.com/mag/index.html
