- 281 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 22:08:24 ]
- >>278
> わざわざ 『分析レベル』 と 『実装レベル』 を分けて考える もし設計/実装レベルのみに着目してソフトウェア開発を行うと、 開発者の関心と努力は、実装可能な事/実装が難しい事に集中してしまい、 結果として下記のような問題が発生します。 (1) 本来の要求(やりたかった事)の実現が、 おざなりになったり、歪んだ形になってしまう事。 (結果として、プログラミング技術は素晴らしいが、 使う人にとっては判りにくい、使いにくいものになってしまいがちです) (2) 拡張や機能追加に耐えないクラス設計になってしまう事。 (拡張や機能追加に耐えるしっかりした構造を持たせるには、 普遍的な概念モデルや、プログラム対象分野の知識体系に基づく、 抽象的なレイヤーが必要です。 この抽象的なレイヤーは、汎化クラス抽出の方法でもある程度得られますが、 ボトムアップに実装から抽出する方法では、充分な汎用性をえられません。) (3) プラットフォームや実装技術と、コアなアルゴリズムの切り分けが不充分になる。 もし、実装技術やプラットフォームに基づいて、アプリケーションの設計を行ったら、 それは将来のOS/環境のバージョンアップ時に、大きな変更作業が必要になるでしょう。 OS/環境依存部、プログラム対象分野の知識体系、アプリケーション、を分けるには、 レイヤー・パターンが有効ですが、そのレイヤーを切り分けるためにも、 OO分析の作業が重要なのです。 他にも書くべき事があるのですが、とりあえずここで筆を置きます。
|

|