確認○×問題まとめ9

ITパスポート講座のマネジメント系9(ソフトウェア開発管理技術)の確認○×問題だけを集めました。

主な開発モデルとフレームワーク

問9-1-1

ソフトウェア開発モデルには、ウォータフォールモデル、スパイラルモデル、プロトタイピングモデル、RADなどがある。ウォータフォールモデルの特徴の説明として適切なものはdである。

a開発工程ごとの実施すべき作業が全て完了してから次のエ程に進む。
b開発する機能を分割し、開発ツールや部品などを利用して、分割した機能ごとに効率よく迅速に開発を進める。
cシステム開発の早い段階で、目に見える形で要求を利用者が確認できるように試作品を作成する。
dシステムの機能を分割し、利用者からのフィードバックに対応するように、分割した機能ごとに設計や開発を繰り返しながらシステムを徐々に完成させていく。

答え:×

a.ウォータフォールモデル開発工程ごとの実施すべき作業が全て完了してから次のエ程に進む
b.RAD開発する機能を分割し、開発ツールや部品などを利用して、分割した機能ごとに効率よく迅速に開発を進める。
c.プロトタイピングモデルシステム開発の早い段階で、目に見える形で要求を利用者が確認できるように試作品を作成する。
d.スパイラルモデルシステムの機能を分割し、利用者からのフィードバックに対応するように、分割した機能ごとに設計や開発を繰り返しながらシステムを徐々に完成させていく

問9-1-2

ウォータフォールモデルで開発を行うプロジェクトにおいて、システム要件定義の不具合を後続の工程で発見した。不具合を発見した「システム設計」「プログラミング」「テスト」「ソフトウェア受入れ」の工程のうち、不具合の修正や修正に伴う手戻りが最も少なく済む工程は「システム設計」である。

答え:〇

ウォータフォールモデルは、「システム要件定義」→「システム設計」→「プログラミング」→「テスト」→「ソフトウェア受入れ」の順で作業を進め、手戻りしないことが原則です。

そのため、「システム要件定義」に不具合があった場合、そのあとの工程が進めば進むほど雪だるま式に不具合の影響が大きくなります。逆に言うと、工程が浅いほど影響は少なくなります

「システム設計」「プログラミング」「テスト」「ソフトウェア受入れ」のうち、工程が最も上流にあるのは「システム設計」なので、不具合の修正や修正に伴う手戻りが最も少なく済む工程は「システム設計」となります。

問9-1-3

図のように、改良及び機能追加を繰り返すことによって利用者の要求の変動に柔軟に対処したシステム開発を行う開発モデルはプロトタイピングモデルである。

答え:×

設問の開発モデルはスパイラルモデルです。

問9-1-4

ユーザの要求を定義する場合に作成するプロトタイプは、ユーザとシステムのやり取りを記述した図である。

答え:×

ユーザとシステムのやり取りを記述した図はユースケース図です。ユーザの要求を定義する場合に作成するプロトタイプは、「ユーザの要求を理解するために作成する簡易なソフトウェア」です。

問9-1-5

運用中のソフトウェアの仕様書がないので、ソースコードを解析してプログラムの仕様書を作成した。この手法をリバースエンジニアリングという。

答え:〇

既存のハードウェアを分解したり、ソフトウェアを解析するなどして、ソフトウェアの構造を分析し、そこから仕様やソースコードなどを調査することをリバースエンジニアリングといいます。

問9-1-6

共通フレーム(Software Life Cycle Process)とは、「ソフトウェア開発とその取引の適正化に向けて、基本となる作業項目を定義し標準化したもの」である。

答え:〇

設問の通りです。

問9-1-7

共通フレーム(Software Life Cycle Process)の利用に関して、明確化した作業範囲や作業項目をそのまま利用することを推奨している。

答え:×

共通フレーム(Software Life Cycle Process)は、明確化した作業範囲や作業項目をそのまま利用するのではなく、必要に応じて修整して利用することを推奨しています。

問9-1-8

システム開発組織におけるプロセスの成熟度を5段階のレベルで定義したモデルをCMMIという。

答え:〇

CMMを発展させたもので、開発プロセス以外のプロジェクト管理、ITサービス提供、人材開発なども評価の対象としたものを能力成熟度モデル統合(Capability Maturity Model Integration:CMMI)といいます。

CMMIでは、ソフトウェア開発組織及びプロジェクトのプロセスを改善するために、レベル1からレベル5までの5段階でその組織の成熟度レベルを段階的に定義します。 

アジャイル開発

問9-2-1

開発する機能を小さい単位に分割して、優先度の高いものから短期間で開発とリリースを繰り返すソフトウェア開発モデルをウォーターフォールモデルという。

答え:×

設問はアジャイル開発の説明です。ウォーターフォールモデルは、システム開発を上流工程から下流工程まで順番に進めて、すべての開発工程が終了してからリリースする開発モデルです。

問9-2-2

開発側と運用側が密接に連携し、自動化ツールなどを取り入れることによって、仕様変更要求などに対して迅速かつ柔軟に対応する取り組みをDevOpsという。

答え:〇

DevOps(デブオプス)は、迅速な開発を実現するため、開発担当者と運用担当者が密接に連携して開発を進める取り組みのことをいいます。

問9-2-3

プロダクトオーナなどの役割、スプリントレビューなどのイベント、プロダクトバックログなどの作成物、及びルールから成るソフトウェア開発のフレームワークをXP(エクストリームプログラミング)という。

答え:×

設問はスクラムの説明となります。なお、XP(エクストリームプログラミング)とは、要求の変化に対応した高品質のソフトウェアを短いサイクルでリリースする、アジャイル開発の開発手法のうちの1つです。テスト駆動型開発、ペアプログラミング、リファクタリングなどのプラクティスを提唱しています。

問9-2-4

XP(エクストリームプログラミング)における、テスト駆動開発の特徴は「最初のテストで、なるべく多くのバグを摘出する」ことにある。

答え:×

XP(エクストリームプログラミング)におけるテスト駆動開発の特徴は「プログラムを書く前にテストケースを記述する」ことにあります。

問9-2-5

既存のプログラムを、外側から見たソフトウェアの動きを変えずに内部構造を改善する活動のことをペアプログラミングという。

答え:×

設問はリファクタリングの説明です。なお、ペアプログラミングとは、2人のプログラマが1台のマシンを操作してプログラミングを行う手法です。2人のプログラマがペアとなり、その場で相談やレビューをしながら一つのプログラムの開発を行うことで、品質の向上や知識の共有、技術の向上などを図ることができます。

問9-2-6

スクラムチームにおけるプロダクトオーナーの役割はaである。

役割名内容
aゴールとミッションが達成できるように、プロダクトバックログのアイテムの優先順位を決定する。
bチームのコーチやファシリテータとして、スクラムが円滑に進むように支援する。
cプロダクトを完成させるための具体的な作り方を決定する。

答え:〇

役割名内容
a.プロダクトオーナーゴールとミッションが達成できるように、プロダクトバックログのアイテムの優先順位を決定する。
b.スクラムマスターチームのコーチやファシリテータとして、スクラムが円滑に進むように支援する。
c.開発チームプロダクトを完成させるための具体的な作り方を決定する。

問9-2-7

スクラムチームでの活動において、チーム自体や活動のプロセスを振り返ることをデイリースクラムという。

答え:×

設問はレトロスペクティブ(ふりかえり)の説明です。なお、デイリースクラムとは、決まった時刻に開発の進行状況や課題などを共有するミーティングのことです。