美文网首页
软件系统架构评估方法ATAM介绍

软件系统架构评估方法ATAM介绍

作者: CoryLiu | 来源:发表于2017-10-28 15:38 被阅读765次

越来越多的人认识到,软件系统架构的选择对于软件系统开发的成败至关重要,那么问题来了,软件架构各种风格各种方法,光分层架构方法就很多,又是CS、又是BS,现在还有AS,又是两层、三层甚至多层的,还有各种混合,自己开发中的这个软件系统,如何评估哪个软件系统架构方法更合适呢?

CMU/SEI(卡梅隆大学软件工程协会)提出了一套架构权衡分析方法,Architachture Tradeoff Analysis Method,简称ATAM。

传统软件架构评估方法按评估形式,一般分为三种,。一是调查问卷法,即直接请对系统架构了解的专家学者对系统架构做出主观评估。二是度量法,即将软件系统架构完全量化,通过一些客观的数字指标来评估架构的好坏。三是场景评估法,即挑选出重要的系统使用场景(一系列有序的使用或修改系统的步骤,即系统涉众如何使用系统的 ),根据不同场景中各架构的表现分别作评估,ATAM属于场景评估法,主客观程度介于前面两种方法之间。

ATAM具体如何做呢?

搞清楚这个问题之前,我们先来了解三个概念。

一、软件质量属性

软件质量属性说的是我们评估软件架构,到底评估它的什么特性,一般有如下几个,

性能:指系统的响应能力,即系统执行某个特定事务所需要的时间。

可靠性:即在意外或错误使用的情况下,维持软件系统的功能特性的能力。一般包括容错和健壮性两个方面的能力。

可用性:是系统能够正常运行的时间比例,和可靠性相比,可用性除了体现出错概率外,还体现出错后恢复正常的速度上。

安全性:是指阻止非授权用户使用的企图或拒绝服务的能力。又可分为机密性、完整性、不可否认性及可控性。

可修改性:是指能够快速地以较高的性价比对系统进行变更的能力。包括可维护性,可扩展性,结构重组和可移植性。

二、敏感点和权衡点

敏感点和权衡点都是在软件架构中所做的关键决策,不同的是,敏感点决策只影响一个软件质量属性,而权衡点则同时影响多个质量属性,有时不同属性间还会互相冲突,比如选择不同的加密方式同时影响性能和安全性,所以需要权衡。

三、风险承担者

风险承担者是指那些关心软件架构,个人利益受软件架构好坏影响的人,在项目管理领域也称为项目干系人或涉众。这照些人整体上又可以分为系统的生产者和系统的消费者。生产者包括架构师,开发人员,维护人员,测试人员等;消费者包括客户,最终用户等。

ATAM通过理解体系结构方法来分析体系结构,评估过程分9个步骤

1- 描述ATAM方法

即评估小组负责人向参加会议的风险承担者介绍ATAM评估方法,让大家清楚接下来要做什么,每个人的角色和任务。

2- 描述业务动机

项目经理从业务角度介绍系统的概况,一般包括业务环境,背景,业务约束条件,技术约束,质量属性需求等内容。

3- 描述体系结构

首席设计师或设计小组对体系结构进行详略适当的介绍。包括技术约束,与本统交互的其他系统,用以满足质量属性要求的体系结构方法(功能,模块,进程,硬件)。

4- 确定体系结构方法

由设计师确定体系结构方法,由分析小组捕获,但不进行分析。

5- 生成质量属性效用树

评估小组,设计小组,管理人员和客户代表一起确定系统最重要的质量属性目标,并对这些目标设置优先级和细化。

6- 分析体系结构方法

7- 讨论分级场景

8- 分析体系结构方法

9- 描述评估结果

相关文章

  • 软件系统架构评估方法SAAM 介绍

    上篇文章我们介绍了了基于场景的软件系统架构评估方法ATAM(架构权衡分析方法 ),大家可能已经注意到,这种方法好是...

  • 软件系统架构评估方法ATAM介绍

    越来越多的人认识到,软件系统架构的选择对于软件系统开发的成败至关重要,那么问题来了,软件架构各种风格各种方法,光分...

  • 软考架构师-论文提纲总结

    论软件架构评估 【提纲总结】 摘要:项目背景,点题,使用了ATAM等 开始:系统使用的技术以及系统整体架构介绍 入...

  • 体系结构权衡分析方法-ATAM

    任何一种软件系统的软件架构都是它的体系结构,架构决定了系统成功的程度。因此,找到适当的方法验证任何软件架构以确保整...

  • 为什么要敏捷?

    传统的软件开发都是基于瀑布模型,按照(1)问题评估(2)明确和分析软件需求(3)设计系统架构(4)开发代码(5)部...

  • 系统架构设计师学习笔记 第九章 软件架构设计

    第九章 软件架构设计 9.1 软件架构概述 9.1.1 软件架构的定义 定义1:软件或计算机系统的软件架构是该系统...

  • 软考系统架构设计师知识点集锦

    软考系统架构设计师知识点 软件系统工具 软件系统工具的种类繁多,很难有统一的分类方法。通常可以按软件过程活动将软件...

  • 系统分析与设计作业8

    1、描述软件架构与框架之间的区别与联系 软件架构:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象...

  • 2020-11-19 浅谈分布式全闪存储自动化测试平台设计

    摘要 本文简单介绍了分布式全闪的基本架构,根据对存储架构的理解和软件自动化测试系统理论的研究,指出软件自动化系统需...

  • 什么是架构、框架、设计模式

    1、架构 架构指一个软件系统的结构。一个软件系统或者系统中的某一个模块,都会涉及到架构,架构清晰表示软件结构良好。...

网友评论

      本文标题:软件系统架构评估方法ATAM介绍

      本文链接:https://www.haomeiwen.com/subject/cpnjpxtx.html