業務としての完了を決める

画面に受付を表示した時点と、必要な記録が保存された時点は、同じとは限りません。申し込みなら、登録、通知、外部への送信のうち、どこまでを一つの完了として扱うかを先に決めます。

複数の処理をまとめる場合は、一部だけ成功した状態を認めるか、利用者へ何を伝えるかを整理します。

状態ごとに、できることを定める

受付
依頼を識別する情報と、受け付けた内容を残す範囲を決める。
処理中
変更や取り消しができる条件、待っている理由の示し方を決める。
完了
確定した結果と、その後に修正する場合の手続きを決める。
要確認
自動では先へ進めない理由と、判断する担当者への渡し方を決める。

再送や失敗で同じ結果になるか

再送や失敗で同じ結果になるか調べる状態設計で決めること
同じ依頼がもう一度届く前の依頼を受け付けたか、結果が確定しているか。同じ依頼を見分ける単位と、その結果を返すか再処理するか。
保存後に通知だけ失敗する保存した情報と、まだ通知していない相手。保存済みの結果を保ち、通知だけをやり直せるか。
複数の更新が重なる更新の対象と、それぞれが前提にした情報の版。どちらを有効とするか、競合を利用者や担当者にどう伝えるか。
外部の応答が返らない相手側で実行済みか、まだ実行されていないか。未処理と扱う前に、相手側の結果をどう照合するか。

正常時と中断時を同じ条件で確認する

  1. 処理例を決める

    入力、権限、開始時の状態、期待する保存結果を一組にします。

  2. 境界で止める

    権限がない場合、更新が重なる場合、保存や外部処理の途中で止まる場合を確認項目に含めます。

  3. 結果を照合する

    画面の応答だけでなく、残ったデータ、処理履歴、再実行の可否を照合し、戻し方まで確認します。

一つの業務処理から範囲を定める

最初は、登録、変更、取り消しなどの処理を一つ選びます。入力例、完了条件、変更してはいけない情報、失敗時の担当者を整理すると、必要な状態と確認項目を絞れます。

その処理を画面や別システムから呼び出すときの入力と応答は、API の取り決めとして合わせて確認します。