午後問題に共通する注意事項(表記ルールなど)については、下記のリンク先を参照してください。
問題
銀行口座の管理に関する次の記述を読んで,設問に答えよ。
ある銀行の個人顧客口座の口座管理手数料,現金自動預払機(以下,ATMという)での預払い及びATM使用手数料に関する口座情報を更新するプログラムである。
口座は,口座番号で識別される。口座には,所定の口座管理手数料が毎月掛かり,その月の月末処理で残高から引き落とされる。この口座管理手数料は,その口座の前月末日時点の残高が10万円以上であれば,当月分は掛からない。
口座に対してのATMからの預け入れ及び引出しの操作には,1回当たり所定のATM使用手数料が掛かり,操作時に,その口座の残高から自動的に引き落とされる。このATM使用手数料も,その口座の前月末日時点の残高が10万円以上であれば,当月分は掛からない。
なお,同一口座に対しては,預け入れ及び引出しの操作が完了するまで,ほかの操作は行えないものとする。
データベースには,所定の口座管理手数料及び所定のATM使用手数料と,口座ごとの残高及び手数料マークが格納されている。
手数料マークは,前月末日時点の残高が10万円未満であった場合に”真”,そうでない場合に”偽”となる。
プログラムを構成する各モジュール間の関連を図に示す。
【預払トランザクション構成モジュールの説明】
このモジュールには,次の各処理が用意されており,口座ごとに,預払い1件を単位として一つのトランザクションを構成する。
- 処理A:ATMでの預払操作に対応して,データベースを更新する命令を作成し,データベース更新モジュールに送る。
- 処理B:残高不足となる場合は,利用者にメッセージで伝え,預払処理を行わない。
- 処理C:データベースを更新する命令1件に対して,所定のATM使用手数料を口座から引き落とす命令を作成し,データベース更新モジュールに送る。
【データベース更新モジュールの説明】
到着した順番にトランザクションを処理し,データベース上の対応する口座の情報を更新する。
【月末処理モジュールの説明】
このモジュールには,次の各処理が用意されており,月末処理のため,口座ごとに一つのトランザクションを構成し,必要な処理を行う。月末処理は,月末日のATMからの操作受付終了後に行う。
- 処理D:翌月のために手数料マークを設定する命令を作成し,データベース更新モジュールに送る。
- 処理E:所定の口座管理手数料を残高から引き落とした新たな残高を計算する。新たな残高を書き戻す命令を作成して,データベース更新モジュールに送る。計算結果の残高が負の値になることもある。
設問
次の各モジュールに関する記述中の【】内に入れる正しい答えを,解答群の中から選べ。
預払トランザクション構成モジュールでは,それぞれの実行条件に従って処理A~C及びデータベースへのアクセスが実行される。その順番は,次のとおりである。
【 a 】→【 b 】→【 c 】→ 処理C
月末処理モジュールの処理Dでの手数料マークの設定に最低限必要なデータは,【 d 】である。また,処理Eは実行される場合とされない場合がある。処理Eの実行判定に必要なデータと,処理Eの実行に最低限必要なデータは,【 e 】である。
ここで,月末処理モジュールの処理D,処理Eの両方が実行される場合,その順番は,【 f 】である。
a〜cに関する解答群
- ア:処理A
- イ:処理B
- ウ:データベースの検索
- エ:データベースの項目内容変更
- オ:データベースのレコード削除
d,eに関する解答群
- ア:所定の口座管理手数料
- イ:所定の口座管理手数料,その口座の残高
- ウ:所定の口座管理手数料,その口座の残高,その口座の手数料マークの値
- エ:その口座の残高
- オ:その口座の手数料マークの値
fに関する解答群
- ア:処理Dの次に処理E
- イ:処理Eの次に処理D
- ウ:任意
