一线架构师实践指南阅读笔记1
软件架构在不断发展,但仍然是一个尚不成熟的学科。
架构设计能力,因掌握起来困难而显得珍贵。
一线架构师6个经典困惑
四个实际问题的困惑
1.将系统划分模块,如何更合理?
2.大系统架构设计,如何起步?
3.总觉得需求很糟糕,影响了架构设计!
4.非功能需求重要,但如何设计?
两个职业发展的困惑
1.架构新手:缺乏指导,架构设计不知所措!
2.架构老手:缺乏总结,仍怕下个项目。
该书的四个核心主张
方法体系是大趋势
一线架构师真正需要的,是覆盖需求进、架构出全过程的实践指导--只有综合了不 同方法优点的“方法体系”才堪此重任。方法体系必然是软件业界未来发展的重大趋 势
质疑驱动的架构设计
从根本上讲,架构设计是需求驱动的,而不是模型驱动的。架构设计是一门艺 术,你不可能把“一桶需求”倒进某台神秘机器,然后等着架构设计自动被“加工”生 产完毕,这里缺的是架构师的因素。 架构设计实际上是一个“质疑驱动的过程”:需求被架构师的大脑有节奏的引入架构设计一波接一波的思维活动中。
多阶段方法
先做后做--叫做阶段;齐头并进 --这是视图。任何好的方法,都必须以时间轴来组织,这样才最利于指导实践。
内置最佳实践的方法
方法不应该是个空框框,应融入最佳实践经验
第4,5章 需求结构化与分析约束影响
需求分层结构化
识别约束条件及影响(风险)
约束是架构设计要解决问题的上下文,软件需求=功能需求+质量属性+约束
确定关键质量
1.分类合适+必要扩充
2.考虑多方涉众
3.检查性思维
4.识别矛盾+划定优先级
5.严格程度符合领域与规模特点
确定关键功能
1.核心功能
2.必做功能
3.高风险功能
4.独特功能