Sdlc-overview
SDLC-概要
ソフトウェア開発ライフサイクル(SDLC)は、ソフトウェア業界が高品質のソフトウェアを設計、開発、およびテストするために使用するプロセスです。 SDLCは、顧客の期待に応える、またはそれを超える高品質のソフトウェアを作成し、時間とコストの見積もりで完了することを目指しています。
- SDLCは、ソフトウェア開発ライフサイクルの頭字語です。
- ソフトウェア開発プロセスとも呼ばれます。
- SDLCは、ソフトウェア開発プロセスの各ステップで実行されるタスクを定義するフレームワークです。
- ISO/IEC 12207は、ソフトウェアライフサイクルプロセスの国際標準です。 ソフトウェアの開発と保守に必要なすべてのタスクを定義する標準を目指しています。
SDLCとは何ですか?
SDLCは、ソフトウェア組織内のソフトウェアプロジェクトが従うプロセスです。 これは、特定のソフトウェアを開発、保守、交換、および変更する方法を説明する詳細な計画で構成されています。 ライフサイクルは、ソフトウェアの品質と開発プロセス全体を改善するための方法論を定義します。
次の図は、一般的なSDLCのさまざまな段階のグラフィカルな表現です。
典型的なソフトウェア開発ライフサイクルは、次の段階で構成されています-
ステージ1:計画と要件の分析
要件分析は、SDLCで最も重要かつ基本的な段階です。 これは、顧客、販売部門、市場調査、業界の専門家からの情報をもとに、チームの上級メンバーによって実行されます。 次に、この情報を使用して、基本的なプロジェクトアプローチを計画し、経済的、運用的、および技術的な分野で製品の実現可能性を調査します。
品質保証要件の計画とプロジェクトに関連するリスクの特定も、計画段階で行われます。 技術的実現可能性調査の結果は、最小限のリスクでプロジェクトを成功裏に実施するために従うことができるさまざまな技術的アプローチを定義することです。
ステージ2:要件の定義
要件分析が完了したら、次のステップは製品要件を明確に定義して文書化し、顧客または市場アナリストから承認を得ることです。 これは、プロジェクトライフサイクル中に設計および開発されるすべての製品要件で構成される* SRS(ソフトウェア要件仕様)*文書を通じて行われます。
ステージ3:製品アーキテクチャの設計
SRSは、製品設計者が開発する製品に最適なアーキテクチャを提供するためのリファレンスです。 SRSで指定された要件に基づいて、通常、製品アーキテクチャの複数の設計アプローチが提案され、DDS-Design Document Specificationに文書化されます。
このDDSはすべての重要な利害関係者によってレビューされ、リスク評価、製品の堅牢性、設計のモジュール性、予算、時間の制約などのさまざまなパラメーターに基づいて、製品に最適な設計アプローチが選択されます。
設計アプローチでは、製品のすべてのアーキテクチャモジュールと、外部およびサードパーティモジュール(存在する場合)との通信およびデータフロー表現を明確に定義します。 提案されたアーキテクチャのすべてのモジュールの内部設計は、DDSの詳細の中で最も明確に定義する必要があります。
ステージ4:製品の構築または開発
SDLCのこの段階で、実際の開発が開始され、製品が構築されます。 プログラミングコードは、この段階でDDSに従って生成されます。 設計が詳細かつ体系化された方法で実行される場合、コード生成はそれほど手間をかけずに達成できます。
開発者は、組織およびコンパイラ、インタープリター、デバッガーなどのプログラミングツールで定義されたコーディングガイドラインに従う必要があります。 コードの生成に使用されます。 C、C ++、Pascal、Java、PHPなどのさまざまな高レベルプログラミング言語がコーディングに使用されます。 プログラミング言語は、開発中のソフトウェアの種類に応じて選択されます。
ステージ5:製品のテスト
このステージは通常、現代のSDLCモデルのようにすべてのステージのサブセットであり、テスト活動はSDLCのすべてのステージにほとんど関与しています。 ただし、この段階は、製品がSRSで定義された品質基準に達するまで、製品の欠陥が報告、追跡、修正、再テストされる製品のテストのみの段階を指します。
ステージ6:市場への展開とメンテナンス
製品がテストされ、展開の準備ができたら、適切な市場で正式にリリースされます。 製品の展開は、その組織のビジネス戦略に従って段階的に行われる場合があります。 製品は最初に限定されたセグメントでリリースされ、実際のビジネス環境でテストされます(UAT-ユーザー受け入れテスト)。
その後、フィードバックに基づいて、製品をそのままリリースするか、ターゲット市場セグメントで提案された拡張機能を使用してリリースできます。 製品が市場にリリースされた後、その保守は既存の顧客ベースに対して行われます。
SDLCモデル
ソフトウェア開発プロセス中に従うさまざまなソフトウェア開発ライフサイクルモデルが定義および設計されています。 これらのモデルは、ソフトウェア開発プロセスモデルとも呼ばれます。 各プロセスモデルは、そのタイプに固有の一連のステップに従って、ソフトウェア開発プロセスの成功を保証します。
以下は、業界で最も重要で人気のあるSDLCモデルです-
- 滝モデル
- 反復モデル
- スパイラルモデル
- Vモデル
- ビッグバンモデル
他の関連する方法論は、アジャイルモデル、RADモデル、ラピッドアプリケーション開発、およびプロトタイプモデルです。