什么是Pre-architecture
Pre-architecture就是架构设计的最前期阶段,其工作目标包括:理解需求、建立需求大局观、确定架构设计方向等。
实际意义
需求理解的大局观
有效处理互相矛盾的需求目标;
识别重大需求、特色需求、高风险需求;
相对短的时间内设计架构;
等等
降低架构失败风险
架构师在需求的理解、权衡、取舍和补充这些方面能力严重不足。
尽早开始架构设计
Pre-architecture阶段的好处:能够在需求没有“全面完成”的情况下开始架构设计。
为了尽早开始架构设计,需要做好:让架构师参与需求分析工作;不能被动地等待完善的《软件需求规则说明书》出现的那一刻。
只要满足下面3个条件就可以开始架构设计工作:
1.有了明确的业务需求:必须保证甲、乙双方就建设系统的目标达成共识,《愿景文档》经过正式评审,并且明确了投资、工期标准、整合等约束条件;
2.了解全面的用户需求:系统能帮助用户干什么、不能干什么已经非常明确。如果采用用例技术,表现为“用例图”比较完善,没明显遗漏;
3.有了典型的行为需求;如果采用用例技术,表现为核心功能的《用例约束》已经定义;
明确架构设计的“驱动力”
除了需要关注《软件需求规格说明书》之外,必须关注其他很多因素,最终理性地确定真正的架构设计“驱动力”。