软考基础知识:系统架构评估

目录

前言

系统架构评估

系统架构评估中的重要概念

1、敏 感 点 (Sensitivity Point) 和权衡点 (Tradeoff Point)

2、风 险 承 担 者 (Stakeholders) 或者称为利益相关人

3、场 景 (scenarios)

系统架构评估方法

1、SAAM 方 法

2、ATAM 方法

3、CBAM方法

4、其他评估方法

总结

最后


前言

在当今快速变化的技术环境中,系统架构的评估成为了确保软件解决方案能够适应未来需求和挑战的关键步骤。一个优秀的系统架构不仅需要满足当前的功能需求,还要具备足够的灵活性和可扩展性,以适应不断变化的业务和技术环境。本文旨在深入探讨系统架构评估的重要性,介绍评估过程中的关键要素,以及如何通过这一过程提升软件系统的质量和性能。

在本文中,我们将一起探索系统架构评估的多个维度,包括但不限于性能、安全性、可维护性和可扩展性。我们将分析不同的评估方法和工具,以及它们如何帮助我们识别架构中的潜在问题和改进点。此外,我们还将讨论如何将评估结果转化为实际的改进措施,以确保系统架构能够支持长期的业务目标和技术战略。

系统架构评估

系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。它利用数学或逻辑分析技术,针对系统的一致性、正确性、质量属性、规划结果等不同方面,提供描述性、预测性和指令性的分析结果。

系统架构评估的方法通常可以分为3类:基于调查问卷或检查表的方式、基于场景的方式和基于度量的方式。

(1)基于调查问卷或检查表的方法。该方法的关键是要设计好问卷或检查表,充分利用系统相关人员的经验和知识,获得对架构的评估。该方法的缺点是在很大程度上依赖于评估人员的主观推断。

(2)基于场景的评估方法。基于场景的方式由卡耐基梅隆大学软件工程研究所首先提出并应用在架构权衡分析法 (Architecture Tradeoff Analysis Method,ATAM) 和软件架构分析方法(Software ArchitectureAnalysis Method,SAAM) 中。它是通过分析软件架构对场景(也就是对系统的使用或修改活动)的支持程度,从而判断该架构对这一场景所代表的质量需求的满足程度。

(3)基于度量的评估方法。它是建立在软件架构度量的基础上的,涉及3个基本活动,首先需要建立质量属性和度量之间的映射原则,然后从软件架构文档中获取度量信息,最后根据映射原则分析推导出系统的质量属性。

本文首先介绍系统架构评估中的重要概念,然后对 S A A M 、 A T A M和 C B A M 等 3 种 重 要 的架构评估方法进行详细论述,并简要说明其他评估方法。

系统架构评估中的重要概念

1、敏 感 点 (Sensitivity Point) 和权衡点 (Tradeoff Point)

敏感点和权衡点是关键的架构决策。敏感点是一个或多个构件(和/或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。

2、风 险 承 担 者 (Stakeholders) 或者称为利益相关人

系统的架构涉及很多人的利益,这些人都对架构施加各种影响,以保证自己的目标能够实现。表8-7列出在架构评估中可能涉及的一些风险承担者及其所关心的问题。

3、场 景 (scenarios)

在进行架构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该架构优劣的标准。为得出这些目标而采用的机制称之为场景。场景是从风险承担者的角度对与系统的交互的简短描述。在架构评估中,一般采用刺激 (Stimulus)、 环 境(Environment) 和响应 (Response) 三方面来对场景进行描述。

系统架构评估方法

1、SAAM 方 法

SAAM(Scenarios-based Architecture Analysis Method) 是卡耐基梅隆大学软件工程研究所(SEI at CMU) 的 K a z m a n 等人于1983年提出的一种非功能质量属性的架构分析方法,是最早形成文档并得到广泛使用的软件架构分析方法。最初它用于比较不同软件体系的架构,以分析系统架构的可修改性,后来实践证明它也可用于其他质量属性如可移植性、可扩充性等,最终发展成了评估一个系统架构的通用方法。

2、ATAM 方法

架构权衡分析方法 (Architecture Tradeoff Analysis Method,ATAM) 是 在 S A A M的基础上发展起来的,主要针对性能、实用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中。

3、CBAM方法

在大型复杂系统的构建过程中,经济性通常是需要考虑的首要因素。因此,需要从经济角度建立成本、收益、风险和进度等方面软件的“经济”模型。成本效益分析法 (the Cost Benefit Analysis Method,CBAM) 是在A T A M 上构建,用来对架构设计决策的成本和收益进行建模,是优化此类决策的一种手段。

C B A M 的思想就是架构策略影响系统的质量属性,反过来这些质量属性又会为系统的项目干系人带来一些收益(称为“效用”), C B A M协助项目干系人根据其投资回报 (Return On Investment,ROI) 选择架构策略。 C B A M在 A T A M 结束时开始,它实际上使用了 A T A M评估的结果。

4、其他评估方法

上面所介绍的 S A A M 、 A T A M和 C B A M方法是架构评估中被公认的3种方法。

当然,针对架构评估的研究刚刚起步,方法众多,下面再简要介绍一些其他评估方法,详细算法描述请参考相关资料。

1、SAEM方法

2、SAABNet方法

3、SACMM方法

4、SASAM方法

5、ALRRA方 法

6、AHP方法

7、COSMIC+UML方法

总结

通过本文的探讨,我们了解到系统架构评估是一个复杂但至关重要的过程,它涉及到对现有系统架构的全面审查和分析。评估不仅帮助我们识别和解决当前的问题,还为未来的技术发展和业务需求提供了指导。我们强调了性能、安全性、可维护性和可扩展性等关键评估维度的重要性,并探讨了多种评估方法和工具的应用。

总结来说,系统架构评估是一个持续的过程,它要求我们不断地回顾和更新我们的架构策略,以确保它们能够适应不断变化的环境。通过实施有效的评估策略,我们可以提高软件系统的质量和性能,降低长期维护成本,并最终实现更高效、更可靠的技术解决方案。随着技术的不断进步,系统架构评估将继续作为软件开发生命周期中不可或缺的一部分,帮助我们构建更加健壮和灵活的系统。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

猜你喜欢

转载自blog.csdn.net/u012573563/article/details/142261173