Index: [Article Count Order] [Thread]

Date:  Wed, 28 Mar 2001 14:00:49 +0900
From:  "Hirohide Yazaki" <firo@....jp>
Subject:  [XP-jp:01776] Re: UML FORUM: Jacobson の XP  観
To:  <extremeprogramming-jp@....jp>
Message-Id:  <014a01c0b744$0e9bbb00$3701a8c0@FIRO>
References:  <20010323180817.460B.Y-KAMITE@....jp><3ABDFD5B.9602CEEB@....jp> <v04210a02b6e3b7bbefaa@[192.168.0.249]>
X-Mail-Count: 01776

矢崎です。

コメントありがとうございます。

山田さんがやっていらっしゃること、ヤコブソンがやろうとして
いることを存じ上げていないので、的外れな意見になってしま
うかもしれませんが、私の意見を書きます。

----- Original Message -----
From: "YAMADA Masaki" <masaki@....jp>
To: <extremeprogramming-jp@....jp>
Cc: <extremeprogramming-jp@....jp>
Sent: Monday, March 26, 2001 12:11 AM
Subject: [XP-jp:01770] Re: UML FORUM: Jacobson の XP 観


> 山田@メタボリックスです。
>
> At 23:14 +0900 01.3.25, firo@....jp wrote:
> >ヤコブソンさんがどうか、ということはさておき、私は、プログラミング
> >言語だって、立派な仕様記述言語だと思っています。なんでいまさら、
> >プログラミング言語とは別のレイヤで、仕様記述言語がいるんだ!
> >というのが本音。

私は、例えば、デザインパターン(GoF本)についてですが、あれではクラ
ス図、シーケンス図、そしてコードサンプルがあることが、理解を非常に
容易にしてくれました。サンプルコードは、単にサンプルというだけでな
く、そのパターンがどのようなものかを理解するのに役にたったわけです。
(少なくとも私にとっては)

多少希望的観測も交えていえば、クラス図(厳密でなくてよい)、シーケンス図
(厳密でなくてよい)、コード(サンプル?)(どの言語でもいいとはいいません
が)、
そして、補足の自然言語によるメモ、があれば、なにをしようとしているのか、
ということはだいたいのことにおいて、表せるのではないかと思っています。

>
> うーん、でも普通のプログラミング言語でhowではなく、whatを
> 表せるものは少ないでしょう?
> だからみんなインタフェースとか、契約とか、テスト・ファーストとか
> いろんな仕掛けを入れようとしているんですよね。
> (JDK1.4では表明が入るとか。元々の構想通り前置/後置条件が入るか
>   どうかは知りません)

インタフェース、契約、テストファーストは、プログラミング言語レベル
でそれが使える(部分的にしろ)わけで、むしろ、他の仕様記述言語が
いらない理由にもなるように思えますが、いかがでしょう?
さらにリファクタリング(が目指すわかりやすいコードについてのノウハウ)
を加えれば、わかりやすく意図の伝えやすいプログラムが書けるテクニッ
クがそろったことになります。現在、Javaで上記のようなテクニックを使うと、
プログラムコードでかなり意味の通るところまで表現できると思うのですが。

それと、howとwhatというのも相対的であるし、また必ずしもwhatのほうが
意味が通るというわけでもないと思っています。述語論理のようなものから
みれば、大方のプログラミング言語は確かに手続き型でhowです。しかし、
ならば、述語論理で書かれたことと、手続き型で書かれたことが、どちら
が理解しやすいかは、ケースバイケースではないでしょうか。

> どうせモデルを書くのならば、何でそれが動かないんだ!
> (少なくとも検証ができないんだ!)と思うのは人の道理。

この点も私は必ずしもそう思いません。私はUMLでは詳細かつ
完璧なモデルを書くのはやめたほうがいいと思っています。なので、当然
そのモデル上で検証する必要もないと思っています。人の通理をはずれて
いますが、、、