SAシステムアーキテクト試験 午後Ⅰ
令和5年度春期 システムアーキテクト 午後Ⅰ 問2
事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。
問題



解き方のヒントを見る
情報が表す対象の範囲を確かめる
まず、扱われる情報がどの範囲の対象について述べているかに着目しましょう。同じ言葉が使われていても、対象の範囲まで同じとは限りません。与えられた条件に沿って、その範囲を丁寧に確かめることが検討の出発点になります。
この問題で問われていること
この問題では、情報が表す対象の範囲を意識して考えてみましょう。扱う情報を整理するときは、名称の似通いだけでまとめず、どこまでを一つの対象として捉えているかを、示された条件から確かめる視点が役立ちます。
視点
情報の名称と、その情報が表す対象の範囲は分けて考えましょう。名称から範囲を決めつけず、与えられた条件を根拠にして捉えることが、整理の手掛かりになります。
確認ポイント
- その情報が表す対象の範囲を意識できているか。
- 対象の範囲を、名称だけから決めつけていないか。
- 捉えた範囲に、与えられた条件の根拠があるか。
正解と解説を見る
解説
業務要件から複合主キーと重複判定を導き、申込確認中の定員到達、接続フラグによる再ログイン、受講ID単位のURL管理に対応します。集計では申込者、受講者、アンケート回答者を区別して計算式を組み立てます。
問題の全体像
C社は、従来の製品説明会に加えて無料のオンラインセミナーを開催するため、Webシステムを新規開発します。対象業務はセミナー登録、募集・申込み、開催準備、受講、アンケート、集計・分析です。公式の出題趣旨では、要件を正しく理解して機能やファイルを設計する能力と、レビュー指摘や追加要望に応じて設計を変更する能力を問うとされています。各設問では、業務上の管理単位や制約を、主キー、判定処理、状態管理、属性の配置、計算式へ具体化することが求められます。
設問1(1)
〔セミナー管理業務の概要〕の「各担当役割に複数名を設定できる」「一人が複数の担当役割を兼務する」という条件に着目します。セミナーIDと担当役割だけでは同じ役割の複数担当者を区別できず、セミナーIDと担当者IDだけでは同じ人の兼務を区別できません。したがって、一件の担当割当ては三つの属性の組合せで識別します。公式解答例では「セミナーID、担当役割、担当者ID」です。リーダーフラグは担当者の位置付けを示す属性であり、担当割当てを識別する主キーには含めません。
設問1(2)(a)
表2の申込判定(重複)は、当該セミナーへの既存の申込みを検索する処理です。表1では、申込みが確定した際に作成する受講申込ファイルに、セミナーIDとメールアドレスが保存されています。このファイルをセミナーIDで検索して重複を調べるため、公式解答例ではaは「受講申込」です。受講ファイルはログイン時に作成するものであり、申込みの重複を調べる段階の検索先にはなりません。
設問1(2)(b)
〔セミナー管理業務の概要〕の募集・申込みには、「当該セミナーについて同一メールアドレスで申込みが重複しておらず」とあります。表2でも当該セミナーIDで検索するため、その検索結果と入力値との比較対象はメールアドレスです。公式解答例ではbは「メールアドレス」です。受講IDは確定時に新規発行される識別子なので、申込入力時の重複判定には用いません。
設問2
表2では、定員判定後に申込確認画面を表示し、確定ボタンが押されてから受講申込ファイルにレコードを作成します。画面の表示中に他者の申込みが確定すると、最初の判定で空きがあっても、確定時には定員に達している場合があります。公式解答例の要点を40字以内で表すと、「申込確認画面の表示中に他者の申込みが確定して定員に達した場合」です。採点講評では、他者が先に確定したことだけを書き、その結果として定員に達したことに触れない答案が多かったとされています。時間帯、他者の確定、定員到達の三点を押さえます。
設問3(1)(チェック)
業務要件には多重ログインの禁止があり、追加要望では通信障害による切断後の再ログインを求めています。設計変更で、接続中は接続フラグが「1」、切断を検知すると「0」になるため、受講ファイルに同じ受講IDが存在していても、フラグが「0」なら再ログインを許可します。公式解答例では、当該受講IDの受講ファイルの接続フラグが「0」のときはエラーとしない、とされています。40字以内では「当該受講IDの接続フラグが『0』のときはエラーとしない。」の粒度で、対象ID、フラグ値、判定結果を示します。
設問3(1)(更新処理)
再ログインが成立したら、切断状態を示していた接続フラグを接続中の状態に戻す必要があります。「0」のままでは、接続中でも次のログインを許可してしまい、多重ログインの禁止を満たせません。公式解答例では、受講ファイルの接続フラグに「1」を設定して更新します。30字以内の答案は「受講ファイルの接続フラグを『1』に更新する。」とし、更新するファイル、属性、設定値を明記します。
設問3(2)(属性)
追加要望では、受講IDと氏名をあらかじめ埋め込んだページを開くため、受講IDごとに個別のアンケートURLを送信します。表1ではアンケートURLがセミナーファイルにあり、セミナー単位の情報として管理されています。この属性を受講ID単位の情報に変更するので、公式解答例で移す属性は「アンケートURL」です。受講IDや氏名を移すのではなく、個別化によって管理単位が変わるURLに着目します。
設問3(2)(ファイル)
個別アンケートURLの送信対象は、セミナー終了後の受講申込者です。表1の受講申込ファイルは受講IDを主キーとし、氏名とメールアドレスも保持するため、対象者ごとのURLを管理する先として対応します。公式解答例では移す先は「受講申込」です。受講ファイルには受講した人だけが記録され、アンケートファイルは回答後に作成されるため、全受講申込者への送信に必要な情報の保持先としては適合しません。採点講評でも、移動先を誤った答案が見られ、設計変更前のデータ設計と追加要望を踏まえる必要があるとされています。
設問3(3)(c)
〔指摘及び追加要望〕では、申込率を「定員に対する受講申込者数の割合」と定義しています。表3の分子は受講申込ファイルのレコード件数なので、分母には対象セミナーの定員を置きます。表1では定員をセミナーファイルに保持しており、公式解答例ではcは「セミナーファイルの定員」です。この字句は20字以内です。申込率は、定員のうち何割が申込みで埋まったかを表します。
設問3(3)(d)
受講率は「受講申込者数に対する受講者数の割合」なので、分子には受講者数を置きます。〔新システムの概要〕ではログイン時に受講ファイルにレコードを作成するため、対象セミナーの受講IDに対応する受講ファイルの件数から受講者数を求めます。公式解答例ではdは「受講ファイルのレコード件数」です。20字以内で、指定された「のレコード件数」という形式にも合います。アンケートの回答件数は回答した人だけを数えるため、ここで求める受講者数とは異なります。
設問3(3)(e)
受講率の分母は受講申込者数です。〔新システムの概要〕では受講確定時に受講申込ファイルにレコードを作成するため、当該セミナーIDで検索した受講申込ファイルの件数を用います。公式解答例ではeは「受講申込ファイルのレコード件数」です。20字以内で指定の形式を満たします。定員は申込率の分母であり、受講率では実際に申込みが確定した人数を分母にする点を区別します。
設問3(3)(f)
平均評価点は「アンケートに回答した受講者の評価点の平均点」です。表3の分母は、アンケートファイルで受講有無が「有」のレコード件数なので、分子は評価点の合計になります。表1の注3では受講しなかった人の評価点を0とするため、対象セミナーのアンケートの評価点を合計しても、非受講者の値は合計に影響しません。公式解答例ではfは「アンケートファイルの評価点の合計」で、20字以内です。分母に非受講者を含めないことと、本文の指定どおり分母が0なら項目の値を0とすることも確認します。
学習のポイント
情報の管理単位、判定時点と確定時点の違い、接続状態の遷移、集計対象と分母の対応を読み取る練習が重点です。
出典:独立行政法人 情報処理推進機構(IPA)令和5年度春期 システムアーキテクト試験 午後Ⅰ 問2(公式資料:問題冊子(PDF) / 解答例 / 採点講評)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針