ソフトウェア開発方法論
統合開発環境 (IDE) はプログラマがソフトウェアを開発する際の包括的ファシリティを提供するソフトウェアアプリケーションである。IDEには通常、次のような機能が備えられている。
ソースコードエディタ
コンパイラ と インタプリタ
ビルド自動化ツール
デバッガ
IDEはプログラマの生産性を最大化するよう設計されており、そのために統一感のあるユーザインタフェースのコンポーネント群が緊密に連携するようになっている。一般に特定のプログラミング言語専用に作られているため、その言語のプログラミングパラダイムにマッチした機能群を提供できる。
反復型開発はプロジェクトを小さな部分に分割し、開発工程中の修正を容易にし、プロジェクトのリスクを低減させる。
基本原則は次の通り。
ウォーターフォールを小規模に何度も繰り返す。一回のウォーターフォールはシステム内の小さな部分を完成させるものである。
全体の要求仕様は反復を行う前に定義される。
他にも次のような方法論がある。
オブジェクト指向開発方法論。グラディ・ブーチのオブジェクト指向設計 (OOD)、あるいはオブジェクト指向分析設計 (OOAD)。ブーチのモデルでは、クラス図、状態遷移図、相互作用図、モジュール図、プロセス図という6種類の図を含んでいる。
トップダウン・プログラミング。1970年代、IBMのハーラン・ミルズ(とニクラウス・ヴィルト)が構造化プログラミングを発展させたもの。
Unified Process (UP)。統一モデリング言語 (UML) に基づく反復型ソフトウェア開発方法論フレームワーク。ソフトウェア開発を inception、elaboration、construction、guidelines という4つのフェーズに分け、それぞれのフェーズを1つ以上の反復可能な工程で構成する。UP向けに様々なツールが存在する。中でも最もよく知られているのがラショナル統一プロセス (RUP) である。
アジャイルソフトウェア開発。反復型のソフトウェア開発方法論であり、自律的なチーム間の協力によって要求仕様を発展させていく形態をとる。2001年、アジャイルソフトウェア開発宣言が発表され、この呼称が生まれた。
ユーザーストーリー: 要件定義のもととなる顧客視点のソフトウェア利用体験。対話的な要件理解・定義に利用される。