こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

オブジェクト指向とモデル指向

オブジェクト指向とモデル指向の違いが良く分かりません。

よろしくお願いします。

投稿日時 - 2008-01-23 00:01:21

QNo.3704844

すぐに回答ほしいです

質問者が選んだベストアンサー

オブジェクト指向は『考え方』で、モデル指向は『開発手法』なので比較するものではない、というのが答えかと思います。
『オブジェクト指向(以下OOと略)』という技術があるとよく誤解されますが、『OOプログラミング』『OO言語』『OO分析』『OO設計』『OOユーザインタフェース』『OOデータベース』はそれぞれ別の技術です。これらは独立な技術ですから、OO分析をしなくともOOプログラミングは可能ですし、OO言語を用いなくともOOユーザインタフェースを開発することが可能です。
モデル指向開発は、一連のOO分析・OO設計・OOプログラミングを行うことを前提に、UMLという図法を中心に開発手法(方法論)を構築したものです。
私の考えでは、OO分析、OO設計、OOプログラミングはそれぞれ適用できる領域が限られていますので、それらを一まとめにした方法論は(美しいですが)意外と適用領域が狭いという印象です。UML自体は有用な図法ですので勉強する価値はありますが、方法論そのものはあまり成功しているとは言えないと*私個人は*思います。反論はあるでしょうけど。

投稿日時 - 2008-01-23 10:45:17

補足

モデル指向がオブジェクト指向を前提とした開発手法だと示せるよう、
UMLの文献などを調べてみます。
なにか参考になる資料(文献、サイト)などご存知でしたら、ご教示願いたく存じます。

投稿日時 - 2008-01-23 14:47:42

お礼

回答ありがとうございます。

『考え方』と『開発手法』という言葉の違いで、大分イメージがはっきりしました。

投稿日時 - 2008-01-23 14:34:01

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

>目的意識があると、どうでも良いとはいえなくなります。
その目的とは何かを補足にどうぞ。

私にはどうでもいいことで悩んでいるように見えます。

投稿日時 - 2008-01-23 20:08:44

補足

理由がどうであれ、
「知りたい」という目的があるのです。
うやむやなままにするか、はっきりさせるか。
「知った知識を使う」という目的があるのです。
うやむやなままで正しくつかえるのか否か。

それだけのことです。

> 私には
そうです。「あなたには」どうでも良いことだったでしょう。
目的がないのですから。

わたしは、知るか、知らないかで状況が変わります。
あなたは、知ろうが、知りまいが、何も変わらないのでしょう。

投稿日時 - 2008-01-23 23:30:47

お礼

ご質問ありがとうございます。
補足を書かせていただきました。

投稿日時 - 2008-01-23 23:34:07

UMLや、それを用いたModel-Driven Development (モデル駆動開発)や、Model-Driven Engineering(モデル駆動工学)を推進しているのは全部OMG(Object Management Group)です。(商標登録されています)

http://ja.wikipedia.org/wiki/モデル駆動工学
http://ja.wikipedia.org/wiki/統一モデリング言語
http://ja.wikipedia.org/wiki/Object_Management_Group

wan-doggy様のおっしゃるモデル指向開発とこれらが全く同一かはわかりませんが、UMLを使うのであれば源流はOMGだと思われます。
また、UMLを提案したスリーアミーゴス(人物名ではありません)は、3人ともオブジェクト指向ソフトウェア開発方法論の研究者です。オブジェクト指向が前提になっているのは当然かと思います。

投稿日時 - 2008-01-23 16:56:43

お礼

ご回答ありがとうございます。

確かに彼らはもともとオブジェクト指向分析設計手法(Booch法、OMT法、OOSE法)の提唱者ですね。

投稿日時 - 2008-01-23 23:15:28

ANo.2

>オブジェクト指向とモデル指向の違いが良く分かりません。
聞いたことはあるけどわたしにもわかりません


【モデル指向開発とは】
 システム開発プロジェクトでは、設計書などの開発成果物を作業工程毎に作成し、段階的に詳細化を進めることで開発作業を実施します。多くの場合、これらの開発成果物は文書で表現され、日本語などの自然言語による表記が多く用いられます。そのため、開発成果物の意味は曖昧になりがちで、誤りや誤解を引き起こしやすくなります。さらに、自然言語で書かれた開発成果物はコンピュータによる解釈が困難であるため、開発作業の機械化は困難となります。
 これに対してモデル指向開発では、各開発成果物の構造と意味は、モデルを用いることにより厳密かつ高い抽象度で簡潔に定義可能となります。また、その表記法としては、自然言語に比べてより形式的な表現が可能であるUML( Unified Modeling Language )★などの図表表現を用います。開発成果物をモデル表現することにより、誤りや矛盾の混入を減少させ、開発者間の誤解を防止することに加え、コンピュータも開発成果物を解釈可能となります。それにより、設計・製造作業の自動化、一貫性チェックの実施などの開発作業の機械化を可能にし、開発成果物の品質の向上と開発生産性の改善を実現します。

★ UML( Unified Modeling Language ) OMG●が標準化した統一モデリング言語。クラス図やシーケンス図などのソフトウェア開発で利用されるモデル表記法を定義している。UML2.0以降では、大幅に表記法が拡張されると共に、モデルのコンピュータ解釈と開発作業の自動化のための配慮がなされている。

● OMG( Object Management Group ) 1989年に分散オブジェクト標準策定のために設立された非営利団体。近年は、モデリング言語およびその関連技術の標準化を行なっている。

投稿日時 - 2008-01-23 01:49:34

お礼

回答ありがとうございます。

> 【モデル指向とは】

某SI企業の資料ですね。

投稿日時 - 2008-01-23 14:31:39

ANo.1

私もよくわかんない。どうでもイイじゃん。

投稿日時 - 2008-01-23 00:07:01

お礼

回答ありがとうございます。

目的意識があると、どうでも良いとはいえなくなります。

投稿日時 - 2008-01-23 14:29:01

あなたにオススメの質問