@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- @IT情報マネジメント 会議室 Indexリンク
- IT戦略
- 仕事の改善
- アーキテクチャ
- プロジェクト管理
- ITインフラ
- Webマーケティング
- BPMプロフェッショナル
- 業務アプリ
- - PR -
「UML」を初めとする現在の「モデリング言語(手法)」の問題点は?
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-01 09:38
ドメインと言う言葉が少しあいまいに使われているかもしれないので 念の為、ドメインと言う言葉を定義しておきませんか?
■総論 自分自身が 「経験が足りないだけなのでしょうが、定義が足りていません。」 と言う状態だと思っています。 仕様書をひっくり返して分類を自分なりにつめていくのが言いのかも? と思います。 ■抽象クラスについて 抽象クラスが問題になると思っています。 抽象化する際に抽象化の軸が出てくるのですが、 その軸が後々になってぶれた時大規模な手直しが発生したりしそう。。。 例えば、状態クラスとか、関連クラスとか、バリエーションを挙げて それぞれの特徴を洗い出して使い分けていくことで解決できるような 気がするのですが、 種類も特徴も定義があいまいなままなのではないか・・・と思います。 ただ、これは、UMLの概念を定義レベルでかみ締めていないことからくる ものではないかとも思います。 ■検証について 検証方法も先に挙げたバリエーションを掴む事で方針が出てくるような気がするのですが・・・。 ■オブジェクト指向について 個人的な定義を先に出します。 1.カプセル化ができる 2.継承できる 3.オーバーライドができる 4.オーバーロードができる 5.インターフェースでオブジェクト間を区切ることができる 6.多態性(多相性)を持つことができる(広い意味で) ・・・と言う風に考えています。 ただ、6については2+3+4と言う広義の意味で捉えています。 4についてですが、 Javaではシグニチャで分けているのですが、 引数だけでなく、戻り値も含めてオーバーロードできると良いのかな・・・。 という風に考えています。(細かくなりますが) [ メッセージ編集済み 編集者: るぱん 編集日時 2005-02-01 09:39 ] | ||||||||||||
|
投稿日時: 2005-02-01 16:47
はわわ・・・3日ほど席から離れていたら
なんだかスゴイことになってますか? レスする必要があったならごめんなさい。 改めて読み返す気力が無いので、 どうしてもレスがほしい方はPMでおねがいします。 | ||||||||||||
|
投稿日時: 2005-02-01 16:57
>それはなぜですか?
それが「自己申告」というものだから。 >何をさして仕様書で、何をさしてアプローチなのですか? 自分で何を書き込んでるのか判ってないのか? 自己申告で談合が「無い」と言ってるだけで、少なくとも俺ともう一人は疑念を 抱いてる。その「自己申告」から逆の真実を導くアプローチ。 >相手に確認を取って論点を整理 仕様書って、こういう風に作るんやなかったっけ? 自分の自己申告で仕様書ってできてまうもんやったっけ? (プ 俺も大将の真似さして貰うわ。 >僕にはこの発言で溝を作られていると思うわけですが、 それは一体、どんな溝なのですか? | ||||||||||||
|
投稿日時: 2005-02-01 17:04
しかし、現状の枠の中で「バレさえしなけりゃ何でもあり」な奴って、例外無く
現実を肯定する事しか能が無いよな。そこから進歩や拡張しようとせんよな (プ | ||||||||||||
|
投稿日時: 2005-02-01 18:39
objectです。
私も、「抽象データ型」は、確かに「オブジェクト指向」のベースでもあり、重要であると思います。 しかし、私は「抽象データ型」の特徴は、「データ型」自体が「抽象化」されている事であって、 「外部から直接アクセスできない」 事、つまり「隠蔽」は「カプセル化」の為の一つの手段だと思います。 取り敢えず、 「プロパティが抽象データ型の実装方法の一つ」 かどうかは、次の問題として、 一つお聞きしても良いでしょうか? H2さんは「基本的な特徴の一つ」という表現で、「オブジェクト指向」と「抽象データ型」の関係を少し曖昧にしていますが、 これは、「オブジェクト指向」で最も重要な特徴が「抽象データ型」だと言う意味でしょうか? もしそうで無いとしたら、 「オブジェクト指向」で最も重要な特徴は、一体何だとお考えでしょうか? | ||||||||||||
|
投稿日時: 2005-02-01 18:43
objectです。
「ソフトウエア空間」をもっと一般化した方が良いというのはその通りかも知れません。 私の表現は プロパティ=フィールド メソッド=ファンクション という今の常識が間違っているという事を明確にする事でしたから、 現状の言わば「ドクマ」が壊せるのであれば、表現自体には拘りません。 フィールド=データ は特に問題は無いと思いますし、 ファンクション=アルゴリズム も、まぁ、駄目という事では無いですね。 全体としては、内容を大きく歪める程の言い換えでは無いので、私は良いと思います。 #でも、範囲を広げ過ぎると、手に負えなくなる可能性はありますよ? [ メッセージ編集済み 編集者: object 編集日時 2005-02-01 18:54 ] | ||||||||||||
|
投稿日時: 2005-02-01 22:20
>「オブジェクト指向」で最も重要な特徴が「抽象データ型」だと言う意味でしょうか? #この質問をされると議題がモデリング手法からオブジェクト指向とはになってしまいますよ?質問されたので答えますが いいえ。"最も重要"とは言っていません。曖昧にしたのではなく言葉どおりにオブジェクト指向の機能のひとつだと思います。私が思うに、「オブジェクト指向とは、継承と多相という機能がついている抽象データ、つまりオブジェクトとオブジェクトの複合体により物事を表現する概念」だと思っています("注3"でもちらりと書いていますが)。(注A-1) よく言われる「情報と振る舞い」と呼んでも、K-nak さんが提案されている「データとアルゴリズム」と呼んでも、.Netのように「フィールド・プロパティ・メソッド」と呼んでも、Javaのように「フィールド・メソッド」と呼んでも、C++で「メンバー変数・メンバー関数」と呼んでも、HaskellでADTと呼んでもそれはやはりオブジェクト指向での「抽象データ型」の言い換えにしかすぎないと私は考えます。 繰り返しになりますが、言いたいのは + UMLをはじめとする今のモデリング手法は完璧ではないには合意できる。 + しかし、その問題はモデリングの定義に.netのような「プロパティ」が欠けていることに起因するものではない。 + .netのような「プロパティ」はオブジェクト指向の実装レベルの定義であり、モデリングなどの概念的定義ではない。 というのが私の思うところです。ちょっとおっかなびっくりなんですが・・・ 注A-1)数学的に言えば object = 継承Π多相Π抽象データ と言いたい。 (Πはラージパイ) <- あってんのかなぁ 苦笑 前回と同じく、意見・反論・間違い・指摘など大歓迎です。でも、忙しいので返事ができなかったり、遅かったりします。前もってすみません m(_ _)m [ メッセージ編集済み 編集者: H2 編集日時 2005-02-01 22:26 ] | ||||||||||||
|
投稿日時: 2005-02-01 23:10
オブジェクトを一旦、情報とアルゴリズムに分けてから組み立てなおす ・・・でもダメですかね? その中に抽象データがでてきたり多相がでてきたりと言うのでは表現し切れませんか? |