ObjectSquare [2006 年 3 月号]

[特別企画]


モデリングカフェ「Square」

〜UMLでモデリングを愉しもう〜

 

−第 4 回− タイムテーブルをモデリングする

(株)オージス総研
組み込みソリューション部
田中恒  赤坂英彦

目次

  1. 前回の問題(部品の構成)
  2. 読者解答モデル
  3. 解答例
  4. 今月号の問題 (出題)
  5. 解答モデルの送付について
  6. 参考文献
  7. Elapiz (いらぴす)当選者発表

1.前回の問題(部品の構成)

前回の問題をもう一度確認しておきましょう。

【お題03】部品の構成

型番 D0101 の机の部品構成は以下のとおりです。

※ ( ) 内は型番

この例を参考に部品の構成をモデリングして下さい。 不足する情報は適宜補っていただいて結構です。補った情報は、コンセプトに記述してください。

解答はクラス図で表現して下さい。クラスには必要な属性を、関連には多重度を明記するのがポイントです (解答時間の目安は15分〜30分です)。

2. 読者解答モデル

今月も、読者の皆様からたくさんの解答モデルを頂きました。ありがとうございました。 これまでと同じように、3つの解答モデルをピックアップして、当カフェのマスターとヒトクセある!?常連たちと一緒に見ていきましょう。 コーヒーなどを飲みながら、皆様も一緒にわいわいやる感じで考えてみてください。 また、残念ながら紹介することができなかった解答モデルはこちらに掲載しますので、 オブジェクトの広場 メーリングリストなどで意見交換していただければ幸いです。

読者解答1:こしお 様
読者解答2:かささぎ 様
読者解答3:ともちゃん 様

3. 解答例

解答例としまして、当カフェのマスターのモデルを紹介致します。 コンセプト次第でモデルは変わりうるものですから、正解としてではなく、1つの考え方としてご覧ください。

総括

この問題のポイントを整理しておきましょう。

  1. 多重度は何を意味しているの?

    図 8 を見てください。 この関係を次のように捉えたとしましょう。

    図 11 多重度のあいまいさを含んだクラス図
    図 11 多重度のあいまいさを含んだクラス図
     

    このとき、多重度(0..*)は何を表しているのでしょうか?  実は、この多重度にはあいまいさが含まれていて、2 つの意味での解釈が可能になってしまいます。 その 2 つは次の通りです。

    オブジェクト図を考えるとこの不自然さがよりわかりやすくなりますので、描いてみてください。 この 2 つの意味はまったく異なることを意味していますので、明確に切り分けましょう。

    また、この問題のように多重度の解釈にあいまいさが含まれてしまうことはよくあります。 オブジェクト図で確認する習慣を付けておきましょう。

  2. 「製品」と「部品」の違いは何?

    今回の問題では、「製品」と「部品」を区別している解答がいくつか見られました。 ところが、この 2 つの違いが感じられないものが多かったように思います。 図 12 を見てください。

    図 12 製品と部品の違いは?
    図 12 製品と部品の違いは?
     

    違いが感じられない点は、次の 2 点です。

    このように、同じことを書いているな、と思われるときは抽象化するチャンスです。 それぞれのクラス(概念)の定義を明確にして、同じことなのか違うことなのか考えましょう。 また、表面に出ている特長(名前など)にとらわれずに、いろいろなケースを考えて揺さぶってみましょう。 実は、違う概念だと思っていたものは、違う役割なのかもしれません。 別の観点が含まれているのかもしれません。

    例えば、『「引出」の評判がよく、「引出」単体でも製品として販売するとき』はどうなるでしょう。 「引出」は製品でもあり部品でもあるということになりませんか?  構成に関する視点と、販売する単位という視点が混ざっているのかもしれませんね。

4. 今月号の問題 (出題)

今月の問題です。モデリングの進め方については、第 1 回のモデリングの進め方を参照してください。

【お題04】タイムテーブル

2006 年 4 月 7 日(金)にダイエットセミナーが開催されます。 プログラムは次の通りです。

時間 「運動」トラック
( A 会場)
「食事」トラック
( B 会場)
「医療」トラック
( C 会場)
10:00 【A-1】脂肪を燃焼させる効果的な運動方法

奥下 博則 氏
【B-1】油の摂取量の上手なコントロール

高平 智恵子 氏
【C-1】体脂肪率と糖尿病の相関

東神 博 氏
12:00 −昼食− −昼食− −昼食−
13:00 【A-2】運動を継続する〜生活の中の自然な運動

野岡 太郎 氏
【B-2】満腹感から満足感へ〜食事の量を抑えるコツ

巻 栄二 氏
【C-2】摂食障害と心の病気

羽田 隆子 氏
15:00 【A-3】体脂肪率の変化と体重の増減

尾河 厚一郎 氏
【B-3】食事リハビリテーション

多上 恵子 氏
【C-3】生活習慣病のセルフチェック

出本 貞幸 氏

※全てフィクションです。実在の人物、研究、発表、その他とは一切関係ありません。

この例を参考に、セミナーのタイムテーブルをモデリングしてください。 不足する情報は適宜補っていただいて結構です。補った情報は、コンセプトに記述してください。

解答はクラス図で表現して下さい。クラスには必要な属性を、関連には多重度を明記するのがポイントです (解答時間の目安は15分〜30分です)。

5. 解答モデルの送付について

解答モデルの送付についてをご覧ください。
なお、今月号は第 4 回です。 締め切りは 2006 年 3 月 30 日 (木) です。

読者プレゼント 〜Elapiz (いらぴす) 要ります?キャンペーン〜

先月号に引き続き、UML モデリングツールをお持ちでない方向けの読者プレゼントを実施しています。
弊社の UML モデリングツールである Elapiz スタンダードエディション の Elapiz Basic の正規ライセンス(\9,975 相当)を、 解答モデルをご送付いただいた方の中から、抽選で 3 名の方にプレゼントいたします。

解答モデルの送付についてをご覧いただき、是非ご応募ください。

現在、応募していただいた方の当選確率は、89 % と高確率 です!

6.参考文献

本連載では、文献[1]をベースに、より気軽にモデリングを愉しんでいただけるテイストにしております。モデリングに関するしっかりした解説が欲しい場合には、以下の書籍をご覧になると良いと思います。

  1. 「思考系UMLモデリング即効エクササイズ モデ力を鍛える13の自主トレメニュー」、渡辺博之他、翔泳社
  2. 「UMLによるオブジェクト指向モデリングセルフレビューノート」、荒井玲子著、ディーアート
  3. 「UMLモデリングの本質」、児玉公信著、日経BP社

7. Elapiz(いらぴす)当選者発表

先月号の Elapiz Basic の正規ライセンス(\9,975 相当) の当選者の方々を発表いたします。おめでとうございます!!

なお、当選者の方々には、後日改めてメールにてご連絡いたします。お楽しみに!!


記事の内容を5点満点で評価してください。
1点 2点 3点 4点 5点
記事に関するコメントがあれば併せてご記入ください。

© 2006 OGIS-RI Co., Ltd.
Prev. Index Next
Prev. Index Next