软件架构ATAM法之架构策略

117 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

atam:架构权衡法

1.表述(主要要把每个结构、角色讲清楚

2.调查与分析

3.测试

4.形成报告

主要阶段

1.关系和准备

参与人员为评估小组负责人和主要的项目决策者,根据要求进行,大概需要几周的时间。

2.评估

参与人员为评估小组和项目决策者,一般需要1周,还有2~3周的中断时间。包括以下步骤:ATAM方法的表述;商业动机的表述;构架的表述;对构架方法进行分类;生成质量属性效用树;分析构架方法。

3.评估(继续)

参与人员为评估小组、项目决策者以及涉众,一般需要2天。包括以下步骤:集体讨论并确定场景的优先级;分析构架方法;结果的表述。

4.后续工作

参与人员为评估小组和评估客户,一般需要一周。


架构策略:

主要问题:

1.面向需求:是否遗漏

2.面对变更:是否能面对需求变化、代码修改、故障排除的需求?

3.面对交互:能否清晰地设计和展示与其余模块、组件之间地交互?

4.面对技术风险:能否即使发现问题?能否及时验证产品地可用性?


主要策略:

1.将需求分割为:需求获取、需求定义、需求评估阶段;全面认识需求,并且将需求固定下来,防止后期需求蔓延

2.面对变更:鼓励解决问题,反对随意变更。架构的建设应当由主要需求决定,减少"小需求"对架构的频繁干扰

3.清晰交互:架构的覆盖面应当广;应当面对不同的开发人员展现不同的架构形式,如开发架构,运行架构,逻辑架构,物理架构和数据架构

4.尽早验证:MVP (最小化可实行产品,Minimum Viable Product)是 Eric Ries 在《精益创业》中关于「精益创业」(Lean Startup)的核心思想,意思是用最快、最简明的方式建立一个可用的产品原型,通过这个最简单的原型来测试产品是否符合市场预期,并通过不断的快速迭代来修正产品,最终适应市场需求。  

简单来说,就是在做一个新产品的时候,不要一下子做一个「尽善尽美」的产品,而是先花费最小的代价做一个「可用」的产品原型,去验证这个产品是否有价值、是否可行,再通过迭代来完善细节。

Image.webp