Index: [Article Count Order] [Thread]

Date:  Thu, 24 May 2001 12:46:03 +0900
From:  Toru TAKAHASHI <tooru6.takahashi@....jp>
Subject:  [XP-jp:01920] Re: ObjectDay2001 	,体験 XP 資料
To:  extremeprogramming-jp@....jp
Message-Id:  <200105240346.MAA24491@....jp>
In-Reply-To:  <20010524093833B.hiranabe@....jp>
References:  <200105231245.VAA21917@....jp>	<20010524093833B.hiranabe@....jp>
X-Mail-Count: 01920

高橋(徹)です。

   "Kenji Hiranabe <hiranabe@....jp>"さんは書きました:
>  > ・「設計って何だか分かってますか?」
>  > Software Engineerの為の講座→「設計」できないエンジニア
> 
> 読んで見ました.設計は,「まず第一にデータ構造」と言われてい
> るのが,ちょっと ? でした.Wirth のことを言われているので
> しょうか.
XP談義のときにも「データ構造」と言われてましたね。従来の、というか
非オブジェクト指向な設計だと、データフロー図やタスク関連図といった
設計が行われるからでしょうか。これらは処理を実行する(多分関数として
実装される)機能(タスク)と、機能(タスク)間でデータ送受を行うための
データ(バッファ)を決めていきます。

→[データ]→(機能)→[データ]→(機能)
              ↓
           [データ]→(機能)

このときの機能(タスク)間のインタフェースはデータ(バッファ)その
ものなので、データ構造が非常に重要になるのではないかと思います。
データ構造を変更したら、それを読み書きしている機能を全部変更しなく
てはならないからです。しかもデータは伝播されているので、直接読み書き
していなくても変更が波及していく可能性があると思います。
このあたりの設計は構造化設計というものでしょうか? 構造化設計には
詳しくないので間違っていたらご指摘下さい。

オブジェクト指向では、上記のデータはクラス内部に隠蔽されるので、
データ構造の変更に対しては強いですよね。

> 確かに,非機能要件が設計に影響することは多々ありますし,性能
> はデータ構造とアルゴリズムに依ることもあるでしょう.でも,コ
> ンテンポラリなソフトウェアでは,それよりも,うまい概念の切り
> 出しと名前付けの方がよっぽど重要だと思います.

いわゆる抽象化ですよね。抽象化は設計の重要なファクターだと思います。
名前の付け方にはいつも悩んでしまいます。
#「オブジェクトのよい名前の付け方」なんて本が出たら買ってしまうかも

---
TAKAHASHI, Toru