• ATAM软件架构评估方法


    一. 为什么要评估?

    1. ⼤型项⽬经常迟交和超支
    2. 项目进行过程中有时候要重新设计
    3. 能够帮助尽早发现问题,尽早发现的解决成本是很低的
    4. 传播架构设计的最佳实践
    5. 提供优秀项目技术管理

    二. 如何评估?

    1. 发现风险点
    2. 识别出错误的架构选择
    3. 保证解决了质量属性

    有很多成型的方法来解决这个问题,大部分都是基于场景进行的。

    可以帮助涉众(stakeholder)去尽早的问出合适的问题来:

    1. 找到风险, 找到对所需质量属性有消极影响的架构决定
    2. 找到敏感点: 对于特定质量属性敏感的架构决定(小改动、造成很大影响)
    3. 找到权衡点(tradeoffs): 影响多个质量属性的架构决定

    三. ATAM过程:

    Phase 0 :参与者和准备阶段

    参与者: 评估小组长和关键的项⽬决策者

    输⼊:架构文档

    输出: 评估计划: 谁、什么时间、提供什么样子的评估报告

    Phase 1:评估(1)

    参与者:评估小组和项目设计决策者(肯定包括了项目经理和架构师)

    输出: 架构简要展示、业务目标、质量属性和相关场景、效用树、风险和非风险点、敏感点、权衡点

    Step 1: 介绍ATAM方法(评估小组长)

    Step 2: 介绍商业动机(项目经理或系统客户)

    Step 3: 介绍架构(首席架构师)

    Step 4:识别使用的架构方法(评估小组)

    Step 5:生成质量属性效用树(评估小组和项目设计决策者) 决定性的一步

    Step 6:分析架构方法(评估小组) 确保方法是正确的 获得风险点、非风险点、敏感点和权衡点列表

    Phase 2:评估(2)

    参与者: 评估小组、项目设计决策者和架构涉众

    输出: 从涉众群体获得的一个优先级场景列表、风险主题和商业动机

    Step 1: 介绍ATAM方法和之前的结果(评估小组长) 重复以确保涉众也知道方法并回顾分享之前2~6步的结果

    Step 7:头脑风暴、场景划分优先级(评估小组问涉众) 与质量属性效用树进行比对

    Step 8:分析架构方法(评估小组、架构师) 使用新产生的优先级靠前的场景、架构师解释与之相关的架构决定

    Step 9:展示结果(评估小组)

    Phase 3:后续工作 Follow up

    参与者:评估小组和主要涉众

    输出:最终的评估报告

    ATAM 输出

    架构简要介绍

    业务目标

    以质量属性场景表示的带优先级的质量属性需求

    效用树

    一系列风险点和非风险点

    风险主题

    架构决定与质量需求之间的映射

    敏感点、权衡点

    最终评估报告

  • 相关阅读:
    c#设计模式(1)——单例模式
    Javascript变量
    悲观锁和乐观锁
    NestJs 环境 配置
    分布式查询
    Git hub 忽略 文件 、文件夹
    ES6 基础 二
    ES6 基础 一
    invalid credential, access_token is invalid or not latest hint(微信 上传图片返回 error)
    nodejs 入门一(环境及插件)
  • 原文地址:https://www.cnblogs.com/Neptunejiang/p/12287337.html
Copyright © 2020-2023  润新知