基本情報技術者 ⑧ システム開発・開発手法

ソフトウェア開発の工程と技法を学ぶ分野です。ソフトウェアライフサイクル(SLCP)、要件定義・システム方式設計・保守といった各工程、DFDによる分析、データ中心アプローチが頻出です。オブジェクト指向のカプセル化・継承・多態性、UML、モジュール分割の考え方も重要です。ウォーターフォール・アジャイル・DevOpsなどの開発モデルや、単体・結合・システムテストといったテスト技法まで、開発全体の流れを押さえる分野です。

この分野の問題34問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。

クイズモードで挑戦 →

232ソフトウェアライフサイクルプロセス(SLCP)における「保守」プロセスの役割として、適切なものはどれか。

  1. A要件の収集と計画策定
  2. Bシステムの新規開発とプログラミング
  3. Cシステムの企画立案
  4. D不具合の修正とアップデートの実施
正解と解説を見る

正解:D不具合の修正とアップデートの実施

保守プロセスはソフトウェアの不具合修正や機能アップデートなどを行うプロセスである。

この問題の解説ページを開く →

233システム要件定義プロセスの主な目的として、適切なものはどれか。

  1. Aソースコードを記述してシステムを実装すること
  2. Bシステムに必要な機能や性能を明確に決定すること
  3. Cハードウェアとソフトウェアの仕様を詳細化すること
  4. Dシステムが仕様どおりに動くか確認すること
正解と解説を見る

正解:Bシステムに必要な機能や性能を明確に決定すること

システム要件定義はこれから作るシステムで実現したい機能や性能などの条件を明確にする工程である。

この問題の解説ページを開く →

234システム設計における「システム方式設計」の役割として、適切なものはどれか。

  1. Aソフトウェアの具体的な動作ロジックを決定する
  2. B要件をハードウェア・ソフトウェア・手作業に振り分ける
  3. Cプログラムを詳細なモジュール単位に分割する
  4. Dソフトウェア要件を画面や帳票の形に具体化する
正解と解説を見る

正解:B要件をハードウェア・ソフトウェア・手作業に振り分ける

システム方式設計は決定した要件をハードウェア・ソフトウェア・手作業のいずれかに振り分けるプロセスである。

この問題の解説ページを開く →

235データフロー図(DFD)において、データの保管場所を表す記号はどれか。

  1. A外部
  2. Bデータストア
  3. Cプロセス
  4. Dデータフロー
正解と解説を見る

正解:Bデータストア

データストアはデータの保管(データベースやファイルなど)を表す。

この問題の解説ページを開く →

236ソフトウェア方式設計で用いられる「データ中心アプローチ」の特徴として、適切なものはどれか。

  1. Aデータ構造に着目して設計する
  2. B処理の手順に着目して設計する
  3. C画面や帳票などのインタフェースに着目する
  4. D重複する処理を統合して保守性を高める
正解と解説を見る

正解:Aデータ構造に着目して設計する

データ中心アプローチは変化しにくいデータ構造に着目してソフトウェアを設計する手法である。

この問題の解説ページを開く →

237オブジェクト指向における「カプセル化」の説明として、適切なものはどれか。

  1. A親クラスの性質を子クラスが引き継ぐこと
  2. B同じ操作で対象ごとに異なる動作をすること
  3. Cひな型から実体をいくつも生成すること
  4. Dデータとメソッドをまとめて外部から隠蔽すること
正解と解説を見る

正解:Dデータとメソッドをまとめて外部から隠蔽すること

カプセル化はデータとメソッドを一つにまとめ、外部から直接データにアクセスさせないようにすることである。

この問題の解説ページを開く →

238オブジェクト指向において、親クラスの性質を子クラスが引き継ぐことを何というか。

  1. A特化
  2. B継承
  3. C汎化
  4. D多相性
正解と解説を見る

正解:B継承

継承は親クラスのデータやメソッドを子クラスが引き継ぎ、再利用できるようにすることである。

この問題の解説ページを開く →

239オブジェクト指向における「多相性(ポリモーフィズム)」の説明として、適切なものはどれか。

  1. Aひな型から具体的なオブジェクトの実体を生成する
  2. B親クラスの属性や機能を子クラスが利用する
  3. Cデータをメソッドで包み込んで隠蔽する
  4. D同一の操作に対し対象のオブジェクトごとに異なる動作をする
正解と解説を見る

正解:D同一の操作に対し対象のオブジェクトごとに異なる動作をする

多相性は同一の操作を実行した際、対象ごとに異なる動作を可能にすることである。

この問題の解説ページを開く →

240UMLのクラス図において、汎化の関係を示すために用いられる矢印はどれか。

  1. A白抜きの三角形が付いた矢印
  2. B黒塗りのひし形が付いた矢印
  3. C白抜きのひし形が付いた矢印
  4. D通常の矢印
正解と解説を見る

正解:A白抜きの三角形が付いた矢印

UMLにおいて汎化は白抜きの三角形が付いた矢印で表される。

この問題の解説ページを開く →

241システム開発の「ウォーターフォールモデル」の説明として、適切なものはどれか。

  1. A各工程を上流から下流へ一直線に進める
  2. Bプログラミングと設計を常に並行して行う
  3. C短期間で開発とリリースを繰り返す
  4. D開発の途中で要件を頻繁に変更する
正解と解説を見る

正解:A各工程を上流から下流へ一直線に進める

ウォーターフォールモデルは工程を上流から下流へ一直線に順番に進める手法である。

この問題の解説ページを開く →

242スクラムにおける「プロダクトオーナー」の主な役割はどれか。

  1. A製品に必要な機能のリストと優先順位を決定する
  2. B実際にソフトウェアの設計や開発を担当する
  3. C作業の進行が円滑に進むように支援する
  4. Dスプリント中の日々のミーティングを仕切る
正解と解説を見る

正解:A製品に必要な機能のリストと優先順位を決定する

プロダクトオーナーは顧客の要望を反映し、プロダクトバックログの管理や優先順位付けを行う。

この問題の解説ページを開く →

243ソフトウェアの「リバースエンジニアリング」の説明として、適切なものはどれか。

  1. A既存のプログラムを修正して性能を向上させる
  2. B古い設計書から新しいプログラムを作成する
  3. C新しいプログラムを作成してから設計書を作る
  4. Dすでにあるプログラムを解析して仕様を取り出す
正解と解説を見る

正解:Dすでにあるプログラムを解析して仕様を取り出す

リバースエンジニアリングは既存のソフトウェアを解析して仕様や構造を明らかにすることである。

この問題の解説ページを開く →

244プログラムの外部仕様は変えずに、内部構造を整理して改善する手法を何というか。

  1. Aリエンジニアリング
  2. Bペアプログラミング
  3. Cリファクタリング
  4. Dテスト駆動開発
正解と解説を見る

正解:Cリファクタリング

リファクタリングはプログラムの動作を変えずに、保守性を高めるために内部構造を改善することである。

この問題の解説ページを開く →

245ソフトウェア構成管理(SCM)の主な目的として、適切なものはどれか。

  1. Aテストの網羅性を高めるための基準を作ること
  2. Bプログラムの動作速度を向上させること
  3. Cシステムのセキュリティ対策を強化すること
  4. D文書やプログラムの変更履歴を管理すること
正解と解説を見る

正解:D文書やプログラムの変更履歴を管理すること

ソフトウェア構成管理は関連する文書やプログラムの変更を管理し、トラブルを未然に防ぐことである。

この問題の解説ページを開く →

246結合テストの主な目的として、適切なものはどれか。

  1. Aプログラム同士の連携やデータの受け渡しを確認する
  2. Bシステム全体が要求どおりか確認する
  3. C各モジュールが単独で正しく動作するか検証する
  4. D実環境で業務要件どおりか確認する
正解と解説を見る

正解:Aプログラム同士の連携やデータの受け渡しを確認する

結合テストはモジュール同士を組み合わせて、インタフェースや連携がうまくいくかを検証する。

この問題の解説ページを開く →

247ホワイトボックステストの説明として、適切なものはどれか。

  1. A入力と出力の結果だけに着目して確認する
  2. Bプログラムの内部構造を分析して確認する
  3. C実環境と同じ条件下でユーザーが主体で行う
  4. D要件定義どおりの性能が出るかを確認する
正解と解説を見る

正解:Bプログラムの内部構造を分析して確認する

ホワイトボックステストはプログラムの内部構造を見ながら動作を確認する手法である。

この問題の解説ページを開く →

248ブラックボックステストのデメリットとして、適切なものはどれか。

  1. Aプログラムの詳細な知識がないと実行できない
  2. B開発者が行うため仕様誤解を見つけにくい
  3. Cすべての処理をテストするとは限らず不具合が残る可能性がある
  4. D内部構造の詳細が見えないためテストケースが作成できない
正解と解説を見る

正解:Cすべての処理をテストするとは限らず不具合が残る可能性がある

ブラックボックステストは入出力のみを確認するため、すべての処理を網羅しているとは限らない。

この問題の解説ページを開く →

249トップダウンテストを実施する際に、未完成の下位モジュールの代替として用いるダミーのモジュールを何というか。

  1. Aドライバ
  2. Bスタブ
  3. Cエミュレーター
  4. Dシミュレーター
正解と解説を見る

正解:Bスタブ

スタブは上位モジュールから呼び出されるダミーの下位モジュールである。

この問題の解説ページを開く →

250ボトムアップテストを実施する際に、上位モジュールの代替として用いるダミーのモジュールを何というか。

  1. Aデバッガ
  2. Bスタブ
  3. Cドライバ
  4. Dインタフェース
正解と解説を見る

正解:Cドライバ

ドライバはテスト対象の下位モジュールを呼び出すためのダミーの上位モジュールである。

この問題の解説ページを開く →

251条件網羅のテストケースの説明として、適切なものはどれか。

  1. A判定条件に含まれる個々の条件の真と偽の両方を少なくとも一度は実行する
  2. Bすべての命令を少なくとも一度は実行する
  3. C判定条件が真になる場合と偽になる場合を少なくとも一度は実行する
  4. Dすべての条件の真と偽の全組み合わせを実行する
正解と解説を見る

正解:A判定条件に含まれる個々の条件の真と偽の両方を少なくとも一度は実行する

条件網羅は判定条件が複数の条件からなる場合、個々の条件の真偽の両方を少なくとも1回は実行するテストである。

この問題の解説ページを開く →

252命令網羅のテストの説明として、適切なものはどれか。

  1. A個々の条件の真偽を少なくとも一度は実行する
  2. Bプログラム中のすべての判定条件の真偽をテストする
  3. Cすべての条件の真偽の組み合わせをすべて実行する
  4. Dプログラム中のすべての命令を少なくとも一度は実行する
正解と解説を見る

正解:Dプログラム中のすべての命令を少なくとも一度は実行する

命令網羅はプログラム内のすべての命令を少なくとも一度実行するテスト手法である。

この問題の解説ページを開く →

253システムテストの役割として、適切なものはどれか。

  1. Aプログラム同士のデータの受け渡しを検証する
  2. Bモジュール単位の不具合がないか検証する
  3. Cシステム要件どおりに動作するかを検証する
  4. D本番環境でユーザーが運用を確認する
正解と解説を見る

正解:Cシステム要件どおりに動作するかを検証する

システムテストはシステム要件どおりに動作するかを検証する工程である。

この問題の解説ページを開く →

254アジャイル開発手法の一つである「ペアプログラミング」の説明として、適切なものはどれか。

  1. A二人のプログラマが協力して一つのプログラムを開発する
  2. B二人のプログラマが別々の機能のプログラムを開発する
  3. C一人のプログラマがテストと開発を同時に行う
  4. D一人のプログラマが設計とコーディングを担当する
正解と解説を見る

正解:A二人のプログラマが協力して一つのプログラムを開発する

ペアプログラミングは二人のプログラマが1つのパソコンを使用して開発する手法である。

この問題の解説ページを開く →

255保守のために変更を行った際、影響を受けないはずの箇所に新しいバグが出ていないかを確認するテストを何というか。

  1. A単体テスト
  2. Bリグレッションテスト
  3. C結合テスト
  4. D運用テスト
正解と解説を見る

正解:Bリグレッションテスト

リグレッションテスト(回帰テスト)は修正によって他の箇所に不具合が出ていないかを確認するテストである。

この問題の解説ページを開く →

256システム要件定義における性能要件の例として、適切なものはどれか。

  1. A株式が売買できること
  2. B利用者がログインできること
  3. C応答時間を1秒以内とすること
  4. D画面に会社のロゴを表示すること
正解と解説を見る

正解:C応答時間を1秒以内とすること

性能要件は応答時間や処理量などシステムの性能に関する条件であり、応答時間の規定がこれに該当する。

この問題の解説ページを開く →

257DFDで使用される記号のうち、業務プロセスの外にある「人」「組織」「システム」などを表すものはどれか。

  1. Aデータストア
  2. Bプロセス
  3. Cデータフロー
  4. D外部
正解と解説を見る

正解:D外部

外部は業務プロセスの外にあるデータの発生源や行き先を表す。

この問題の解説ページを開く →

258本番稼働後、法改正や利用環境の変化に合わせてシステムを改良する保守を何と呼ぶか。

  1. A是正保守
  2. B適応保守
  3. C完全化保守
  4. D予防保守
正解と解説を見る

正解:B適応保守

環境の変化に対応するために行う保守を適応保守という。

この問題の解説ページを開く →

259システム設計を「外部設計」と「内部設計」に分けた場合、外部設計の説明として適切なものはどれか。

  1. Aユーザーから見える箇所の設計
  2. Bコンピュータの制約を考慮した設計
  3. Cプログラムの内部構造に関する設計
  4. Dデータベースの物理的な設計
正解と解説を見る

正解:Aユーザーから見える箇所の設計

外部設計はユーザーから見える箇所を設計する工程である。

この問題の解説ページを開く →

260プログラミングの作業に関する説明として、適切なものはどれか。

  1. Aプログラミングは設計工程の前の作業である
  2. Bプログラミングの担当者をシステムアナリストという
  3. Cプログラミングとは処理手順を書く工程である
  4. Dプログラミング工程では要件定義を行う
正解と解説を見る

正解:Cプログラミングとは処理手順を書く工程である

プログラミングはプログラム言語の文法にしたがって処理手順を書く工程である。

この問題の解説ページを開く →

261オブジェクト指向において、オブジェクトの状態を表すものを何というか。

  1. Aデータ
  2. Bメソッド
  3. Cクラス
  4. D継承
正解と解説を見る

正解:Aデータ

オブジェクト指向においてオブジェクトの状態をデータと呼び、操作をメソッドと呼ぶ。

この問題の解説ページを開く →

262ソフトウェア構成管理において、構成品目として管理すべきでないものはどれか。

  1. AOSやデータベースの定義
  2. B日々変動する株価の市場データ
  3. C業務運用マニュアルなどの文書
  4. Dプログラムやモジュールのソース
正解と解説を見る

正解:B日々変動する株価の市場データ

ソフトウェア構成管理は文書やプログラムなどシステムを構成する品目を管理するものであり、外部の市場データは含まれない。

この問題の解説ページを開く →

263テスト駆動開発において、テストケースを作成するタイミングとして適切なものはどれか。

  1. Aプログラミングの完了後
  2. Bシステムテストの終了後
  3. Cコーディングの直前
  4. D結合テストの直前
正解と解説を見る

正解:Cコーディングの直前

テスト駆動開発はプログラムを書く前にテストケースを設定する手法である。

この問題の解説ページを開く →

264アジャイル開発において、ビジネス環境の変化やニーズに柔軟に対応するために行うことはどれか。

  1. A開発期間を延長する
  2. Bウォーターフォールモデルに移行する
  3. C製品を小刻みにリリースする
  4. Dすべての機能を完成させてからリリースする
正解と解説を見る

正解:C製品を小刻みにリリースする

アジャイル開発は短期間での開発とリリースを繰り返し、変化に柔軟に対応する。

この問題の解説ページを開く →

265ソースコードに見られる構造的な問題の兆候で、リファクタリングを行う動機となるものを何と呼ぶか。

  1. Aフォールトトレラント
  2. Bデッドロック
  3. Cメモリリーク
  4. Dコードスメル
正解と解説を見る

正解:Dコードスメル

コードスメルはコードの構造的な問題の兆候であり、リファクタリングの動機となる。

この問題の解説ページを開く →
基本情報技術者の全分野一覧へ戻る