- - PR -
オブジェクト指向とUMLの研修について
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-01-23 17:27
はにまるです。
偉そうな事いってますが、初心者です。 初読みの方は御注意下さい。 業務アプリの設計で起きる、オブジェクト指向の問題ですが、 考えて見ました。 要件定義で利用するオブジェクト指向で書かれた図は、利用者と開発者の 認識合わせをする為であり、 要件定義でオブジェクト指向により業務分析を行っても、 業務自体をシステム化する訳ではなく、サービスをシステム化します。 つまり、ここにオブジェクト指向で作業を行う際の隔たりがあります。 このサービスはコンピュータシステムが持つ限界以上の事は出来ません。 コンピュータシステムの持つ限界が、ある意味 サービスを定義したオブジェクトを守っているとも言えます。 これは、基本設計、詳細設計、開発に移るほど、コンピュータシステムの制限を受け、 その反面、より一層コンピュータシステムの制限でオブジェクトが守られると言えます。 つまり、開発ではオブジェクト指向の恩恵は受けやすいが 上流工程になる程、オブジェクト指向の恩恵は受け難い事になります。 ただ、設計ミスにより開発に出戻が発生しても、 開発レベルではコンピュータシステムの制限に守られたオブジェクトがいる為、 被害は”設計の修正”と”僅かな開発の出戻”となり、 結果的に、上流工程者も恩恵を受ける事が出来ます。 よって、 オブジェクト指向が進むにつれ、出戻を気にせず 変更要求を頻発させる設計者が増える。 (あちゃ!) > < | ||||
|
投稿日時: 2004-01-23 17:37
objectさんこんにちは。米山@クロノスです。
例えば「人間には眼や鼻があり」と言ったときに、いやそれは「人間には眼と鼻があり」と言うべきだろ! というのは、このスレッドの話の流れからそれほど重要なことではないかと。。。 # では「役割」とは何か?「責務」とは何か?という議論になってしまいます。 どうしても、話がそれていきますね〜 [ メッセージ編集済み 編集者: 米山@クロノス 編集日時 2004-01-23 17:40 ] | ||||
|
投稿日時: 2004-01-23 18:06
ほむらです。
水をさすようなのですが。。。 そろそろ新規スレを立てたほうがよいかもしれませんね。 このリンクから派生したことを書けば問題ないと思いますし。。。 #新規スレってどんどん作っていっても良いかなと思うのですが。。。 #参考にした記事に指定すれば一覧表示とかできて、タイトル変更のかわりになるかな? | ||||
|
投稿日時: 2004-01-24 01:02
>私はオブジェクト指向とは、現実世界の仕組みや我々人間の思考方法を投影した
>ものだと思っています。 多分,無意味です. そんな漠然とした希望的観測は工学のレベルでは通用しません. >「我々の思考にとってオブジェクト指向がきわめて自然であるなら、それを >ソフトウェア工学にも応用しようじゃないか」と。 「応用しようじゃないか」と言うだけなら勝手です.何の役にも立たないけど. Javaの世界でいう「オブジェクト指向」はそういう「願望」ではありません. たとえば,人間の思考にとってなら多重継承はごく自然かもしれませんが, プログラミングからすると(実装の)多重継承は絶対に避けるべきものです. | ||||
|
投稿日時: 2004-01-24 01:14
>何もかもオブジェクトで考えれる様な記述が書籍にありましたが、
>(”人間の脳は概念で物事を考える”と別分野の書籍でもあったので、 > その点は、納得はしています。) そういう本「も」あるでしょうね. >この文書が、私を含めた初心者からすると >”全てをオブジェクト指向で考えると良い”と受け止めれてしまいます。 ある程度経験を積んでも, そういう記述から「のみ」解釈するならば,そうなるでしょう. >個人的には、オブジェクト指向で考える目的(考えの整理)からすると >”全てをオブジェクト指向で考える”事に懐疑的です。 私も「全てをオブジェクト指向で考えること」は無価値だと思います. 懐疑的どころか,それがほとんど無価値であることを確信しています. その書籍が私の考えている通りのものならば,さっさとゴミ箱の中に 永久追放することを強くお勧めします. >オブジェクト指向の素晴らしさ(メリット)を列挙されているのは良いのですが、 >あくまで、”整理手法”である限り、不得手なエリアと言うのが >ある筈ですが、それが記述されていません。 たとえばJavaで言う「オブジェクト指向」は「整理手法」ではありません. おそらく現在主流の「オブジェクト指向」は「整理手法としてのオブジェクト指向」 とは別物です. ちまたには,これを誤解させる書籍も溢れているようです.困ったことにね さらに厄介なことに,そういう「整理手法」の方が「具体的で分かりやすく, 直感的で理解しやすい」などと評価され,本物のオブジェクト指向の方が 「漠然として理解しにくく,抽象的で初心者を混乱させる」などと敬遠 されたりすることが多いということです. でもオブジェクト指向とはそういうものなんですよ. [ メッセージ編集済み 編集者: 悪夢を統べるもの 編集日時 2004-01-24 01:22 ] | ||||
|
投稿日時: 2004-01-24 01:20
>>「オブジェクトにはロール(役割)や責務があり」
>>と少し言及されてますが、正確にはロール(役割)と責務であり、 >例えば「人間には眼や鼻があり」と言ったときに、いやそれは「人間には眼と >鼻があり」と言うべきだろ!というのは、このスレッドの話の流れからそれほど >重要なことではないかと。。。 これが, 「ポインタと参照,データ構造とインスタンス,型とクラス,etc」 だったら,本質的な違いなのですけどね. ロールにしろ責務にしろ,Javaだとほとんど出る幕はないですよねー. | ||||
|
投稿日時: 2004-01-24 12:54
objectです。
ukさんの 「オブジェクト(または責務)」の視点で捉えるか、「機能とデータ」 の視点で捉えるか。 「オブジェクト(または責務)」の視点で分割するか、「機能とデータ」の視点で分割するか。 という表現から、 オブジェクト<=>「機能とデータ」 責務<=>「機能とデータ」 結局、 オブジェクト<=>責務 と解釈してました。 それから、「テクニカルターム」と書いても、それがここでの共通の「ターム」になって無い訳ですから、出来ればukさんご自身の言葉での説明が欲しかったです。 私も「情報(データでも状態でもいいです)を知っていること」は責務でも良いと思います。 「役割は責務の集合に名前を割り当てたも」に対しては、 責務の集合を役割とすれば、その役割に対しては、それぞれの役割とはまた違った責務が発生すると思います。従って、話のレベルが変わっていると思います。 「機能とデータ」つまり、「データと機能」は表現を変えれば 「集合、写像」と置き換えても良いと思います。 ここで、データが集合に対応する訳ですが、 ここからでも、集合=データの多様性が推測出来ると思いますが、これを表現するのが「プロパティ」だと私は思っています。 #それから、それぞれの要素に対して更なる集合を考える場合、その危険性だけは認識しておいた方が良いと思います。 私は、折角「責務」が出て来たのに、見過ごしにせず、「責務」の位置付けが出来ればと思い発言しました。 皆さんが、もし米山@クロノスさんが書いておられる様に、話をそらせていると思っていらっしゃるとすれば謝りたいと思います。 [ メッセージ編集済み 編集者: object 編集日時 2004-01-24 18:32 ] | ||||
|
投稿日時: 2004-01-24 12:59
objectです。
文脈を理解して頂ければ分かると思いますが、 いきなり「責務」という言葉が、「データと機能」に対する概念として出て来ました。 それで、私は「責務」とは何か?という中で、「責務」だけでは意味も持たないと言ってる訳です。 もし米山@クロノスさんが 「人間にとっての眼や鼻」 程度にしか 「オブジェクトにとっての責務」 を考えていないのであれば、言葉は同じでも、少なくとも私の考えとは全く異なります。 表面上は同じでも、意味の全く異なる言葉を安易に引用した私が間違ってたんだと思います。 謝ります。 それから、「オブジェクト」は重要な問題ですから、話がそれているとは思いません。 でも、もしみなさんに余計な混乱を与えたとすれば私は謝ります。 以上 | ||||
