asatoの技術的な日常日記

「成長に最大の責任をもつ者は、本人であって組織ではない。自らと組織を成長させるためには何に集中すべきかを、自らに問わなければならない」  非営利組織の経営 - ピーター・ドラッカー

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

変更容易に関する研究

変更が容易 or 進化が容易なソフトウェアを開発するための方法論や原理原則を見つけるのが僕の今の研究テーマ。

特に、要求変化、それに伴うデザイン変化、そして変化のパターンの観点から攻めていきたい。


vibha sazawal さんが、変更容易(ease of change)を取り扱っている研究を、大きく4つに分類している(「6章:関連研究」)ので、それを軽くまとめたい。

Connecting Software Design Principles to Source Code for Improved Ease of Change

PhD Dissertation, December 2005.

DL: http://www.cs.umd.edu/~vibha/


一つ目のカテゴリは、変更を容易にするためのメカニズムについての研究。彼女によれば、言語、デザインパターン、モデルなどがこのカテゴリに含まれる。

二つ目は、プログラマが設計問題を特定したり、再構築を計画するのを支援するツール。


三つ目は、コードのビューを提示するようなツールに関する研究。

四つ目は、モデル駆動開発のツールに関する研究。

eoc_category.png


一つ目のカテゴリのアプローチの基本的な前提は、変更容易なソフトウェアを表現するのを容易にするメカニズムや表現を作ることができる、というもの、らしい。

でも、単にメカニズムが存在するだけでは変更容易のためには不十分。メカニズムは、適切に使われなければならない。


第一のカテゴリを、彼女は、さらに3つのセクションで議論している。その三つってのは:
(1)情報隠蔽のための言語や言語のようなメカニズム
(2)疎結合low coupling)のための言語や言語のようなメカニズム
(3)デザインパターン

一つ目の情報隠蔽のセクションでは、以下が議論の対象になってる。
-オブジェクト指向プログラミング
-アスペクト指向プログラミング
-アダプティブプログラミング
-ArchJava
-関数型言語

二つ目の疎結合のセクションでは、以下が議論の対象になってる。
-ロールに基づくプログラミング
-Abstract, parameterized components
-implicit invocation and mediators


ここまで書いて力尽きたので続きはまた今度。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://asatohan.blog77.fc2.com/tb.php/43-01d60e1d
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。