ソフトウェア開発ライフサイクル
ソフトウェア開発ライフサイクル(SDLC)は、ソフトウェアシステムが初期の構想と要件から、設計、構築、テスト、展開、そして最終的な廃止に至るまで、進行するフェーズの端から端までのシーケンスです。
PaperMindでテーマを探す近日公開Find papers & topics
Tools & resources
Learn & explore
動画近日公開
Definition
ソフトウェア開発ライフサイクルは、ソフトウェア開発を定義されたフェーズに分割する構造化されたフレームワークであり、各フェーズには開始および終了基準、成果物、活動があり、ソフトウェアの生産と進化を計画、管理、および考察するために使用されます。
Scope
このトピックでは、計画、要件分析、設計、実装、テスト、展開、保守といった規範的なSDLCフェーズ、これらのフェーズを配置する標準モデル(ウォーターフォール、Vモデル、インクリメンタル、イテレーティブ、スパイラル)、各フェーズで生成される成果物、およびISO/IEC/IEEE 12207などのライフサイクルプロセス標準について説明します。
Core questions
- ライフサイクルを構成するフェーズと、それぞれが生成する成果物は何ですか?
- 異なるライフサイクルモデルは、これらのフェーズをどのように配置し、反復しますか?
- フェーズ間の移行を管理する開始および終了基準は何ですか?
- ライフサイクルは、デリバリーを超えて運用、保守、廃止へとどのように拡張されますか?
Key theories
- 段階的ライフサイクル構造
- 開発は、個別のフェーズ(要件、設計、実装、テスト、展開、保守)に分解され、それぞれに定義された成果物とレビューゲートがあり、計画、見積もり、および管理の基礎を提供します。
- Vモデル検証マッピング
- Vモデルは、各構築フェーズを対応するテストフェーズ(単体、統合、システム、受け入れ)と組み合わせ、検証と妥当性確認を仕様と設計の明示的な対応物とします。
Clinical relevance
適切に定義されたライフサイクルは、予測可能性、トレーサビリティ、品質管理を向上させ、コストとスケジュールの見積もりをサポートし、監査可能な開発プロセスを要求する調達および規制体制によってしばしば義務付けられます。
Evidence & guidelines
ISO/IEC/IEEE 12207:2017は、ソフトウェアライフサイクルプロセスを定義する主要な国際標準であり、契約や品質システムで広く参照されています。
History
開発フェーズの順序付けられたセットという概念は、プロジェクトがアドホックな構築には大きくなりすぎた1960年代後半から1970年代にかけて形式化されました。その後のモデルでは反復とリスク管理が追加され、標準化の取り組みにより1990年代にISO/IEC 12207とその後の改訂版が作成されました。
Key figures
- Winston W. Royce
- Barry Boehm
Related topics
Seminal works
- royce1970
- iso12207
- sommerville2015
Frequently asked questions
- SDLCはウォーターフォールモデルと同じですか?
- いいえ。SDLCはソフトウェアが通過するフェーズの一般的なセットであり、ウォーターフォールモデルはそれらのフェーズを順次配置する特定の方法の一つです。アジャイル、反復型、スパイラルモデルは、同じ基本的なフェーズを異なる順序とリズムで進行します。
- ライフサイクルは展開で終了しますか?
- いいえ。運用、保守、そして最終的な廃止は不可欠なライフサイクルフェーズです。ほとんどのシステムでは、保守と進化が総コストを支配し、ライフサイクルの中で最も長い期間を占めます。