業務フローを作成
1. 登場人物・システム
| 名前 | 種別 | 役割 |
|---|---|---|
| 申請者 | 利用者 | 申請情報を入力し、登録を依頼する |
| Androidアプリ | システム | 画面表示、入力チェック、API呼び出し、結果表示を行う |
| Kotlin API | システム | リクエスト検証、申請情報の登録、応答を行う |
| データベース | システム | 申請情報を保存する |
3. 業務フロー図
2. 業務フロー詳細
| No. | 担当者/システム | 処理内容 | 入力 | 出力・結果 | 条件・備考 |
|---|---|---|---|---|---|
| 1 | Androidアプリ | 申請入力画面を表示する | 画面遷移操作 | 申請入力画面 | 申請者名、申請内容を入力できる |
| 2 | 申請者 | 申請情報を入力する | 申請者名、申請内容 | 入力値 | 必須項目を入力する |
| 3 | Androidアプリ | 入力値を検証する | 入力値 | 検証結果 | 必須、文字数、空白のみでないことを確認する |
| 4 | Androidアプリ | 申請情報をAPIへ送信する | 検証済み申請情報 | APIリクエスト | HTTPS/JSONで送信する |
| 5 | Kotlin API | リクエスト内容を検証する | APIリクエスト | 検証結果 | クライアント側検証とは独立して検証する |
| 6 | Kotlin API/DB | 申請情報をDBに登録する | 検証済み申請情報 | 登録結果 | 登録日時と申請IDはサーバー側で設定する |
| 7 | Kotlin API | 登録結果をアプリへ返す | 登録結果 | 成功応答またはエラー応答 | 成功時は登録済み情報を返す |
| 8 | Androidアプリ | 登録結果を表示する | API応答 | 完了表示またはエラー表示 | 成功時は登録した申請を確認できる |
5. 例外フロー
| ID | 発生箇所・条件 | システム側の処理 | 利用者への表示 | 復帰方法 |
|---|---|---|---|---|
| EX-01 | Android側の入力チェックで不備がある | APIへ送信しない | 該当項目のエラーを表示する | 入力を修正して再チェックする |
| EX-02 | API側の入力チェックで不備がある | 登録処理を行わず、入力エラー応答を返す | 該当項目のエラーを表示する | 入力を修正して再送信する |
| EX-03 | APIへ接続できない、またはタイムアウトする | 入力値をアプリ内に保持する | 通信エラーと再試行操作を表示する | 接続回復後に再試行する |
| EX-04 | DB登録に失敗する | 成功応答を返さず、サーバーログにエラーを記録する | 登録失敗と再試行方法を表示する | 状況を確認して再試行する |
6. 業務ルール
| ID | ルール |
|---|---|
| BR-01 | 申請者名は必須とし、前後空白を除去した後に1〜100文字とする |
| BR-02 | 申請内容は必須とし、前後空白を除去した後に1〜2,000文字とする |
| BR-03 | 入力検証はAndroidアプリとAPIの両方で行う |
| BR-04 | 申請IDと登録日時はサーバー側で設定する |
| BR-05 | DB登録が完了する前に、アプリへ登録成功を表示しない |
7. 前提・未決事項
- 申請登録後に詳細画面へ遷移するか、一覧画面へ戻るかを画面設計で決定する。
- 通信タイムアウト後、サーバー側で登録が完了していた場合の二重登録防止方法をAPI設計で決定する。
- MVPでは認証を行わず、個人情報や機密情報を登録しない。