基本情報技術者合格のための勉強法まとめブログ

情報系の学生にとってはもはや必需品  ”基本情報技術者” しかし、実務経験のない学生では午後試験の突破は難しいです。 そんなあなたの悩みを打ち消すヒントが詰まったブログです。

基本情報技術者の勉強 スパイラルモデルのメリットとデメリットについて

 

今回の記事ではスパイラルモデルについてもっと詳しく知りたい方に向けての記事です。

 

スパイラスモデルのメリットやデメリットについて詳しくお話ししていきます。

 

 

 

スパイラルモデルとは

f:id:qualifi:20190126170259j:plain

 

システム開発の一連の流れは

 

  • 要件定義
  • 設計
  • プログラミング
  • テスト

 

です。 

 

ウォーターフォールモデルでは、これらのプロセスを上から順番に取り組んでいくのに対して、スパイラルモデルでは一連のプロセスを何度も繰り返しながら開発していきます

 

スパイラルモデルでは、1つの開発プロセスを複数のサブプロセスに分割します。

 

そのサブプロセスはウォーターフォールモデルと同様な取組み方で行われます。

 

これを何度も繰り返していき、システムの質を高めていくことを目的としています。

 

サブプロセスで開発されたものはプロトタイプとしてユーザに評価してもらうこともできます。

 

スパイラルモデルはウォーターフォールモデルとプロトタイプモデルの両方を兼ね備えていると言えますね。

 

それでは、スパイラルモデルのメリットとデメリットについて紹介していきましょう。

 

スパイラルモデルのメリット

 

スパイラルモデルのメリットについて紹介します。

 

  • 開発スケジュールの変更に対応しやすい

  • システムの仕様変更に対応しやすい

 

です。

 

それでは詳細について紹介していきます。

 

開発スケジュールの変更に対応しやすい

 

スパイラスモデルは開発のスケジュール変更にとても対応しやすい開発手法です。

 

ウォータフォールモデルでは、プロジェクトの全体像を見渡したうえでプロジェクトの計画を立てます。

 

そのため、急なスケジュールの変化はプロジェクト全体に影響を及ぼしてしまいます。

 

スパイラルモデルの場合は、プロジェクトを小さなサブシステムへと分割していくため、サブシステムごとにスケジュールを立てていきます。

 

そのためスケジュールを変更したとしても、その影響が及ぶ範囲はウォーターフォールモデルほど大きくないため柔軟い対応することができます。

 

システムの仕様変更に対応しやすい

 

スパイラルモデルはシステムの仕様変更要求に柔軟に対応できます。

 

スパイラルモデルでは全体のシステムを小さなサブシステムへと分割して開発を行います。

 

サブシステムごとに実装することが求められる機能が明確にされているため、仕様の変更に対して柔軟に対応することができます

 

スパイラルモデルのデメリット

 

スパイラルモデルのデメリットについて紹介します。

 

  • 開発の初期段階ではプロジェクトの全体像を把握しづらい 

 

ことです。

 

では、デメリットについて詳細に説明してきます。

 

開発の初期段階ではプロジェクトへの全体像を把握しづらい

 

スパイラルモデルではシステムの全体像が見える前に作業をどんどん進めていきます。

 

そのため、プロジェクトの方向性が誤ってしまう可能性もあります。

 

ある程度進んだプロジェクトで方向性の違いが発覚してしまえば、その部分の修正にも時間が取られ多大なコストが生じてしまいます

 

過去問

スパイラルモデルに関する過去問です。

 

ソフトウェア開発のプロセスモデルの一つであるスパイラルモデルに関する記述として,適切なものはどれか。
  • 基本的に後戻りが許されないので,要求仕様の変更に対応するには大きな工数を要する。
  • システムの部分単位に要求定義・設計・プログラミング・テストを繰り返しながら開発するので,未経験分野のシステム開発に有効である。
  • 全体の作業を幾つかのフェーズに分けて管理するので,最初から要求仕様が明白な場合に,最も効率的な方法である
  • 要求仕様の変更のたびに機能分割と段階的な機能追加を繰り返すので,大規模システム開発に有効である。

平成16年春期問50 スパイラルモデルに関する記述|応用情報技術者試験.com

 

この問題の正解は2つ目の選択肢です。

 

解答のポイントとなる部分は、繰り返しながらの開発というところです。

 

スパイラルモデルの特徴ですので、きちんと押さえておきましょう。