软件架构评估工具比较框架解读
1. 引言
近年来,随着大型复杂软件系统开发需求的增长,软件架构设计受到了越来越多的关注。软件架构设计是系统开发的早期关键阶段,确保满足所有需求有助于系统的更好实现。然而,保证软件架构的正确性并非易事。系统需求包含功能和非功能属性,非功能属性如可维护性、可用性、效率、可移植性和可靠性等。目前,对于如何评估软件架构质量尚无统一的标准方法,缺乏通用的分类法也限制了广泛应用的评估方法和工具的发展。
同时,有多种评估软件架构质量的方法,如 SAAM、ATAM、ARID、CBAM、FAAM 等。这些方法大多描述了一系列步骤来检查和评估架构设计的质量。此外,还有许多架构评估工具被提出,但多数工具存在局限性,要么仅适用于特定目的,要么虽提出通用方法但仅开发了部分功能用于演示。因此,选择适合架构设计过程的工具变得十分困难。
本文旨在提出一个比较框架,以揭示最相关的属性,帮助对不同的架构评估工具进行分类。
2. 质量属性与软件架构
软件架构的非功能需求在指定设计模式和部署架构方面起着关键作用。例如,网络连接不佳会影响集中式或分布式部署的选择,对弹性的要求可能决定对集群硬件的需求。为了实现这些架构决策并设计整个架构,架构师必须了解其最相关的质量属性,如可修改性、性能、安全性、可用性等。
质量属性和需求的两个最重要来源是利益相关者的需求和应用领域。不同类型的软件系统具有不同的相关质量属性,例如在数据挖掘和网络分析等复杂的长期应用中,可维护性可能是最重要的质量属性;而在实时复杂网络中,性能可能驱动大部分架构决策。
此外,质量参数之间往往存在矛盾,如安全性与可用性、性能与可维护性等。架构师需要
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



