第一章绪论
1.架构设计能力,因掌握起来困难而显得珍贵。
2.六个经典困惑:
将系统划分模块,如何更合理?
大系统架构设计,如何起步?
总觉需求很糟糕,影响了架构设计!
非功能需求重要,但如何设计?
架构新手:缺乏指导,架构设计不知所措!
架构老手:缺乏总结,仍“怕”下个项目!
3.本书介绍的方法体系为ADMEMS,是“ArchiteturalDesignMethodhasbeenExtendedtoMethodSystem(架构设计方法已经扩展到方法体系)”由多个各具特点的方法组成的方法体系。
4.架构是需求驱动的,不是模型驱动的。
5.质疑意识,是架构师最宝贵的意识之一。
第二章Pre-architecture的故事
1.错的一半是“金”,败的一半是"贝",错中求金,败中求贝。
2.关注约束,要趁早,必须把虚存管理裁剪掉,直接访问物理内存。
3.软件架构师应在需求分类,需求折中和需求变更的研究方向方面的专家。
第三章Pre-architecture的总论
1.面对需求的四步法:
需求结构化
分析约束影响
确定关键质量
确定关键功能
2.大局观,关键需求决定架构,其余需求验证架构
3.架构失败的主要原因
遗漏至关重要的架构影响因素 50%
不能驯服频繁变化的需求 40%
不能覆盖架构各个方面 30%
不能验证架构并作出调整 40%
4.让架构师参与需求分析工作
第五章确定关键质量和关键功能
1.人之所以痛苦,数追求错误的东西
2.举例:亚马逊运行期质量:
可伸缩性:几乎没有上限
性能:强调速度,又强调吞吐量
易用性:最便捷的选择方式
安全性:数据安全
持续可用性:不停机
互操作性:公司中各系统的互操作
3.举例:亚马逊开发期质量:可扩展性
第六章概念架构的故事
1.胜兵先胜而求战,败兵先战而求胜——孙子兵法
2.人们常常使用战术,而忽略战略,战略要求从大局上把握整个架构与设计,架构错误的代价非常高——stephaneFaroult
3.和客户,不是讲纯技术,而是抓住客户关心的价值和担心的问题,并在一个小时之内清晰地勾画出产品的相应策略
4.当要设计的软件系统非常复杂时,直接设计实际架构往往有困难,要先进行概念架构的设计,把最关键的设计要素和交互机制确定下来。