1.what—ABSD方法论—功能分解、架构风格、软件模板、递归
2.why—什么是架构的真正驱动—业务 质量 功能需求
3.how—具体实现—需求 设计 文档化 复审 实现 演化
(Architecture-Based Software Design,ABSD),ABSD方法为产生软件系统的概念体系结构提供基础,它描述了系统的主要设计元素及其关系。
什么是架构的真正驱动?
需求驱动着我们,需求分为业务功能需求(最核心) 质量属性、非功能需求 企业限制,架构策略
ABSD方法论的四大基石:
功能分解:使用已有的基于模块的内聚和耦合技术
所有的功能不可能放在一个模块中,所以用一个模块承载一堆类似的需求,模块设计的多大就需要考虑内聚跟耦合。使用设计原则solid
原则
架构风格:选择架构风格来实现质量和业务需求。
软件模板:描述软件元素在共享服务和底层构造的基础上,如何进行交互
递归:清晰定义迭代的每一个步骤
复杂的系统—>多个子系统—>每个子系统分成多个模块—>由类组成
ABSD方法的具体步骤:
架构需求—>架构设计—>架构文档化—>架构复审—>架构实现—>架构演化
第一步:获取需求--->生成类图--->对类进行分组--->把类打包成构件--->需求评审(需求的功能是否实现,质量需求和非功能的需求)
第二步:设计过程
提出架构模型--->映射构件--->分析构件相互作用--->产生架构--->设计评审
第三步:实现过程
复审后的文档化架构--->分析与设计--->构件实现--->构件组装--->系统测试--->架构演进
第四步:演化过程
需求变化归类--->架构演化计划--->构件变动--->更新构件的相互作用--->架构组装和测试--->技术评审