2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

AI助力制造工艺|利用机器学习实现泡沫浮选工艺优化

Altair RapidMiner

AI 数据分析 altair 制造业数字化 RapidMiner

云桌面和云电脑有何区别?云桌面有什么作用

青椒云云电脑

云桌面 云电脑

Java学习—反射机制:解锁代码的无限可能

不在线第一只蜗牛

Java

2024财富游学团再度起航,百度爱采购与联想官网企业购全力支持中小企业数智化发展

科技热闻

云桌面和云电脑有何区别?云桌面有什么作用

青椒云云电脑

云桌面 云电脑

【JIT/极态云】技术文档--反馈提醒

武汉万云网络科技有限公司

前端 低代码 `后端

鸿蒙 next 写入考试时间日程到系统日历

flfljh

鸿蒙

鸿蒙Next简易版本通用头部导航栏开发

flfljh

鸿蒙

桌面云服务:未来办公新时代的探索

青椒云云电脑

桌面云 云桌面

交易所开发:构建安全、高效、可靠的数字资产交易平台

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

TON链上的代币开发与小程序开发:模式与要求

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

云教室解决方案提供商-青椒云

青椒云云电脑

云教室 云教室解决方案

华为账号一键登录

flfljh

鸿蒙

告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐

OpenAnolis小助手

c++ 操作系统 模块 技术干货

探讨AI 应用推广和“车用场景建设”提案,龙蜥社区召开两大委员会月度会议

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥社区技术委员会 龙蜥社区运营委员会

英特尔携手龙蜥,共筑未来操作系统

OpenAnolis小助手

操作系统 龙蜥社区 龙蜥操作系统大会

破解知识管理难题,天润融通大模型如何提高知识库管理效率?

天润融通

Flutter开发鸿蒙,终端一体化

flfljh

鸿蒙

09.外观模式设计思想

杨充

鸿蒙 next 实现对象数组的界面更新

flfljh

鸿蒙

何以应用启动加速

陈一之

Java Serverless 应用快速启动

共筑安全防线,龙蜥社区「操作系统及软件供应链安全MeetUp」邀您报名

OpenAnolis小助手

安全 操作系统 龙蜥社区 龙蜥社区安全联盟 龙蜥社区走进系列

第二届全国高校软件测试开发教育峰会在韩山师范学院隆重举办!

霍格沃兹测试开发学社

鸿蒙 Flutter plugin开发详细解释

flfljh

鸿蒙

AI 容器建设项目正式启动!龙蜥社区加速 AI 原生 OS 技术创新

OpenAnolis小助手

开源 AI 操作系统 龙蜥社区

云桌面解决方案哪家好?青椒云云桌面有什么优势

青椒云云电脑

云桌面 云桌面解决方案

鸿蒙 next 实现隐藏顶部 StatusBar

flfljh

鸿蒙

APP 服务卡片获取 APP 内数据

flfljh

鸿蒙

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