2011年 秋期 応用情報技術者試験 問8

バス運賃精算システムの要求分析

H社では,ICカードを利用したバス運賃精算システム(以下,システムという)の試験導入を行うことになり,そのためのプロトタイプ開発に着手した。ICカードには,ICチップが埋め込まれている。ICチップに保存されている情報は,ICチップ専用のリーダ/ライタにICカードをかざすだけで,読取りと書込みができる。

[ICバスカード]

ICバスカードとは,ICカードを利用したプリペイドカードである。乗客は,バス停や営業所にあるチャージ装置を使用してあらかじめ一定の金額をチャージする。

[IC整理券]

IC整理券とは,ICチップを利用した整理券である。ICバスカードを持っていない乗客の乗車区間を確定するために利用する。

[運賃の確定]

乗客がバスに乗車する際,ICバスカードを持っていれば,ICバスカードを乗車口の整理券箱にかざす。チャージ金額が初乗り金額未満の場合は,警告するが乗車は可能である。ICバスカードを持っていなければ,整理券箱が発券するIC整理券を取り出す。この時点で,乗客の乗車バス停が確定する。

乗客がバスから降車する際,ICバスカードを利用していれば,ICバスカードを運転席横の運賃箱にかざすと運賃が確定する。IC整理券を利用していれば,IC整理券を運賃箱に投入すると運賃が確定する。運賃が確定すると,それを"運賃の残金"の初期値として後述の〔精算処理〕が実行される。

[精算処理]

精算とは,乗客が現金かICバスカードいずれか片方,又は両方の併用によって,運賃を支払うことである。システムは,運賃の残金があればその金額を表示する。現金での精算に必要な銭を返すことはできない。運賃の残金を超えた現金を投入した場合は,投入した現金を返却する。釣銭が必要な乗客は,運賃箱の両替機能で両替してから運賃を支払う。両替金の補充は,管理部門が運行時間外に行う。

[乗車区間未確定処理]

整理券箱にICバスカードをかざさず,かつ,IC整理券を取り忘れた場合は,始発バス停からの運賃が適用され,運転手が運賃箱にその金額を運賃として設定する。

表1のアクター覧と表2のユースケース一覧のレビューを実施し,表3のレビューでの指摘事項を反映させて,図1のユースケース図を作成し,ユースケース記述の作成と非機能要件の抽出を開始した。

表1 アクター覧
アクタ名説明
乗客システムの主アクタである。
運転手システムの運用をサポートする。
管理部門システムに関する保守を行う。
表2 ユースケース一覧
項番ユースケース名説明
1チャージするチャージ装置を使用してICバスカードに一定の金額をチャージする。
2バスに乗車するICバスカードに乗車バス停を書き込む,又はIC整理券を取り出す。
3運賃を確定させる乗車区間から運賃を確定させる。
4運賃を支払う抽象ユースケース。具体的な処理は項番5,6のユースケース。
5ICバスカードで支払う確定した運賃をICバスカードで支払う。運賃の残金を更新する。
6現金で支払う運賃の残金を現金で支払う。運賃の残金を更新する。
7現金を両替する紙幣又は硬貨を両替する。
8両替金を補充する両替用の紙幣及び硬貨を補充する。
表3 レビューでの指摘事項
・システムの要求分析の範囲は,運行時間内の運用に関する機能とすること。
・項番6のユースケースは,精算が完了するまで繰り返し実行できること。
凡例
関連:アクタAとユースケースBは○関連がある
                 B
     A
汎化:BはAの汎化である
特化:AはBの特化である
     A ◇───────→ B
包含:AはBを包含する
     A <<include>> B
拡張:AはBを拡張する
     A <<extend>> B

表4はユースケース記述ガイドライン,表5はユースケース記述の一部である。

表4 ユースケース記述ガイドライン
項目説明
事前条件ユースケースが実行されるための条件を記述する。無条件でユースケースが実行される場合は,"条件なし"と明記する。
事後条件ユースケースが正常に実行されたことを示す条件を記述する。
基本シナリオ事後条件を満たす通常の手順を簡潔に記述する。
代替シナリオ基本シナリオ以外の手順で,事後条件を満たす手順を簡潔に記述する。
例外シナリオ事後条件を満たさない失敗の手順を簡潔に記述する。
表5 ユースケース記述(一部)
ユースケース名:バスに乗車する
事前条件バス停にバスが停車する。
事後条件乗車バス停が確定する。
基本シナリオ1. 乗客は,ICバスカードを整理券箱にかざす。
2. システムは,ICバスカードのチャージ金額を読み取る。
3. システムは,チャージ金額が初乗り金額以上であることを確認する。
4. システムは,ICバスカードに乗車バス停を書き込む。
代替シナリオ11. 乗客は,ICバスカードを整理券箱にかざす。
2. システムは,ICバスカードのチャージ金額を読み取る。
3. a
4. システムは,ICバスカードに乗車バス停を書き込む。
代替シナリオ21. b
例外シナリオ1. 乗客は,ICバスカードを整理券箱にかざさず,かつ,整理券箱からIC整理券を取り忘れる。
ユースケース名:現金で支払う
事前条件c
事後条件運賃の残金が更新される。
基本シナリオ1. 乗客は,現金を運賃箱に入れる。
2. d
3. システムは,運賃の残金を0に更新する。
代替シナリオ1. 乗客は,現金を運賃箱に入れる。
2. システムは,現金が運賃の残金より少ないことを確認する。
3. システムは,運賃の残金を計算し更新する。
例外シナリオ1. 乗客は,現金を運賃箱に入れる。
2. システムは,現金が運賃の残金より多いことを確認する。
3. システムは,乗客に現金を払い戻す。
出典:平成23年度 秋期 応用情報技術者試験 午後I 問8