SAシステムアーキテクト試験 午後Ⅰ

平成27年度秋期 システムアーキテクト 午後Ⅰ 問1

事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。

問題

問1 データ連携システムの構築に関する次の記述を読んで,設問1~4に答えよ。  A社は,生命保険事業,クレジットカード事業など,各種の事業を展開している企業である。A社では,これまで事業部ごとに業務システムを構築してきた。このたび,全社共通で利用する,金融機関とのデータ連携システムを,経理部主導で構築することになった。 〔金融機関とのデータ連携システム構築の目的〕  A社では,多くの業務システムで口座振替を利用して請求を行っているが,金融機関とのデータ連携は,これまでそれぞれの業務システムで独自に実施していた。  今後,口座振替を利用する業務システムが増加することが見込まれるので,金融機関とのデータ連携を全社で一括して行うシステム(以下,新システムという)を構築することにした。  新システム構築後の概念図を図1に示す。 図1 新システム構築後の概念図 〔金融機関とのデータ連携の概要〕  現在の各業務システムで口座振替による請求を行う際,委託先の金融機関とのデータ連携の概要は,次のとおりである。 ・それぞれの事業部で金融機関と口座振替基本契約を締結している。口座振替基本契約単位に,口座振替で使用する委託者コード,並びに収納口座の金融機関番号,支店番号,預金種目及び口座番号(以下,収納口座情報という)を決定している。 ・顧客から提出された口座振替依頼書に記入されている,引落口座の金融機関番号,支店番号,預金種目及び口座番号(以下,引落口座情報という)を業務システムに登録する。 ・引落しは,毎月10日又は20日に行う。ただし,金融機関の休業日に当たる場合は,翌営業日が引落日となる。 ・引落日の7営業日前までに顧客ごとの請求金額を確定し,業務システムに請求データとして登録する。同一顧客が複数の契約を結んでいる場合などには,同じ引落日に複数の請求データを登録することも可能である。 ・業務システムでは,引落日の5営業日前に,登録されている請求データから,金融機関に口座振替を依頼するデータ(以下,振替依頼データという)を,金融機関単位に作成して送信する。振替依頼データのフォーマットは,全ての金融機関で共通である。  振替依頼データのフォーマットを図2に示す。 図2 振替依頼データのフォーマット ・振替依頼データの個別コードは,請求レコードを一意に特定する属性である。業務システムでは,自システム内の請求データを一意に特定する値(以下,請求コードという)を個別コードに設定している。 ・振替依頼データの引落結果コードには,空白を設定する。 ・引落日の2営業日後までに,金融機関から振替依頼の結果データ(以下,振替結果データという)を受領する。振替結果データは,振替依頼データと同じフォーマットであり,引落結果コードに引落結果が設定されている。引落口座から収納口座に全額振り替えられた場合は,請求レコードの引落結果コードに,“引落済み”が,資金不足によって振り替えられなかった場合は,“資金不足”が設定されている。 ・業務システムでは,金融機関から受領した振替結果データの個別コードの値から請求データを特定し,引落結果を反映する。 ・振り替えられなかった請求は,それぞれの事業部で顧客と調整した上で,別途請求する。 〔新システムへの要望〕  新システムの構築に当たり,それぞれの事業部及び経理部からの要望は次のとおりである。 ・業務システムは,現在各金融機関に送信している振替依頼データを,全て新システムに送信するので,新システムから各金融機関に送信してほしい。 ・金融機関からの振替結果データは,全て新システムで受領し,業務システムに送信してほしい。その際,業務システムから新システムに送信した,全ての振替依頼データの処理結果を送信してほしい。 ・事業部ごとに管理している委託者コードと収納口座を金融機関ごとに集約し,新システムで一元管理してほしい。 ・当月に振り替えられた業務システム別の引落金額合計を,新システムから帳票に出力してほしい。 ・新システムを利用する際には,利用者が担当する業務システムのデータだけが表示されるようにしてほしい。 〔新システムの機能設計〕  現在の各業務システムの仕様と新システムへの要望を踏まえ,新システムの機能設計を次のように進めてきた。 (1) データ受付機能  引落日の7営業日前までに,各業務システムで作成した振替依頼データを受領する。受領した振替依頼データの請求レコードに,どの業務システムから受領したかを表すシステムコード及び処理状況を表すステータスの二つの属性を追加し,集約請求データとして登録する。ステータスには,“振替依頼待ち”を設定する。集約請求データには,全業務システムのデータが格納される。 (2) 振替依頼データ送信機能  引落日の5営業日前に,集約請求データからステータスが“振替依頼待ち”のデータを金融機関単位に抽出し,図2のフォーマットに編集して金融機関に送信する。ヘッダレコードの委託者コードと収納口座情報は,新システムで管理する金融機関データの値を設定する。請求レコードの個別コードには,集約請求データのシステムコードと請求コードとを結合して設定する。送信した集約請求データのステータスを“振替依頼中”に変更する。 (3) 振替結果データ受信機能  引落日の2営業日後までに,金融機関から振替結果データを受領する。受領した振替結果データの個別コードの値から集約請求データを特定し,引落結果コードの値を集約請求データの引落結果コードに設定する。また,ステータスを“振替結果受領”に変更する。 (4) データ返却機能  引落日の3営業日後に,ステータスが“振替結果受領”の集約請求データを業務システム単位に抽出し,図2のフォーマットで業務システムに送信する。  なお,業務システムに送信する請求レコードの個別コードには請求コードを設定する。業務システムに送信したデータに対応する集約請求データのステータスを“振替結果返却済み”に変更する。 (5) 認証機能  事業部のPCから新システムを利用する際,利用者IDとパスワードによって利用者を認証する。利用者IDは利用者個人に割り当て,新システムで利用者データとして管理する。利用者データのパスワードは,暗号化した値を管理する。また,利用者が担当している業務システムのシステムコードを,担当システムデータとして管理する。 (6) 集約請求データ照会機能  集約請求データの任意の属性を検索条件として,照会画面から照会する。ただし,ある属性の値は,暗黙の検索条件として新システムで設定する。 (7) 振替金額帳票出力機能  毎月末に,当月振り替えられた業務システム別の引落金額合計を新システムから帳票として出力する。  新システムで管理する主要なデータとその属性を表1に,新システムの各機能で変更するステータスの値を表2に示す。 表1 新システムで管理する主要なデータとその属性 表2 新システムの各機能で変更するステータスの値 〔新システムへの追加要望〕  新システムの機能設計内容を事業部に説明したところ,金融機関への振替依頼データの送信を,集約請求データ1件単位で停止する機能を追加してほしいという要望が提示された。  追加要望に対応するために,ステータスの値を追加して振替依頼停止機能を追加した。振替依頼停止機能の設計では,停止可能な集約請求データのステータスを“振替依頼停止”に変更することで,振替依頼データ送信機能で抽出対象外となる。しかし,この機能追加によって〔新システムの機能設計〕で行ったある機能設計では〔新システムへの要望〕を満たせなくなるので,設計を一部変更する必要がある。 設問1 振替依頼データ送信機能で,各業務システムから受領した請求コードを個別コードにそのまま設定しなかった理由を,35字以内で述べよ。 設問2 集約請求データ照会機能で,暗黙の検索条件として新システムで値を設定している属性名を答えよ。また,設定する目的を30字以内で述べよ。 設問3 振替金額帳票出力機能で,帳票に出力する際,対象となる集約請求データの抽出条件に用いる属性を表1中から二つ挙げ,その属性が満たすべき条件をそれぞれ15字以内で述べよ。 設問4 〔新システムへの追加要望〕について,(1),(2)に答えよ。 (1) 振替依頼停止機能の設計で停止可能な集約請求データとは,どのようなデータか。表1中の属性名を用いて答えよ。 (2) 設計を一部変更する必要がある機能を挙げ,その変更内容を40字以内で述べよ。
図1 新システム構築後の概念図。A社内の業務システム1~業務システムmが新システムに接続され,新システムがA社外の金融機関1~金融機関nに接続される構成を示した概念図。
図1 新システム構築後の概念図。A社内の業務システム1~業務システムmが新システムに接続され,新システムがA社外の金融機関1~金融機関nに接続される構成を示した概念図。
図2 振替依頼データのフォーマット。ヘッダレコード(委託者コード,引落日,収納口座情報:金融機関番号・支店番号・預金種目・口座番号)と,複数の請求レコード(個別コード,引落口座情報:金融機関番号・支店番号・預金種目・口座番号,引落金額,引落結果コード)のフォーマット。注記:トレーラレコードとエンドレコードは省略する。
図2 振替依頼データのフォーマット。ヘッダレコード(委託者コード,引落日,収納口座情報:金融機関番号・支店番号・預金種目・口座番号)と,複数の請求レコード(個別コード,引落口座情報:金融機関番号・支店番号・預金種目・口座番号,引落金額,引落結果コード)のフォーマット。注記:トレーラレコードとエンドレコードは省略する。
表1 新システムで管理する主要なデータとその属性。利用者データ(利用者ID,パスワード,氏名,部署コード),担当システムデータ(利用者ID,システムコード),集約請求データ(システムコード,請求コード,ステータス,引落日,引落口座情報の各属性,引落金額,引落結果コード),金融機関データ(金融機関番号,金融機関名,収納口座情報,委託者コード)の属性一覧。下線は主キーを表す。
表1 新システムで管理する主要なデータとその属性。利用者データ(利用者ID,パスワード,氏名,部署コード),担当システムデータ(利用者ID,システムコード),集約請求データ(システムコード,請求コード,ステータス,引落日,引落口座情報の各属性,引落金額,引落結果コード),金融機関データ(金融機関番号,金融機関名,収納口座情報,委託者コード)の属性一覧。下線は主キーを表す。
表2 新システムの各機能で変更するステータスの値。データ受付機能は振替依頼待ち,振替依頼データ送信機能は振替依頼中,振替結果データ受信機能は振替結果受領,データ返却機能は振替結果返却済みにステータスを変更することを示す表。
表2 新システムの各機能で変更するステータスの値。データ受付機能は振替依頼待ち,振替依頼データ送信機能は振替依頼中,振替結果データ受信機能は振替結果受領,データ返却機能は振替結果返却済みにステータスを変更することを示す表。
解き方のヒントを見る

検討する対象と範囲をそろえる

金融機関とのデータ連携を考える際は、判断の対象と範囲をそろえる視点に絞りましょう。与えられた情報の中で、何について述べているかを確かめ、異なる範囲の内容を同じ前提で扱っていないか意識します。

この問題で問われていること

検討の焦点は、考えている内容がどこまでを対象としているかです。与えられた条件からその範囲を捉え、途中で別の対象へ話を移したり、範囲を広げたりしていないかを確認して、判断の前提を保ちましょう。

視点

同じ話題でも、検討する対象や範囲が変わると、条件の受け止め方も変わります。まず今考えている範囲を言葉にし、その範囲のままで条件を捉えているかを確かめると、前提のずれを整理しやすくなります。

確認ポイント

  • 今考えている対象と範囲を言葉にできているか
  • その範囲は与えられた条件に沿っているか
  • 検討の途中で対象や範囲を変えていないか
正解と解説を見る

解説

本問は、口座振替のデータ連携を全社で集約する際の機能設計を扱います。請求コードの重複への対応、担当範囲に応じた照会、当月の引落済みデータの集計、停止データを含む処理結果の返却が要点です。

問題の全体像

A社は、事業部ごとに行っていた金融機関との口座振替データ連携を、新システムに集約します。各業務システムの請求データを一括管理しながら、金融機関への依頼、結果の返却、担当者による照会、月次集計を実現する事例です。公式の出題趣旨では、現行システムの機能を正しく理解し、新システムの機能定義・機能設計を行う能力を評価するとしています。既存の仕様、利用部門の要望、各機能の抽出条件を結び付けて読むことが重要です。

設問1

〔金融機関とのデータ連携の概要〕では、請求コードは「自システム内」の請求データを一意に特定するとされています。一方、新システムには全業務システムのデータが格納されるため、異なる業務システムで同じ請求コードが使われる可能性があります。そのまま個別コードに設定すると、集約後の請求レコードを一意に特定できません。公式解答例では「請求コードは複数の業務システムで同じ値になる可能性があるから」としています。35字以内では、請求コードがシステム間で重複し得る点を押さえます。採点講評では、システムコードに関する解答が散見されたと指摘しており、問われている請求コードの問題点を述べる必要があります。

設問2(属性名)

〔新システムへの要望〕にある「利用者が担当する業務システムのデータだけが表示される」という条件に着目します。認証機能では利用者の担当システムコードを管理し、集約請求データにもシステムコードが付加されています。この属性を担当範囲に応じた検索条件として設定すれば、照会対象を限定できます。公式解答例の属性名は「システムコード」です。

設問2(目的)

暗黙の検索条件を設定する目的は、利用者の担当範囲に表示対象を限定することです。全業務システムのデータが格納されているので、画面から指定する検索条件に加え、新システム側で担当システムの条件を設定する必要があります。公式解答例では「利用者が担当する業務システムのデータだけを表示するため」としています。30字以内では、「担当する業務システム」と「そのデータだけを表示する」の二点を押さえます。

設問3①(属性)

振替金額帳票出力機能の「当月振り替えられた」という要件から、まず対象月を判定する属性を選びます。表1の集約請求データでは、引落しの日付を表す属性が「引落日」です。公式解答例でも、一つ目の属性は「引落日」としています。二つの属性と条件の組は順不同です。

設問3①(条件)

引落日に設定する条件は、帳票の出力対象月に含まれる日であることです。公式解答例では「出力対象月内の日であること」としており、15字以内に収まります。本文では10日又は20日が休業日なら翌営業日を引落日とするため、固定の日付だけを対象にするのではなく、登録された引落日が対象月内かどうかで判定します。

設問3②(属性)

「当月振り替えられた」という要件には、対象月だけでなく、実際に振替が成功したことも含まれます。〔金融機関とのデータ連携の概要〕では、振替の成否は引落結果コードに設定されます。公式解答例の二つ目の属性は「引落結果コード」です。ステータスは処理の進行状況を示す属性なので、振替の成否を判定する属性とは区別します。

設問3②(条件)

本文では、引落口座から収納口座に全額振り替えられた場合、引落結果コードに「引落済み」が設定されます。したがって、金額合計の対象はこの値を持つデータです。公式解答例では「“引落済み”であること」としています。15字以内では、この値と一致する条件を示します。引落日が対象月内でも、「資金不足」のデータは合計に含めません。

設問4(1)

追加要望は、金融機関への振替依頼データの「送信を停止する」ことです。振替依頼データ送信機能は、ステータスが「振替依頼待ち」のデータを抽出して送信し、送信後に「振替依頼中」へ変更します。したがって、停止可能なのは送信前のデータです。公式解答例では「ステータスが“振替依頼待ち”の集約請求データ」としています。表1の属性名である「ステータス」と、その値を対応させて答えます。

設問4(2)(機能)

〔新システムへの要望〕では、業務システムから送信した全ての振替依頼データの処理結果を返すことが求められています。しかし、停止データは金融機関に送信されず、「振替結果受領」にはなりません。既存のデータ返却機能は、このステータスだけを抽出するため、停止データが返却対象から漏れます。公式解答例では、変更が必要な機能を「データ返却機能」としています。

設問4(2)(変更内容)

全ての振替依頼データの処理結果を返すには、従来の「振替結果受領」に加えて、「振替依頼停止」のデータも返却対象に含めます。公式解答例では、この二つのステータスの集約請求データを抽出するとしています。40字以内の答案では「ステータスが『振替結果受領』又は『振替依頼停止』のデータを抽出する。」とまとめられます。二つの値のいずれかに該当するデータを抽出するという意味です。採点講評では、機能名は正しくても変更内容の記述がない解答が散見されたと指摘しており、抽出対象をどう変更するかまで述べることが重要です。

学習のポイント

識別子の一意性の範囲、業務要件と抽出条件の対応、ステータス追加による既存機能への影響を学習しましょう。

出典:独立行政法人 情報処理推進機構(IPA)平成27年度秋期 システムアーキテクト試験 午後Ⅰ 問1(公式資料:問題冊子(PDF) / 解答例 / 採点講評)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針