1.2.2. 质疑驱动的架构设计
毫无疑问,架构设计是需求驱动的,而不是模型驱动的。
但需求驱动的说法,不太传神——当你很清楚需求却依然设计不出架构时就足以 说明“需求驱动的架构设计”的总结还“缺点儿什么”。
架构设计是一门艺术,你不可能把“一桶需求”倒进某台神奇的机器然后等着架构设计自动被“加工生产”完毕,因此“需求驱动的架构设计”给架构师的启发不够。
缺点儿什么呢?
答案是,缺“人的因素”、“架构师的因素”!
接下来将不断阐述架构设计实际上是个“质疑驱动的过程”:
需求,被架构师的大脑(而不是自动),有节奏地引入到架构设计的一波接一波的思维活动中。
例如,作为架构师,当你的架构设计进行到一半时,你可以明显感觉到:这个架构设计中间成果,还需要“我”进一步通过“质疑”引入更多“质量属性”以及“特殊功能场景”来驱动后续的架构设计工作的开展。
在保留“需求驱动的架构设计”所有正确内涵的同时,“质疑驱动的架构设计” 告诉架构师:你的头脑,才是架构设计全过程的真正驱动力。
质疑意识,是架构师最宝贵的意识之一。
至于有的专家提倡的“用例驱动的架构设计”这种观点,则有严重缺陷,3句话足以揭示这一点:
- 需求=功能+质量+约束
- 用例是功能需求实际上的标准
- 用例涉及、但不涵盖非功能需求