NWネットワークスペシャリスト試験 午前Ⅱ
平成30年度秋期 ネットワークスペシャリスト 午前Ⅱ 問25
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。
- イソースコードから設計書を再作成する。
- ウソフトウェア部品を組み合わせてシステムを開発する。
- エプログラムの修正が他の部分に影響していないかどうかをテストする。
解き方のヒントを見る
変更の目的に注目して整理する
この問題では、各記述が示す変更の目的に注目し、何を良くするための説明なのかを読み分けます。用語の印象や細かな表現だけで判断せず、文全体の狙いを丁寧に確認しましょう。
この問題で問われていること
一つの観点として、記述が述べる「何を改善したいのか」に焦点を置きます。実施方法や個別の効果を先に決めつけず、目的と手段の関係が自然につながっているかを確認してください。
視点
選択肢を読むときは、まず変更の対象ではなく、その変更が目指す状態を言い換えずに捉えます。次に、説明中の理由や結果が、その目的を支える内容になっているかだけを確認します。
確認ポイント
- 記述が示す改善の目的は何か
- 目的と、そのための説明が対応しているか
- 細かな用語ではなく文全体の狙いを読めているか
正解と解説を見る
正解
ア
解説
リファクタリングとは、外部から見たソフトウェアの振る舞いを変えずに、ソースコードの構造を整理し、保守性や可読性を高める作業です。
理由
リファクタリングは、プログラムの処理結果や利用者から見た振る舞いを変えないまま、重複の削除や構造の整理などを行う作業です。目的は、保守性、可読性、変更しやすさを高めることです。
比較
ソースコードから設計書を作る作業はリバースエンジニアリング、部品を組み合わせる作業はコンポーネントベース開発、修正の影響を確認するテストは回帰テストに関係します。
選択肢ア(正解)
これは正解だよ。リファクタリングは、外部から見たプログラムの振る舞いを変更せず、ソースコードの構造を整理して保守性や可読性を高める作業です。動作を維持しながら内部品質を改善するという定義に合致しています。
選択肢イ
これは不正解だよ。ソースコードから設計書を再作成するのは、既存の実装を分析して設計情報を明らかにするリバースエンジニアリングに当たります。コードの内部構造を改善して保守性を高めるリファクタリングとは目的が異なります。
選択肢ウ
これは不正解だよ。ソフトウェア部品を組み合わせてシステムを開発するのは、再利用可能なコンポーネントを活用する開発方法の説明です。既存プログラムの外部動作を保ったまま内部を整理するリファクタリングの説明ではありません。
選択肢エ
これは不正解だよ。プログラムの修正が他の部分に影響していないかを確認するテストは、回帰テストの説明です。リファクタリング後に必要となる場合はありますが、影響の有無をテストすること自体がリファクタリングではありません。
学習のポイント
外部仕様を維持する内部改善と、周辺作業との違いを理解する。
出典:独立行政法人 情報処理推進機構(IPA)平成30年度秋期 ネットワークスペシャリスト試験 午前Ⅱ 問25(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針