モデリングカフェ 第9回:サンタクロースをモデリングする
モデリングカフェ「Square」~UMLでモデリングを愉しもう~
オージス総研 組み込みソリューション部
田中恒 赤坂英彦
2006年12月7日
目次
- 前回の問題(サンドイッチ)
- 読者解答モデル - 本文で紹介できなかった解答モデル
- 解答例
- 今月号の問題 (出題)
- 解答モデルの送付について
- 参考文献
- Elapiz (いらぴす)当選者発表
前回の問題をもう一度確認しておきましょう。
【お題08】サンドイッチ
サンドイッチをモデリングしてください。
不足する情報は適宜補っていただいて結構です。補った情報は、コンセプトに記述してください。
図 お題(サンドイッチ)
解答はクラス図で表現して下さい。クラスには必要な属性を、関連には多重度を明記するのがポイントです (解答時間の目安は15分~30分です)。
今回も読者の皆様からたくさんの解答モデルを頂きました。ありがとうございます。
これまでと同じように、3つの解答モデルをピックアップして、当カフェのマスターとヒトクセある!?常連たちと一緒に見ていきましょう。
コーヒーなどを飲みながら、皆様も一緒にわいわいやる感じで考えてみてください。
また、残念ながら紹介することができなかった解答モデルはこちらに掲載しますので、
オブジェクトの広場 メーリングリストなどで意見交換していただければ幸いです。
- コンセプト
- モデル
- クラス図
図 9 ほげPG 様の解答モデル(クラス図)
- オブジェクト図
図 10 ほげPG 様の解答モデル(オブジェクト図)
- 感想
- 難しかったところ
具と具の関係
- 自己評価
80点(あまり料理しないので)
- コメント
マスター |
|
コンセプトがシンプルです。 |
吉井さん |
|
うん。すがすがしいくらいに明快だね。モデルも、「パン」にたくさん「具」をはさむということが伝わってくるね。 |
久本くん |
|
このコンセプト好きです。やっぱり具沢山で、いろいろ食べられるのがいいですよ。 |
唐沢さん |
|
しかし、多重度については疑問があります。 |
マスター |
|
「具」から見た「パン」の多重度が 1..* というのはどういうことでしょうか。 |
久本くん |
|
モデルを素直に読むと、「具」はたくさんの「パン」ではさまれる、ということですよね。4つとか5つの「パン」にはさまれる場合というのはどういうことだろう? |
吉井さん |
|
そこはもう少し検討した方が良かったかな。 |
|
唐沢さん |
|
「具」の多重度はどうでしょう。 |
マスター |
|
「パン」から見た場合、「具」をたくさんはさむということが表現できています。「具」が連続する場合もたくさんの「具」が接することが表現できています。 |
吉井さん |
|
でも、多重度の意味は少しあいまいだね。「具」が接するというのは連続する場合のことを言っているのかな? |
図 11 接するの意味 |
マスター |
|
オブジェクト図を見ると、両方の意味を表していますね。 |
久本くん |
|
『ピーナッツクリームサンドイッチ』のように、「具」が並んでいる場合というのは「パン」と「具」の関係で示せていませんか? |
吉井さん |
|
そうだね。「具」が連続するという意味であることに絞って、それが明確に伝わるようにすると良いね。 |
唐沢さん |
|
「具」が接することに何か興味があるとも考えられます。例えば、味が混ざるとか、相性が良いといった場合です。その場合は接するでも良いのではないでしょうか。 |
吉井さん |
|
ふむ。その場合は、確かに接するでも良いね。するどい。 |
マスター |
|
その辺りはコンセプト次第ということでしょうか。 |
解答例としまして、当カフェのマスターのモデルを紹介致します。
コンセプト次第でモデルは変わりうるものですから、
正解としてではなく、1つの考え方としてご覧ください。
コンセプトの導出
サンドイッチのスケッチを描いて、注目するところを探します。パンと具が隣り合って並んでいるというのが特徴ですね。両端は必ずパンになります。
図 12 サンドイッチのスケッチ
パン同士が隣り合っているところは単純ではなさそうです。図 14 のようなモノはサンドイッチとは呼べません。ここに注目してもう少し問題を整理してみます。
図 13 注目するところ
図 14 ”パンサンド”はなし
1つのサンドイッチはどこまでなのでしょうか? 食べるときのことを考えてみると、パン同士が隣り合うところにサンドイッチの切れ目があります。ここでは、図 15 のように1つのサンドイッチの単位を決めることにします。この場合、1つのサンドイッチの中でパンが連続することはありません。また、パンと具が交互になる場合を”タイプA”、具が連続する場合を”タイプB”とします。
図 15 サンドイッチの単位とサンドイッチのタイプ
解答例
- コンセプト
- 並びに注目してモデリングする
- パンと具が1列に並んでいる
- パンから始まり、パンで終わる。具が両端に来ることはない
- 1つのサンドイッチの中では、パンが隣り合うことはない
- パンと具が交互になる場合(タイプA)と、具が連続する場合(タイプB)がある
- モデル
今月号の問題です。モデリングの進め方については、第 1 回のモデリングの進め方を参照してください。
【お題09】サンタクロース
毎年クリスマス、たかし君はサンタさんからプレゼントをもらっています。今年は、サッカーボールをお願いしました。早くクリスマスが来ないかな、と楽しみにしています。
毎年クリスマスの夜、たかし君のお父さんは、こっそりたかし君の枕元にプレゼントを置きます。今年はサッカーボールをプレゼントします。
上記の文章を読んで、サンタクロースをモデリングしてください。
不足する情報は適宜補っていただいて結構です。補った情報は、コンセプトに記述してください。
解答はクラス図で表現して下さい。クラスには必要な属性を、関連には多重度を明記するのがポイントです
(解答時間の目安は15分~30分です)。
解答モデルの送付についてをご覧ください。
なお、今月号は第 9 回です。
締め切りは 2007 年 1 月 18 日 (木) です。
解答例掲載は 2 月号 ( 2007 年 2 月上旬 ) を予定しています。
Elapiz スタンダードエディションの新バージョン「Elapiz SE 2005.2」が 11 月 1 日にリリースされました。
Eclipse 連携機能が Eclipse 3.x に対応するなど、より開発時に使いやすくなっています。
今月号からは、新しくなった Elapiz スタンダードエディション 2005.2 をプレゼントします。
解答モデルをご送付くださった方の中から、Elapiz Basic の正規ライセンス(\15,750 相当)を 抽選で 3 名の方にプレゼントいたします。
UML モデリングツールをお持ちでない方は、この機会に是非ご応募ください。
Elapiz SE 2005.1 以前をお使いになっておられる方も応募してくださってかまいません。
応募方法は、解答モデルの送付についてをご覧ください。
現在、応募していただいた方の当選確率は、90%以上です!
本連載では、文献[1]をベースに、より気軽にモデリングを愉しんでいただけるテイストにしております。モデリングに関するしっかりした解説が欲しい場合には、以下の書籍をご覧になると良いと思います。
- 「思考系UMLモデリング即効エクササイズ モデ力を鍛える13の自主トレメニュー」、渡辺博之他、翔泳社
- 「UMLによるオブジェクト指向モデリングセルフレビューノート」、荒井玲子著、ディーアート
- 「UMLモデリングの本質」、児玉公信著、日経BP社
先月号の Elapiz Basic の正規ライセンスの当選者を発表いたします。おめでとうございます!!
なお、当選者の方には、後日改めてメールにてご連絡いたします。お楽しみに!!
改訂履歴
- サイトテンプレート変更に伴う変更(2021年7月)