matarillo.com

The best days are ahead of us.

AAG2.0の読み方

2012-07-16 14:26:12

1. ソフトウェアのアーキテクチャと設計

第 1 章: ソフトウェア アーキテクチャとは

  • アーキテクト的なことをしたことがない人が読む。
  • アーキテクチャはプロセスだ(セキュリティはプロセスだ、と同様の意味で)
    • (主に非機能)要件を満たすようにソリューションの構造を定義して、品質特性を最適化する。
  • ソフトウェアアーキテクチャの定義は人によって違う。
    • 個人的には、IEEE 1471がおすすめ。(AAGには書いていないが。)

第 2 章: ソフトウェア アーキテクチャの基本原理

  • アーキテクト的なことをしたことがない人が読む。
  • このガイドでどういう用語が出てくるか、概要をつかむ。

第 3 章: アーキテクチャのパターンとスタイル

  • アーキテクチャ・スタイルについて。
  • 他の人にアーキテクチャの特徴を一言で言うならば。共通語彙として。
  • あまり気にせずに読み飛ばしてもいい。

2. 設計の基礎

第 4 章: アーキテクチャと設計の手法

  • .NETに限った話ではない。
  • インクリメンタルなアーキテクチャ設計
    • 問題を特定して、その問題を解決する設計を選択する
  • レビュー技法
    • SAAMとATAMなど。ほかにも。
  • 記述内容、記法
    • 4+1,ビューなど。ほかにも。
    • 誰とコミュニケートするか?によって選べばいい。
    • UMLもあるけど、UMLと設計はイコールにならない。

第 5 章: レイヤー型アプリケーションのガイドライン

  • .NETに限った話ではない。
  • よくある論理3階層
    • DDDだとまた違った考え方だったりするよ
  • 分割指針、依存関係、抽象化、などなど
  • 無理に分ける必要はない

第 6 章: プレゼンテーション レイヤーのガイドライン

  • コンポーネントについては図を鵜呑みにしない。
    • UIコンポーネント、UIプロセスコンポーネント以外にもあるから。
  • 設計に関する一般的な考慮事項はどうでもいい。
    • 一般的すぎる。
  • 設計に関する具体的な問題を読んでおく。
    • わりと具体的。
  • テクノロジに関する考慮事項はあまり読まなくていい。
    • テクノロジの使い分けが書いてあるが、概念レベル。
    • もしも全然知らない分野であれば、目を通しておくのもいい。
  • パフォーマンスに関する考慮事項は読んでおく。
    • 性能に泣くのはよくある話。
  • 設計手順は読まなくていい。
    • ちょっと何言ってるか分からないです。
  • 関連するパターンはちゃんと目を通しておく。
    • パターンの詳細説明は書かれてない……自分で調べろってことか!

第 7 章: ビジネス レイヤーのガイドライン

第 8 章: データ レイヤーのガイドライン

第 9 章: サービス レイヤーのガイドライン

第 10 章: コンポーネントのガイドライン

第 11 章: プレゼンテーション レイヤーのコンポーネントの設計

第 12 章: ビジネス レイヤーのコンポーネントの設計

第 13 章: ビジネス エンティティの設計

第 14 章: ワークフロー コンポーネントの設計

第 15 章: データ レイヤーのコンポーネントの設計

第 16 章: 品質特性

第 17 章: 横断的関心事

第 18 章: 通信とメッセージ

3. アプリケーションの原型

第 19 章: 物理ティアと配置

第 20 章: アプリケーションの種類の選択

第 21 章: Web アプリケーションの設計

第 22 章: リッチ クライアント アプリケーションの設計

第 23 章: リッチ インターネット アプリケーションの設計

第 24 章: モバイル アプリケーションの設計

第 25 章: サービス アプリケーションの設計

第 26 章: ホストされているクラウド サービス

第 27 章: Office Business Application の設計

第 28 章: SharePoint LOB アプリケーションの設計

付録


AAG2.0 インデックスへ戻る