ソフトウェア開発方法論
ソフトウェア開発方法論 (SDM) のフレームワークが生まれたのは1960年代のことである。Elliott (2004) によれば、情報システム構築のための最古の定式化された方法論フレームワークはシステム開発ライフサイクル (SDLC) だという。SDLCの根幹をなすのは、情報システムを計画的に構造化された整然とした形で開発するには、アイデアの誕生から最終的なシステムの配備まで、適用するフレームワークの文脈の中で開発工程の各段階を着実に逐次的に実行しなければならないという考え方である。1960年代におけるこの方法論フレームワークの主な対象は、巨大企業の大規模ビジネスシステム開発だった。当時の情報システムは多大なデータ処理と数値処理を中心としたものだった。
RAD (Rapid Application Development) は、プロトタイプを反復的に開発・構築していくソフトウェア開発方法論である。本来は、1991年にジェームス・マーティン(英語版)が提唱したソフトウェア開発工程を指した言葉である。
基本原則は次の通り。
高品質なシステムを相対的に低いコストで素早く開発することを目標とする。
プロジェクトにつきもののリスクを低減させるため、小さい部分に分割し、開発中の修正を容易にする。
高品質なシステムを素早く生み出すため、反復的プロトタイピングを行い、ユーザーに活発に関与させ、高度な開発ツールを利用する。ツールとしては例えば、GUIビルダー、CASEツール、データベース、4GL、コードジェネレータ、オブジェクト指向のテクニックなどを活用する。
ビジネスのニーズを満たすことに主眼を置き、技術的に洗練されているかはあまり重視しない(自動生成したコードは一般に洗練されていない)。
開発すべき機能群を優先順位付けし、いくつかの機能ごとに納期を定める。プロジェクトが遅延してきたら、納期は順延させず、実装する機能を減らす。
一般に JAD (joint application design) を含む。JADはユーザーがシステム設計に積極的に関与する手法であり、ユーザーの要望を反映させやすい。
プロトタイプを捨てることはなく、製品を反復的に改良していくと考える。
将来の開発や保守で役立つ文書を作成する。
標準的なシステム分析・設計技法をこのフレームワークに導入可能である。
ソフトウェアフレームワークは、ソフトウェアのシステムまたはサブシステムの再利用可能な設計である。ソフトウェアフレームワークは、支援プログラム、ライブラリ、スクリプト言語、コンポーネント群の結合を支援するソフトウェアなどから成る。フレームワークの各部はAPIを公開していることがある。