システム開発ライフサイクル

システム開発ライフサイクル（システムかいはつライフサイクル、英: Systems Development Life Cycle、SDLC）とは、システム開発、特にコンピュータシステム開発のモデルまたは方法論である。なお、SDLCは Software Development Life Cycle の略とされることもあるし、SLC と略されることもある。SOAの発展と共に、コンピュータシステムは複雑化し、複数のソフトウェアベンダーが提供するシステム群を相互に連結するようになってきた。これを管理するため、ウォーターフォール・モデル、スパイラルモデル、反復型開発、ソフトウェアプロトタイピングなど、様々なシステム開発ライフサイクル (SDLC) モデルが考案されてきた。

中でもウォーターフォール・モデルは最も古く、SDLCそのものと見なされてきた。各工程の出力が次の工程の入力になる形で連なっている。この流れは基本的に同じような形だが、工程数は個々のモデルによって異なり、4～７工程である。決定的に正しいモデルは存在しないが、各工程にはおおよそ以下のような特徴がある。

①プロジェクト計画立案、実現可能性調査、プロジェクト開始（企画）
 プロジェクトの大まかな観点を生成し、目標を定める。出資に関しては、この段階で検討されることが多い。
 ②要求仕様収集とシステム分析（調達）
 目標を分析し、開発の必要な機能を分割していく。ユーザーからの聞き取り調査で明確な要求仕様を定義する。
 ③システム設計
 機能と操作を詳細化する。画面レイアウト、ビジネスルール、プロセス図、といった設計文書を作成する。この工程の出力が技術仕様となることが多い。
 ④構築（開発）
 プログラムのコーディングを行う。
 ⑤テスト
 コードを様々なレベルでテストする。単体テスト、システムテスト、ユーザー受け入れテストなどがある。この工程の手法は様々なものがある。反復はウォーターフォール・モデルの一部ではないが、テストの結果として何らかの反復（後戻り）が発生する。
 ⑥インストール、実装、配備（導入）
 プロジェクトまたは初期開発の最終工程であり、ここでソフトウェアが実際の製造に移され、業務で使用され始める。
 ⑦保守、運用、廃棄
 システムが使われなくなるまで、修正や改良が継続的に行われる。

最近では、厳密なウォーターフォール・モデルをシステム開発に適用する例は少なくなりつつあり、様々なSDLCの方法論が考案され適用されている。

SDLCの考え方は古いという者もいるが、用語としては今もよく使われている。

 関連項目 
 アプリケーションライフサイクル管理（マネジメント）
ウォーターフォールモデル
要件定義（要求分析）

 参考文献 
 Cummings, Haag, , (2006), Management Information Systems for the Information Age, Toronto, McGraw-Hill Ryerson
 QuickStudy: System Development Life Cycle Computer World, 2002, 2006年6月22日閲覧

 外部リンク 
 U.S. House of Representatives Systems Development Life-Cycle (PDF)
 System Development Life Cycle (SDLC) Review Document G23 from the Information Systems Audit and Control Association (ISACA)
 The Agile System Development Lifecycle
 Software as a Service Application Service Provider Systems Development Life Cycle
 情報システム開発の原点 南條優（2004年）

Category:ソフトウェア開発工程
Category:情報システム