QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:122030
用户头像

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

关注

评论

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

鸿蒙OS开发秘籍:打造优雅的登录状态管理系统

王二蛋和他的张大花

鸿蒙

鸿蒙OS开发秘籍:打造优雅的登录状态管理系统

王二蛋和他的张大花

鸿蒙

苹果电脑可以玩英雄联盟吗?macbook能玩lol?

阿拉灯神丁

游戏 #Mac 苹果电脑 CrossOver Mac下载 CrossOver 24

实时渲染什么意思?实时渲染与一般渲染的区别

3DCAT实时渲染

云渲染 实时渲染 实时云渲染 3D实时渲染

Apache Calcite System Catalog 实现探究

端小强

Calcite

AI Market全球首创“反向期权”——引领智能金融新时代,重塑全球交易格局!

科技热闻

物资管理系统(源码+文档+部署+讲解)

深圳亥时科技

IBM 发布 2024 年第三季度业绩报告:软件业务加速增长,毛利润和现金流增势强劲

财见

大势所趋,数字化转型是企业活下去的必选项

禅道项目管理

团队管理 数字化转型 企业管理 项目管理软件 数字化转型咨询

HarmonyOS NEXT开发实战:打造高效上拉刷新与下拉加载组件(一)空页面的设计与实现

王二蛋和他的张大花

鸿蒙

酒店管理系统(源码+文档+部署+讲解)

深圳亥时科技

降本60% ,阿里云 EMR StarRocks 全新发布存算分离版本

阿里云大数据AI技术

大数据 Serverless StarRocks 弹性伸缩 EMR

RTE2024:聚焦Gen AI 时代的 RTE,声网发布 RTE+AI 能力全景图

ToB行业头条

鸿蒙OS高级技巧:打造个性化动态Swiper效果

王二蛋和他的张大花

鸿蒙

LLMs 入门实战系列大全:LLMs应用、领域大模型介绍、大模型常见面经汇总

汀丶人工智能

机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)

汀丶人工智能

人工智能

3DCAT亮相2024中国国际消费电子博览会,引领AI潮流

3DCAT实时渲染

AIGC解决方案 XR实时云渲染

taobao.item_get_desc API返回值中的促销信息与活动标签探究

代码忍者

API 接口 pinduoduo API

如何让Nginx更安全?

江南一点雨

HarmonyOS NEXT开发实战:实现高效下拉刷新与上拉加载组件(二)刷新核心逻辑与空页面集成

王二蛋和他的张大花

鸿蒙

鸿蒙OS模块化开发实战:独立路由与解耦策略

王二蛋和他的张大花

鸿蒙

《使用Gin框架构建分布式应用》阅读笔记:p212-p233

codists

golang gin 编程人 codists

CDN节点的作用及加速原理解析

HUODUNYUN

CDN CDN加速 CDN技术 CDN带宽

e&完成对PPF Telecom控股权的收购

财见

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