本章では、前章までの情報をインプットにして、アプリケーションを作成する設計を行う方法について説明します。本書の「テーマ」の章でもあります。
4.1 アプリケーションの複雑さ
本節を読むことで、アプリケーションやその機能がどれだけ複雑で作るのが大変なのかを、明確に理解できるようになるでしょう。
アプリケーション設計の定義
アプリケーション設計とは、どのように機能要件を満たすかを検討し、これらをインプット、データ格納、アウトプットに分けることです。
アプリケーション設計の順序としては、最初に機能の粒度を整えて、機能間の包含関係と機能間関係を明確にします。次に、その機能に対する入出力とデータ格納(=仕様)を明確にします。その後、その入出力、変換、データ格納をどう実現するかを設計(処理詳細)することになります。処理詳細を設計する際には業務ルールとして、前提条件が満たされるようにチェックする、データの不整合や業務ルールの不整合が起こった場合の処理などを考慮する必要があります。
最後に、運用しやすさのための工夫として、ログやメッセージなどをどう出力するかを検討し、システム内部で起こっていることを判別しやすくする処理を追加し、ここでいうアプリケーション設計が完了します。