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 | チャージする | チャージ装置を使用してICバスカードに一定の金額をチャージする。 |
2 | バスに乗車する | ICバスカードに乗車バス停を書き込む,又はIC整理券を取り出す。 |
3 | 運賃を確定させる | 乗車区間から運賃を確定させる。 |
4 | 運賃を支払う | 抽象ユースケース。具体的な処理は項番5,6のユースケース。 |
5 | ICバスカードで支払う | 確定した運賃をICバスカードで支払う。運賃の残金を更新する。 |
6 | 現金で支払う | 運賃の残金を現金で支払う。運賃の残金を更新する。 |
7 | 現金を両替する | 紙幣又は硬貨を両替する。 |
8 | 両替金を補充する | 両替用の紙幣及び硬貨を補充する。 |
・システムの要求分析の範囲は,運行時間内の運用に関する機能とすること。 |
・項番6のユースケースは,精算が完了するまで繰り返し実行できること。 |
関連:アクタAとユースケースBは○関連がある
B
A
汎化:BはAの汎化である
特化:AはBの特化である
A ◇───────→ B
包含:AはBを包含する
A <<include>> B
拡張:AはBを拡張する
A <<extend>> B
表4はユースケース記述ガイドライン,表5はユースケース記述の一部である。
項目 | 説明 |
---|---|
事前条件 | ユースケースが実行されるための条件を記述する。無条件でユースケースが実行される場合は,"条件なし"と明記する。 |
事後条件 | ユースケースが正常に実行されたことを示す条件を記述する。 |
基本シナリオ | 事後条件を満たす通常の手順を簡潔に記述する。 |
代替シナリオ | 基本シナリオ以外の手順で,事後条件を満たす手順を簡潔に記述する。 |
例外シナリオ | 事後条件を満たさない失敗の手順を簡潔に記述する。 |
ユースケース名:バスに乗車する | |
事前条件 | バス停にバスが停車する。 |
事後条件 | 乗車バス停が確定する。 |
基本シナリオ | 1. 乗客は,ICバスカードを整理券箱にかざす。 |
2. システムは,ICバスカードのチャージ金額を読み取る。 | |
3. システムは,チャージ金額が初乗り金額以上であることを確認する。 | |
4. システムは,ICバスカードに乗車バス停を書き込む。 | |
代替シナリオ1 | 1. 乗客は,ICバスカードを整理券箱にかざす。 |
2. システムは,ICバスカードのチャージ金額を読み取る。 | |
3. a | |
4. システムは,ICバスカードに乗車バス停を書き込む。 | |
代替シナリオ2 | 1. b |
例外シナリオ | 1. 乗客は,ICバスカードを整理券箱にかざさず,かつ,整理券箱からIC整理券を取り忘れる。 |
ユースケース名:現金で支払う | |
事前条件 | c |
事後条件 | 運賃の残金が更新される。 |
基本シナリオ | 1. 乗客は,現金を運賃箱に入れる。 |
2. d | |
3. システムは,運賃の残金を0に更新する。 | |
代替シナリオ | 1. 乗客は,現金を運賃箱に入れる。 |
2. システムは,現金が運賃の残金より少ないことを確認する。 | |
3. システムは,運賃の残金を計算し更新する。 | |
例外シナリオ | 1. 乗客は,現金を運賃箱に入れる。 |
2. システムは,現金が運賃の残金より多いことを確認する。 | |
3. システムは,乗客に現金を払い戻す。 |