什么是Pre-architecture
Pre-architecture就是架构设计的最前期阶段,其工作目标包括:理解需求、建立需求大局观确定架构设计方向等。
Pre-architecture阶段虽然是铺垫性质的阶段,但对架构实践而言意义重大。
这个阶段能够解决以下这个这些问题:
分析业务需求和约束背后的衍生需求
发现遗漏需求
确定关键功能
确定关键质量
权衡属性之间的矛盾关系
在pre-architecture的阶段,能够帮助架构师在其构建的过程中,挖掘出业务,用户,开发的3个需求层次中中,和功能,质量,约束的3类需求中的更加与深层次的需求,这个过程对于架构实践的意义是重大的,因此在pre-architecture阶段,书中对其形象的比喻就是砍柴之前的磨刀,这有助于在架构构建的过程中让架构师清晰其需求的脉络,更加了解清晰深层次的需求,如此一来可以增加在架构成功的概率。
Refined Architecture是相对于Conceptual Architecture而言的,即细化架构。ADMEMS主要通过5视图法对细化架构阶段进行实践。
5视图法的主要思想为:错落有致地将众多技术关注点划分“群落”,“群落”内高聚合,“群落”间松耦合。应用5视图方法,便于架构师设计思维的“有序”展开。不同视图源于不同的思维角度及不同的技术关注点,即:
逻辑架构:关注如何划分子系统、如何定义接口、如何运用质疑驱动的思维套路等;
物理架构:关注硬件选择与物理拓扑、软件到硬件的映射关系、方案优化;
运行架构:关注确定引入哪些控制流、确定每条控制流的任务、处理相关问题、进一步考虑控制流之间的同步关系等;
开发架构:关注将“逻辑职责”映射为“程序单元”、开发技术选型、“程序单元”间的关系等;
数据架构:关键是确定数据分布方案。数据分布的6种策略:独立、集中、分区、复制、子集、重组.
非功能目标的设计环节。非功能目标的设计是以场景技术为核心手段、以目标-场景-决策表为思维工具致力于支撑非功能目标的理性设计过程。经过非功能目标的设计,将使得架构设计更有针对性、可操作性更强、避免过度设计,同时便于系统升级时参考。
目标-场景-决策表方法,可以帮助架构师快速建议非功能目标的设计思维,更理性地应对架构师普遍感到棘手的非功能支持问题,提升自己的核心竞争力。