一线架构师实践指南(一)

这本书大致可以分为三部分,第一部分Pre -architecture阶段,第二部分Conceptual Architecture阶段,第三部分Refined Architrcture阶段。因为课程需求之前读过了第三部分,最近有时间回过头将整本书阅读一遍,收获颇多。

第一部分书中给的是Pre -architecture阶段,百度翻译说Pre -architecture是前体系结构,书中也说工作目标包括理解需求,建立需求大局观,确定架构设计方向等。所以个人感觉第一部分更像是写需求和架构的关联关系,理解用户的需求才能建立最合适的架构,而一个合适的架构可以更好的承载用户的需求。理解用户的需求一方面需要经验和时间的不断积累,另一方面也需要不断的沟通,通过合理的方法去构建。

书中明确指出唯经验论和目标不变论是不可取的。需求是一个不断改变不断递进的过程,只用经验无法跟上时代的脚步,因为经验都是对过去的总结,只能借鉴不能全抄。这就好比土房和砖房,不断的区更新自己知识储备,才能更好的搭建合适的架构;用户的需求不会一成不变,要保留一定的扩展性应对突发事情,架构的类型也不尽相同,同样的系统有人更注重性能而有人更注重界面。这两种需求建立的架构就会有明显的区别。

书中提到了ADMEMS矩阵,也就是需求层次-需求方面矩阵,这个矩阵可以很好的划分不同层次的需求。ADMEMS矩阵中约束占了很大的比例,也说明约束条件对需求结构化有着很大的影响,也限定了架构设计的空间,明确了界限。

软件需求是功能需求,质量属性和约束的集合。通过约束划定界限,就需要在里面设计,该怎么做,突出什么,就引出了关键质量和关键功能。对于关键功能的确定,需要遵循5大原则:分类合适+必要扩充;考虑多方涉众;检查性思维;识别矛盾+划定优先级;严格程度符合领域和规模特点。对于关键功能的确定,也有四条规则:核心功能;必做功能;高风险功能和独特功能。此外,关键功能可以有一个也可以有多个,这需要在系统中灵活划分。

原文地址:https://www.cnblogs.com/Excusezuo/p/13098867.html