システムデザインの勉強をしてみようと思い立ち、「ソフトウェアアーキテクチャの基礎」を読んでみたので、覚書です。複数回に分けて投稿します。
1章 イントロダクション
- ソフトウェアアーキテクチャの4つの側面
- システムの構造
- アーキテクチャ特性(イリティ(-ility)):システムの成功基準を定める(可用性、信頼性など)
- アーキテクチャ決定
- 設計指針:ルールではなくガイドライン
- アーキテクチャ決定と設計指針の違い
- 「アーキテクチャの決定」はシステムをどのように構築すべきかのルールを定める。一方、「設計指針」は設計指針として、望ましいアプローチをに関するガイドを提供する、ガイドラインである。
- ソフトウェアアーキテクトへの8つの期待
- アーキテクチャ決定を下す
- アーキテクチャを継続的に分析する アーキテクチャの存続力や健全性を評価。
- 最新のトレンドを把握し続ける 「24章 キャリアパスを開く」に最新の情報を把握し続けるテクニックやリソースを紹介
- 決定の遵守を徹底する 「6章 アーキテクチャ特性の計測と統制」で自動化された適応度関数やツールで順守されているか測る方法を説明
- 多様なものに触れ、経験している
- 事業ドメインと知識を持っている
- 対人スキルを持っている アーキテクチャの実装を通じて開発チームをリードする
- 政治を理解し舵取りする 「23章 交渉とリーダシップのスキル」参照
- ソフトウェアアーキテクチャの第一法則
- ソフトウェアアーキテクチャはトレードオフが全てだ