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

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

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2004/11/30
投稿数: 21
投稿日時: 2005-02-04 23:10
本田さんお返事有難う御座います。
他にもobjectさん、k-nakさん、B型?の皆さんにお伝えしたい事を山ほど書いたのですが、全消去いたしました
まだこのスレッド(&前のスレッド)を読み足りないと感じ、もう一度読み返そうと思っております。

しかし一言だけ。
引用:

「状態」-(振舞1)->「状態'」-(振舞2)->「状態''」・・・

「集合」-(写像1)->「集合'」-(写像2)->「集合''」・・・
であり、


後者については、objectさんの書き込みで理解できました。
ただ前者については、私の中では"振舞いありき"です(前提が違う)ので、
"「状態」-(振舞)"=="「集合」-(写像)"が成り立ちえません。

#リアルワールドで、光は、ある波長で振幅する事で、色を始めとする様々な効果を導出しています。
#原子は、電子を幾つ従えるかで、その性質を変化させます。
#A型の私がプロパティを許容できたとしても、そのプロパティは外部因子によって決定付けられる、
#つまり、プロパティに主体はない、という結論に陥りかねません。

#あなたの髪の色は何色ですか?
#NativeColorであれば、それは何によって決められましたか(DNA?母体環境?)?
#DNAであれば、そのDNA塩基配列は何によって決められましたか?....
#ある事象のプロパティが存在したとして、それが世の中の他の事象の影響を受けないで、
#突然、なんらかの情報・状態に至るという事は理解できません。
nak2k
ベテラン
会議室デビュー日: 2003/07/17
投稿数: 86
投稿日時: 2005-02-04 23:46
本題からずれますが誤解があるようでしたので手短に。

>本田@スミテムさん
私の中では「唯一無二のリアル」と「観測者から見たリアル」の2つのリアルがあります。
「唯一無二のリアル」では私も当然、
私.転職する(エンジニア);
という認識でいます。

あと、『「観測者(カード会社)にとってのリアル空間」とは、実は「ソフトウェア空間」』については
私の以前の書き込みで、
引用:

k-nakさんの書き込み (2005-01-28 17:37) より:
DOMAIN = REAL ∩ SOFTWARE


なんてのがあったりします。
# objectさんのまとめからすると、いきなり飛躍しすぎだったようです^^;
# [訂正] 飛躍じゃなくて、別物ですね。改めてみたら。

>るぱんさん
「k.nak:人物」と「k.nak:人物【認識】」は、上記2つのどちらのリアル空間所属か、
という違いがありますね。混同はしていないのですが、私の投稿では【認識】に相当するものを
つけていなかったため、無用な誤解を招いたようです。

ここらへん、実際問題システムを作るに当たって、人物クラスに「set誕生日」を持たせざるを
得ないケースがままあって、それに対して
「唯一無二のリアルでは、誕生日をセットするのはコンストラクタの中だけだろ?」
みたいなもやもやをどうにか解消したくて考えたことだったりします。


[ メッセージ編集済み 編集者: k-nak 編集日時 2005-02-04 23:57 ]
nak2k
ベテラン
会議室デビュー日: 2003/07/17
投稿数: 86
投稿日時: 2005-02-04 23:48
連投失礼します。

>未記入さん
はじめにお断りしておくと私自身きちんと理解してないのです。
ですが、
引用:

未記入さんの書き込み (2005-02-04 23:10) より:
#ある事象のプロパティが存在したとして、それが世の中の他の事象の影響を受けないで、
#突然、なんらかの情報・状態に至るという事は理解できません。


これについては、objectさんが言われた「加法的でない量」で説明が
できるのではないか、と推測しております。
# ただ、重ねていいますが「加法的でない量」を自分がきちんと理解しているか
# あやしいです。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2005-02-05 00:41
引用:

Object さんの投稿(投稿日時: 2005-02-04 12:48)

H2さんは、
「オブジェクト指向とは、継承と多相という機能がついている抽象データ、つまりオブジェクトとオブジェクトの複合体により物事を表現する概念」
と書いておられますが、
それでは、
「オブジェクト指向(Object-Oriented)」
という表現の意味は何でしょうか?
結果的には、
「抽象データ+継承と多相」… (1)
を意味するという事でしょうか?
また、
H2さんが書かれている「物事」とは「どういう意味で何を指す」のでしょうか?

最後に、
「オブジェクト指向(Object-Oriented)」は、「パラダイムシフト」とも言われますが、
(1)からどの様な経緯で「パラダイムシフト」という概念に繋がるのでしょうか?



"継承と多相という機能がついている抽象データ"はオブジェクトの定義、
"オブジェクト指向とは、・・・、つまりオブジェクトとオブジェクトの複合体により物事を表現する概念" というところがオブジェクト指向の定義になります。(と私は考えています)したがって、(1)はオブジェクト指向およびパラダイムシフトのことではなく、「オブジェクト」とは何かという定義になります。

では、「オブジェクト指向」とは何かという問題ですが、思いっきりシンプルそのままの意で言えば、オブジェクト指向とは「オブジェクトを使用して」とか「オブジェクト中心に」という意味だと思っています。(古めの文献ではObject Oriented と Object Centeredもしくはobject basedを同意語として扱っているものもあります。)つまり、オブジェクトでもって「物事」を表現することがオブジェクト指向だということです。

で、「物事」とは何か?と聞かれていますが、私の中の広義では「物事」とは分析・モデリングの対象の事を言っています。それは物理的な物や、プロセス、アイデアなど分析・モデリングの対象ならばなんでもかまいません。SEさんであれば、A社の受注システムが「物事」になりますし、ITコンサルタントさんであればC社の業務プロセスがモデリングの対象の「物事」でしょう。

「オブジェクト指向」への「パラダイムシフト」はもともと従来の(といっても1985年代前ですが) データ中心や機能中心の考え方から、オブジェクトを組み合わせてシステムを構築していく考え方へのことをさしています。(注)ですから(1)のことではなく、(1)を使って何かを作ろうとする考えかにするのがオブジェクト指向でいうパラダイムシフトではないでしょうか。


「オブジェクト指向とは、継承と多相という機能がついている抽象データ、つまりオブジェクトとオブジェクトの複合体により物事を表現する概念」

この定義では継承 inheritance, 多相 polymophism (dynamic binding), 抽象データ型 abstract data typeそして、複合体 object composition について触れているのですが、ひとつ明示的に付け加えていないことはオブジェクト同士のメッセージのやり取りです。(複合体でほのかに匂ってくれるかなぁ程度) ひとつのセンテンスにいれるにはちょっと面倒でした。


さて最初の議題、モデリング(しいてはオブジェクト内に)にプロパティを追加するということですが、プロパティという情報のようで振る舞いのようなことをする要素が必要だという納得感をいまだ他の議論から見出すことができません。私からすると、プロパティのどちらでもあって、どちらでもないという曖昧さが無駄な冗長性を生み出し、モデリングをした後の混乱の元になりかねないと考えます。

モデリングはある意味、モノのデジタル化ですから冗長していたり無駄な事柄を削ぎ落として必要な情報だけをモデル化していくプロセスであるはずなのに、曖昧さを残す事が疑問に思えてしまうのです。

さらに、先ほど述べたようにオブジェクト間のメッセージのやり取りですがメソッドだけで問題がなくできてしまう。それを考えるとやはりSimple the Bestで、プロパティがなくてもいいんじゃないかと思ってしまいます。

いかがでしょう?

>もし、気分を害されたのであれば、お詫び致します。
そんな、お詫びなんてまったくもって恐縮です。まだペーペーの私の意見に付き合っていただけて非常にありがたく思っていますのでどうぞ気にしないでください。


注 参考文献 Ten Dyke の "Object-Oriented Prgramming" (IBM Systems Journal) より
本田@スミテム
常連さん
会議室デビュー日: 2004/01/22
投稿数: 21
お住まい・勤務地: 東京
投稿日時: 2005-02-05 01:09
引用:

未記入さんの書き込み (2005-02-04 23:10) より:
引用:

「状態」-(振舞1)->「状態'」-(振舞2)->「状態''」・・・

「集合」-(写像1)->「集合'」-(写像2)->「集合''」・・・
であり、


後者については、objectさんの書き込みで理解できました。
ただ前者については、私の中では"振舞いありき"です(前提が違う)ので、
"「状態」-(振舞)"=="「集合」-(写像)"が成り立ちえません。



本田@スミテムです。
私は、object様の示された「符号理論講義資料2」で確信いたしました。

状態--集合
振舞--写像

この関係が対応付けられるかどうかです。

以下に、私なりに解釈したものを提示してみます。

<その1>
観測者が、ある対象を観測するとき、対象に刺激を与え応答を見ます。
応答の有無は、刺激の前後の対象の変化を測定することで分かります。
このとき、実は観測者は2つの方法で観測を行っています。
すなわち、1つは静的に対象の状態を測定しており、もうひとつは対象の状態の変化(微分)を測定しているわけです。

#写真撮影とビデオ撮影のイメージです。

対象の状態とは「状態」であり、対象の状態の変化とは「振舞」です。

「振舞」は前後の「状態」の変化によって観測されるものですから、「振舞」の前には「状態」があります。

#初期「状態」のないものが「振舞」とどんな「状態」になるのでしょうか?

逆の言い方をすれば、「状態」に「振舞」させると「状態'」が出てきます(積分)。

ゆえに、
「状態」-(振舞1)->「状態'」-(振舞2)->「状態''」・・・
であると言えます。

<その2>
「振舞」だけを使ってドメインモデルを描いてみよう。
どうやって、最初にオブジェクトを抽出しようか?
そうだ。
ドメイン空間自体をひとつのオブジェクトに見立てて、その中のオブジェクトを「振舞」で抽出しよう。
でも、待てよ。
ドメイン空間オブジェクトはどうやって導いたんだ・・・。
そうだ。
その上にもう一つオブジェクトを作って「振舞」で抽出しよう。
でも、待てよ。(・・・以下、繰り返し。)

「状態」と「振舞」は両方なくてはならないものです。
どちらが先かは、「鶏が先か卵が先か」の関係かもしれません。
ですが、きっと我々は、コンストラクタやプロパティセットを使って、初期状態を設定してから、オブジェクトに「振舞」させていますよね。
とすれば、原始、どちらが先だったかは不問にして、あるときの「状態」からはじめているということです。
本田@スミテム
常連さん
会議室デビュー日: 2004/01/22
投稿数: 21
お住まい・勤務地: 東京
投稿日時: 2005-02-05 01:14
連続投稿失礼します。

引用:

k-nakさんの書き込み (2005-02-04 23:46) より:
本題からずれますが誤解があるようでしたので手短に。

DOMAIN = REAL ∩ SOFTWARE

なんてのがあったりします。

# objectさんのまとめからすると、いきなり飛躍しすぎだったようです^^;
# [訂正] 飛躍じゃなくて、別物ですね。改めてみたら。



了解です。
その観点からのお話だったのですね。

引用:

ここらへん、実際問題システムを作るに当たって、人物クラスに「set誕生日」を持たせざるを
得ないケースがままあって、それに対して
「唯一無二のリアルでは、誕生日をセットするのはコンストラクタの中だけだろ?」
みたいなもやもやをどうにか解消したくて考えたことだったりします。



一つ前の投稿で、合わせて私見を述べさせてもらいました。
ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2005-02-05 13:19
引用:

るぱんさんの書き込み (2005-02-04 13:41) より:
引用:

ラフィンの書き込み (2005-02-04 12:52) より:
 で、かなり前の書き込みになってしまっていますが、プロパティとフィールドの違いは
・プロパティ:私の知っているるばんさん
・フィールド:るばんさんも知らない本当のるばんさん
っていうのはどうです?


この手の話をし始めると、
目で見えたものだけがオブジェクトだったりプロパティ足りえるし、
目に見えないものはどうでもいい・・・になりません?


 リアル側から見たオブジェクト指向としてご返答いただくか、単に「プロパティの定義が間違ってますよ」のツッコミをいただくかでよかったんですけど。
 まあやめときましょう。
nak2k
ベテラン
会議室デビュー日: 2003/07/17
投稿数: 86
投稿日時: 2005-02-05 13:55
代数系 (S, *) があったときに、Sを元とみなすような別の代数系 (T, %) を考えたとする。

「情報」に「振る舞い」を見出せるのは、* と % を同じ「演算」として
取り扱った時じゃないかと思います。

つまり、代数系 (T, %) について集合Tの元sに、代数系 (S, *) が見出せて、
元sに演算*が存在することをもって、sは代数系 (T, %)の演算である、
といってるような気がします。

代数系が再帰的に定義できることを考えると、再帰レベルを1レベルずらして
考えるとこうなるかな?

・「情報」が「振る舞い」である
ならば
・「オブジェクト」は「関連」である
となってしまう?

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