Rosarium

実践事例 / 公開物 / case

第5章 処理の流れを復元し、変更影響を追えるようにする

クラスやモジュールの構造に加え、順序・分岐・呼出し関係を図で可視化する。代表的なフローを抽出し、動きと変更影響を人間が把握できる状態にする。

公開:最終更新:

更新履歴

  1. 公開

ai / 設計 / リファクタリング / レガシー / rag

読む目的: 自然言語サービス・RAG・ナレッジ / AI × ソフトウェア開発 / 事例・実務

このBookの目次(全12章)
  1. 全体構成
  2. 第1章 仕様を答えられない状態から、復元すべき情報を決める
  3. 第2章 対象システムの変更を妨げる構造と知識の不足を整理する
  4. 第3章 調査の起点を作るため、ファイルとクラスの役割を整理する
  5. 第4章 コードから仕様と依存関係を復元する
  6. 第5章 処理の流れを復元し、変更影響を追えるようにする
  7. 第6章 人が読む仕様とAIが使うKnowledgeを分ける
  8. 第7章 UI操作と内部処理を結び付け、操作結果を追えるようにする
  9. 第8章 復元したKnowledgeを、根拠を確認できるQAへつなぐ
  10. 第9章 正しさ・出典・回答拒否から、QAの利用可否を評価する
  11. 第10章 評価結果をKnowledgeと回答範囲の改善へ戻す
  12. 第11章 仕様変更に追従できるKnowledge更新フローを作る
  13. 第12章 QAで暗号処理を調査し、人間の変更判断へつなぐ
目次
  1. 要素の一覧だけでは、変更の影響を追えない
  2. 一つの巨大な図ではなく、確認できる単位に分ける
  3. 確認した動きを、更新できる情報として残す

現在位置:第5章・全12章

要素の一覧だけでは、変更の影響を追えない

クラスやモジュールの役割を把握しても、どの順番で呼ばれ、条件によってどこへ分岐するかは別に確認しなければならない。文章だけで順序・分岐・呼出し関係を説明すると、読み手が頭の中で全体を組み立てる負担が残る。

そこで、確認した処理フローや要素間・システム間の関係、運用手順をUMLで可視化した。図で理解できることに加え、変更のたびに手作業で描き直さずに更新できることも必要だったため、テキストから生成・更新できる処理構造の図を使った。

一つの巨大な図ではなく、確認できる単位に分ける

すべての処理を一枚へ詰めると、関係を示しても読み取れない。理解に必要なユースケース単位で分け、代表的なメインフローに分岐・例外処理・呼出し関係を加えた。

起動方法ごとの前処理、共通のコア処理、出力処理も分離した。同じ処理と開始条件による差分を区別することで、何が共通で、どこが変わるかを確認できる。

開始条件の違いと、共通する処理を分ける

+の付いた項目を選ぶと、詳しい説明が下に表示されます。

開始条件の違いと、共通する処理を分けるユースケースごとに、前処理・共通処理・出力と条件分岐を追います。特定機能の実コードを示す図ではなく、復元した関係の確認方法です。起動方法・開始条件人間条件ごとの前処理既存システム・工程共通のコア処理既存システム・工程分岐・例外の確認判断・確認出力と変更影響知識・根拠開始条件の違いと、共通する処理を分けるユースケースごとに、前処理・共通処理・出力と条件分岐を追います。特定機能の実コードを示す図ではなく、復元した関係の確認方法です。起動方法・開始条件人間条件ごとの前処理既存システム・工程共通のコア処理既存システム・工程分岐・例外の確認判断・確認出力と変更影響知識・根拠

詳しい説明

気になる項目を選ぶと、その役割や判断理由を確認できます。

起動方法・開始条件

利用する機能や起動方法ごとに、処理が始まる条件を確認しました。一つの巨大な図へまとめず、利用場面ごとに流れを分ける起点にしました。

条件ごとの前処理

起動方法によって異なる前処理を、共通処理から切り分けました。同じ処理に入る前の違いを残し、開始条件によって動作が変わる箇所を追えるようにしました。

共通のコア処理

共通して呼ばれる処理の順序と、渡される値・返される値をコードから調べました。個々のクラスの説明を、実際に動く順序へつなぐためです。

分岐・例外の確認

条件によって変わる呼出し先や例外処理を確認しました。コードから復元した流れを人が確認し、通常の順序だけでは見えない変更影響も調べられる形にしました。

出力と変更影響

前処理・共通処理から出力までを分け、どの変更がどの結果へ影響するかを追えるようにしました。その場限りの説明ではなく、後の仕様変更に合わせて更新する情報として残しました。

確認した動きを、更新できる情報として残す

コードから復元した構造へ、実行順序と分岐を加えたことで、局所的な説明を処理全体の流れへ接続できた。処理構造の図は見た目のためではなく、その流れを確認し、後の変更に合わせて修正するための表現だった。

ただし、人が読む図と、質問に必要な根拠を検索する資料では使い方が異なる。次章では、確認した仕様をそれぞれの利用方法に合う形へ分ける。