软件架构强调的是整体,而整体性的设计决策必须基于对需求的全面认识;
软件架构应该是稳定的,而遗漏了重要需求的架构设计面临的是返工的命运。
一言以蔽之,全面认识需求,是生产出高质量软件所必须的“第一项修炼”。
作为一个软件架构师,也不应对所有需求“胡子眉毛一把抓”,而是应全面认识需求——分门别类地将需求梳理清楚。
下图所展示的“需求空间分割图”揭示了全面认识需求的要求。要全面认识需求,意味着我们必须从不同级别来考察需求:组织级、用户级、开发级,还要对每个级别考虑不同类型的需求:功能需求、质量属性、约束。
一方面,需求是分层次的。一个成功的软件...