2006-01-01から1年間の記事一覧

移動

なんとなく、こっち に移動しました。

What is a Design Evolution?

ソフトウェアにおけるデザイン進化とは? まず、いくつかのレベルでのデザイン活動が考えられる。(全体としての)アーキテクチャレベルのデザイン、コンポーネント(クラスなど)レベルでのデザイン、コードレベルでのデザイン。実際には、コンポーネントの…

Completness of Large Refactoring and Structure Evolution

大きなリファクタリングとプログラムの構造進化との関係は? 「リファクタリング」によれば、個々の小さなリファクタリングは数分から数時間で終わるのに対して、大きなリファクタリングは数ヶ月から数年かかる。また、大きなリファクタリングの場合、どこで…

Dimensions of Design Evolution

ゼミ発表資料。内容の正確さの保障はしません。 http://www.ncfreak.com/asato/doc/ppt/design_evolution.ppt http://www.ncfreak.com/asato/doc/ppt/design_evolution.htm

Role based Evolution Dependency Structure Matrix

昨日学校のゼミで発表した資料。REDSM の構想から、資料の完成まで10時間ぐらいで作った内容なので色々と問題点あり。 http://www.ncfreak.com/asato/doc/ppt/redsm.ppt http://www.ncfreak.com/asato/doc/ppt/redsm.htm

Design Evolution in Software

ソフトウェアにおける設計の進化とは何か? なぜ設計の進化を考えることが重要なのか? 「誰のためのデザイン?」では、デザインの進化の例として、電話機をあげている。良いデザインと悪いデザインの例として、電話機を床に落としてしまった時に、電話が切…

Constructing and Exploring Design Spaces

設計者は、どうやって設計プロセスのアウトプットとして解決策を探し、決定する? グラスの「Software Conflict 2.0」によれば、設計の本質とは: The essence of design, then, is rapid modeling and simulation. つまり、設計者は、 (1) 問題に対する解決…

(Meta)Modeling Module Evolution Patterns

モジュールの構造は、外部や環境の要求に応じて、進化(or 変化)する。 たとえば、クラスにはメソッドが追加される。あるクラスのサブクラスが存在するように、「メソッドの追加」という進化にもサブクラス(サブ進化)が存在する。 たとえば、「メソッドの…

When a Decision is a Design Decision

設計とは? 設計における決定とは? 「マルチパラダイムデザイン」によれば、設計とは: 設計とは、ある問題に対して解決策となるような構造を与えるアクティビティのことである。 とある。「ModernC++ Design」によれば、設計とは: ソフトウェアシステムの…

Tyranny of the Dominant Concern

"tyranny of the dominant decomposition" と同じかもしれないけど、なんとなく。参考: N Degrees of Separation: Multi-Dimensional Separation of ConcernsDL: http://www.cs.ubc.ca/~gregor/teaching/papers/p107-tarr.pdf

Evolution Boundary of Design

モジュール(クラスやアスペクト)の構造の進化(あるいは発展・変化)を捉えようとしたときにどの範囲までその進化が及ぶことになることかを考える必要があると思う。なぜそもそも捉えなければいけないのか、捉えると何がうれしいのか、という疑問はとりあ…

Analyzing and Understanding Designs

設計自体を分析したり理解するためには、どうすればいいのか? ここで議論したいのは、ある問題領域に取り組んでいるときに、その問題に対してどのような設計がいいのかということでなく、ソフトウェアにおける設計という活動・行為やその設計から導かれるソ…

Design Patterns: Recurring Problem vs. Recurring Solution

デザインパターンの標準的な見方は「ある文脈において繰り返し発生する設計上の問題に対しての標準的な解法を明示的に記述したもの」という感じ。ある意味では、問題が繰り返し発生するだけでなく、解法も繰り返し発生する。この記事での焦点は、繰り返し発…

Modularity and Modularity Properties, or Design Choice

モジュラリティの向上と設計上の選択との関係は? そもそも モジュラリティ とは? については「デザイン・ルール」をぱっと調べても載っていなかったので省略。 質問を変えて モジュラリティが向上した という視点から考えてみる。 Hannemann と Kiczales …

De-Refactoring or Are Designs navigatable?

タイトルの意図は「リファクタリングの逆 or デザインはnavigatable?」 リファクタリングの一般的な定義(何も参照しながら書いてないので正確ではないけど)は「プログラムの振る舞いを保ったまま、設計(コード、プログラム)を改善する」という感じ。 じ…