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

モデリング

モデリングカフェ 第17回:国語辞典をモデリングする

モデリングカフェ「Square」~UMLでモデリングを愉しもう~
オージス総研 組み込みソリューション部
田中恒
2008年5月8日

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

目次
  1. 前回の問題(多言語コミュニケーション)
  2. 読者解答モデル
  3. 解答例
  4. 今月号の問題 (出題)
  5. 解答モデルの送付について
  6. 参考文献

1.前回の問題( 多言語コミュニケーション )

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

【お題16】多言語コミュニケーション

たけしとキャシーが会話をしています。でも、日本語と英語が混ざっているようです。

お題(多言語コミュニケーション)
お題(多言語コミュニケーション)
  • たけし
    • 日本語を話せます。聞き取ることもできます。
    • 英語を聞き取れます。でも話せません。
  • キャシー
    • 英語を話せます。聞き取ることもできます。
    • 日本語を聞き取れます。でも話せません。

この状況をモデリングしてください。

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

ポイント解説

このお題のように、モデリングの対象が目に見えないものや現象、人の活動などの場合、何に注目してモデリングするか難しいものです。 このような場合はいきなりモデリングを始めるのではなく、スケッチを描く、気付いたことを箇条書きにしてみるなどして、モデリング対象となる重要な情報を見つけ出しましょう。 このお題では、図と箇条書きにあるように、会話(コミュニケーション)と人の言語能力に注目します。

まずは会話(コミュニケーション)について見ていきます。 図を見ると、人と人の間で何らかの言葉(単語や文)を交換することが会話だと言えそうです。 多言語コミュニケーションということで、言葉はある「言語」で規定されると考えると良いでしょう。 ソフトウェアやネットワークに詳しい人は、メタファとしてプロトコル(通信規約)を考えるとわかりやすいかもしれませんね。 例えば、FTP でファイルを転送する、HTTP でファイルを転送する、という具合です。 このように考えると、発せられた言葉そのものが重要なのではなく、言葉の上で伝えられる思いやメッセージが重要と捉えることもできます。 発せられる言葉を抽象化して、例えば「メッセージ」としても良いでしょう。

次に、人の言語能力を見ていきます。 箇条書きの情報からは、「人」「言語」、そして聞き取るや話すという「能力」が見つかります。

「能力」というのはどういうものなのか、もう少し検討してみましょう。 「能力」は「人」が有するものです。 では、「人」とだけ関連する概念と考えてよいものでしょうか。 日本語は得意だが英語は苦手な人というように、「能力」は「言語」とも関連します。 つまり、「能力」は「人」と「言語」の間にある概念(関連クラスとなるような概念)ですね。 ただし、「能力」を単純に「人」と「言語」の間の関連クラスとするのは慎重になりましょう。 「聞き取る」や「話す」というように「能力」にもいろいろあります。 「書く」「読む」など「能力」を付け加えて遊んでみてください。

2. 読者解答モデル

当カフェのマスターとヒトクセある!?常連たちと一緒に解答モデルを見ていきましょう。 コーヒーなどを飲みながら、皆様も一緒にわいわいやる感じで考えてみてください。

読者解答1:喜多久保 英美 様

  • コンセプト
    1. 多言語コミュニケーションの受信者は 1 人以上いて成立する。
    2. 1 つのテーマで使用される言語は 2 カ国語以上ある。
    3. 1 人が話す言語は、1 つ以上ある。
    4. 発信者と受信者がいる。
    5. 共通言語は、必ず 2 人以上の言語能力保有者がいる。
  • モデル
    • クラス図
      図 1 喜多久保 英美 様の解答モデル(クラス図)
      図 1 喜多久保 英美 様の解答モデル - クラス図

    • オブジェクト図
      図 2 喜多久保 英美 様の解答モデル(オブジェクト図)
      図 2 喜多久保 英美 様の解答モデル(オブジェクト図)

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

      なにが満たされればコミュニケーションが成立したと言えるのかを定義することと、それをモデル化で表現することが難しかった。

    • モデルについて自己評価

      ぼちぼち。

  • コメント
    久本くん   このモデルは変わった表記法で描かれていますね。
     
    唐沢さん   ええ、UML ではないです。
     
    吉井さん   うん。これは T 字型 ER 図だね。データモデリングの表記法の 1 つだよ。
     
    マスター   左下の区画はアイデンティファイアで、エンティティを区別するコードが入ります。右下の区画はアトリビュート、つまり属性です。
     
    吉井さん   左下のアイデンティファイアには参照キーが入ることもあるんだけど、このモデルには (R) が明示されていないね。「言語能力」と「メッセージ」にある「言語名」は、「共通言語」への参照キーかな。「名前」は「人」への参照キーみたいだ。
     
    唐沢さん   「メッセージ」の「テーマ」は、「テーマ」への参照キーですね。参照キーを除いて、アイデンティファイアの項目は UML で言う属性と同じと解釈して良いのでしょうか。
     
    吉井さん   まぁ、それで良いかな。
     
    久本くん   へー。ところで、汎化関係は UML と同じなんですね。
     
    マスター   おや。リレーションは烏足の記法と同じではありませんでしたか。汎化関係もなかったような気がします。
     
    吉井さん   関係線は UML の表記になっているね。ハイブリッドというところかな。
     

     
    唐沢さん   コミュニケーションと言語能力についてモデリングされていて、お題を捉えたモデルになっています。
     
    マスター   そうですね。「テーマ」というのが唐突な感じがしますが。
     
    久本くん   会話の中で複数の「テーマ」があるということじゃないですか? あいさつ、今日の天気、昨日の TV 番組とか。
     
    吉井さん   多分そうだろうね。話題ということかな。ある「テーマ」で複数の「メッセージ」がやり取りされるんだね。
     
    マスター   なるほど。ただそうすると、コンセプトの 2 つめ『1 つのテーマで使用される言語は 2 カ国語以上ある。』に引っかかりを感じます。なんと言いますか・・
     
    唐沢さん   「テーマ」と「共通言語」の関連は不要ではないでしょうか。言語は「メッセージ」を規定しますが、「テーマ」には関係ないでしょう。
     
    久本くん   今日の天気というテーマは、日本語だろうが英語だろうが関係ないということですね。
     
    吉井さん   それを言葉で発するとき、つまり「メッセージ」になって初めて言語が関係するということだね。うん。そうかな。
     

     
    マスター   言語能力についてはどうでしょうか。
     
    吉井さん   「人」と「共通言語」の間に「言語能力」がある・・・「共通言語」という名前には少し違和感があるけど、モデルとしてはちゃんと捉えられているんじゃないかな。
     
    久本くん   聞くというのはどうなってますか?
     
    唐沢さん   話せることと聞き取りだけできることは区別されていません。
     
    マスター   確かにそうですね。
     
    久本くん   話せて始めてその言語の能力がある、ってことなのかなぁ。
     
    吉井さん   うん。きっと、あるコミュニケーションの中に複数の言語があること、そちらに注目したんだね。言語能力の方はあまり検討されていない感じを受ける。おしいってところかな。
     
    久本くん   ぼちぼち?
     

読者解答2:松田 政博 様

  • コンセプト

    コミュニケーションを人と人の間で情報を共有することと捉える。 言語は情報を共有するための媒体である。

    人は言語能力を持っている。 言語能力には、聞き取る言語能力と話す言語能力がある。 人は言語能力としていくつかの言語を持つことができる。 人は言語能力を有する言語を媒体にして情報を共有する。

    ある人は話す言語能力を有する言語を媒体にして情報 A を発する。 別の人は、情報 A が聞き取る能力を有する言語で発せられたものならば、ある人と情報 A を共有できる。

    言語能力には書く言語能力もあるが、今回のお題では必要ないのでモデルに表現しない。

  • モデル
    • クラス図
      図 3 松田 政博 様の解答モデル(クラス図)
      図 3 松田 政博 様の解答モデル(クラス図)

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

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

      ある人が話せる言語で発した情報が、別の人にとって理解できる言語であれば、その情報が別の人に伝えられることを表現するところ。

    • モデルについて自己評価

      「聞き取る能力」と「話す能力」を概念として出すことにより情報共有を表現できたと思う。

  • コメント
    マスター   『コミュニケーションは人と人の間で情報を共有すること』という捉え方はすばらしいですね。
     
    吉井さん   うん。コミュニケーションの本質じゃないかな。説得力を感じる。
     
    唐沢さん   発した言葉というのを抽象化すると、それは「情報」になるということです。
     
    久本くん   なるほど、ですね。
     
    唐沢さん   ええ。それに『言語は情報を共有するための媒体である』というのもすばらしいです。
     
    吉井さん   そうだね。目的は情報を共有すること、言語はその手段というところかな。
     
    久本くん   そっか。「人」と「情報」の関係って、会話に限らず、ブログとかでも同じですね。とにかく人の間で情報を共有するってことなんだ。
     
    マスター   そうですね。それがコミュニケーションの本質なのでしょう。
     

     
    唐沢さん   「人」「言語能力」「言語」の多重度も注目に値します。
     
    久本くん   えと、「人」は「言語能力」として、聞く、話す、とかを持つんですよね。
     
    マスター   オブジェクト図を確認しましょう。そうなっていますね。
     
    吉井さん   うん。書く、読む、などが加わるときには、「言語能力」のインスタンスが増えるんだね。
     
    久本くん   表情とかボディーランゲージなんかも表現できそう。
     
    マスター   面白いですね。「言語能力」というよりもコミュニケーション能力みたいになりそうですね。
     
    唐沢さん   細かいですが、「言語」の多重度は 1..* でしょうか。
     
    久本くん   話す能力を持っているけど、その対象の言語がない・・・何か不自然ですね。
     
    吉井さん   そうだね。でも、ちょっとしたミスで、大きな問題じゃないかな。
     
    唐沢さん   3 つめのコンセプト『ある人は~~』は、モデルの制約条件になりますね。
     
    マスター   そうですね。ノートで制約条件を示しておくともっと良かったと思います。
     

3. 解答例

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

  

解答例

  • コンセプト

    コミュニケーションと言語能力をモデリングする。

    • コミュニケーション
      • コミュニケーションは、人と人の間でのメッセージの伝達だと捉える。
      • 今回は、簡単のため 1 対 1 のコミュニケーションとする。
      • メッセージは、ある言語で発せられる。
    • 言語能力
      • 言語能力は、人と言語の組み合わせに対してある。
      • 言語能力には、「聞き取り能力」と「話し能力」がある。

  • モデル
    • クラス図 1(コミュニケーションのモデル)
      図 5 解答例のクラス図 1(コミュニケーションのモデル)
      図 5 解答例のクラス図 1(コミュニケーションのモデル)

    • クラス図 2(言語能力のモデル)
      図 6 解答例のクラス図 2(言語能力のモデル)
      図 6 解答例のクラス図 2(言語能力のモデル)

    • クラス図 3(完成)
      図 7 解答例のクラス図 3(完成)
      図 7 解答例のクラス図 3(完成)

    • オブジェクト図
      図 8 解答例のオブジェクト図
      図 8 解答例のオブジェクト図

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

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

【お題17】国語辞典

国語辞典をモデリングしてください。

じしょ(辞書)
[一] 多くの言葉や文字を一定の基準によって配列し、その表記法・発音・語源・意味・用法などを記した書物。(中略)。
辞典。辞彙(じい)。語彙。字書。字引。
[二] 仮名漢字変換方式のワード-プロセッサーにおいて、仮名に対応する漢字を登録しておくファイル。(後略)。
[三] 辞職の意を記した文書。辞表。

※三省堂「大辞林 第二版」より引用

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

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

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

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

6.参考文献

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

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

改訂履歴

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