オブジェクト設計-その1

 前回はEEM(Entity Event Matrix)の設計モデルの考え方を取り上げました。
 今回はシステム設計手法として世界のデファクトスタンダードである「オブジェクト
 設計の考え方」を取り上げます。

 10年以上前になりますが、私が始めて「オブジェクト設計」のセミナーを受けまし
 たとき、さっぱり全体像がつかめず、“情報システムに使うには程遠い思考法だ
 な・・・・”と思ったものでした。

 3、4年前にUML(Unified Model Language)が翻訳されて発売され、至るところの
 書店にこの関係の本が展示されました。
 UMLはオブジェクト指向設計を分り易く表記する手法として開発されました。この表記
 法を携えてオブジェクト志向設計を捉えると自分なりに良く理解できるようになりま
 した。今回はこの理解できるようになった経緯を追って、オブジェクト指向設計の話
 をしてみようと思います。

(1)オブジェクト指向設計の要素
 オブジェクトは“実体”と日本では翻訳されています。実体ですから、人間、自動
 車、犬も猫もみんなオブジェクトとなります。
 さて、“実体を設計するとはどういうことでしょうか?”
 実体として、自動車を取り上げ設計してみましょう。自動車を自動車足らしめるため
 には“その構成要素”と“その働き”を定義しないと設計できません。
 “構成要素”には「車体」、「ハンドル」、「エンジン」、「タイヤ」、「シャー
  シ」、「ラジエター」などが上げられますし、
 “働き”には「加速・減速が出来る」、「曲がる」、「走る」、「止まる」、「ガソ
  リンを動力に変える」などがあります。
 自動車は自分の構成要素を持って、自分の働きが出来る実体となっています。
 ただ、この働きは人間が外から加速するためにアクセルを踏んだり、曲がるために
 ハンドル操作することでこの働きが出来ます。すなわち、自動車という実体へ人間が
 “加速しろ”や“曲がれ”という指令があり、実体の構成要素のアクセルやハンドル
 を操作する自動車の機能を果たしています。

(2)オブジェクト間の関係
 実体は外から指令を受けることで自分が持っている実体の働きを遂行しています。
 これは人間社会も同じです。セールスマンという実体に対して、上司は“売って
 来い”という指示しか出しませんし、それで指示されたセールスマンは十分理解でき
 ます。
 SEに対しても“納期どおりシステムを稼動させてくれ”という指示を出すだけです。
 なぜなら、セールスマン、SEという実体はその指令を受けてその指令を実行できる
 知識(=構成要素)とその実行能力(=働き)を持っているからです。
 ということは、知識を持っている実体を中心に考えて、そのオブジェクトに対して
 “指令”を出して、オブジェクト間に“指令”の関係を作ると一つのシステムが出来
 上がることになります。
 すなわち、「人間社会のオブジェクトの関係はそれ自体で指令を完結できる働きを持
 ち、指令で関係付けられている社会です。」 
 このような関係性を持ったシステム化の設計志向がオブジェクト指向設計なのです。

 オブジェクト指向設計ではこの実体、たとえば前項の例の自動車を例に取ると、自動
 車を“クラス”、構成要素を“属性”、働きを“操作や機能”と言います。
 情報システムの観点で考えますと、
 ・知識(=属性)とはデータです。もっと正確に言うと、顧客マスターの“顧客
  名”、“顧客住所”、“社長名”、“売上高”等のデータ項目、すなわち属性は
  データ項目となります。
 ・働き(=機能)とは処理きのうですから、“顧客データ検索”、“顧客リスト一覧
  作成”、“仕切値検索”などは機能となります。

第61回はここで終了します。オブジェクト指向の概念を取り上げました。
次回は、情報システムにおけるオブジェクト志向設計を「オブジェクト設計―その2」として取り上げます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする