写点什么

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

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

关注

评论

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

一文参透:缓存一致性策略以及雪崩、穿透等问题

Java 程序员 后端

WeTest六周年|质领未来,向新而行

WeTest

《Linux一学就会》第三章:文件系统的管理方法和xfs文件系统备份恢复

侠盗安全

Linux linux运维 云计算架构师

两道面试题,带你解析Java类加载机制

Java 程序员 后端

为了加快速度,Redis都做了哪些“变态”设计

Java 程序员 后端

万字长文!从底层开始带你了解并发编程,彻底帮你搞懂Java锁!

Java 程序员 后端

阿里 P8大牛的 Maven学习笔记,在 GitHub上仅一天就获赞 上万

Java maven 编程 程序员

三面微软,四面雅虎,外企面经复盘总结,那些你不知道的面试技巧

Java 程序员 后端

为了加快速度,Redis都做了哪些“变态”设计(1)

Java 程序员 后端

一文快速搞懂Redis的几种数据类型

Java 程序员 后端

一文看懂 Redis 的持久化

Java 程序员 后端

三分钟:极速体验JAVA版目标检测(YOLO4)

Java 程序员 后端

移动千牛开放体验治理实践与防治方案

阿里巴巴终端技术

ios android 用户体验 舆情分析 移动端

一文带你快速搞懂动态字符串SDS,面试不再懵逼

Java 程序员 后端

一文彻底帮你打通SpringAOP的任督二脉,大厂高薪指日可待,建议收藏!!!

Java 程序员 后端

一文看懂mybatis底层运行原理解析

Java 程序员 后端

东汉末年,他们却把「服务雪崩」玩到了极致(干货

Java 程序员 后端

架构实战营 模块四作业

felix

架构实战营

不是吧!你还不会在微服务中如何设计一个权限授权服务?

Java 程序员 后端

个性化推荐系统设计(3

Java 程序员 后端

两年JAVA程序员的面试总结

Java 程序员 后端

三年开发,头铁面试阿里4面技术+1面HR,终获offer

Java 程序员 后端

三种常见的限流算法

Java 程序员 后端

不要再本地启动项目调试了,试SpringBoot远程调试你会发现新大陆!

Java 程序员 后端

不错,这么好的东西不白嫖也太可惜了!阿里内部首发“Springboot成长笔记”

Java 程序员 后端

不就是Redis吗?竟让我一个月拿了8个offer,其中两家都是一线大厂

Java 程序员 后端

中高级开发面试必问的Redis面试题,看这篇就够了!

Java 程序员 后端

学会了axios封装,世界都是你的

CRMEB

七年阿里升级路,熬到P7,想给正在成长的Java程序员一点建议

Java 程序员 后端

两年CRUD,没料到我这渣二本,备战两个月面试阿里,居然侥幸拿下P6的offer

Java高级开发

上线GitHub七天后就标星87

Java 程序员 后端

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