このページは以下の「ITパスポート シラバス6.3」学習用コンテンツです。
◆大分類:4.開発技術
◆中分類:9.ソフトウェア開発管理技術
◆小分類 | ◆見出し | ◆学習すべき用語 |
---|---|---|
26.開発プロセス・手法 | (2) 主なソフトウェア開発モデル | ウォーターフォールモデル スパイラルモデル プロトタイピングモデル RAD(Rapid Application Development) リバースエンジニアリング |
ウォーターフォールモデル
ウォーターフォールモデルはシステム開発手法の一つであり、各工程を順次完了させながら開発を進める方式です。
上流から下流へと流れる滝のように、要件定義、設計、実装、テストといった工程を順序通りに進めるため、各工程がしっかりと管理される利点がありますが、途中での仕様変更に柔軟に対応しにくい点もあります。
大規模で計画性が重視されるプロジェクトに適しています。
ウォーターフォールモデルに関する学習用問題
問題
ウォーターフォールモデルの特長として適切なものはどれですか?
1 各工程の成果物を次工程に引き渡す順次開発方式
2 小規模プロジェクト向けに特化した開発手法
3 途中で仕様変更を容易に行うことができる方式
%%replace6%%
正解
1 各工程の成果物を次工程に引き渡す順次開発方式
解説
ウォーターフォールモデルは工程ごとに成果物を次の工程に引き渡して進める方式です。この手法は計画的に進行できますが、仕様変更には不向きです。選択肢2や3はウォーターフォールモデルの特徴ではありません。
問題
ウォーターフォールモデルが適用されやすいプロジェクトの特徴はどれですか?
1 小規模で短期間のプロジェクト
2 アジャイル的な柔軟な対応が重視されるプロジェクト
3 大規模で計画性が求められるプロジェクト
%%replace6%%
正解
3 大規模で計画性が求められるプロジェクト
解説
ウォーターフォールモデルは計画的で、安定した進行が求められる大規模プロジェクトに向いています。選択肢1は小規模向けの手法であり、選択肢3はアジャイル開発の特徴に該当します。
問題
ウォーターフォールモデルの開発において問題となりやすい点はどれですか?
1 テスト工程が設計工程よりも先に行われる
2 途中での仕様変更に対応が難しい
3 成果物が一切発生しないプロセスがある
%%replace6%%
正解
2 途中での仕様変更に対応が難しい
解説
ウォーターフォールモデルは工程が順序通りに進むため、仕様変更への対応が難しいことが課題です。選択肢1は誤りで、選択肢3のような「成果物が一切発生しないプロセス」はありません。
スパイラルモデル
スパイラルモデルはリスク管理を重視しつつ開発を反復的に進める開発モデルです。開発プロセスを複数のイテレーションで進めるため、リスクの早期発見や対応が可能です。
設計からテストまでを一連のサイクルで繰り返し、段階ごとに完成度を高めることで、柔軟な対応が求められるプロジェクトに向いています。
アジャイルとの違い
スパイラルモデルに関する学習用問題
問題
スパイラルモデルの特徴として正しいものはどれですか?
1 全ての工程を一度で完了させる開発モデル
2 複数のサイクルでリスクに対応しながら開発を進めるモデル
3 各工程の成果物を固定して進行するモデル
%%replace6%%
正解
2 複数のサイクルでリスクに対応しながら開発を進めるモデル
解説
スパイラルモデルはリスクを重視し、段階的に進行する開発手法です。工程を反復的に繰り返すため、選択肢1や3のような特徴は持っていません。
問題
スパイラルモデルのメリットとして正しいものはどれですか?
1 プロジェクトの全期間において仕様変更に柔軟に対応できる
2 リスク管理が難しくなるため不確実性が増す
3 一度に開発を完了させるため短期間での納品が可能
%%replace6%%
正解
1 プロジェクトの全期間において仕様変更に柔軟に対応できる
解説
スパイラルモデルは反復的に開発を進めるため、途中での仕様変更に対応しやすく、リスク管理も優れています。選択肢2や3は誤りです。
問題
スパイラルモデルの適用に向かないプロジェクトの特徴はどれですか?
1 リスクが高いが柔軟な対応が必要なプロジェクト
2 短期間で安定的な完成が求められるプロジェクト
3 段階的に成果物を確認しながら進めたいプロジェクト
%%replace6%%
正解
2 短期間で安定的な完成が求められるプロジェクト
解説
スパイラルモデルは反復作業で進めるため、短期間での安定的な納品を求めるプロジェクトには適しません。選択肢1や3はスパイラルモデルに適しています。
プロトタイピングモデル
プロトタイピングモデルは試作品(プロトタイプ)を作成し、ユーザーからのフィードバックを基に改良しながら開発を進める手法です。
特にユーザーのニーズが明確でない場合や、視覚的な確認が必要なプロジェクトに向いています。迅速にプロトタイプを提供することで、要件の調整が可能です。
プロトタイピングモデルに関する学習用問題
問題
プロトタイピングモデルが適しているのはどのようなプロジェクトですか?
1 ユーザーのニーズが曖昧なプロジェクト
2 仕様が明確に決まっているプロジェクト
3 一度で全機能を開発する必要があるプロジェクト
%%replace6%%
正解
1 ユーザーのニーズが曖昧なプロジェクト
解説
プロトタイピングモデルはユーザーのニーズがはっきりしない場合に適しており、試作品を用いて要件を確認して進められます。選択肢2や3はプロトタイピングモデルの特長とは異なります。
問題
プロトタイピングモデルの特長として正しいものはどれですか?
1 一度で全ての機能を実装する
2 リスク管理を最重視して開発を進める
3 ユーザーに試作品を提供し要件を明確にする
%%replace6%%
正解
3 ユーザーに試作品を提供し要件を明確にする
解説
プロトタイピングモデルはユーザーに試作品を提供することで要件を明確にし、開発を進める方式です。選択肢1や3はプロトタイピングモデルの説明には当てはまりません。
問題
プロトタイピングモデルが不向きな開発の条件はどれですか?
1 利用者のフィードバックを重視するプロジェクト
2 初めから明確な仕様が決まっているプロジェクト
3 視覚的な確認が求められるプロジェクト
%%replace6%%
正解
2 初めから明確な仕様が決まっているプロジェクト
解説
プロトタイピングモデルは要件が不明瞭な場合に有効であるため、明確な仕様が定まっているプロジェクトには適していません。選択肢1や3はプロトタイピングモデルの特長に合致します。
RAD(Rapid Application Development)
RAD(Rapid Application Development)は短期間での開発を目的とした手法で、ユーザーと開発者の積極的な連携を重視します。
迅速なプロトタイプ作成やユーザーのフィードバックを元にした改良を通じ、短い開発サイクルで成果物を作り上げます。柔軟な対応力が求められるプロジェクトに向いています。
RADに関する学習用問題
問題
RADの特徴として適切なものはどれですか?
1 開発工程を長期間かけて一括で進める
2 一度の工程で全ての機能を実装する
3 ユーザーのフィードバックを元に短期間で改良を重ねる
%%replace6%%
正解
3 ユーザーのフィードバックを元に短期間で改良を重ねる
解説
RADは短期間での開発を目的とし、ユーザーからのフィードバックをもとに改良するプロセスを繰り返す手法です。
選択肢1や3はRADの特徴に該当しません。
問題
RADが適しているプロジェクトの条件として適切なものはどれですか?
1 安定した長期間の開発が求められるプロジェクト
2 短期間での成果物提供が重視されるプロジェクト
3 詳細な設計が初めから必要なプロジェクト
%%replace6%%
正解
2 短期間での成果物提供が重視されるプロジェクト
解説
RADは短期間での開発に適した手法であり、特に迅速な成果物の提供が求められるプロジェクトに向いています。
選択肢1や3はRADの適用には不向きです。
問題
RADの欠点として最も適切なものはどれですか?
1 ユーザーとのフィードバックのやり取りが困難である
2 柔軟な開発を行うことが難しい
3 成果物の品質が低くなるリスクがある
%%replace6%%
正解
3 成果物の品質が低くなるリスクがある
解説
RADは短期間の開発を優先するため品質に影響が出やすいという欠点があります。
選択肢1や3はRADの特徴とは異なります。
リバースエンジニアリング
リバースエンジニアリングは既存の製品やシステムを分解してその構造や機能を解析する技術です。
製品の再現や機能の理解、新製品の開発などに活用されることが多く、特に製品の動作を調査する際に有効です。ソフトウェアやハードウェアの解析に多用されます。
リバースエンジニアリングに関する学習用問題
問題
リバースエンジニアリングの目的として適切なものはどれですか?
1 製品の設計や動作を解析し理解する
2 新しい製品の設計を行うこと
3 製品のテスト工程を進めること
%%replace6%%
正解
1 製品の設計や動作を解析し理解する
解説
リバースエンジニアリングは製品を分解してその構造や動作を解析することを目的としています。
選択肢2や3はリバースエンジニアリングの目的ではありません。
問題
リバースエンジニアリングが活用される場面として適切なものはどれですか?
1 新規プロジェクトの計画段階
2 既存製品の機能や構造を解析する場合
3 製品テストの自動化を図る場合
%%replace6%%
正解
2 既存製品の機能や構造を解析する場合
解説
リバースエンジニアリングは既存の製品を分解し、その機能や構造を分析するために利用されます。
選択肢1や3はリバースエンジニアリングとは異なります。
問題
リバースエンジニアリングの課題として最も適切なものはどれですか?
1 製品の開発期間が長期化すること
2 開発工程が複雑化すること
3 法的な問題や著作権侵害のリスクがあること
%%replace6%%
正解
3 法的な問題や著作権侵害のリスクがあること
解説
リバースエンジニアリングには法的問題や著作権侵害のリスクが伴う場合があります。
選択肢1や3は必ずしもリバースエンジニアリングに関連する課題ではありません。