架空企業「みらい業務サービス」の社内依頼・承認管理アプリの例。実在する会社・案件・人物は含まない。
記事「状態遷移表を作り、二重処理と失敗時の扱いを決める」(05-02)の本文で使った内容をまとめたもの。空欄版は 05-02-state-rules_template.md。
1. 状態遷移表・更新ルール
| 現在の状態 | 操作 | 実行者 | 条件 | 次の状態 | 履歴 | 失敗時の扱い |
|---|
| 下書き | 提出 | 依頼者本人 | 必須項目と有効な承認者がそろっている | 提出済み | 操作=提出、操作者=依頼者、時刻を記録 | 状態変更と履歴追加のどちらかだけが完了した場合、正常完了として扱わず、両方とも行われなかった状態に戻す |
| 差戻し | 再提出 | 依頼者本人 | 修正し、提出条件を満たしている | 提出済み | 操作=再提出、操作者=依頼者、時刻を記録 | 同上 |
| 提出済み | 承認 | 割り当てられた承認者 | 本人確認済み、自己承認でない、対象の状態が操作時にも有効 | 承認済み | 操作=承認、操作者=承認者、時刻を記録 | 同上。対象の状態が操作時にすでに変わっていた場合は拒否し、状態・履歴のどちらも変更しない |
| 提出済み | 差戻し | 割り当てられた承認者 | 差戻し理由がある、自己承認ではない | 差戻し | 操作=差戻し、操作者=承認者、時刻、備考=差戻し理由 | 承認と同様 |
2. 同時更新・重複操作の扱い
| 状況 | 扱い |
|---|
| 承認者がボタンを2回連続で押す、または通信の再送で同じ承認操作が2回届く | 1回目で状態が変わった後、2回目は「対象の状態が操作時にも有効」という条件を満たさないため拒否する。履歴は1件のまま増えない |
| 割当外の承認者が同じ依頼に操作しようとする | 権限により拒否する |
3. 完了条件の確認
4. 次工程へ渡すもの