架空企業「みらい業務サービス」の社内依頼・承認管理アプリの例。実在する会社・案件・人物は含まない。
記事「「承認処理」を4つの作業に分け、依存関係と衝突しやすい箇所を書く」(07-02)の本文で使った内容をまとめたもの。空欄版は 07-02-task-breakdown_template.md。
1. 作業分解・依存関係表
| 作業 | 入力 | 出力 | 確認方法 | 依存する作業 |
|---|---|---|---|---|
| 1. 状態の確認 | 依頼の現在の状態 | 「提出済みかどうか」の判定結果 | 各状態を入力して判定結果を確認する | なし |
| 2. 権限の判定 | 操作者の役割、割当情報 | 「割当承認者かつ自己承認でないか」の判定結果 | 割当外・自己承認のケースで拒否されることを確認する | 1 |
| 3. 状態変更と履歴追加 | 判定結果(1・2が正常な場合) | 状態の更新、履歴の追加 | 状態変更と履歴追加が両方完了することを確認する | 1、2 |
| 4. 重複対策 | 同一操作の識別情報 | 二重処理の防止結果 | 同じ操作を2回実行し、履歴が1件のままであることを確認する | 3 |
2. 並行作業時(開発時)に衝突しやすい箇所
開発中に人とAI(または複数の開発者)が同じコードに手を入れることで起きる衝突。利用者どうしの同時更新(承認と再提出の入れ違いなど)は別の問題で、05-02・09-03で扱う。
| 箇所 | なぜ衝突しやすいか | 対処 |
|---|---|---|
| 作業1と作業2(同じ判定関数) | 状態の確認と権限の判定を同じ関数に同時に足すと、条件の順序や戻り値がかみ合わない | 作業1を先に終えて確認してから作業2に着手する。同じ関数に同時に2人が手を入れない |
| 作業3と作業4(同じ保存処理) | 状態変更と履歴追加に重複対策を同時に足すと、「1回の書き込み」の約束(REQ-007)が崩れる | 作業3の確認が済んでから作業4に着手する |
| AIに複数の作業を一度に頼む場合 | 指示された範囲を超えて隣の作業のコードも書き換えることがある | 1回の指示は1つの作業に限定し、変更されたファイルの差分を合流前に確認する |
同時に触れてよい範囲の基準:1つの関数につき同時に1人(人またはAI)。別のファイルなら並行してよいが、合流時に差分を確認する。
3. 完了条件の確認
- 各作業に確認方法がある
- 依存関係が明示され、循環していない
- 並行作業時の衝突しやすい箇所が書かれている
4. 次工程へ渡すもの
- 作業分解・依存関係表(第1〜2節)
- 承認者:総務課長(架空)— 記入例のため未承認の扱い
AI時代のシステム開発の基礎