オブジェクトの広場はオージス総研グループのエンジニアによる技術発表サイトです

モデリング

モデリングカフェ 第13回:WBSをモデリングする

モデリングカフェ「Square」~UMLでモデリングを愉しもう~
オージス総研 組み込みソリューション部
田中恒  赤坂英彦
2007年9月6日

毎回、身近にあるモノや出来事など、簡単な【お題】を出題し、皆様にモデリングをして頂きます。次回の記事で、皆様の解答モデルの中から3つほど取り上げて、コメントを付けていくかたちで進めていきます。

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

1.前回の問題(伝言メモ)

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

【お題12】伝言メモ

お題(伝言メモ)
お題(伝言メモ)

伝言メモをモデリングしてください。 不足する情報は適宜補っていただいて結構です。補った情報は、コンセプトに記述してください。

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

ポイント解説

このお題では、伝言メモを一つの帳票として、含まれている情報を分類すると概念を見つけやすいでしょう。 一例として次のように分類できると思います。

分類「伝言メモ」に含まれている情報
人に関する情報連絡先("~~様")
受付
連絡元("~~の~~様より")
電話に関する情報日時("○月○日 □:□ にお電話がありました。")
対応に関する情報"電話を下さい。Tel"
"また電話します。"
"電話のあったことをお伝え下さい。"
伝言メッセージに関する情報"特に用件をおっしゃいませんでした。"
その他 フリーフォーマット

2. 読者解答モデル

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

読者解答1:岩沢正樹 様

  • コンセプト
    • 「人」と「メモ」との関係について注目をしました。
    • 「人」については、区別することなく、「一つ」にまとめて考えました。
  • モデル
    • クラス図
      図 1 岩沢正樹 様の解答モデル(クラス図)
      図 1 岩沢正樹 様の解答モデル(クラス図)

  • 感想
    • 難しかったところ
      • 「人」の切り口の設定の仕方を、どのようにするか。
        • (自社の「人」と、他社の「人」とを区別するか。)
        • (「発信者・受付」と「受信者」で区別するか。)
    • 自己評価

      ある面、汎用性が下がったモデルになったかも知れません。10 点中 7 点程度で採点したいと思います。

  • コメント
    マスター   「人」と「メモ」との関係に注目したとのことです。伝言メモの情報が素直に表現されているのではないでしょうか。
     
    久本くん   関係者の多重度が "0..1" のように 0 を含んでいますが、どういうことでしょうか? 「発信者」がいない場合というのがよく分からないのですが。
     
    吉井さん   モデリングの対象は何かを考えてみよう。
     
    マスター   伝言メモですが。
     
    唐沢さん   「発信者」がいないのではなく、メモに記入されていなかったということでしょうか。
     
    久本くん   あっ。そういうことか。
     
    マスター   なるほど。伝言メモをモデリングすると言ったときでも、物理的なメモをモデリングしているのか、誰かが誰かに伝言メモを残したという出来事をモデリングしているのかの違いがありますね。
     
    吉井さん   そういうことだと思うよ。恐らく、物理的なメモの方に注目されていて、伝言メモに書くということを重視されたんだろうね。
     
     
     
    マスター   「人」の切り口で悩まれたということです。
     
    唐沢さん   伝言メモにある情報からすると、「~~の~~様より」には所属が含まれていますが、「受付」と「受信者」には含まれていません。
     
    吉井さん   その辺りから、「関係者」として「受信者・受付」と「発信者」を同じ概念にして良いのかどうか悩まれたんだろうね。
     
    久本くん   難しかったところでは"「発信者・受付」と「受信者」で区別するか"とありますよ?
     
    唐沢さん   本当ですね・・・
     
    マスター   記述ミスかもしれませんね。
     
    吉井さん   仮に、「受信者・受付」と「発信者」の区別で悩まれたんだとして話を進めるね。とすると、この伝言メモには暗黙の知識が入っているかもしれないね。メモの使われ方に関して。
     
    唐沢さん   ええ。それが、もう1つの悩まれた点"自社の「人」と、他社の「人」とを区別するか"に表れていると考えられます。
     
    マスター   伝言メモを使用する具体的な状況のバリエーションということでしょうか?
     
    吉井さん   そうそう。
     
    久本くん   え~と、A 社の a さんから電話があって・・・
     
    吉井さん   どこに電話があったの?
     
    久本くん   B 社です。
     
    吉井さん   暗黙的に、他社の人から電話がかかってくると思い込んでいない?
     
    マスター   自社の人から自社の人への伝言もあるかもしれませんよ。
     
    久本くん   そう言われればそうですね。
     
    吉井さん   うん。その辺に注意して「関係者」とは何かを考えると良さそうだね。
     

読者解答2:松田政博 様

  • コンセプト
    • 伝言には、伝言を託す人(元)、伝言を託される人(受付)、そして伝言の宛先となる人(先)が存在する。
    • 伝言を託す人(元)と伝言の宛先となる人(先)は、顧客と社内メンバからなる。
    • 顧客は、社外のお客様である。
    • 伝言を託される人(受付)は、社内メンバである。
    伝言を託す人伝言の宛先場面
    顧客社内メンバお客様から社内メンバへの伝言
    社内メンバ社内メンバ他部門からの伝言
    顧客顧客稀なケースだが、来社されているお客様に、社外から電話があった場合
    社内メンバ顧客稀なケースだが、来社されているお客様に、社内メンバの伝言を伝える場合
  • モデル
    • クラス図
      図 2 松田政博 様の解答モデル(クラス図)
      図 2 松田政博 様の解答モデル(クラス図)

    • オブジェクト図
      図 3 松田政博 様の解答モデル(オブジェクト図)
      図 3 松田政博 様の解答モデル(オブジェクト図)

  • 感想
    • 難しかったところ

      伝言メモが使われる場面を想定するところ。

    • 自己評価

      伝言メモの利用場面の分析結果をモデルに表現できたと思う。

  • コメント
    久本くん   コンセプトで、伝言メモが使われる場面を詳細にしていますね。
     
    唐沢さん   ええ。悩みそうなところの情報をきちんと整理しているのが素晴らしいです。
     
    マスター   このように整理してみると、顧客から顧客への伝言も確かにありえますね。
     
    久本くん   ということは、このお題の伝言メモはまちがっているということですか? 宛先に所属が書けません。
     
    吉井さん   まちがいと言えるかどうかはわからないけど、ひょっとしたら実際の運用と書式があっていないかもしれないね。でも、ここではモデルについて話そうか。
     
    マスター   「受付」は「社内メンバ」に限られるという、当たり前といえば当たり前なんですが、モデルで改めて示されると「ああ、そうだ」という安心みたいなものを感じます。
     
    唐沢さん   そうですね。暗黙知だったものが明示されたという気持ち良さでしょうか。
     
    久本くん   そういうのありますよね。なんだかもやもやしていたことが、モデルを書いてすっきりすることがあります。
     
     
     
    吉井さん   「伝言」クラスのサブクラスに「電話要求伝言」などがあるのはどう思う?
     
    マスター   モデルを見て、なるほどと思いました。そういう捉え方もありますね。
     
    唐沢さん   「伝言」の種類と言っても問題なさそうです。
     
    久本くん   少し気になるんですが。ときどき「後ほどかけ直します。電話があったことだけお伝え下さい。」と言われることがあります。
     
    吉井さん   ふむ、そういうケースは表現できないね。
     
    唐沢さん   「電話要求伝言」などと「伝言内容」との区別はどうでしょうか?
     
    久本くん   「伝言内容」との違いですか?
     
    マスター   違うような気がしますが、どちらも伝えたいことで同じような気もしますね。
     
    吉井さん   そもそもなんで電話したんだろう?
     
    久本くん   え~と、「用件」を伝えるためでしょうか。
     
    唐沢さん   ええ。「伝言内容」は電話をして伝えたかったことでしょう。しかし、「電話を下さい」などは「伝言」が必要になって生じたメッセージです。
     
    マスター   そうですね。「電話を下さい」を伝えるために電話をすることはないですね。
     
    吉井さん   そう捉えれば、「伝言内容」と「電話要求伝言」などが別の概念として区別されているのは良いね。
     

読者解答3:Ken-M 様

  • コンセプト
    • 伝言メモには「伝言を残すことを依頼する人」「その依頼を受けた人」「伝言の宛先となる人」がそれぞれ必ず一人ずついる。
    • 関係する「人」は特に区別しない(電話をしてきて伝言を頼むのは、外部の人だけとは限らない。)
    • 伝言メモには詳細な「伝言」が含まれることもある(特に残す用件がない事もあり得る。)
    • 伝言メモによくある「定型文」も「伝言」の1種類だと考える。
  • モデル
    • クラス図
      図 4 Ken-M 様の解答モデル(クラス図)
      図 4 Ken-M 様の解答モデル(クラス図)

    • オブジェクト図
      図 5 Ken-M 様の解答モデル(オブジェクト図)
      図 5 Ken-M 様の解答モデル(オブジェクト図)

  • 感想
    • 難しかったところ

      何をどれだけ細かく表現するか。

    • 自己評価

      あまり細かく考え切れていない気もしますが、まぁまぁシンプルにまとまった気がします。70 点。

  • コメント
    マスター   このモデルも、伝言メモに含まれる情報を素直に表現していますね。
     
    唐沢さん   ええ。「伝言」とは何かというところに興味を持たれています。
     
    吉井さん   「電話を下さい」などを、伝言の定型文だと捉えているのは面白い。
     
    久本くん   定型文っていうと、よくある決まり文句ってことですよね。
     
    マスター   そうですね。よくある伝言ということですね。
     
    吉井さん   「~の件」というように電話で伝えたかったことと「電話を下さい」などは同じということだね。
     
    久本くん   別の解答モデルのときと逆ですね。おかしくないんですか?
     
    吉井さん   捉え方の違いじゃないかな。
     
    唐沢さん   どちらも、宛先の人に伝えなければならないこととして捉えれば同じだと言えそうです。
     
    久本くん   一つも「伝言」がない場合って何を意味しているんですか?
     
    マスター   定型文もないということになりますね。
     
    唐沢さん   実際には「それではいいです」というように、電話を切ってしまわれる時もあります。
     
    久本くん   そのときの伝言メモっていうと、「電話があったことをお伝え下さい」と同じ意味になりませんか?
     
    マスター   そうなりますね。
     
    吉井さん   うん。その場合は伝言が不要だから、「伝言メモ」のインスタンスはないかもしれないな。どうだろうね。
     
     
     
    久本くん   「伝言」から見た「伝言メモ」の多重度が"1..*"と、多になっているのはなんでかなぁ?
     
    マスター   オブジェクト図を見ましょう。ここでは、「定型文」の場合などに同じ内容のものが複数の伝言メモに表れることを示していますね。
     
    吉井さん   それに「同じ件で何度も電話がありました」なんてことも表現できるかな。
     
    久本くん   でも、コンポジションになっているのがよくわからないです。
     
    唐沢さん   そうです。インスタンスが共有されているのでコンポジションではないでしょう。
     
    吉井さん   そうだね。ここは集約で表現する方が自然かな。
     

3. 解答例

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

コンセプトの導出

伝言メモに含まれている情報が、それぞれ何を表したものなのかを整理してみます。

図 6 伝言メモの情報が表すもの
図 6 伝言メモの情報が表すもの

すると、上図のように3つの事柄に関する情報+受付(※)が見つかりました。 さらに分類すると、次の2つが大きな概念のようです。

  • 電話での連絡があった事実に関すること
  • 伝言に関すること(受付、対応の依頼、用件)

※ 見にくくなるため、図中では受付について省略しています。

  

解答例

  • コンセプト

    伝言メモは「伝言」を表したものである。 「伝言」は、「用件」と共に、「人」から「人」への「電話連絡」の記録を伝えるものであると捉える。

    • 「伝言」を次のように考える。
      • 「伝言」はある「電話連絡」を記録する。「伝言」が不要な「電話連絡」もある。
      • 「伝言」にはメッセージとして複数の「用件」がある。時には「用件」がない場合もある。
      • 「伝言」にはそれを受け付けた「人」がいる。
      • 「伝言」には、"電話を下さい"などの「対応」を依頼される場合がある。
    • 「電話連絡」を次のように考える。
      • 「電話連絡」には連絡元と連絡先の「人」がいる。「人」には所属と名前がある。
      • 「電話連絡」には、かかってきた日時がある。
  • モデル
    • オブジェクト図
      図 7 解答例のオブジェクト図
      図 7 解答例のオブジェクト図

    • クラス図
      図 8 解答例のクラス図
      図 8 解答例のクラス図

  

解答例(別案)

  • コンセプト

    伝言メモに含まれる情報を素直に表現する。

    • 「伝言メモ」には連絡元、連絡先、受付の「人」がある。
    • 「伝言メモ」には、受け付けた日時がある。
    • 「伝言メモ」には「伝言」がある。
    • 「伝言」には、"電話を下さい"などの「対応」がある。
  • モデル
    • クラス図
      図 9 解答例(別案)のクラス図
      図 9 解答例(別案)のクラス図

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

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

【お題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分です)。

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

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

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

読者プレゼント ~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(いらぴす)当選者発表

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

改訂履歴

  • サイトテンプレート変更に伴う変更(2021年7月)