2026年版・4-3

開発プロセス・手法の一問一答

基本情報技術者試験 科目A「開発技術」から、開発プロセス・手法に関する4択問題を10問。「答えと解説を見る」を開くと、正解とその理由がその場で読めます。会員登録は不要です。

この分野の演習

全10問/解説つき・基本無料

アプリ形式で解く(全600問) 開発技術の要点解説を読む
問題

上から順に解いてみてください。答えは各問の下で確認できます。科目Aの本試験と同じく、4択で出題しています。

問14-3

アジャイル開発の手法であるスクラムの説明として、最も適切なものはどれか。

  • ①要件定義から運用までの工程を、前の工程に戻らずに一度だけ順番に進める
  • ②試作品を1回だけ作って利用者に確認し、残りは最初の計画どおりに作る
  • ③最初に全体の詳細な設計書を完成させ、その後に一括でプログラムを作る
  • ④スプリントという短い期間を繰り返し、動くソフトウェアを少しずつ作る
答えと解説を見る
正解 ④スプリントという短い期間を繰り返し、動くソフトウェアを少しずつ作る
解説
スクラムは、アジャイル開発の代表的な手法の一つです。スプリントと呼ばれる数週間程度の短い期間ごとに、計画・開発・レビュー・振り返りを行い、動くソフトウェアを少しずつ作って改善を重ねます。プロダクトオーナー(何を作るかの優先順位を決める)、スクラムマスター(チームを支援する)、開発者という役割があり、毎日短いミーティング(デイリースクラム)を行います。

他の選択肢が不適切な理由
・工程を前に戻らずに順番に進める:ウォーターフォールモデルの説明です。
・最初に全体の詳細な設計書を完成させる:アジャイル開発は、変化に柔軟に対応するため、最初に全てを詳細に決めることはしません。
・試作品を1回だけ作って確認する:プロトタイピングの一部の考え方に近いもので、スクラムの説明ではありません。

覚え方のポイント
「スクラム=スプリントの繰返し、役割はプロダクトオーナー・スクラムマスター・開発者」。ラグビーのスクラムのように、チームで一体となって進めるのが名前の由来です。
問24-3

アジャイル開発のプラクティス(実践手法)の一つで、2人の開発者が1台のコンピュータを使い、1人がコードを書き、もう1人がそれを確認しながら一緒にプログラミングを行う手法はどれか。

  • ①リファクタリング
  • ②テスト駆動開発
  • ③ペアプログラミング
  • ④継続的インテグレーション
答えと解説を見る
正解 ③ペアプログラミング
解説
ペアプログラミングは、2人1組で1台のコンピュータを使ってプログラミングを行う手法です。1人がコードを書き(ドライバ)、もう1人が隣でそのコードを確認したり、設計を考えたりします(ナビゲータ)。役割は適宜交代します。その場でレビューが行われるため品質が上がり、知識の共有にも役立ちます。XP(エクストリームプログラミング)のプラクティスの一つです。

他の選択肢が不適切な理由
・テスト駆動開発:プログラムを書く前にテストを先に作り、そのテストに合格するようにプログラムを書く手法です。
・リファクタリング:外部から見た動作を変えずに、プログラムの内部構造を改善することです。
・継続的インテグレーション:開発者が変更したコードを頻繁に共有のリポジトリに統合し、自動でビルドとテストを行う手法です。

覚え方のポイント
XPの主なプラクティスは「ペアプログラミング」「テスト駆動開発」「リファクタリング」「継続的インテグレーション」。それぞれの内容を一言で言えるようにしましょう。
問34-3

テスト駆動開発(TDD)の説明として、最も適切なものはどれか。

  • ①テストの工程を省略して、利用者に使ってもらいながら不具合を直す
  • ②プログラムを全て書き終えてから、まとめてテストを作成して実行する
  • ③先にテストを作り、そのテストに合格するようにプログラムを書く方法
  • ④テスト専門の組織が、開発者とは別に全てのテストを計画して実行する
答えと解説を見る
正解 ③先にテストを作り、そのテストに合格するようにプログラムを書く方法
解説
テスト駆動開発は、まず実装したい機能のテストを先に書き(最初はテストが失敗する)、次にそのテストに合格する最小限のプログラムを書き、その後にプログラムを整理(リファクタリング)する、という短いサイクルを繰り返す開発手法です。常にテストが揃った状態で開発が進むため、変更に強い、品質の安定したプログラムになります。

他の選択肢が不適切な理由
・全て書き終えてからまとめてテストを作る:従来の進め方で、テストが開発を「駆動」するものではありません。
・テストの工程を省略する:テスト駆動開発は、むしろテストを重視する手法です。
・テスト専門の組織が別に行う:独立したテスト組織の説明で、テスト駆動開発ではテストを開発者自身が先に書きます。

覚え方のポイント
「テスト駆動=テストが先、コードが後」。失敗するテストを書く→合格させる→整理する、の繰返しです。
問44-3

リファクタリングの説明として、最も適切なものはどれか。

  • ①他の言語で書かれたプログラムを、別の言語へ自動的に変換する
  • ②外部から見た動作を変えずに、プログラムの内部構造を改善する
  • ③既存のプログラムを解析して、設計書などの仕様の情報を復元する
  • ④新しい機能を追加して、利用者が使える機能を次々と増やしていく
答えと解説を見る
正解 ②外部から見た動作を変えずに、プログラムの内部構造を改善する
解説
リファクタリングは、プログラムの外部から見た動作(入力と出力の関係)を変えないまま、重複した処理をまとめたり、分かりにくい名前を付け直したりして、内部の構造を分かりやすく、保守しやすく改善することです。動作が変わっていないことを確かめるため、テストと組み合わせて行います。

他の選択肢が不適切な理由
・新しい機能を追加する:機能の拡張で、外部から見た動作が変わるため、リファクタリングではありません。
・既存のプログラムを解析して仕様を復元:リバースエンジニアリングの説明です。
・別の言語に自動で変換:言語の変換(トランスレーション)の説明です。

覚え方のポイント
「リファクタリング=動きは同じ、中身をきれいに」。機能を増やすことではない、という点が問われます。
問54-3

DevOpsの説明として、最も適切なものはどれか。

  • ①開発担当者と運用担当者が連携し、ソフトウェアを迅速かつ安定的に届ける
  • ②開発を担当する組織と運用の組織を完全に分離し、それぞれの責任を明確にする
  • ③変更をまとめて年に数回だけ本番に反映し、運用の負担と障害を減らす
  • ④運用の作業を全て自動化ツールに任せて、運用担当者を置かないようにする
答えと解説を見る
正解 ①開発担当者と運用担当者が連携し、ソフトウェアを迅速かつ安定的に届ける
解説
DevOpsは、開発(Development)と運用(Operations)を組み合わせた言葉で、開発担当者と運用担当者が協力し、ツールによる自動化(ビルド、テスト、リリースなど)も活用しながら、ソフトウェアの変更を迅速かつ安定的に利用者に届ける考え方です。

他の選択肢が不適切な理由
・開発と運用の組織を完全に分離する:DevOpsは、開発と運用の壁をなくして連携することを目指します。
・変更をまとめて年に数回だけ反映する:DevOpsは、小さな変更を頻繁に、かつ安全に届けることを目指します。
・運用を全て自動化ツールに任せて担当者を置かない:自動化は手段の一つであり、DevOpsは開発と運用の担当者どうしの協力を前提とします。

覚え方のポイント
「DevOps=Dev(開発)+Ops(運用)の協調」。継続的インテグレーション・継続的デリバリー(CI/CD)とセットで使われます。
問64-3

システムを複数の部分に分け、要件定義・設計・開発・評価の流れを、部分ごとに繰り返しながらシステムを完成させていく開発モデルはどれか。

  • ①ウォーターフォールモデル
  • ②プロトタイピングモデル
  • ③V字モデル
  • ④スパイラルモデル
答えと解説を見る
正解 ④スパイラルモデル
解説
スパイラルモデルは、システムをいくつかの部分(サブシステム)に分け、それぞれについて要件定義・設計・開発・評価(リスクの分析を含む)の流れを、渦巻き(スパイラル)のように繰り返しながら、徐々にシステム全体を完成させていく開発モデルです。繰返しのたびに利用者の評価を反映できます。

他の選択肢が不適切な理由
・ウォーターフォールモデル:全体の工程を上流から下流へ、原則として戻らずに一度だけ進めるモデルです。
・V字モデル:ウォーターフォールモデルの各工程と、それに対応するテストの工程の関係を、V字の形で表したモデルです。
・プロトタイピングモデル:早い段階で試作品を作って利用者に確認してもらい、要求を明確にするモデルです。

覚え方のポイント
「スパイラル=渦巻き(部分ごとに開発の流れを繰り返す)」「ウォーターフォール=滝(一度だけ上から下へ)」。
問74-3

リバースエンジニアリングの説明として、最も適切なものはどれか。

  • ①要件定義から始めて、設計、プログラミングの順番に開発を進める
  • ②部品化したソフトウェアを組み合わせて、新しいシステムを作る
  • ③外部から見た動作を変えずに、プログラムの内部構造を改善する
  • ④既存のソフトウェアを解析して、その仕様や設計の情報を取り出す
答えと解説を見る
正解 ④既存のソフトウェアを解析して、その仕様や設計の情報を取り出す
解説
リバースエンジニアリングは、既存のソフトウェア(プログラム)を解析して、その仕様や設計の情報を取り出す(復元する)ことです。設計書が残っていない古いシステムを保守・再構築するときなどに行います。なお、他社のソフトウェアを解析する場合は、ライセンス契約で禁止されていないかなど、法的な面に注意が必要です。

他の選択肢が不適切な理由
・要件定義から設計、プログラミングの順に開発を進める:通常の開発の流れ(フォワードエンジニアリング)の説明です。
・外部から見た動作を変えずに内部構造を改善:リファクタリングの説明です。
・部品を組み合わせて新しいシステムを作る:部品化・再利用(コンポーネントベースの開発)の説明です。

覚え方のポイント
「リバース=逆向き(完成品から設計へさかのぼる)」。取り出した情報をもとに作り直すことを、リエンジニアリングといいます。
問84-3

組織のソフトウェア開発のプロセスがどの程度成熟しているかを5段階の成熟度レベルで評価し、プロセスの改善に役立てるためのモデルはどれか。

  • ①PMBOK
  • ②ITIL
  • ③CMMI
  • ④COBIT
答えと解説を見る
正解 ③CMMI
解説
CMMI(Capability Maturity Model Integration:能力成熟度モデル統合)は、組織の開発や保守のプロセスの成熟度を、レベル1(初期)からレベル5(最適化)までの5段階で評価し、プロセスの改善の道筋を示すモデルです。自組織の現在のレベルを把握し、次のレベルに上がるために何を改善すべきかが分かります。

他の選択肢が不適切な理由
・ITIL:ITサービスマネジメントのベストプラクティスをまとめたものです。
・PMBOK:プロジェクトマネジメントの知識体系をまとめたものです。
・COBIT:ITガバナンスのためのフレームワークです。

覚え方のポイント
「CMMI=開発プロセスの成熟度(5段階)」「ITIL=サービス管理」「PMBOK=プロジェクト管理」「COBIT=ITガバナンス」。何のための枠組みかで区別しましょう。
問94-3

ソフトウェアの開発や取引で使われる作業の内容や用語をそろえ、発注者と受注者が同じ言葉で話ができるようにするための枠組みはどれか。

  • ①デザインパターン
  • ②共通フレーム
  • ③ファンクションポイント法
  • ④WBS
答えと解説を見る
正解 ②共通フレーム
解説
共通フレーム(SLCP-JCF)は、ソフトウェアの企画から開発、運用、保守、廃棄までのライフサイクル全体にわたる作業の内容と用語を体系的に定めた枠組みです。発注者と受注者などの関係者が同じ「ものさし」を使うことで、作業の範囲や責任についての誤解を防ぎ、取引を明確にすることを目的としています。

他の選択肢が不適切な理由
・WBS:プロジェクトの作業を階層的に分解して表したものです。
・ファンクションポイント法:ソフトウェアの機能の数や複雑さから、開発の規模を見積もる方法です。
・デザインパターン:ソフトウェア設計の典型的な問題と解決策をまとめたものです。

覚え方のポイント
「共通フレーム=関係者の共通の言葉(作業と用語の標準)」。何を誰がやるのかの認識のずれを防ぐための枠組みです。
問104-3

ローコード開発の説明として、最も適切なものはどれか。

  • ①部品の配置や設定を中心に、コードをほとんど書かずにアプリを作る
  • ②全ての処理を機械語で直接記述して、実行速度を最大限に高める
  • ③利用者に試作品を早い段階で見せて、要求を確かめながら作り進めていく
  • ④既存のプログラムを解析して、その仕様書を自動的に作成する
答えと解説を見る
正解 ①部品の配置や設定を中心に、コードをほとんど書かずにアプリを作る
解説
ローコード開発は、専用の開発ツール(開発基盤)の画面上で、用意された部品を配置したり、処理の流れを設定したりすることを中心に、ソースコードをほとんど書かずにアプリケーションを作る手法です。短い期間で開発でき、プログラミングの専門家でない業務担当者も開発に参加しやすくなります。コードを全く書かないものは、ノーコード開発と呼ばれます。

他の選択肢が不適切な理由
・全ての処理を機械語で記述する:機械語やアセンブリ言語による低水準の記述の方法で、ローコード開発とは正反対です。
・試作品を見せて要求を確かめながら作る:プロトタイピングの説明です。ローコード開発は、試作に限らず、部品と設定を中心に本番のアプリを作る手法です。
・既存のプログラムから仕様書を作成する:リバースエンジニアリングの説明です。

覚え方のポイント
「ローコード=コードを少なく(部品と設定で作る)」「ノーコード=コードを書かない」。短期間の開発や、業務部門での内製に向いています。

基本情報技術者(科目A)の対策問題(全600問)に戻る

非公式の資格試験対策サイトです。独立行政法人情報処理推進機構(IPA)とは一切関係ありません。

※本ページでは、アクセス解析(Googleアナリティクス)と、広告の配信・成果の計測(A8.net)のためにCookie等を利用し、閲覧に関する情報をGoogle LLC・株式会社ファンコミュニケーションズへ送信しています。詳しくはプライバシーポリシーをご覧ください。

※本ページの問題・解説は、生成AI(人工知能)を活用して作成しています。

【PR】