ObjectSquare [2006 年 11 月号]

[特別企画]


モデリングカフェ「Square」

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

 

−第 8 回− サンドイッチをモデリングする

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

目次

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

1.前回の問題(カレーの作り方)

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

【お題07】カレーの作り方

カレーの作り方をモデリングしてください。

不足する情報は適宜補っていただいて結構です。補った情報は、コンセプトに記述してください。

お題(カレーの作り方)
図 お題(カレーの作り方)

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

2. 読者解答モデル

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

読者解答1:松田 政博 様
読者解答2:AYU 様
読者解答3:Ken-M 様

3. 解答例

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

コンセプトの導出

まずは、カレーの作り方を概観します。 肉、野菜、サラダ油、水を使ってカレーを作ります。 真ん中のバブルがカレーを作るという作業ですね。

図1.カレーを作る(コンテキスト図)
図1.カレーを作る(コンテキスト図)
 

このコンテキスト図を整理してみると、何か作業をするといった場合、 材料を使って調理すると料理が出来上がる、といった感じで表現できますね。 これは、プロセスを作業には入力と出力があると表現するのと同じですね。

図2.カレーを作る(コンテキスト図)まとめ
図2.カレーを作る(コンテキスト図)まとめ
 

じゃあ、DFD(データフロー図)を使って、カレーを作るという作業をもう少し細かく見てみましょう。 ※UMLのアクティビティ図を使っても同様の表現はできますが、こちらの方が雰囲気が伝わりやすいと思います。

「1.肉と野菜を炒める」「2.肉と野菜を煮込む」「3.カレーの味付けをする」という3つの作業に分解できます。 これは、問題文のカレーの作り方にあった手順に該当するものです。

図3.カレーを作る(DFD#0)
図3.カレーを作る(DFD#0)
 

これら3つの作業は必要に応じてそれぞれ更に細かい作業に分解することも出来ます。 # まるで作業計画のWBS(Work Breakdown Structure)と同じですね。 ここでは「1.肉と野菜を炒める」の作業を分解した例を示しておきます。 ここで、「1.1 肉と野菜を切る」「1.2 炒める」に分かれた作業ですが、 全体としては肉、野菜、サラダ油を入力として、炒めた肉と野菜を出力 している点では上位の「1.肉と野菜を炒める」と同じになっていることが分かります。

図4.カレーを作る(DFD#1肉と野菜を炒める)
図4.カレーを作る(DFD#1肉と野菜を炒める)
 

これらの点を踏まえて、カレーの作り方を入力となる材料、調理の作業、作業の出力となる料理 という構成のつながりとして表現していこうと思います。

    
解答例
  • コンセプト
  • 前提条件
  • モデル
  • 4. 今月号の問題 (出題)

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

    【お題08】サンドイッチ

    サンドイッチをモデリングしてください。

    不足する情報は適宜補っていただいて結構です。補った情報は、コンセプトに記述してください。

    お題(サンドイッチ)
    図 お題(サンドイッチ)

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

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

    解答モデルの送付についてをご覧ください。
    なお、今月号は第 8 回です。 締め切りは 2006 年 11 月 2 日 (木) 2006 年 11 月 9 日 (木) です。
    締め切りを1週間延長しました。

    解答例掲載は 12 月号 ( 12月上旬 ) を予定しています。

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

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

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

    現在、応募していただいた方の当選確率は、90 %以上です!

    6.参考文献

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

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

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

    先月号の Elapiz Basic の正規ライセンスの当選者を発表いたします。おめでとうございます!!

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


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

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