夜雨聆风学习资料网

ARTICLE · 1148594

论基于软件架构的评估方法及应用(范文)

论基于软件架构的评估方法及应用(范文)
软考范文 · 系统架构设计师2026.10.09

论基于软件架构的评估方法 · 及应用

以某商业银行电子渠道统一平台为例,完整还原 ATAM 架构评估的四阶段实战过程。

DOODLE

从质量属性到 ATAM,一篇可复用的架构评估范文

系统架构ATAM

ABSTRACT

论文摘要

本文主要结合笔者实践,以电子渠道统一平台系统为例,论述了对软件架构的设计,并且通过软件架构评估方法论证了软件架构的选型;首先分析了软件架构评估所普遍关注的质量属性,并阐述了其性能、可用性、可靠性、可修改性、可扩展性和安全性的具体含义。整个系统采用了面向服务的架构设计方法,以微服务方式设计并部署;在架构设计完成之后,对 SA 评估采用了基于场景的评估方式中的体系结构权衡分析方法ATAM,并详细描述了其评估过程,整个电子渠道项目管理评估小组经过对项目的风险点、敏感点和权衡点的讨论后生成了质量效用树。目前系统已稳定运行四年多,从而验证了该项目采用 ATAM 架构评估保证了系统的顺利完成。

01

PART

项目背景

CONTEXT

2021 年 1 月,我公司中标了某商业银行的电子渠道统一平台的开发工作,项目中标金额约 600 万,我在该项目中承担技术经理的职务,主要负责整个系统的架构选型及设计工作。该项目的主要目的是通过整合银行中的各个对客渠道系统,提取各渠道系统(手机银行、网上银行、微信银行等)的共同点及不同点,对各渠道系统进行重构,并整合成电子渠道统一平台系统实现对外服务。

随着互联网的快速发展以及银行系统的数字化转型,银行业相关系统已逐渐从线下办理业务转移到线上业务;随着线上对客服务比重上升,以及因历史原因导致线上对客系统渠道的多样性,银行业务数字化转型要求对多渠道系统进行统一整合,实现对不同系统同一功能的统一管理及维护,提升对客业务系统功能的快速迭代;并且采用统一渠道管理,实现电子渠道系统对客户数据的统一管理及整合,减少因不同系统之间对客数据一致性维护问题,保证了数据的一致性及完整性。

02

PART

总体架构与技术选型

ARCHITECTURE

针对电子渠道的业务功能划分及整合,系统在整体架构上采用了面向服务的微服务架构设计。因各渠道前端可视化的差异性,采用前后端分离设计开发,前端统一采用 VUE 进行开发,后端使用 Spring Cloud 微服务架构中间件进行快速定制开发。

根据整合的业务功能,前期对微服务进行拆分设计,最终拆分成客户中心、认证中心、授权中心、限额中心、消息中心、产品中心、合约中心、内联中心、外联中心、批量中心等多个子模块,各子模块对业务进行了各自的封装处理,子模块之间通过注册及服务发现组件 Nacos 进行各自封装接口的服务发布及部署;虽然通过微服务架构设计满足了系统的业务需求,并且考虑了后期客流量的增加,保证了各服务的动态可伸缩性;为验证架构设计的合理性及识别潜在风险,需要采用专业的结构化评估方法进行软件架构评估。

03

PART

评估方法的选择

METHOD

常用的架构评估方法有基于问卷调查、基于场景和基于度量三种方式。基于问卷的方式易受专家个人经验影响,结论分散;基于度量的方式虽客观,但需要精确的模型和数据支撑,在项目早期难以实施。基于场景的评估方法如 ATAM,通过结构化的场景挖掘和集体讨论,能有效地将系统干系人的隐性需求转化为明确的架构决策依据,非常适合本项目在架构设计阶段进行风险识别和权衡分析。因此,我们最终选择了 ATAM 方法。

评估方法
优势
局限
问卷调查式
实施快、成本低
易受专家经验影响,结论分散
基于度量
客观、可量化
依赖精确模型与数据,早期难实施
基于场景(ATAM)
结构化挖掘,形成决策依据
需干系人深度参与

04

PART

ATAM 评估的实施

PROCESS

在使用 ATAM 进行架构评估时,我们根据项目需要成立了项目评估小组,主要成员包括评估小组负责人、项目决策者、技术经理、客户、开发人员、测试人员、系统部署人员等项目干系人。我在这里的身份是项目评估小组负责人和技术经理。架构的评估经历了描述和介绍阶段、调查和分析阶段、测试阶段和报告阶段四个阶段,下面我分别从这四个阶段进行介绍。

阶段一描述和介绍

在描述和介绍阶段,由于部分评估人员对 ATAM 并不太熟悉,我首先介绍了 ATAM 的方法——它是一种基于场景的软件架构评估方法,对系统的多个质量属性基于场景进行评估,并检查各自的非功能性需求是否满足要求。客户也阐述了系统的目的和后续规划:项目是为统一整合当前银行的各对客电子渠道系统,并为后续满足客户体量快速提升的需要,客户关注系统的业务功能平移覆盖,并关注后续系统的可扩展性及性能。最后作为技术经理的我描述了系统将采用微服务架构,讲解了各子模块的功能,初步决定系统服务端采用基于当前完善的 Spring Cloud 微服务组件进行开发。

阶段二调查和分析

在调查和分析阶段,不同的需求方基于各自考虑提出各自的要求。其中客户方提出系统的可靠性和伸缩性要求——特别是针对客户根据活动访问系统的高峰期,系统发生故障必须在 5 分钟内进行服务扩容,此优先级最高。系统部署人员指出,系统需要实现自动编排脚本、实现服务的一键部署和快速扩容;开发人员则为了保证开发效率及系统可修改性,提出可以进行并行开发。经过总结,效用树顶层为可用性,客户要求故障恢复时间小于 5 分钟并具备自动扩容机制,由此我们获得了系统的质量效用树。

阶段三测试

在测试阶段,经过评估小组集体讨论,确定了不同场景的优先级:系统的可用性最高、性能其次,可修改性及安全性优先级同等重要。在保证可用性方面,采用了主备双活双中心技术——在双中心系统中设置心跳探活机制,当一中心不可用时,另一中心可接管全部对客流量;每个中心采用多服务节点部署,一个节点出现问题不会影响整体服务的可用。在保证安全性方面,系统采用了前后端报文加密技术,使用国密安全算法对客户敏感信息及交易密码通过加密机进行加密,保证了客户信息的安全性。

阶段四报告

最后形成了评估报告,经过对架构的评估,确定了系统的风险点、敏感点、权衡点和非风险点。其中敏感点指出认证服务响应延迟会影响全局登录;权衡点表明加密强度提升导致性能损耗,需平衡安全与效率。评估结果以文档的形式呈现,内容包括架构分析方法文档、架构的不同场景及各自的优先级、质量效用树、风险效用树、风险点决策、非风险点决策及每次的评估会议记录。

权衡点:安全强度与运行效率需要显性化的取舍 架构评估的价值,正在于把这类隐性权衡摆到台面上,让决策有据可依。

05

PART

项目成效

OUTCOME

该项目开发工作于 2022 年 5 月完工。系统上线后,在满足业务需求功能的基础上,可实现对各个线上渠道系统功能需求的快速迭代开发;在技术要求上,实现了系统的可用性、可靠性、可修改性、可扩展性和安全性;通过一键部署实现服务的快速扩容,满足了系统的性能要求。系统自上线对客以来,保证了银行线上对客业务的办理,并通过银行业务验收,业务指标达成预期。

CLOSING

架构评估的价值,在于把质量属性转化为可验证、可权衡的架构决策。

我是 violetdream,专注于系统架构与软考干货分享。

如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见

赞
在看
收藏

THANKS FOR READING

相关学习资料