応用情報技術者試験 合格教科書|2026年度(令和8年度)対応
第 24 章|科目 B 問 3〜問 8(テクノロジ系 6 分野・各 20 点)。直近 10 年 19 回とも問番号は固定 科目 B: システムアーキテクチャ 科目 B: ネットワーク 科目 B: データベース 科目 B: 組込みシステム開発 科目 B: 情報システム開発 科目 B: プログラミング(アルゴリズム)

科目 B テクノロジ系選択問題の攻略

システムアーキテクチャ・ネットワーク・データベース・組込み・情報システム開発・プログラミングの 6 分野を、10 年分の題材と設問の型で攻略する

この章で学ぶこと

科目 B は 11 問出題・5 問解答で、問 1 の情報セキュリティが必須、問 2〜問 11 から 4 問を選びます。本章が扱うテクノロジ系 6 分野は問 3〜問 8 に固定されており、直近 10 年(19 回)で 1 度も入れ替わっていません。配置が動かないので、どの 4 問を仕込むかは学習開始時に決められます。各問 20 点、基準点は 100 点満点中 60 点です。

6 分野の性格を数字で比べる

科目 B の選択問題は「どれを選ぶか」で得点が決まります。分野の好き嫌いではなく、解答形式の内訳(穴埋め・用語記述・字数記述・記号選択・計算)で選ぶのが確実です。19 回分の小問を形式ごとに数えた実数を見ると、6 分野は 2 つの軸できれいに分かれます。書く量(字数記述の比率)と、計算の量です。

計算の比率 字数記述の比率 0% 10% 20% 30% 0% 10% 20% 問 3 プログラミング 問 4 システムアーキテクチャ 問 7 組込み 問 6 データベース 問 5 ネットワーク 問 8 情報システム開発
図 24-1 6 分野の性格マップ。横軸は小問に占める字数記述の比率、縦軸は計算の比率です。問 6 データベースは集計上、計算の設問が記録されていないため計算 0% に置いています。右上ほど「計算しながら文章も書く」重い分野、左下ほど「短く正確に埋める」分野です。
問分野小問数(19 回計/1 問平均)解答形式の内訳字数記述の上限計算の量知識の土台
3プログラミング85/4.5(最少)穴埋め 58%・計算 20%・記号 7%30 字(19 回で 5 設問のみ)約 17 小設問第 3 章
4システムアーキテクチャ123/6.5字数 28%・記号 24%・計算 23%・用語 20%・穴埋め 5%40 字28 小設問(19 問中 14 問)第 5 章
5ネットワーク117/6.2用語 41%・字数 28%・記号 21%・穴埋め 9%・計算 6%40 字7 小設問第 10 章
6データベース98/5.2(最少タイ)穴埋め 53.1%・用語 25.5%・字数 15.3%・記号 6.1%40 字集計に記載なし第 9 章
7組込みシステム開発119/6.3用語 24.2%・計算 22.5%・字数 20.8%・穴埋め 18.3%・記号 14.2%40 字27 小設問(ゼロは 2 回だけ)第 7 章
8情報システム開発114/6.0字数 33%・記号 28%・用語 25%・穴埋め 12%・計算 7%40 字8 小設問(直近 4 回はゼロ)第 13・14 章

この表から読める設計方針は 3 つです。第 1 に、問 3 と問 6 は「短く正しく埋める」試験で、書く総量が最も小さくなります。第 2 に、問 4 と問 7 は計算が主役で、単位換算を型で持っていないと 1 問で 3 つ落とします。第 3 に、問 5 と問 8 は用語と短文の量産で、図表から字句を拾う速さが得点になります。

問分野講評の全体正答率(19 回の内訳)選ぶ理由捨てる理由
3プログラミング高 9・やや高 1・平均 7・やや低 1・記載なし 1正答率が最も高く、作文が要らない添字を取り違えると連鎖して全滅する
4システムアーキテクチャ平均 12・低 2・高 1・記載なし 4用語知識で確実に取れる設問が多い1 問に計算が 3〜5 個並ぶ回がある
5ネットワーク高 3・やや高 2・平均 7・やや低 1・低 1・記載なし 5用語と穴埋めで半分(58/117)を稼げる構成図とルール表の往復が遅いと時間切れ
6データベース低 5・やや低 2・平均 7・高 2・記載なし 3穴埋めと用語で 78.6%、長文論述がない「低」が 6 分野で最多。SQL を書けないと崩れる
7組込みシステム開発高 4(H28秋・H29秋・H30秋・R4秋)・低 1(R6秋)計算の型 5 つで実務経験なしでも取れる記述系が 63.3% で消去法が効かない
8情報システム開発平均 10・高 4・やや低 2・低 3直近 10 回はすべて「平均」で安定字数記述が 19 問中 18 問。書く量が多い

正答率の内訳まで見ると、問 3 は 19 回中 10 回が「平均より上」で最も安定し、問 6 は「低」5 回・「やや低」2 回で最も荒れています。「SQL は読めるから問 6」という選び方が危険なのは、構文を書かせる試験だからです。

当日 5 分で 4 問を決める

選択に使ってよいのは冒頭の 5 分だけです。本文を読み始めると引き返せなくなるので、図の種類・設問形式の内訳・計算の個数の 3 点だけを見て機械的に決めます。分岐の入口は「擬似言語を追えるか」です。ここが分かれ目になるのは、問 3 が 19 問中 18 問まで純粋なアルゴリズム題材で、本文からの推測が一切効かないためです。

① 6 問を 30 秒ずつ見る 図の種類と設問の形式だけ ② 擬似言語を 10 分で追えるか 実データと配列の対応表が書けるか はい いいえ 問 3 を 1 番目に解く + 問 4・問 7 で計算の型を回す 問 3 を外す 問 5・問 6・問 8 で読図と穴埋め ③ 1 問 27 分・空欄を残さない 合計 5 問・150 分
図 24-2 選択の判断フロー。分岐の後も「計算 3 本重ね」は避けます。問 3 と問 7 はどちらもトレースと計算に集中するため、同時採用は 40 点分を同じリスクに賭けることになります。
ここがひっかけ 「題材の業種が自分の実務に近いから選ぶ」は誤りです。実務が効くのは業種の馴染みではなく図表の型の馴染みです。構成図とルール表に慣れたインフラ担当は問 4・問 5、クラス図と設計書に慣れたアプリ開発者は問 6・問 8 が読みやすくなります。選ぶときに業種名は見ません。

5〜6 分野を仕込み、当日 1〜2 分野を捨てるのが安全です。予備をゼロにすると、その 1 問が例年になく重かったときに逃げ場がなくなります。

問 3 プログラミング ― 擬似言語を書き下す

直近 19 回とも問 3 に置かれ、19 問中 18 問が純粋なアルゴリズム題材です(業務の場面が出たのは H31春の券売機だけ)。本文から常識で推測する戦法が効かない代わりに、講評の全体正答率は「高」9 回・「やや高」1 回と 6 分野で最も良好です。当たれば満点、添字を取り違えれば全滅という、分散の大きい分野です。

回題材主要論点
H28秋魔方陣アルゴリズム2 次元配列の添字/番兵値/while と for の条件
H28春ライフゲームの実装盤面の 1 次元配列表現/境界の例外処理/テスト関数
H29秋ナップザック問題動的計画法/2 次元表による解の構築/計算量オーダ
H29春木構造の探索キューとスタックの探索順序/枝刈り/事前ソート
H30秋ウェーブレット木の構築ビット列生成/シフトと論理積/計算量オーダ
H30春ナイトの巡歴問題再帰による深さ優先探索/移動量配列/外周パディング
H31春券売機の値引き判定状態遷移図と遷移表/構造体配列/表変更での対応可否
R1秋パーセプトロン線形と非線形の分類/演算式からプログラムへの変換
R210月誤差拡散法の減色処理誤差の拡散計算/走査方向の反転/実行回数の見積り
R3秋有向グラフの一筆書き隣接リスト/深さ優先探索/境界値
R3春k-means 法のクラスタ分析距離計算と重心再計算の反復/初期コアの選択
R4秋迷路探索の再帰関数再帰とバックトラック/スタックによる経路管理
R4春パズル解法の深さ優先探索1 次元配列の盤面と div・mod/データ構造の選定
R5秋AVL 木の回転操作2 分探索木の探索・挿入/平衡条件と左右回転/O 記法
R5春多倍長整数の演算カラツバ法/1 の位から格納する配列/層別の添字
R6秋エラトステネスの篩オーダ記法/配列と実データの対応/実行回数の比較
R6春ダイクストラ法更新起点ノード/確定済み配列/直前ノードで経路を逆順出力
R7秋最長共通部分列の動的計画法再帰的な場合分け/表の更新式/計算量
R7春スライドパズルの探索幅優先探索/キューによる探索管理/盤面の配列表現

題材の型は 5 つに割れます。盤面・パズル系の探索とバックトラックが 7 問(37%)、グラフと木が 4 問、動的計画法が 2 問、数値・整数・信号処理が 3 問、データ分析と業務モデルが 3 問です。探索系とグラフ・木で 11 問(58%)を占めるので、選ぶなら深さ優先探索・幅優先探索・バックトラックの骨格を最優先で仕上げます。動的計画法は 2 問と少ないものの、直近の R7秋で再登場した第 3 の軸です。

設問の型。設問番号ベースで合計 69(平均 3.6)、枝番まで展開すると 85(平均 4.5、範囲 2〜6)です。内訳は穴埋めが約 49 小設問(約 58%)で主戦場、計算が約 17(約 20%)、記号選択が 6(約 7%)、用語・字句記述が 4(約 5%)。字数記述は 19 回でわずか 5 設問(約 6%)しかなく、40 字以上は 10 年で 1 問もありません。作文力ではなく、擬似言語を正確に書き下す力とトレース精度だけで決まります。

前提知識は第 3 章です。擬似言語の記法(宣言・「←」による代入・for と while・要素番号の起点・構造体のメンバアクセス・div と mod)、配列によるデータ構造の写し取り、探索アルゴリズムの骨格、計算量の数え方を先に固めてください。答案も擬似言語で書くので、記法の正確さがそのまま得点になります。

解き方の手順

  1. 設問だけを先に見る(2 分)。空欄の個数と、それがどの図・どの行に属するかを把握する
  2. 「実データ ↔ 配列」の対応表を余白に作る(6 分)。「配列の k 番目が何を表すか」を 1 行で書く。これができないまま進むと後半が総崩れになる
  3. 図表の小さな具体例で 1 周トレースする(6 分)。設問 1 はたいていこれ自体なので、検算と得点を兼ねる
  4. 空欄は前後 2〜3 行だけ見て埋める(12 分)。「この行が何を確定させるか」を決めてから書く。代入の空欄は必ず「←」を含む完全な文にする
  5. 検算 4 分。境界値に具体値を代入し、更新式が「元の値に足す形」になっているかを確認する

トレースは頭の中でやらず、必ず表にします。列は「変化する変数」だけにし、行を 1 反復ずつ増やします。図 24-3 は 2 分探索を 7 要素の配列(1 始まり)で追った表です。

○整数型: binarySearch(整数型の配列: a, 整数型: x)
  整数型: low ← 1
  整数型: high ← a の要素数
  整数型: mid
  while (low ≦ high)
    mid ← (low + high) div 2
    if (a[mid] が x と等しい)
      return mid
    elseif (a[mid] が x より小さい)
      low ← mid + 1
    else
      high ← mid - 1
    endif
  endwhile
  return -1
回 low high mid a[mid] と 21 の比較 初期 1 7 ― 探索範囲は 7 件 1 回目 1 7 4 17 < 21 なので low ← 5 2 回目 5 7 6 30 > 21 なので high ← 5 3 回目 5 5 5 21 = 21 で発見
図 24-3 トレース表の書き方。配列は a = {3, 8, 12, 17, 21, 30, 44}、探す値は 21 です。列は変化する変数だけに絞り、右端に「なぜその値になったか」を書くと、後で空欄を埋めるときの根拠になります。

採点講評から見た失点と対策

失点の型講評が指摘した実例対策
机上での再現不足(最頻)R5秋 設問 2(2)、R6春 設問 2、R210月 設問 1(2)値の変化を必ず紙の表に落とす
再帰の「戻り」を追えないR4秋 設問 4(1)(2)。呼出し元へ戻った後の引数を再現できないコールスタックを縦に描き、各段に「戻るとき何を元に戻すか」を書く
境界値を詰めないR3秋 設問 4(等しい場合を含めない誤り)、H28秋 設問 2(1)「未満か以下か」「0 始まりか 1 始まりか」を先に紙へ書く
配列と実データの対応を取り違えるR6秋 設問 3、R7秋 設問 3、R5春 設問 3対応表を作ってから空欄に入る
式の一部だけ書き、加算や向きを落とすR210月 設問 2(元の値への加算漏れ)、R6春 設問 2(距離を加えず始点距離だけ/判定が逆)更新式は「元の値 + 増分」の形かを最後に確認する
データ構造の役割理解と表記の不正確さH28春 設問 3・設問 5(スペルミス・閉じ括弧)、H29春 設問 3(スタック)宣言部のコメントから語をそのまま借りる
出題実績 計算量・実行回数は 10 年で 10 問に登場します。O 記法が 5 回、具体的なループ回数が 3 回です。回数を数える設問では「1 要素あたり何回通るか」を先に決めます(R3秋は辺が 2 段階を経るため、if 文の実行回数が辺数の 2 倍になりました)。

選択の判断基準。擬似言語をコードとして読み下せる人、机上トレースを苦にしない人に向きます。逆に、文章から推論して部分点を拾う戦い方はできません。撤退ラインは明快で、着手 10 分で「実データ ↔ 配列」の対応表が書けなければ他の問題に移ります。問 3 を選ぶ人は、必須の問 1 の直後に問 3 を置いてください。終盤に始めると撤退の判断そのものが遅れます。

問 4 システムアーキテクチャ ― 条件表から設計を計算する

19 回とも問 4 に固定です。性格は「構成図と条件表を読み、四則演算と短文で設計判断を答える」。計算を含む問題は 19 問中 14 問(含まないのは H29秋・H30春・H31春・R4秋・R5秋)で、1 問に計算が 3〜5 個並ぶ回もあります。字数記述は 1 問平均 1.8 設問と軽く、記述が苦手でも計算と選択で稼げるのが選ぶ最大の理由です。

回題材主要論点
H28秋クラウドでの災害復旧対策RTO・RPO/DNS の TTL/切替手順のクリティカルパス
H28春業務ネットワークの更新直列・並列の稼働率式/CPU とスループット/リンクアグリゲーション
H29秋Web API の設計REST の URI とメソッド/HTTPS 必須化/ステータスコード
H29春会計事務所の仮想化基盤仮想化機能名/リソースプール使用率/冗長化と負荷平均化
H30秋POS データの並列分散処理分散ファイルシステム/単一障害点/ディスク I/O のボトルネック/台数計算
H30春保険代理店のクラウド移行SaaS・PaaS・IaaS と責任範囲/要件と形態の対応/仕様変更と再選定
H31春電子書籍システムの構成見直しフロントとバックの AP 分離/稼働率/KVS の分散配置/バッチ分離
R1秋ホームセキュリティの実証実験映像圧縮/帯域と容量の計算/機能配置 3 方式の比較/既存システムへの影響
R210月ヘルスケア機器のクラウド連携非機能要件/稼働率とデータ量の計算/方式の評価軸/データ消失対策
R3秋クラウドストレージへの移行設計頻度別のストレージ容量/料金体系/VPN 帯域と転送時間/段階的移行
R3春IoT 駐車場管理システムLPWA/送信データ量と速度/料金プラン/保存領域/MQTTS
R4秋コンテナ型仮想化技術コンテナ型とサーバ型の違い/イメージのバージョン管理/起動オプション
R4春クラウドを活用した名刺管理PaaS と FaaS の性質/運用責任/CDN/台数と料金の試算/実行時間上限の回避
R5秋家具メーカーの合併システム統合存続と廃止の判断/連携インタフェース新設/マスタコード統一
R5春IT ニュース配信の再構築SPA/API 別の応答時間試算/キャッシュサーバ/CPU 使用率でのスケールアウト
R6秋動画配信のデータ処理配置整数と浮動小数点/回線速度からの所要時間/CPU と GPU/拡張性
R6春CRM のフロントエンド分離改修静的ファイル最適化/JSON/UI とデータ処理の分離/MIPS 計算
R7秋サッカー動画配信のエッジ設計RISC/解像度と fps からの帯域計算/ハードウェア圧縮/消費電力/エッジ分担
R7春BEMS のクラウド移行非機能要件/アクティブ-スタンバイ/ライブマイグレーション/SLA の稼働率と減額

題材の重心は動いています。クラウド移行・利用形態の選定が 6 問、IoT・エッジ・動画が 5 問、Web システムの構成と性能改善が 4 問、仮想化・分散処理基盤が 3 問、純粋なオンプレ性能評価は H28春の 1 問だけです。R1秋以降の 11 問は IoT 系 5 問とクラウド系 4 問で 8 割強を占めます。場面はほぼ毎回「中堅企業の情報システム部門が新サービスや移行を検討する」形です。

設問の型。小設問は合計 123、1 問平均 6.5(最頻値 7 が 11 問、最小 4、最大 8)。内訳は字数記述 35(28%)、記号選択 29(24%)、計算 28(23%)、用語記述 25(20%)、穴埋め 6(5%)です。解答欄 39 本の字数は 30 字が 11・40 字が 8・20 字が 7・35 字が 6・15 字が 5 で、50 字以上は 1 つもありません。15〜20 字なら名詞句、30〜40 字なら「〜だから」「〜する」の一文で足ります。計算 28 個の型は、帯域・転送・所要時間が 8、稼働率が 4、使用率と台数が 4、容量が 4、応答時間が 2 です。

前提知識は第 5 章です。稼働率の直列・並列、クラウドの形態と責任分界、仮想化 3 方式とライブマイグレーション、性能改善の手段(スケールアウト/アップ・キャッシュ・データ配置変更・バッチ分離)、非機能要件の分類と RTO・RPO を押さえてください。

計算の型: 稼働率の合成と SLA の許容停止時間

直列(どちらか止まると全体が止まる) = α × β / 並列(片方生きていれば動く) = 1 - (1 - α) × (1 - β)

  1. 構成図を「直列の鎖」と「並列の束」に分解する。束は先に 1 つの値へ潰す
  2. 例題: 稼働率 0.9 の AP サーバ 2 台を並列にし、その後段に稼働率 0.99 の DB を直列で置く
  3. 並列部分 = 1 - (1 - 0.9)2 = 1 - 0.01 = 0.99
  4. 全体 = 0.99 × 0.99 = 0.9801(約 98.0%)
  5. SLA 側へ落とす: 30 日の月は 30 × 24 × 60 = 43,200 分。SLA 99.5% なら許容停止は 43,200 × 0.005 = 216 分
  6. 検算: α に 0 と 1 を入れて、全体が 0 と 1 になるかを確かめる

解き方の手順

  1. 設問を先に全部読む(4 分)。計算は「求める量(速度・容量・時間)と単位」に丸を付ける
  2. 構成図に矢印と役割を書き込む。機器・端末・回線を列挙し、DNS・ロードバランサ・キャッシュの役割を 1 語でメモする
  3. 本文の数値と制約に下線(6 分)。件数・周期・サイズ・速度・単価・稼働率と、「〜できない」「上限 10 分」の制約を拾う。表は単位を確認してから読む
  4. 計算は「式 → 単位 → 検算」。台数は「合計 ÷ 1 台分」を切り上げ、容量は「日量 × 保存日数」。検算では加算対象が 2 系統ないか(PC 分とサーバ分、収集とアクセス)を必ず疑う
  5. 「全て選べ」型は各肢に ○ × を付ける。本文の条件で × の理由を言える肢だけを消す
  6. 字数記述はテンプレートで書く。理由型は「〔本文の条件〕なので、〔帰結〕だから」、対策型は「〔対象〕を〔どこで〕〔動作〕する」。本文の固有名詞か数値を必ず 1 つ入れ、境界値は「20 分未満」のように明示する

採点講評から見た失点と対策

失点の型講評が指摘した実例対策
本文・表の条件を拾い切れず計算が欠けるR3秋 設問 1(PC 分の欠落)、R3春 設問 3(1)(収集とアクセスの両方)、R5春 設問 2足す対象を列挙してから式を立てる
設問が問う対象・量を読み違えるH28春 設問 4(L2 スイッチの性能要件を問われて無関係な解答)、R3春 設問 4(1)(データ量を問われて速度を答える)設問の名詞(量・速度・機器名・理由)に丸を付ける
構成図の各要素の役割を把握せず答えるH28秋 設問 2、H30秋 設問 1(2)、H31春 設問 1(1)図に役割を書き込んでから本文に入る
技術用語・分類の混同R5秋 設問 3(SaaS を PaaS・IaaS と混同)、R4秋 設問 1(2)(仮想化 3 方式)責任分界の層で覚え、名前だけで覚えない
抽象的で具体性が欠ける記述R210月 設問 3(用語だけの解答)、H30春 設問 4(2)(仕様変更と形態を関連付けよ)本文の固有条件を 1 つ埋め込む
境界値・検算の詰めが甘いR4春 設問 4(2)(実行間隔の境界値)、H28春 設問 1(2)(極端値で検算せよ)0 と 1、上限ちょうどの値を代入する
業務・運用の視点が欠落R1秋 設問 3(既存システムへの影響)、R6秋 設問 3(2)(どの業務で使うか)、R3秋 設問 2(2)(移行リハーサル)本文に「業務時間・営業日・将来の追加」があれば、それが解答の核
「増強」以外の手段が出てこないR6秋 設問 2(4)(配置変更やキャッシュ)、R7秋 設問 4(2)(不要情報の除去)改善策のカタログを事前に持つ

正答率が高いと明記されたのは RTO・RPO、REST、仮想化機能名、要件と形態の組合せ、方式選定です。用語知識は取れており、失点は「本文との突き合わせ」と「一歩踏み込んだ説明」に集中しています。

選択の判断基準。インフラ・クラウドの実務感覚があり、単位換算を落ち着いて処理できる人に向きます。問 5・問 6 ほどの専門知識は不要です。逆に、計算を避けたい人や用語暗記だけで通したい人は避けてください(コンテナ・FaaS・LPWA・SPA・GPU・エッジと、毎回新しい技術が題材になります)。当日は計算の個数を数え、3 個を超える回は他の候補と比べてから決めます。

問 5 ネットワーク ― 構成図の上でパケットをなぞる

19 回とも問 5 に固定です。用語記述 48 と穴埋め 10 を合わせた 58 小問(50%)が「図と本文に答えがある」形式で、知識で確実に稼げます。講評の全体正答率も「高」3 回・「やや高」2 回・「平均」7 回と安定しており、極端な難問は HTTP/2 を扱った R1秋だけです。

回題材主要論点
H28秋IP 電話の導入と QoSSIP と RTP/音声帯域計算/ルータの優先制御/拠点内 QoS の要否
H28春STP とリンクアグリゲーションブロードキャストストーム/タグ VLAN とポート VLAN/VLAN 不一致
H29秋SDN によるネットワーク設計SDN/MAC 転送制御テーブル/故障時の動的書換え
H29春L3 スイッチの故障対策ping/スタブリゾルバ/OSPF/ICMP リダイレクト/VRRP/経路表
H30秋Web 負荷分散の不具合切分けロードバランサと VIP/ログ突合せ/TCP ポート枯渇/NTP/送信元 IP の置換
H30春Web システム構成変更と DNSDNS ラウンドロビン/ゾーン転送/レコード種別/VIP/WAF の迂回防止
H31春無線 LAN 導入と VLAN 分離チャネル設計/IEEE 802.1X と RADIUS/ダイナミック VLAN/PoE
R1秋HTTP/2 による性能改善ソケット枯渇/複数 TCP コネクション/3 ウェイハンドシェイク
R210月VDI 導入による通信変化VDI/多要素認証と SSL-VPN/DHCP リレー/デフォルトゲートウェイ/帯域見積り
R3秋LAN のゾーン分割と VLAN 設計ACL と CIDR/ケーブル規格/PoE/タグ VLAN とトランク
R3春旅行販売システムのチャット機能NAPT 環境の IP/HTTP と WebSocket/プロキシの TLS トンネリング/証明書の設置機器
R4秋テレワーク環境への移行HTTPS と IPsec/証明書とワンタイムパスワード/Web 会議の帯域換算/UTM
R4春SaaS 通信経路の見直しプロキシと DNS の役割/FW 許可ルール/IPsec と NAPT/経路表の追加
R5秋広報用メールサーバの構築NAPT のポート転送/MX・CNAME・A/POP3/OP25B/ネットワークアドレス
R5春Web サイトの増設DNS ラウンドロビン/ゾーン転送/TTL/デフォルトルート/NAT/メンテナンスの影響
R6秋セキュア Web ゲートウェイNAPT/送信元 IP 制限/URL レピュテーション/サンドボックス/FW ルール
R6春IoT 気象情報システムの構築MQTT と HTTP/FW 許可ルール/スループットとコネクション数/負荷分散
R7秋クラウド環境へのサーバ移行DHCP/内部・外部・キャッシュ DNS/オープンリレー防止と OP25B/NAT/経路表
R7春社内 LAN の障害対応ARP と IP 重複/サブネット分割/802.1X/DNS 多重化/SNMP トラップ/QoS

設問の型。小問は合計 117、平均 6.2(最少 4、最多 9)。R3秋以降の 9 回は平均 7.0 で、前半 10 回の 5.4 から増えています。内訳は用語記述 48(41%)、字数記述 33(28%)、記号選択 24(21%)、穴埋め 10(9%)、計算 7(6%)。字数指定 32 本のうち20〜30 字が 21 本(66%)で、「主体 + 固有条件 + 結果」の 3 要素がちょうど収まる長さです。

繰り返し出る論点は明確です。DNS 関連が 9 問で最頻、ポート番号とプロトコル識別が 7 問、NAT・NAPT と中継装置のアドレス変換が 7 問、FW 許可ルールの設計が 6 問、デフォルトゲートウェイと経路表が 6 問と続きます。直近 6 回は「社内のプロキシやサーバを廃止してクラウド・SaaS へ寄せる」場面が定番です(R4春・R6秋・R7秋)。前提知識は第 10 章で、DNS 一式・アドレス変換・FW ルールとポート番号・IP アドレス設計を先に固めます。

解き方の手順

この分野の核心は、構成図の上で 1 本の通信をなぞり、境界ごとに送信元 IP アドレスがどう書き換わるかを追うことです。図 24-4 のように、機器を通るたびに「変わる/変わらない」を確定させます。

社内 LAN 診療所 PC 拠点ルータ NAPT 電子カルテ SaaS インターネット 私設 IP のまま ここで送信元 IP を書換え グローバル IP
図 24-4 パケットの旅。アドレスが変わるのは NAPT・1 対 1 NAT・ロードバランサの VIP・プロキシの 4 か所で、IPsec のトンネルでは送信元 IP は変わりません。図の各機器に星印を付けてから本文を読むと、穴埋めの当たりが速くなります。
  1. 設問の先読み(3 分)。大設問の見出しと本文の節は 1 対 1 に対応する。解答条件(「図 1 中の機器名で」「全て」「40 字」)に印を付ける
  2. 構成図を 4 領域に区切る(5 分)。インターネット・DMZ・社内・拠点を線で囲み、機器ごとに L2/L3/FW/プロキシ/DNS/LB の役割を書き込む。アドレス変換を行う機器に星印を付ける
  3. 本文で 5 種類の情報をマークする(8 分)。具体値(IP・マスク・VLAN 名)/「〜から〜宛ては〜を経由」の経路記述/現状と変更後を分ける語(導入後・移行後・廃止後)/「誰が何を検証するか」/数値(M ビット毎秒・台数・同時利用率)
  4. 用語記述と穴埋めを 1 周目で確保する。「図中の名称で」は図の表記をそのまま写し、「全て」は候補を列挙して本文で消し込む
  5. 変更・移行問題は経路を 2 本描く。変更前と変更後を並べ、消える通信・増える通信・IP が変わる箇所を差分で答える
  6. 記述で詰まったら 3 分で捨てる。用語と記号を先に埋め、残り時間で戻る
覚え方 字数記述は 5 つの語尾に分類できます。理由型「〜だから/〜ため」、目的型「〜かどうかを確認するため」、対策型「〜に〜を設定する」、影響型「〜が〜する(ことがある)」、名詞句型「〜となる経路」。設問の語尾に対応する型を選んでから書き始めると、字数が自然に収まります。

採点講評から見た失点と対策

正答率が高いと明記されたのは帯域計算、MAC 転送制御、TCP/IP 基本の記号選択です。計算と記号は落とさない前提で、記述と用語で差がつきます。

選択の判断基準。社内 LAN やクラウドのネットワークを触った経験があり、構成図上で「このパケットはどこを通るか」をなぞれる人に向きます。IP アドレス計算に抵抗がある人、L3 スイッチ・FW・プロキシの役割がイメージできない人には向きません。当日は読図量(構成図の機器数とルール表の行数)を見て決めます。

問 6 データベース ― E-R 図から SQL へ一本道で進む

19 回とも問 6 に固定で、構成も毎回同じです。①E-R 図 → ②SQL 穴埋め → ③設計判断の記述という三部構成が 10 年間変わっていません。小問は合計 98、1 問平均 5.2 と 6 分野で最少、穴埋め 53.1% と用語記述 25.5% を合わせた 78.6% が「短く正しく書けるか」だけを見る設問です。字数記述 15 問の上限は 40 字で、30 字以下が 10 問。長文論述はありません。

それでも講評の全体正答率は「低」5 回・「やや低」2 回と 6 分野で最も荒れています。理由は単純で、正規形の定義ではなく SQL の構文そのものを書かせるからです。「SQL は読める」という理由で選ぶと失敗します。

回題材主要論点
H28秋ネットショップの会員管理多重度/副問合せ/カーソル
H28春コンビニの分析用データベース外部結合/副問合せ/COALESCE
H29秋青果卸売の取引改修代用キー/発生タイミング/派生属性
H29春稟議申請システム相関副問合せ/自己結合/履歴保持
H30秋入室管理システム多対多の判定/複合主キー/GRANT
H30春備品購買システムエンティティ分割/相関副問合せ
H31春薬剤管理システム業務と表の対応/UNION と EXISTS
R1秋健康応援システム埋込み変数/相関 UPDATE/主キー
R210月宿泊施設の予約NOT EXISTS/HAVING/UNIQUE
R3秋企業向け電子書籍埋込み変数/UNION/排他ロック
R3春カーシェアの経営分析スタースキーマ/データマート
R4秋スマートデバイス管理1 対 1 の見極め/自己参照/DDL
R4春クーポン発行の排他制御UNIQUE と NULL/ALTER TABLE/CRUD
R5秋予約注文の引当て改修エンティティ追加/BNF/窓関数
R5春KPI 達成状況の集計内部結合と外部結合/BETWEEN/COALESCE
R6秋カードの個人間売買サイト交差エンティティ/再帰問合せ/B 木
R6春人事評価 SaaS のテナント統合スキーマ分割/同名ビュー
R7秋英会話講座の受講管理スーパータイプとサブタイプ/CASCADE
R7春釣具販売管理システム主キーの表記/外部結合/集計粒度

題材は小売・EC・販売購買が 6 回、社内業務の管理が 5 回で、この 2 群だけで 11 回を占めます。骨格は「注文―明細―商品―在庫」か「組織―従業員―資産/申請」のどちらかです。分析・データウェアハウス系の 5 回は E-R 図が薄い代わりに集計粒度を問われます。前提知識は第 9 章で、E-R 図の記法、結合と NULL、副問合せ、集計、DDL・DCL の構文、設計原則を押さえてください。

解き方の手順

読む順序が決まっています。①E-R 図と表定義を先に見て主キー・外部キーを把握する(設問 1 の半分はここで解けます)→ ②設問文を全部読んで何を書かされるかを確認する → ③設問が参照する段落だけを読む。SQL 穴埋めの根拠は、直前に置かれた「処理内容」の説明文です。

顧客 顧客番号 顧客名 登録日 注文 注文番号 顧客番号 注文日 ① 表定義の主キーに実線の下線を引く ② 相手の主キーを外部キーとして持つ側が「多」 1 多 ③ 1 側から多側へ矢印を向ける
図 24-5 E-R 図の穴埋め手順。破線の下線は外部キーを表します。どちらにも相手の主キーが入っていなければ多対多を疑い、交差エンティティの追加を検討します。設問 1 で向きを外すと SQL 穴埋めまで連鎖して崩れるので、ここは機械的に決めます。
本文の言い回し設計・SQL 側で対応するもの
「年月ごとに」「日次で」主キーの構成列・GROUP BY・集計粒度
「〜が無い場合も」外部結合 + COALESCE
「複数の〜が」多重度(1 対多・多対多)
「変更の可能性がある」代用キー・履歴保持のための属性追加
「重複を認めない」UNIQUE 制約(ALTER TABLE で後付け)
「対応するレコードが無い」NOT EXISTS などの相関副問合せ

SQL 穴埋めは前後の句から絞ります。FROM の後なら表名か結合、GROUP BY の後なら列並び、HAVING の後なら集計関数の条件です。列は必ず別名付きで修飾し、外側の別名を内側が参照していれば相関副問合せと判断します。時間配分は「図表把握と設問先読み 5 分 → 設問 1 に 4 分 → SQL 12 分 → 記述 6 分 → 見直し 3 分」。空欄 1 つに 3 分以上かけず飛ばすのが鉄則です。

採点講評から見た失点と対策

失点の型講評が指摘した実例対策
E-R 図の向き・記法を機械的に決めていないH30秋 設問 1(矢印が逆)、R7春 設問 1(実線の下線なし)、R7秋 設問 1(1 対 1 と誤答)図 24-5 の 3 手順を必ず踏む
業務要件の「管理の軸」を読み落とすR4秋 設問 1(「年月ごと」を落として部署 ID だけ)、R3春 設問 4粒度を示す語に下線を引く
DDL・DCL の構文を暗記していないR4秋 設問 3(GRANT と CREATE TABLE を「覚えておく必要がある」と明記)、R4春 設問 1(2)制約句・ALTER TABLE・GRANT をテンプレートで覚える
結合・集計の意味を取り違えるR210月 設問 2(HAVING)、R5春 設問 2(2)(外部結合の NULL)結果行を数えてから句を選ぶ
SQL だけ見て処理内容の説明文を読まないH28春 設問 2(「販売実績が無い商品を考慮した外部結合」の語が欠落)、R7春 設問 3穴埋めの前に直前の説明文を音読する
抽出条件の要素が 1 つ欠けるR210月 設問 3(MIN の欠落)、R6秋 設問 2(LIKE のエスケープ)条件を箇条書きにしてから 1 行にまとめる
設計原則の知識が無く記述が浅いH29秋 設問 2(2)(代用キー)、R6秋 設問 1(交差エンティティ)、R3春 設問 2(1)(スタースキーマ)原則の名前と「何のために使うか」を対にして覚える

選択の判断基準。SQL を実際に書いた経験がある人に向きます。記述量が少なく、穴埋めと用語で得点が安定するのが利点です。読んだことしかない人、E-R 図の記法(矢印の向き、実線の下線が主キー)を覚えていない人は避けてください。当日の見極めは「設問 1 の E-R 図の向きが 1 分で読めるか」です。

問 7 組込みシステム開発 ― 時間・容量・状態を突き合わせる

19 回とも問 7 に固定です。勝負どころは組込み固有の知識量ではなく、本文と図表の仕様を読み取り、時間・容量・状態を突き合わせる力です。小問は合計 119、平均 6.3。形式は用語記述 24.2%、計算 22.5%、字数記述 20.8%、穴埋め 18.3%、記号選択 14.2% で、記述系(用語 + 字数 + 穴埋め)が 63.3%。記号選択は 6 小問に 1 問弱しかなく、6 分野で最も消去法が効きません。

回題材主要論点
H28秋腕時計型脈拍計外乱光除去/輝度補正/最短・最長所要時間
H28春タッチ式注文端末初期化時間/タスク優先度/タスク間通知
H29秋ドライブレコーダ状態遷移/リングバッファ容量/時刻未設定
H29春スマートウォッチメールボックス/音声データ量/割込みマスク
H30秋電子扉システム識別コード/イベント駆動/タイマの取消し
H30春見守り防犯ブザー登録周期の状態遷移/16 ビットタイマ/省電力
H31春浴室給湯システム多数決サンプリング/通信時間/状態遷移図
R1秋赤外線リモコンの学習バンドパスフィルタ/イベントキュー/桁あふれ
R210月多言語多通貨の両替機ポーリング/通信速度/状態の解除条件
R3秋IoT 養殖システム構成要素の設計/動画の容量/しきい値判定
R3春ディジタル補聴器A/D 変換とバッファサイズ/最適クロック
R4秋傘のシェアリング確定値判定/カウントダウンタイマ/タスク間通信
R4春Wi-Fi 防犯カメラ状態遷移図の設計/撮影時間/上書きによる不具合
R5秋トマト収穫ロボット状態遷移図/タスク間通知/PWM/超音波センサ
R5春位置通知タグ平均消費電流と使用可能時間/間欠動作
R6秋スマートイヤホン機能排他/クロック周波数と消費電力/優先度
R6春業務用コーヒーマシンカップ判定/4 回連続での確定/安全優先の優先度
R7秋猫の自動給餌・健康監視受信率の判定基準/パルス数/上書きによる欠落
R7春電動キックボードのシェア状態遷移図/BLE のシーケンス/時間の積算

繰り返し出るのは「無人サービス機の貸出/返却サイクル」と「イベント検出前後の記録・通知」で、いずれも複数タスクが並行し、タイマとサーバ通信が絡みます。頻出論点はタスク間通信・通知設計が 10 回で最多、状態遷移図の読解と設計が 9 回、タイマ設定とカウント値計算が 8 回、不具合の発生条件の推論が 6 回と続きます。前提知識は第 7 章で、リアルタイム OS のタスク状態と優先度、状態遷移の記法、タイマとカウンタ、割込みとイベント駆動、センサとアクチュエータ、省電力とバッファ設計を固めます。

字数記述 25 件の内訳は 40 字が 8・20 字が 7 で、この 2 つで 6 割です。40 字は「不具合の発生条件」か「理由」、20 字以下は空欄内の短い条件や現象を書かせます。計算がゼロだったのは H30秋と R6秋の 2 回だけなので、計算を捨てる戦略は取れません。逆に言えば、次の 5 つの型を持てば実務経験がなくても得点源になります。

計算の型: 組込みで出る 5 つ

  1. タイマのカウント値 = 設定時間 ÷(分周比 ÷ クロック周波数)。16 ビットなら 65,535 以内か検算する
  2. データ量 = 横 × 縦 × 画素あたりビット数 × フレーム毎秒 × 秒数。台数・チャネル数を掛け忘れない(ステレオを 1 台分で計算した誤答が講評で名指しされました)
  3. 通信時間 = (1 ÷ ビットレート) × (データビット + スタート・ストップビット) × バイト数
  4. 最短・最長所要時間。最短は最少経路、最長は最悪経路 + 待ち時間を別立てで足す
  5. 平均消費電流 = Σ(電流 × 時間) ÷ 周期。使用可能時間 = 電池容量 ÷ 平均消費電流

例題: 分周比 64、クロック 8 M ヘルツのタイマで 200 ミリ秒を計るときのカウント値は、8,000,000 ÷ 64 = 125,000 回毎秒、125,000 × 0.2 = 25,000。16 ビットの上限 65,535 以内なので設定できます。

解き方の手順

  1. 最初の 3 分で設問だけを全部読む。何を答えるか(数値/字句/条件/理由)を把握する
  2. 次の 8 分で本文と図表を 1 往復し、5 種類をマークする。数値と単位/タスク名・状態名・イベント名・メッセージ名(定義語は解答でそのまま使う)/「〜のとき」「〜中は」「〜を除く」の条件句/時間の起点と終点/構成図の矢印の向き
  3. 残り 15 分で計算 → 穴埋め・記号 → 字数記述の順に解く
  4. 最後の 2 分で単位・指定桁数・字数超過・本文の用語を使ったかを見直す
覚え方 不具合の発生条件を書く 35〜40 字の設問は、「〈処理 A〉の実行中に〈事象 B〉が発生し、〈時間 T〉が経過したとき」の 3 要素で必ず埋まります。理由を問う 40 字は「〈条件〉なので、〈対象〉が〈結果〉となるから」。手順を問う 25〜30 字は「〈対象〉を〈動詞〉し、〈対象〉へ〈動詞〉する」と順序どおりに書きます(順序も採点対象です)。

採点講評から見た失点と対策

全体正答率が「高」だったのは H28秋・H29秋・H30秋・R4秋、「低」は R6秋の 1 回だけです。落とす設問は毎回、40 字記述と計算 1 問に集中します。

選択の判断基準。計算を落ち着いて処理でき、状態遷移図やタイミングチャートを読め、「処理中に別事象が来る」並行性を想像できる人に向きます。字数記述で仕様文を書き写してしまう人、単位換算や桁数指定を軽視する人には向きません。問 3 との同時採用は避けます。どちらもトレースと計算に集中するため、40 点分を同じリスクに賭けることになります。

問 8 情報システム開発 ― 設計成果物を読んで理由を書く

19 回とも問 8 に固定です。性格は「クラス図・アクティビティ図・状態遷移表・画面定義といった設計成果物を読み、設計判断の理由を 20〜40 字で書く」。計算を含む問題は 19 問中 6 問だけで、しかも最後は R5秋。以降の 4 回(R6春・R6秋・R7春・R7秋)は計算がゼロです。計算を避けたい人の第 1 候補になります。

回題材主要論点
H28秋SaaS のモジュール分割分割技法の使い分け/モジュール強度と結合度/再利用性
H28春通販の決済処理設計アクティビティ図の分岐とフォーク/継承と抽象クラス/自社と相手側の切分け
H29秋ソフトウェア適格性確認テスト境界値分析/ドメイン分析/複数条件網羅/テストケースの過不足
H29春コンビニ SNS のアジャイル開発バックログ/ペアプログラミング/タスクボード/CI サーバ連携
H30秋継続的インテグレーションの導入CI の目的/フォークとジョイン/境界値テスト/回帰テストの自動化
H30春サイクロマティック複雑度複雑度の算出/ホワイトボックステストと条件網羅/リファクタリング
H31春レスポンシブ Web デザインUA 判定方式との比較/メディアクエリ/画像切替えと遅延
R1秋信号機制御の状態遷移設計状態遷移表と図の「処理」と「状態」/タイマ並行制御/フェールセーフ
R210月スクラムの導入と運用役割分担/ドライバとナビゲータ/バーンダウンとベロシティ/価値観の差
R3秋ネットスーパーのデータ中心設計プロセス中心との比較/多重度と包含・排他・共存/テーブル分割の是非
R3春クーポン券発行システムブロッキングとノンブロッキング/コンテキストスイッチ/完了順序
R4秋設計レビューレビュー技法の識別/モデレータらの役割/二次欠陥/指摘密度と管理限界
R4春バス空席情報の連携方式固定長・CSV・XML の比較/API とスクレイピング/欠落検知/未応答時の表示
R5秋美容室アプリのスレッド設計ネイティブと Web/プロセスとスレッド/待ち合わせ/総処理時間
R5春バージョン管理ツールの運用ロック方式とコピー・マージ方式/ブランチの役割/リバートの順序/競合
R6秋データ連携ハブの設計カプセル化・継承・多相性/オーバーライドとアクセス制御/最小修正での拡張
R6春Observer パターンのダッシュボード通知機構/多重度 0..*/メソッド仕様の変更/通知の間引き
R7秋カフェのモバイルオーダー画面設計画面コンポーネントの選定/正規表現/非活性化/SQL インジェクション対策
R7春CRM のエラーハンドリング抽象クラスの継承/シーケンス図/エラー種別ごとの対応/ログの参照者

現在の主軸はオブジェクト指向・設計パターンです。ジャンル別ではオブジェクト指向が 5 問、開発プロセス・開発環境が 5 問、方式・構造設計が 4 問、画面と制御の振る舞い設計が 3 問、テストと品質メトリクスが 2 問。直近 5 回のうち 3 回がオブジェクト指向で、クラス図を読んで継承・多相性・メソッド仕様を答える形が定番です。テスト技法単独の大問は H30春を最後に 7 年途絶えています。前提知識は第 13・14 章です。

設問の型。小設問は合計 114、平均 6.0(最頻値 6 が 9 問)。内訳は字数記述 33%、記号選択 28%、用語記述 25%、穴埋め 12%、計算 7%。字数記述は 19 問中 18 問で出題され(ゼロは R6秋のみ)、1 問あたり平均 2.0 設問あります。解答欄 44 本の字数は 20 字が 15 本で最多、次いで 40 字が 8 本。10〜20 字なら要素は 1 つ、40 字なら「条件 + 結果」の 2 要素と、字数枠そのものが要素数を教えてくれます。

解き方の手順

この分野は本文が長く図が多いので、先に設問を通読してから本文に戻ります。用語記述と記号選択は図と用語表の対応だけで解けることが多く、先に片づけて時間を確保します。次に冒頭 2 段落で「主体」を確定させ、自社側と相手側、メインスレッドとワーカースレッド、main と develop といった境界線を紙上に引きます。主体の取り違えは講評で繰り返し指摘される失点型です。

注文(抽象クラス) 金額を計算する() 共通の手順を定義 継承の向き 店頭注文 金額を計算する() 予約注文 金額を計算する() 注文明細 行番号 1 0..* 実線=関連、数字=多重度。抽象クラスは自分では実体化しない
図 24-6 クラス図の読み方。継承の矢印は子から親へ向きます。子で同じ操作を書き直すのがオーバーライドで、「共通の処理を親に集約する理由」を 30 字で答えさせるのが定番の設問です。
図の種類読み方の型問われ方
クラス図矢印の向き(子 → 親)と多重度を先に確定する空欄補充、該当クラスを「全て」答える
アクティビティ図フォークの本数とジョインの合流点を数える待ち合わせを外して並行化する対策を 40 字
シーケンス図呼出しの往復と戻りを 1 本ずつ追うメッセージ名の穴埋め、処理の順序
状態遷移表行が状態、列がイベント、セルが遷移先空欄補充。「処理」を状態と混同させる

字数記述は 2 つのテンプレートで書きます。理由を問われたら「〜(本文の条件)なので、〜(結果)となるから」(25〜40 字)、対策や操作を問われたら「〜を、〜する」の動詞終止形(15〜35 字)。本文・図の字句をそのまま使うのが原則で、自分の言葉に言い換えると採点で落ちます。「全て答えよ」型は図を上から走査して候補を列挙し、除外条件で削ってから書きます。1 つで止めると落とします。

採点講評から見た失点と対策

全体正答率は「平均」10 回・「高」4 回で、「低」「やや低」は R3春までに集中し、R3秋以降の 10 回はすべて「平均」です。近年は極端に落とす問題ではなくなっています。

選択の判断基準。実務で設計書・クラス図・バージョン管理・レビューに触れている人、図を読んで「誰が・いつ・どの順で」を追うのが得意な人、そして計算を避けたい人に向きます。逆に、記述を避けたい人には向きません。当日は図の種類(クラス図なら易しめ、状態遷移表なら混同に注意)を見て決めます。

分野をまたいで効く 4 つの技

6 分野の解き方は違っても、失点の原因は共通します。ここでは分野をまたいで効く技を 4 つに絞ってまとめます。

技 1: 単位換算を 1 本のフローで通す

計算が絡む問 4・問 5・問 7 で最も多い失点は、桁と単位です。バイトとビット、秒と月、記憶容量と転送速度を行き来する道筋を 1 本のフローとして覚えます。途中で丸めず、切上げ・切捨ては最後に 1 回だけ行うのが原則です。

× 8 × 1 秒あたりの件数 ÷ 100 万 1 件のバイト数 1 件のビット数 1 秒あたりのビット数 M ビット/秒 × 保存日数 ÷ 10 億 1 日のバイト数 保存バイト数 G バイト 切上げは最後に 1 回
図 24-7 単位換算のフロー。上段が帯域、下段が容量です。組込みの問 7 ではこの左端に「横 × 縦 × 画素あたりビット数 × フレーム毎秒」が、ネットワークの問 5 では「ペイロード + ヘッダ」が入ります。
変換掛ける・割る値出やすい分野
バイト → ビット× 8問 4・問 5・問 7
ビット毎秒 → M ビット毎秒÷ 1,000,000問 4・問 5
ミリ秒 → 秒÷ 1,000問 7
1 日 → 1 か月(30 日)× 30問 4
稼働率 → 月間の許容停止時間30 × 24 × 60 = 43,200 分 に (1 - 稼働率) を掛ける問 4
クロック周波数 → タイマの 1 カウント時間分周比 ÷ クロック周波数問 7
必要台数必要量 ÷ 1 台分 を切り上げ問 4

技 2: 穴埋めと記号選択は消去法で潰す

穴埋めと記号選択は 6 分野の全小問の約半分を占めます。次の順序で当たりを付けます。

  1. 空欄の前後 2〜3 行だけを読む。SQL なら直前の処理内容、擬似言語なら宣言部のコメント、FW ルール表なら同じ表の別の行が根拠になる
  2. 同じ図・同じ表の他の行の書き方に合わせる。日本語で書く回と記号式で書く回があり、書式がずれるだけで減点されます
  3. 「全て選べ」型は各肢に ○ × を付ける。× の理由を本文の語で言えるものだけを消し、言えない肢は残す
  4. 「この方式で実現できない要件はどれか」型は、要件を 1 つずつ方式に当てはめる。方式の欠点を先に 1 語で書いておくと速い
  5. 1 つの空欄に 3 分以上かけない。飛ばして次に進み、他の空欄が埋まってから戻る

技 3: 字数枠が要素数を教えている

6 分野の字数記述はすべて 40 字以下です(50 字以上は 10 年で 1 問もありません)。字数は「いくつ要素を入れるか」の指示だと考えます。

字数要素の数書き方例
10〜15 字1(名詞句)文にしない。設問の語尾に合わせる「〜となる経路」「〜する処理」
20〜25 字2(主体 + 結果)「〜が〜する」「送信元 IP がロードバランサのものになる」
30〜35 字3(条件 + 主体 + 結果)「〜なので、〜が〜だから」「共通の処理を一か所で定義できるから」
40 字3〜4(+ 時間や範囲)「〈処理〉中に〈事象〉が起き、〈時間〉が経過したとき」不具合の発生条件(問 7 の定番)

共通のルールは 3 つです。本文の固有名詞か数値を必ず 1 つ入れる(一般論で答えると落ちます)。本文・図の字句をそのまま使う(自分の言葉に言い換えない)。字数枠の 8 割以上は埋める。

技 4: 見直し 10 分で 6 点を確認する

150 分の内訳は「0〜5 分で 4 問を決定 → 5〜32 分で必須の問 1 → 32〜140 分で選択 4 問(各 27 分)→ 140〜150 分で全体見直し」です。最後の 10 分でやることは決まっています。

  1. 空欄が残っていないか(最優先。空欄は必ず 0 点)
  2. 主体が設問の主語と一致しているか
  3. 文末が問い方に対応しているか(理由 →「〜から」、目的 →「〜ため」)
  4. 字数は上限の 8 割以上あるか
  5. 単位・桁数・切上げ/切捨ての指示に従ったか
  6. 「本文中の字句を用いて」の条件を守ったか

ひっかけポイント

ここがひっかけ 1 足す対象が 2 系統あるのに 1 系統で計算する。問 4 では「サーバ分だけ数えて PC 分を落とす」(R3秋 設問 1)、「収集とアクセスの両方を合算すべきところを片方だけ」(R3春 設問 3(1))、問 7 では「ステレオなのに 1 チャネル分で計算」(R3秋 設問 2(1))が講評で名指しされました。計算の前に「足すものを箇条書きにする」だけで防げます。
ここがひっかけ 2 外部結合の後に COUNT(*) を書く。「実績が無い側も残す」ために左外部結合を使うと、対応する行が無い側も NULL の 1 行として残ります。ここで COUNT(*) を使うと、実績ゼロのはずの行が 1 件と数えられます。数えるのは結合先の列(COUNT(結合先の主キー))です。合計側は COALESCE で 0 に落とします。
ここがひっかけ 3 変更後の状態を想像せず、現状のまま答える。ロードバランサ導入後の接続先は個々のサーバではなく VIP(H30春 設問 2)、プロキシ廃止後は FW ルールの差分だけが問われる(R7秋)、クラウド移行後も業務運用と PC 操作は変わらない(R7秋 設問 2(2))。「導入後」「移行後」「廃止後」の語を見たら、変更前と変更後の図を 2 本描きます。
ここがひっかけ 4 似た用語を名前だけで覚えている。オープンリレー防止と OP25B(R7秋 設問 1(2))、SaaS と PaaS の責任範囲(R5秋 設問 3)、MAC 認証と IEEE 802.1X(R7春 設問 1(4))、優先度による待ちとデッドロック(H29春 設問 3(3))、ジャクソン法とワーニエ法(H28秋 設問 1)。いずれも「誰が・何に対して・何のために」を 1 文で言えるかどうかで分かれます。
ここがひっかけ 5 改善策を「増強」で済ませる。ボトルネックの解消を問われて「サーバを増やす」「回線を太くする」と答えると、本文の条件(費用・設置場所・実行時間の上限)に反して不正解になります。配置変更・キャッシュ・データ削減・処理の分離という増強以外の 4 手をカタログとして持っておきます(R6秋 設問 2(4)、R7秋 設問 4(2))。

演習問題(科目 B 形式)

本試験と同じ形式で、代表的な 3 分野のミニ演習を用意しました。時間を計り、1 題 12 分を目安に解いてください。解答例には採点で見られる点を添えています。

演習 1 プログラミング(問 3 形式)― 昇順配列の併合走査

音楽配信サービスを運営する M 社では、利用者ごとに「再生したことのある楽曲 ID」を昇順に整列した配列として保持している。M 社は 2 人の利用者の趣味の近さを測るため、共通して再生した楽曲の数を求める関数 countCommon を作ることにした。

単純な方法は、配列 a の各要素について配列 b を全て調べる二重ループである。しかし両方が昇順に整列していることを使えば、先頭から 1 回ずつ走査するだけで数えられる。添字 i と j を 1 から始め、a[i] と b[j] を比べて、等しければ両方を 1 進めて件数を数え、等しくなければ小さい方の添字だけを 1 進める。どちらかの添字が要素数を超えたら終了する。

配列の要素番号は 1 から始まる。次のプログラムは、この考え方で共通の楽曲数を返す。

○整数型: countCommon(整数型の配列: a, 整数型の配列: b)
  整数型: i ← 1
  整数型: j ← 1
  整数型: cnt ← 0
  while (  〔 a 〕  )
    if (a[i] が b[j] と等しい)
      cnt ← cnt + 1
      i ← i + 1
      j ← j + 1
    elseif (  〔 b 〕  )
      i ← i + 1
    else
      〔 c 〕
    endif
  endwhile
  return cnt
  1. a = {102, 205, 311, 428}、b = {205, 311, 500} を与えたとき、while ループが何回実行され、返却値がいくつになるかを答えよ。各回の i、j、cnt の値も示すこと。
  2. 空欄 〔 a 〕〜〔 c 〕 に入れる字句を答えよ。
  3. 配列 a または b が昇順に整列していない場合、この関数の結果はどうなるか。30 字以内で述べよ。
  4. a の要素数を 4、b の要素数を 3 としたとき、二重ループによる方法での a[i] と b[j] の比較回数を答えよ。
演習 1 の解答例と採点ポイント

設問 1 while ループは 4 回実行され、返却値は 2 である。1 回目は i = 1、j = 1、cnt = 0 で 102 < 205 なので i が 2 になる。2 回目は i = 2、j = 1 で 205 が一致し cnt = 1、i = 3、j = 2。3 回目は 311 が一致し cnt = 2、i = 4、j = 3。4 回目は 428 < 500 なので i = 5 となり、i が a の要素数 4 を超えて終了する。

設問 2 〔 a 〕は「i ≦ a の要素数 and j ≦ b の要素数」、〔 b 〕は「a[i] が b[j] より小さい」、〔 c 〕は「j ← j + 1」。

設問 3 解答例「小さい側の添字だけが進み、共通する楽曲を数え落とす。」(26 字)

設問 4 4 × 3 = 12 回。併合走査では while ループが 4 回で、1 回あたりの比較は最大 2 回なので 8 回以下に収まる。

採点ポイント ① 設問 2 の 〔 c 〕 は代入文の形で書く。「j + 1」だけでは代入になっておらず、講評でも「代入文になっていない」誤答が指摘されている。② 〔 a 〕 は「かつ」で 2 条件を結ぶ。片方だけだと配列の範囲外を参照する。③ 設問 3 は「昇順でなくなる」という前提の言い換えで止めず、数え落とすという結果まで書く。④ 終了条件は「どちらかが要素数を超えたとき」であり、「両方が超えたとき」ではない。

演習 2 ネットワーク(問 5 形式)― SaaS 直結化に伴う通信経路の変更

D 社は動物病院を 3 院運営している。各院には拠点ルータが置かれ、院内の PC には私設 IP アドレスが割り当てられている。拠点ルータはアドレス変換を行い、複数の PC の通信を 1 つのグローバル IP アドレスに集約してインターネットへ送出する。

従来、院内 PC のインターネット向け通信は、いったん本院のプロキシサーバへ送られ、そこから外部へ出ていた。D 社は電子カルテを SaaS へ移行するにあたり、各院の PC が SaaS へ直接 HTTPS で接続する方式に変更する。移行後はプロキシサーバを廃止する予定である。

本院の FW には、移行の第 1 段階として次のルールが設定された(上から順に評価し、いずれにも該当しない通信は拒否する)。戻りの通信は FW が自動的に許可するため、ルールには書かない。

項番送信元宛先宛先ポート番号動作
1各院の PC電子カルテ SaaS〔 a 〕許可
2各院の PCプロキシサーバ8080許可
3〔 b 〕インターネット80、443許可
4本院のメールサーバインターネット25許可
  1. 空欄 〔 a 〕 に入る宛先ポート番号を答えよ。また 〔 b 〕 に入る機器名を答えよ。
  2. プロキシサーバを廃止した後、不要になるルールの項番を全て答えよ。
  3. 各院の PC から SaaS へ接続したとき、SaaS 側で記録される送信元 IP アドレスは何か。機器名を用いて 25 字以内で述べよ。
  4. 拠点ルータが行っているアドレス変換の名称を答えよ。
演習 2 の解答例と採点ポイント

設問 1 〔 a 〕は 443(HTTPS)。〔 b 〕はプロキシサーバ。

設問 2 項番 2 と項番 3。項番 2 は PC からプロキシサーバへの通信、項番 3 はプロキシサーバがインターネットへ出る通信であり、プロキシサーバが無くなればどちらも発生しない。項番 4 はメールサーバの通信なので残る。

設問 3 解答例「各院の拠点ルータのグローバル IP アドレス」(21 字)

設問 4 NAPT(IP マスカレードでも可)。

採点ポイント ① 設問 3 で「各院の PC の IP アドレス」と答えると誤り。アドレス変換を行う機器を通った後は送信元が変わるという、講評で繰り返し指摘される論点そのものである。② 設問 2 で項番 3 を落とす誤答が出やすい。「誰が・どこへ」の両方向で不要になる行を探す。③ 設問 1 の 443 を 80 と書かないこと。設問文に「HTTPS で接続する」と明記されている。④ 戻りの通信を許可する行を新たに書き足す必要はない。

演習 3 データベース(問 6 形式)― 醸造所の樽貸出管理

クラフトビールを製造する B 社は、飲食店へ貸し出す樽(ケグ)の管理システムを構築している。ケグは B 社が所有し、取引先である飲食店へ貸し出す。返却されるまでは「貸出中」として扱う。表定義は次のとおりで、各表の先頭の属性が主キーである。

醸造所(醸造所コード, 醸造所名, 所在地)
ケグ(ケグ番号, 容量, 製造年月, 醸造所コード)
取引先(取引先コード, 取引先名, 与信限度額)
貸出(貸出番号, ケグ番号, 取引先コード, 貸出日, 返却予定日, 返却日)

B 社は「ケグごとの貸出回数」を調べ、稼働していないケグを洗い出したい。一度も貸し出されていないケグも 0 回として結果に含める必要がある。次の SQL 文は、その一覧をケグごとに貸出回数の多い順で得るものである。

SELECT K.ケグ番号, COUNT( 〔 a 〕 ) AS 貸出回数
  FROM ケグ K
       〔 b 〕 JOIN 貸出 KA ON K.ケグ番号 = KA.ケグ番号
 GROUP BY 〔 c 〕
 ORDER BY 貸出回数 DESC
  1. ケグと貸出の関連について、E-R 図の矢印はどちらの表からどちらの表へ向くか。判断の根拠とともに 30 字以内で述べよ。
  2. 空欄 〔 a 〕〜〔 c 〕 に入れる字句を答えよ。
  3. 空欄 〔 a 〕 に「*」を書いた場合、結果はどうなるか。40 字以内で述べよ。
  4. 取引先の与信限度額を変更した履歴を残せるようにしたい。追加すべきエンティティの名称と、その主キーを構成する属性を全て答えよ。
演習 3 の解答例と採点ポイント

設問 1 解答例「ケグの主キーを貸出が外部キーで持つので、ケグから貸出へ向く」(29 字)

設問 2 〔 a 〕は「KA.貸出番号」、〔 b 〕は「LEFT OUTER」、〔 c 〕は「K.ケグ番号」。

設問 3 解答例「一度も貸し出されていないケグの貸出回数が 0 ではなく 1 になる」(30 字)

設問 4 与信限度額履歴(名称は「与信履歴」等でもよい)。主キーは取引先コードと適用開始日の 2 つ。

採点ポイント ① 設問 2 の 〔 a 〕 で「*」を選ぶのが最も多い誤りで、設問 3 がその確認になっている。外部結合で相手が無い行も 1 行として残るため、数える対象は結合先の列にする。② 〔 b 〕 を INNER と書くと、貸出実績の無いケグが結果から消え、要件を満たさない。③ 〔 c 〕 は SELECT 句の集計対象でない列をそのまま並べる。別名 K で修飾すること。④ 設問 4 で主キーを「取引先コード」だけにすると、履歴が 1 件しか持てない。いつからの値かを主キーに含めるのが履歴保持の型である。

まとめ

テクノロジ系 6 分野は問 3〜問 8 に固定されており、選ぶ 4 問は学習開始時に決められます。最後に、当日その場で確認できる形に圧縮しておきます。

問分野主戦場となる形式計算当日の見極めライン
3プログラミング穴埋め 58%約 17 小設問着手 10 分で「実データ ↔ 配列」の対応表が書けなければ撤退
4システムアーキテクチャ字数 28%・記号 24%・計算 23%19 問中 14 問計算が 3 個を超えたら他の候補と比べる
5ネットワーク用語 41%・字数 28%7 小設問構成図の機器数とルール表の行数(読図量)で決める
6データベース穴埋め 53.1%・用語 25.5%集計に記載なし設問 1 の E-R 図の向きが 1 分で読めるか
7組込みシステム開発用語 24.2%・計算 22.5%・字数 20.8%19 問中 17 問問 3 と同時に選ばない(リスクが重なる)
8情報システム開発字数 33%・記号 28%19 問中 6 問(直近 4 回ゼロ)図の種類を見る。クラス図なら読みやすい

ここまでで、必須の問 1(第 23 章)とテクノロジ系の選択問題が揃いました。続く第 25 章では、経営戦略・情報戦略、プロジェクトマネジメント、サービスマネジメント、システム監査という計算がほとんど出ない 4 分野を扱います。本章の 6 分野で 4 問を埋めきれない場合の予備として、少なくとも 1 分野は仕込んでおいてください。