@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- PR -

「UML」を初めとする現在の「モデリング言語(手法)」の問題点は?

投稿者投稿内容
object
ぬし
会議室デビュー日: 2002/03/20
投稿数: 338
お住まい・勤務地: 香川県高松市
投稿日時: 2005-01-27 12:34
objectです。

>コブラさん
>>「リアル世界」の基礎を「ドメイン空間」の基礎(代数構造)として考えようとしている訳
>>ならば、
>>具体的な設計に依存するもの(複数のプロパティ云々)迄を、「オブジェクト指向モデルの
>>基礎(モデル論)」を議論している場に持ち込むべきでは無い
>のではなく、具体的な設計に依存する「リアルな世界の基礎」をオブジェクト指向
>モデルと対比・紐付けする為に持ち込み、考える必要があるのではないでしょうか?
「プロパティ・メソッド」はあくまで「カテゴリ」であって、ここでそれぞれの数を考えなくてもその中で対応出来る問題です。

>コブラさん
>棒助さん
お二人の疑問点に関して、私は、それを既に書いている積もりですが、
「らぶまさん」、「k-nakさん」のレス
#とこれから私が書く積もりであるお二人に対するレス
をご覧頂ければ、ある程度の理解は頂けるのではないでしょうか?
object
ぬし
会議室デビュー日: 2002/03/20
投稿数: 338
お住まい・勤務地: 香川県高松市
投稿日時: 2005-01-27 12:53
objectです。

>らぶまさん
>ただ、objectさんと他の方の議論がかみ合ってないようですね。
>まずは言葉の整理が必要なんじゃないでしょうか。
>「ドメイン空間」
>「ソフトウエア空間」
>「構造(代数)」
>「プロパティ・メソッド」
>とは何のことなんでしょうか?>objectさん
らぶまさんの表現の中で、一応これらの意味は示されていると思います。
従って、ここでは「構造(代数)」に付いてだけ少し
ここで問題にしているのは、
「代数構造」=「情報・振舞」、「プロパティ・メソッド」に於ける「和・積」構造です。

らぶまさんと私の考えで異なる部分を細かい部分は抜きにして、その対応箇所を簡単に修正します。
>「ドメイン空間」:モデリングの結果(UMLの図とか)
>「ソフトウエア空間」:プログラム(Javaのソースとか)
>「現実世界」→「ドメイン空間」:モデリング
>「ドメイン空間」→「ソフトウェア空間」:プログラミング言語による実装
>である。
「ドメイン空間」:ドメイン図のベース、モデリングの起点(ドメイン分析)
「ソフトウエア空間」:プログラムを含む所謂ソフトウエア科学が対象とする空間
「現実世界」→「ドメイン空間」:「ソフトウエア空間」とは独立なモデリング
「ドメイン空間」→「ソフトウェア空間」:「ドメイン空間」でのモデルがそのまま「ソフトウェア空間」のモデルとなり、「ソフトウェア空間」上での「設計・実装」を行う


>「ドメイン空間」=「ソフトウェア空間」なら何も問題ないが、現実的には
>「ドメイン空間」≠「ソフトウェア空間」である。
>よって、プログラミング言語に依存しないモデリングを行うためには、
>「ドメイン空間」と「ソフトウェア空間」とは互いに独立していなければならない。 … (1)
(1) -> 「ソフトウェア空間」はベースとして「ドメイン空間」と同じ構造を持ち、同じモデルを共有出来なければならない。

>ところが、UMLに代表されるモデリング言語(手法)は
>一部のプログラミング言語(Javaとか)に偏った仕様(構造)であり、
>上記の独立性を損なうものである。 … (1)
>したがって、新たな方法論を模索してみませんか? … (2)
(1) -> 上記、モデルの共有を阻害している。
(2) -> したがって、「ソフトウェア空間」の「プロパティ・メソッド」を「ドメイン空間」の「情報・振舞」と「同じ構造」にしませんか?

[ メッセージ編集済み 編集者: object 編集日時 2005-01-27 13:19 ]
object
ぬし
会議室デビュー日: 2002/03/20
投稿数: 338
お住まい・勤務地: 香川県高松市
投稿日時: 2005-01-27 13:03
objectです。

>k-nakさん
細かい部分では、その表現が違いますが、示された部分では、一応私の考えに近いと思います。
それで、一箇所だけ補足します。
>DotNETにおけるinterfaceが、propertyも宣言可能な理由は、
>「propertyの実体がメソッドだから」というよりは、
>「ドメイン空間のオブジェクトとマッピングがとれるから」と考えたほうが
>より適切に思える。
「モデリング」では
「ドメイン空間」と「ソフトウエア空間」のベースとして「同じモデル」が使用出来ないと意味が無い。
と思います。
#モデル自体を、両者の間を移動する度に変更するなんてのは、全くナンセンスだと思います。
この
「同じ」=「準同型」
だと思っています。
従って、
「ドメイン空間のオブジェクトとマッピングがとれるから」->「ドメイン空間とソフトウエア空間を同じ(準同型)にする為」
と表現した方が、本来的だと私は思います。
object
ぬし
会議室デビュー日: 2002/03/20
投稿数: 338
お住まい・勤務地: 香川県高松市
投稿日時: 2005-01-27 13:12
objectです。

>ALL
「プロパティ」の問題が「可視性」だけの問題である
と考えてる人が居る様です。

私は
「件名:.NET開発者のためのリファクタリング入門について」
で、以下の様に書きました。
>「プロパティ・メソッド(情報・振舞)」に関わる重要な点を、紙面の都合で結果だけを「象徴的」に述べると
>「情報」には、「振舞的情報」が存在し、
>しかも
>この存在が「情報・振舞」に於いては「不可欠」

また、私のらぶまさんへのレス(投稿日時: 2005-01-27 12:53)で
「代数構造」=「情報・振舞」、「プロパティ・メソッド」に於ける「和・積」構造です。
と書きました。

「情報・振舞」に関して、「和構造」だけを考えるのであれば、「可視性」だけで対応出来ると思います。
しかし、「積構造」を考えると、言わば
「振舞的情報」=「機能的情報」=「ファンクション的フィールド(型実体)」
が必要不可欠になると言う事です。

[ メッセージ編集済み 編集者: object 編集日時 2005-01-27 13:22 ]
mays
常連さん
会議室デビュー日: 2004/01/17
投稿数: 22
投稿日時: 2005-01-27 16:17
>objectさん
>「モデリング言語(手法)」は本当に今のスタンスとその延長で良いのでしょうか?

私は、良いと思っています。
理由:今のスタンスで困っていないから。

>そして、駄目な場合、具体的にどうすれば今の状態を改善出来るとみなさんは思いますか?

困っていないので、改善する必要を感じていません。

私の経験が浅すぎて、まだ困る様な場面に出会っていないだけなのかもしれません。
逆に質問させていただいてもよろしいでしょうか。
どのような場面で困った事になるのか、具体的に例示していただけますでしょうか。

#今までの議論の中で、既に例示しているのを私が読み取れてなかったとしたら、申し訳ございません。

よろしくお願いいたします。
未記人
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 70
投稿日時: 2005-01-27 16:18
自分にしか通じない用語をとうとうと述べ続けるのは説明とは言いません・・・。
質問されたら、同じ言葉を繰り返すのではなく、言い換えるとか具体例を挙げるとか、もっとわかりやすく説明してください。

引用:

また、私のらぶまさんへのレス(投稿日時: 2005-01-27 12:53)で
「代数構造」=「情報・振舞」、「プロパティ・メソッド」に於ける「和・積」構造です。
と書きました。

「情報・振舞」に関して、「和構造」だけを考えるのであれば、「可視性」だけで対応出来ると思います。
しかし、「積構造」を考えると、言わば
「振舞的情報」=「機能的情報」=「ファンクション的フィールド(型実体)」
が必要不可欠になると言う事です。

aetos
会議室デビュー日: 2005/01/27
投稿数: 16
投稿日時: 2005-01-27 16:34
はじめまして。
初@IT 投稿で、いきなりこんな濃い話題に首突っ込むのもどうかと思うんですが^^;

引用:

未記人さんの書き込み (2005-01-27 16:18) より:
自分にしか通じない用語をとうとうと述べ続けるのは説明とは言いません・・・。
質問されたら、同じ言葉を繰り返すのではなく、言い換えるとか具体例を挙げるとか、もっとわかりやすく説明してください。



同意。
object さんの書き込みは、大変興味深いのですが、いかんせん用語が難しいので、半分どころか一割も理解できてません。

引用:

未記人さんの書き込み (2005-01-26 15:07) より:
o氏の主張は大きく分けて二つですかね。
1)
・構造主義と代数学こそがオブジェクト指向、ひいてはソフトウェア開発の概念的基盤である。
・それが体感できない人間は勉強が足りないので構造主義と代数学を自分で学べ。私には愚かなる大衆をアジテーションする暇はあっても、内容や根拠を説明する余裕はない。



言葉遣いはよくないですが、言わんとすることには同意します。
要は、代数学とか知らない人にも、もうちょっと平易な(たとえ導入のために正確さを欠いたとしても)説明をしていただけないかな、と思います。

引用:

objectさんの書き込み (2005-01-24 12:54) より:
#それから、これから「ソフト」をやるのであれば、「構造(構造主義の)」(或いは代数系の概念)程度の理解は必須だと思いますよ?



ソウダッタンデスカ…
いや、あるに越したことはないと思いますが、必須とは…
#まぁ、俺などはまだ最下流工程の人間なので、上流をやるようになると必須なのかもしれませんが。

なんとなく言わんとすることはわかります。
すごーく要約してしまえば、設計と実装でモデルの統一が図られていないからダメだ、ってことですよね(あってます?)。

#追記
俺はまだまだ設計とかに携わる立場もスキルもないので、上流工程のことは良く知りませんが、オブジェクト指向分析だとかオブジェクト指向設計だとか、オブジェクト指向を応用した上流工程のメリットのひとつに、そこで作ったモデルを、そのまま最下流であるオブジェクト指向プログラミングまで一貫して持ち込むことが出来る、ってことだと読み取ったんですが。
今も UML からコードを吐いたりするツールはあるけど、そもそも UML も、それが吐くコードの言語も、オブジェクト指向の本質としてのモデルの共有ができてないからダメ…っていう理解でいいのかな。
#追記ここまで

ただ、そのためにドメイン空間とか代数構造とか難しい言葉を出されても、俺みたいな無学にはさっぱりです。

[ メッセージ編集済み 編集者: シャノン 編集日時 2005-01-27 16:45 ]

[ メッセージ編集済み 編集者: シャノン 編集日時 2005-01-27 16:47 ]

[ メッセージ編集済み 編集者: シャノン 編集日時 2005-01-27 16:54 ]
キイロイトリ
会議室デビュー日: 2005/01/22
投稿数: 10
投稿日時: 2005-01-27 17:04
objectさん。

お説拝読しましたが、やっぱりよくわかりません。
繰り返しますが、議題の必要性が皮膚感覚で理解できません。

質問の方法を変えます。
このテーマを解決することで、我々ソフトウエア技術者の仕事が軽減されるなどの、メリットがありますか?

具体的な事例でお答えください。
難解な抽象論はご遠慮ください。

スキルアップ/キャリアアップ(JOB@IT)