ソフトウェアアーキテクチャドキュメント
ソフトウェアアーキテクチャドキュメント / Paul Clements、Len Bass、James Ivers、Felix Bachmann、David Garlan
いい本なんだけど、翻訳がいまいち。前半はこなれてないと感じる程度だが、中盤以降は日本語が理解できない。
アーキテクチャと設計(5)
アーキテクチャは設計であるが、すべての設計がアーキテクチャといわけではない。つまり、設計事項のうち重要だと判断されたものがアーキテクチャであり、それ以外の設計事項はアプリケーション設計者に委ねられる。では、なぜ重要だと判断しなかったのか。それは、アーキテクチャ全体に対して、その設計要素が重要な意味をもたないと考えたからだ。
ビュー(14)
アーキテクチャは複数のビュー(視点、あるいは側面と言い換えてもいいかもしれない)によって表現される。アーキテクチャを表現するためにどのビューを使うかは、アーキテクチャ上の重要な目標に依存する。つまり、特定のビュー、またはビューの集合が他のものに対して、絶対的に重要だということではない。
アーキテクチャビュー(17)
KruchtenによるRUPの4+1ビュー
- 論理ビュー(logical view)
- プロセスビュー(process view)
- 開発ビュー(development view)
- 物理ビュー(physical view)
- ユースケースビュー(use case view)
ビュータイプ(19)
- モジュールビュータイプ(モジュールの構造)
- コンポーネントコネクタビュータイプ(実行時の要素の関係)
- 割り付けビュータイプ(ソフトウェアと開発、実行環境の関係)
健全な設計書作成のための七つのルール(26)
- 読み手の視点で書く
- 繰り返しを避ける
- あいまいさを排除する(言語上のあいまいさ、表記法について説明のない図)
- 標準的な構成を使用する(参照しやすい構造、TBDも書く)
- 根拠を記述する
- 適切な頻度でドキュメントを更新する(常に最新である必要はない)
- 目的に一致しているかどうかレビューする。
モジュールビュータイプのスタイル(38)
- 分解スタイル(decompotision style)
- 利用スタイル(uses style)
- 汎化スタイル(generalization style)
- レイヤースタイル(layerd style)
コンポーネント-コネクタビュータイプのスタイル(39)
- パイプ-フィルタスタイル(pipe-and-filter style)
- 共有データスタイル(shared-data style)
- 発行-購読スタイル(publish-subscribe style)
- クライアント-サーバスタイル(client-server style)
- ピアツーピアスタイル(peer-to-peer style)
- 通信プロセススタイル(communicating-process style)
割り付けビューのスタイル(41)
- 配置スタイル(deployment style)
- 実装スタイル(implementation style)
- 作業割り付けスタイル(work assignment style)