写点什么

Felix Bachmann 谈软件架构评估

  • 2009-05-30
  • 本文字数:937 字

    阅读完需:约 3 分钟

软件架构评估是企业架构(EA)中重要的一部分。软件工程研究所( SEI )的 Felix Bachmann 译者注:Felix 是 Jolt 大奖图书《软件架构编档》的作者)最近谈到了如何有效地评估软件架构、识别企业应用中的风险。在 SEI 架构(SATURN)会议上,Felix 主持了一个有关架构评估原则的讨论会。他还论述了SEI 的架构权衡分析法( ATAM )框架是如何利用这些原则来助力架构评估工作的。

Felix 提到,架构评估原则可分为三组:“度量”、“架构理解”和“窍门”。软件架构评估中的度量部分包括从利益相关方那里提取组织需求,并用精确和可度量的方式将其转化为质量属性。他谈论了该类别中的四条原则:

  • 质量属性决定架构。
  • 业务目标决定质量属性需求。
  • 业务目标意味着对利益相关方社区来说,什么是重要的。
  • 质量属性需求需要用好的度量方法指定。

了解架构师使用的方法、功能分布及薄弱环节也很重要。架构理解中有三个原则:

  • 要想理解架构,你必须要了解其质量属性。
  • 最重要的质量属性需求决定了系统中需要重点分析的部分。
  • 架构中的功能分布造就了质量属性。

软件架构评估的“窍门”部分包括:

  • “有罪推定”,也就是指,不要盲目相信提供过来的任何东西,要寻找令人信服的证据。提供不出证据会导致风险。
  • 正确的分析不允许假设。只有事实才是有价值的。
  • 被评估的组织必须承认评估结果。

使用坚持所有原则的架构评估方法基本上可以保证成功。Felix 表示,不利用任何原则的架构评估方法极有可能会导致一场灾难。他认为应该根据上下文应用这些原则,因为遵守某些原则要比遵守其它的更为重要。方法越能很好地利用原则,成功的几率就越大。

ATAM 架构利用了架构评估里的这些原则。ATAM 的主要部分包括分为四组的九个步骤,这四组是:

  • 描述,其中包括通过描述交流信息。
  • 调查和分析,涉及评估相对于架构方法的关键质量属性需求。
  • 测试,包括检查迄今为止相对于所有利益相关方需求的结果。
  • 报告,包括表述 ATAM 的结果。

下面是 ATAM 评估过程的步骤

  • 描述 ATAM。
  • 描述业务驱动者。
  • 描述架构。
  • 识别架构方法。
  • 生成质量属性效用树。
  • 分析架构方法。
  • 头脑风暴、给场景划分优先级。
  • 分析架构方法。
  • 描述结果。

Felix 在讨论的最后总结道,软件架构师应该仔细查看架构评估的结果,以不断提高评估过程。

查看英文原文: Felix Bachmann on Evaluating Software Architecture

2009-05-30 19:122072
用户头像

发布了 151 篇内容, 共 64.9 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

荣耀开发者大会 2023·一张图读懂服务分发分论坛

荣耀开发者服务平台

行业趋势 开发者大会 智慧生活 honor 分发

荣耀开发者大会2023 · 一张图读懂智慧人机交互分论坛

荣耀开发者服务平台

AI 交互 开发者大会 人机协作 honor

ThreadLocal真的会造成内存泄漏吗?

不在线第一只蜗牛

内存泄露 ThreadLocal

大白话70个你必须知道的AI重要概念(一)

FN0

人工智能 AI AIGC

大白话70个你必须知道的AI重要概念(二)

FN0

人工智能 AI AIGC

2023 年公链发展报告

Footprint Analytics

区块链 以太坊 加密货币 公链 Layer 2

鼓掌!阿里技术官亲荐“架构修炼宝典”,从基础到源码,一站到底

Reische

MySQL 面试 Java 面试 大厂 程序员‘

掌握这本算法宝典,轻松拿下字节跳动offer

Reische

算法 Java' 程序员‘ 算法、

软件测试/测试开发/测试管理 | Page Object模式:为什么它是Web自动化测试的必备工具

测吧(北京)科技有限公司

测试

实现高效人力资源管理的完美搭档,聚道云与薪人薪事合作,助力企业数字化转型

聚道云软件连接器

案例分享

2024杭州国际智慧城市,人工智能,安防展览会(杭州智博会)

AIOTE智博会

智博会 物联网展 人工智能展 智慧城市展 杭州智博会

腾讯云ES AI增强搜索:十分钟快速入门自然语言处理(NLP)与向量检索

腾讯云大数据

ES

Phaser性能测试加强版

FunTester

火了!外国网红为 KubeBlocks 打 CALL:K8s 中统一管理多种数据库用 KB 就够了!

小猿姐

数据库 云计算 Kubernetes

阿里巴巴重磅推出:Java进阶必备宝典,从理论到实战,一册在手

Reische

MySQL tomcat Netty 「Java 25周年」 JVM’

23年通天塔搭建页前端性能优化阶段分享

京东科技开发者

SD-WAN解决跨国公司海外工厂网络安全问题

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

大白话70个你必须知道的AI重要概念(三)

FN0

人工智能 AI AIGC

荣耀开发者大会 2023·一张图读懂应用分发分论坛

荣耀开发者服务平台

开发者大会 honor 分发与计算 应用市场

每日一题:LeetCode-179. 最大数

Geek_4z9ami

Go 面试 LeetCode 排序 排序算法

软件测试开发丨PageObject模式:为什么是Web自动化测试必备工具

测试人

软件测试

阿里巴巴内部热传:Java突击宝典,程序员必备升职加薪指南

Reische

MySQL sql 大厂 Java' redis'

KubeBlocks v0.8.0 发布!Component API 让数据库引擎组装更简单!

小猿姐

数据库 云计算 Kubernetes

「繁花」绽放,「她力量」引领AI新革命

极客天地

Felix Bachmann谈软件架构评估_架构_Srini Penchikala_InfoQ精选文章