発注ラウンジは、システム開発の発注に必要な様々なノウハウや発注ナビで実際に開発された発注者様のインタビューなど、発注担当者様のための情報発信サイトです。

システム開発のライフサイクルとは?

Software,Development,Life,Cycle,Process,On,Blackboard,,,Also,Illustrates

システム開発には、さまざまなフェーズを包括する「ライフサイクル(SDLC)」があります。
ここではSDLCの流れを知りたいという方に向け、SDLCの基本情報や代表的なSDLCモデルをご紹介します。
同時に、SDLCに包括される各フェーズについても詳しく解説しましょう。

 

目次

 

システム開発会社選びはプロにお任せ完全無料で全国2000社以上からご提案

200x200b

・ベストマッチな発注先が見つかる
・たった1日のスピード紹介
・ITに詳しいコンシェルジュがサポート
・ご相談~ご紹介まで完全無料

 

 

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

ライフサイクルのフェーズ
1.企画・仕様 「どんなシステムが必要なのか」を企画する
2.設計 企画したシステムの外部設計と内部設計を行う
3.実装 設計したシステムを実際に開発をする
4.テスト 完成したシステムのテストを行う
5.運用 システムを問題なく運用できるかを確認する
6.メンテナンス・監視 システムの監視やアップデートを行う

システム開発のライフサイクルとは、名前の通りシステムが企画・設計から実装、運用されるまでのサイクルです。「System Development Life Cycle」の頭文字を取って「SDLC」とも表記されます。システム開発にはどのようなフェーズがあるのかを、分かりやすく可視化できるのがSDLCの特徴です。

 

ライフサイクルのフェーズについて

システム開発のライフサイクルには、大まかに分けると6つのフェーズがあります。以下で、フェーズごとの概要や特徴を紹介しましょう。

 

1.企画・仕様

新システム開発・導入の企画が持ち上がるフェーズです。システム開発を依頼する側は、「どんなシステムを導入したいのか」という点を開発会社へ伝えることが大切になります。開発会社は依頼側の要望を汲み取った上で要求事項をまとめ、システム開発の根幹となる「要件仕様書」を作成します。

 

2.設計

設計のフェーズは、要件仕様書をもとにシステム設計が開始されるフェーズになります。システムの設計は、外部設計と内部設計の2種類に分けられるのがポイントです。外部設計では、ユーザーインターフェース(ユーザーから見た画面など外見的な要素)が中心に設計されます。対する内部設計では、プログラミングを含めたプログラムの動作設計が行われるのがポイントです。外部設計はユーザーから見た部分の設計、内部設計はエンジニアから見た部分の設計だと考えると、設計の概要が把握しやすいでしょう。

 

3.実装

実装のフェーズでは、設計をもとにプログラムの開発が行われます。「実装」と聞くと、システムのリリースや実際の運用を思い浮かべる方もいるかもしれませんが、実質上の製造工程にあたると覚えておきましょう。

 

4.テスト

開発したシステムの動作テストが行われます。システム開発におけるテストは全3種類です。最初は、プログラム単体が正常に作動するかを確認する「単体テスト」が行われます。次に実施されるのが、複数のプログラムを組み合わせて各機能が正常に作動するかを見る「結合テスト」です。最後は、全プログラムが設計通りに作動するかを確認する「システム総合テスト」が実施されます。

 

5.運用

実際にシステムを導入し、問題なく運用できるかを確認するフェーズです。問題がないと判断されると、晴れて新システムの実運用がスタートします。

 

6.メンテナンス・監視

メンテナンスでシステムを改善したり、誤作動やバグが発生していないかを監視したりするフェーズです。要望があれば、その都度データ改修が行われるフェーズでもあります。

メンテナンス・監視の後は、再び「企画・使用」のフェーズに戻る仕組みです。ちなみに、SDLCを導入する業界や企業によっては、フェーズの数が増減するケースもあるほか、フェーズの名称が異なるという点を留意しておきましょう。

 

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

システム開発ライフサイクルのモデル
名前 詳細
予想型モデル 上流から下流工程へ流れるように開発を進めるモデル
反復型モデル 工程を繰り返して段階的に開発を進めるモデル
漸進型モデル フェーズごとに新機能の追加を行う開発モデル
適応型モデル 実装とリリース繰り返しつつ改良を進める開発モデル
ハイブリッド型モデル 予想型モデルと適応型モデルを複合した開発モデル

システム開発ライフサイクルの進め方には、複数のパターンがあります。これらの進め方は「モデル」や「開発アプローチ」と呼ばれ、開発時は案件に合ったモデルを見極める必要があるのです。以下では、代表的なシステム開発ライフサイクルのモデルをご紹介します。

 

●予想型モデル

予想型モデルは、「ウォーターフォール型ライフサイクル」とも呼ばれます。その名の通り、上流工程から下流工程へ、水が流れるように開発を進めていくモデルです。予想型ライフサイクルでは、初期段階で作業範囲やスケジュール、費用が決定されます。順番よく開発が進められる上、段階的に開発内容を詳細化できるためコスト見積もりをしやすいのが大きな魅力です。ただし、ひとつの工程が完了したら前の工程には容易に戻せません。そのため、想定外の事態へ柔軟に対応しにくいという弱点もあります。

ウォーターフォール型のライフサイクルについて、詳しくは以下のページをご参照ください。 ウォーターフォール型開発とは?アジャイル型開発との違いは?|発注成功のための知識が身に付く【発注ラウンジ】

 

●反復型モデル

システム開発における一連の工程を繰り返し、システムの完成を目指すライフサイクルを指します。要件定義から実装、テストまでの工程を反復して行い、段階的にシステムを完成させていくのが特徴です。絵を描く作業にたとえると、よりわかりやすいでしょう。反復型モデルは薄めの色を下書きに重ね塗りしていくことで、最終的にはっきりとした色味を出す作業に当てはまります。

予想型サイクルと比べると、小さな単位で各工程を繰り返すため急な仕様変更やスケジュール変更に強いというメリットがあります。システム開発を依頼する側にとっては、開発会社と頻繁にコミュニケーションを取れるため、その都度要望を伝えられるのも魅力です。

 

●漸進型モデル

漸進型ライフサイクルは、「インクリメンタルモデル」とも呼ばれるモデルです。段階ごとに作業を区切り、システムの完成を目指すという点は反復型モデルと共通しています。反復型モデルと異なる点は、新機能の追加をフェーズごとに行うという点です。フェーズ単位の成果物に新機能を追加し、それを繰り返すことでシステム全体の完成を目指します。

 

●適応型モデル

適応型モデルは、「アジャイル型」とも呼ばれるモデルです。アジャイルとは英語で「素早い」、「俊敏な」という意味を持つ単語ですが、その名の通りアジャイル型モデルは迅速なシステム開発を実現しやすい開発モデルになります。開発側は企画から実装、テストの工程を繰り返し、仮リリース後は依頼者のフィードバックをもとに改良を進めていきます。開発工程を繰り返すのは反復型モデルと共通していますが、適応型モデルでは反復期間を短期間で行うのが特徴です。このアジャイル型のライフサイクルについては、以下のページでも詳しく解説しています。 アジャイル開発とは?今さら聞けない開発手法のメリット・デメリット|発注成功のための知識が身に付く【発注ラウンジ】

 

●ハイブリッド型モデル

予想型モデルと適応型モデルの強みを組み合わせ、臨機応変にシステム開発を進めていく方法です。プロジェクトの概要がある程度固まっている部分は予想型モデル(ウォーターフォール型)モデルで開発を進め、不明瞭な部分は変更が効く適応型モデル(アジャイル型)で開発を進めていきます。適応型モデルで大まかに概要を決め、詳細が固まったら予想型モデルに変更といったように、両方の利点を適切に使い分けることが重要です。

 

システム開発のライフサイクルで意識すべきこと

システム開発のライフサイクル(SDLC)を導入することで、プロジェクト全体をマネジメントしやすくなります。以下では、SDLCの概要を取り入れる上で把握しておきたいポイントを解説します。

 

●ステークホルダー(利害関係者)の位置を把握する

ステークホルダーとは、企業に対してさまざまな利害関係がある人のことです。プロジェクトにおけるステークホルダーは、プロジェクト開発に関わるすべての人(依頼する側・開発する側問わず)を指します。ステークホルダーの位置の理解は、相手の目線に立ってプロジェクトを適切にコントロールすることにつながるのです。

 

●適切なライフサイクルモデルを見極める

システム開発のライフサイクルには、予想型モデルや反復型モデルなど複数のモデルがあります。それぞれで異なる強みと弱みを持っているため、開発会社側はどのモデルが自社の案件に適しているかを慎重に見極める必要があるのです。依頼する側としては、開発会社と密にコミュニケーションが取れたり、フィードバックを送り合えたりするライフサイクルモデルで進めてもらうのが理想と言えるでしょう。

 

プロジェクトマネジメントに役立つライフサイクル

システム開発のライフサイクルを把握しておくと、プロジェクト全体の流れが把握しやすくなります。しかし、SDLCを頭で理解しただけでは不十分なのも事実。大切なのは、実際のプロジェクトマネジメントでSDLCの考え方を活かすことです。さらに、案件に適したライフサイクルモデルを吟味するスキルも求められます。

今回は、SDLCの基本情報や代表的なSDLCモデルについて、詳しく紹介しました。

システム開発を検討する方の中には、「そもそも開発はどんなフローで進むの?」、「具体的な費用相場は?」という基本的な部分を知りたいという方も少なくないでしょう。システム開発の手順や依頼時の注意点について詳しく知りたい方であれば、以下のページをご参照ください。

システム開発とは?手順や依頼時の注意点についても紹介

 

 

システム開発会社選びはプロにお任せ完全無料で全国2000社以上からご提案

200x200b

・ベストマッチな発注先が見つかる
・たった1日のスピード紹介
・ITに詳しいコンシェルジュがサポート
・ご相談~ご紹介まで完全無料

 

■システム開発に関連した記事

システム開発とは?手順や依頼時の注意点についても紹介

 

 

システム開発の工程(流れ)とは?覚えておきたい略語も解説

 

 

 

関連する記事

PAGETOP