yagibrary

あだ名のやぎと図書館のlibraryを組み合わせてyagibraryです。本から学んだことをみなさんに紹介します。

【読書メモ】【システム設計の謎を解く 改訂版 強いSEになるための機能設計と入出力設計の極意】第4章 アプリケーション設計としてやるべき作業

本章では、前章までの情報をインプットにして、アプリケーションを作成する設計を行う方法について説明します。本書の「テーマ」の章でもあります。

4.1 アプリケーションの複雑さ

本節を読むことで、アプリケーションやその機能がどれだけ複雑で作るのが大変なのかを、明確に理解できるようになるでしょう。

アプリケーション設計の定義
アプリケーション設計とは、どのように機能要件を満たすかを検討し、これらをインプット、データ格納、アウトプットに分けることです。

アプリケーション設計の順序としては、最初に機能の粒度を整えて、機能間の包含関係と機能間関係を明確にします。次に、その機能に対する入出力とデータ格納(=仕様)を明確にします。その後、その入出力、変換、データ格納をどう実現するかを設計(処理詳細)することになります。処理詳細を設計する際には業務ルールとして、前提条件が満たされるようにチェックする、データの不整合や業務ルールの不整合が起こった場合の処理などを考慮する必要があります。

最後に、運用しやすさのための工夫として、ログやメッセージなどをどう出力するかを検討し、システム内部で起こっていることを判別しやすくする処理を追加し、ここでいうアプリケーション設計が完了します。

1 アプリケーションの複雑さを段階的に把握する

2 機能の複雑さを段階的に把握する

2-1 第1段階
2-2 第2段階
2-3 第3段階
2-4 第4段階

4.2 機能の粒度と、機能間の関係を整理する

4.3 入出力設計のまとめ方

4.4 処理詳細設計を行う

4.5 機能間の整合性を確認する