ObjectSquare [2007 年 11 月号]

[特別企画]


モデリングカフェ「Square」

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

 

−第 14 回− 百貨店のフロアをモデリングする

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

目次

  1. 前回の問題( WBS )
  2. 読者解答モデル − 本文で紹介できなかった解答モデル
  3. 解答例
  4. 今月号の問題 (出題)
  5. 解答モデルの送付について
  6. 参考文献
  7. Elapiz (いらぴす)当選者発表

1.前回の問題( WBS )

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

【お題13】WBS

とあるプロジェクトで、工数管理をする目的で以下の WBS を作成しました。この WBS をモデリングしてください。

タスク状態期日担当者予定工数実績工数
A. 読者解答をレビューする2007/8/24 20 h15 h
  A-1. 読者Aの解答モデルをレビューする2007/8/22唐沢5 h3.5 h
  A-2. 読者Bの解答モデルをレビューする2007/8/22吉井5 h3 h
  A-3. 読者Cの解答モデルをレビューする2007/8/22青木6 h4.5 h
  A-4. レビューを取りまとめる2007/8/24唐沢4 h4 h
B. お題を作成する2007/8/28 6 h5.5 h
  B-1. 問題文を作成する2007/8/27吉井4 h3 h
  B-2. 解答例を作成する2007/8/28唐沢2 h2.5 h
    B-2-1. コンセプトを作成する2007/8/28唐沢1 h1 h
    B-2-2. モデルを作成する2007/8/28唐沢1 h1.5 h
C. HTML を作成する着手2007/8/30 7 h 
  C-1. 本文の HTML を作成する着手2007/8/30久本4 h 
  C-2. 紹介できなかった解答モデルの HTML を作成する2007/8/30久本3 h 

お題( WBS )

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

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

ポイント解説

WBS とは作業を分解したもの(その図表)です。 WBS はさまざまな目的で作成されますが、おそらくどんな場合でも作業を分解したものという点は変わらないでしょう。 本質としてまず押さえておきたい点です。

次に、お題の WBS の表を見てみましょう。 先ほどの「WBS は作業を分解したもの」というのは、「タスク」列で表現されています。 その他の列は何を表しているのでしょうか。

ここで一般論の話になりますが、表の行や列の形式にはいくつかあるかと思います。ここでは2つの形式を取り挙げます。

  1. 行や列が項目になっているもの

    このお題のように、項目が並んでいるもの。

  2. 行や列に軸があるもの

    ある軸に沿って区分けや分類がなされているもの。 例えば、駅の時刻表の縦軸(時刻)の「6時」「7時」「8時」・・・。 テレビ番組表の横軸(チャンネル)の「1ch」「3ch」「4ch」・・・。

さらに言えば、表にはいろいろな形式があるでしょう。

ここでは、上記の2つの形式に限って、また列の場合について考えます。 モデリングという点から見ると、1. の場合は「項目」の 1 つ 1 つ(列の見出し)がクラスの候補となるでしょう。 そして、セルにはそのクラスのインスタンスが入ることが多いです。 2. の場合は列の「軸」がクラスの候補となるでしょう。 そして、1 つの列(列の見出し)がそのクラスのインスタンスとなることが多いです。

再び、お題に戻ります。 お題の WBS の列は、上記の 1. になっています。 まずは、「項目」の 1 つ 1 つ(列の見出し)をクラスの候補として捉えると良いでしょう。 次に検討したい点は、各「項目」がクラスになるのか属性になるのか、です。 この点は考え方によって変化するところですので、コンセプトでしっかりと押さえましょう。

2. 読者解答モデル

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

読者解答1:ありゅ〜 様
読者解答2:岩沢正樹 様
読者解答3:松田政博 様

3. 解答例

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

コンセプトの導出

Work Breakdown Structure の名前が表す通り、作業を分解する構造を表現します。 この構造は、(粒度が異なる)タスク同士の関係として考えます。

次に、タスクの状態や期日、担当者、予定工数、実績工数の情報を付加します。 ここでは、担当者や予定工数、実績工数は、工数管理をする上で付加された情報と考え、タスクとは異なる概念として捉えます。 状態や期日はタスク自身の性質を表しているとして、タスクの属性として考えます。 この時、1 つの指針として「タスクという概念のライフサイクル(ライフタイム)」を意識します。 あるタスクが生まれたときに一緒に出来てそのタスクが無くなるときに一緒に消える情報は属性ではないかと考えます。

  
解答例

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

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

【お題14】百貨店のフロア

百貨店「角井」のフロアガイドは以下のようになっています。

11Fレストラン和食 中華料理
10Fレストランフレンチ イタリアン
9F催事場各種催し物
8Fスポーツスポーツ レジャー
7F紳士服スーツ フォーマル
6F紳士服ヤング ミドル
5F婦人服キャリア フォーマル
4F婦人服ミセス コンテンポラリー
3F婦人服ヤング カジュアル
2F婦人雑貨シューズ バッグ 帽子
1Fファッションジュエリー アクセサリー 化粧品
B1F食品生鮮食料品 惣菜 ベーカリー 和・洋菓子

お題(百貨店のフロア)

各フロアには専門店が入っています。 百貨店のフロアをモデリングしてください。

不足する情報は適宜補っていただいて結構です。補った情報は、コンセプトに記述してください。 解答はクラス図で表現して下さい。クラスには必要な属性を、関連には多重度を明記するのがポイントです (解答時間の目安は15分〜30分です)。

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

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

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

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

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

UML モデリングツールをお持ちでない方は、この機会に是非ご応募ください。 Elapiz SE 2005.1 以前をお使いになっておられる方も応募してくださってかまいません。

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

6.参考文献

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

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

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

今回は応募がありませんでした。皆様のご応募お待ちしています。


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

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