自然言語をUMLで表現してみる


英語の5文型

  • 第1文型 SV
    UMLでは名詞はオブジェクト(クラス)またはオブジェクトの属性値(クラス属性)候補、動詞はオブジェクト間のリンク(クラス間の関連)の候補です。第1文型は主語と述語しかありません。オブジェクト(クラス)が1つあるだけとなります。述語は対象がないのでUMLには表れません。
  • 第2文型 SVC
    • Aさんは会社員です」
  • これだけを単純にモデル化するなら、「会社員」はオブジェクトとしてとらえるよりAさんの職業という属性の値と考えるのが簡単です
  • 第3文型 SVO
    • オブジェクト図では主語と目的語がオブジェクト、述語がリンクに対応
    • クラス図では主語と目的語がクラス、述語が関連に対応
  • 第4文型 SVOO
    • 「BさんはAさんにPCを買った」
  • この文章は「BさんはPCを購入した」という文章と、その結果「AさんはPCを所有する」という2つのSVOに分解することができます。ただしこのPCは同一のものであることを示す必要があります。これはUMLでは2つのSVOパターンを両者が共有する目的語であるPCを共有する形で記述することができます
  • Bさん __ 購入する __ PC(共通のO) __ 所有する __ Aさん
  • 第5文型 SVOC
    表現は困難です。ここで使用されるVは普通の他動詞ではなく補語がないと意味が成立しない不完全他動詞と呼ばれるものです。心理的状態を表す好き嫌いや、知覚や五感の見る・聞くなど人間的要素が大きく、オブジェクト指向での取り扱いの難しい範疇に入ります。ここではいったん保留にします。

形容詞

オブジェクトの属性値として表現することができます

関係代名詞

 「Aさんはサービス業のS社に勤務している24歳の会社員で、ノート型1GHzのPCを所有している」

 Aさんの説明に必要なS社の説明が長くなるなら、関係代名詞を用いるか文章を分割した方が分かりやすくなります。UMLではこのような場合S社を別オブジェクトとするとすっきりします(図6)。AさんとS社の関係を新たに追加し、S社の説明をその属性とします。

Aさん __勤務する__ S社