【软考速通笔记】系统架构设计师⑧——系统质量属性与架构评估

文章目录

一、前言

笔记目录大纲请查阅:【软考速通笔记】系统架构设计师------导读

二、软件系统质量属性

2.1 开发期质量属性

  • 易理解性:指软件系统的源代码、设计文档和架构的清晰程度,以及开发人员理解这些元素的容易程度。
  • 可扩展性:软件因适应新需求或需求变化而增加新功能的能力,也称为灵活性。
  • 可重用性:指重用软件系统或某一部分的难易程度。
  • 可测试性:对软件测试以证明其满足需求规范的难易程度。
  • 可维护性:当需要修改缺陷、增加功能、提高质量属性时,识别修改点并实施修改的难易程度。
  • 可移植性:将软件系统从一个运行环境转移到另一个不同的运行环境的难易程度。

2.2 运行期质量属性

  • 性能:软件系统及时提供相应服务的能力,如速度、吞吐量和容量等的要求。
  • 安全性:指软件系统同时兼顾向合法用户提供服务,以及阻止非授权使用的能力。
  • 可伸缩性:指当用户数和数据量增加时,软件系统维持高服务质量的能力。
  • 互操作性:指本软件系统与其他系统交换数据和相互调用服务的难易程度。
  • 可靠性:软件系统在一定的时间内持续无故障运行的能力。
  • 可用性:指系统在一定时间内正常工作的时间所占的比例。
  • 鲁棒性:指软件系统在非正常情况下仍能正常运行的能力,也称为健壮性或容错性。

三、质量属性场景描述

  • 刺激源:生成某个刺激的实体(用户操作、环境变化、其他系统或设备的信号等)。
  • 刺激:刺激源产生的具体事件或条件。
  • 环境:刺激在某些条件内发生。
  • 制品:某个制品被刺激,可能是整个系统,也可能是系统的一部分。
  • 响应:刺激达到后采取的行动。
  • 响应度量:是用来量化和评估响应的指标。

四、系统架构评估方法

4.1 方法分类

  • 基于调查问卷或检查表的方法:依赖于设计良好的问卷或检查表,通过收集系统相关人员的经验和知识,对架构进行评估。
  • 基于场景的评估方法:架构权衡分析法(ATAM)和软件架构分析方法(SAAM)。
  • 基于度量的评估方法:这种方法建立在软件架构度量的基础上,涉及三个基本活动:首先建立质量属性和度量之间的映射原则,然后从软件架构文档中获取度量信息,最后根据映射原则分析推导出系统的质量属性。

场景:确定架构质量评估目标的交互机制,一般采用刺激、环境和影响三方面来描述。

4.2 软件架构分析方法

软件架构分析方法(Software Architecture Analysis Method,简称SAAM)是最早形成文档的软件架构分析方法。

  • 特点:把任何形式的质量属性都具体化为场景。
  • 输入:问题描述、需求说明和架构描述。
  • 过程:场景开发、架构描述、单个场景评估、场景交互评估、总体评估。

4.3 架构权衡分析法

架构权衡分析法(Architecture Tradeoff Analysis Method,ATAM)是评价软件架构的一种综合且全面的方法。

  • 主要:对性能、可用性、安全性和可修改性等质量属性进行评估和折中。
  • 核心:属性作为架构评估的核心。
  • 传统ATAM:需求收集、架构视图描述、属性模型构造和分析、架构决策与这种。
  • 现代ATAM :
    • 演示阶段 :
      • 由评估小组负责人(如架构师)介绍ATAM方法。
      • 由项目决策者(如产品经理)从业务角度介绍开发系统的商业动机。
      • 架构师介绍系统整体架构,包括体系结构、领域划分、层次结构等。
    • 调查和分析阶段 :
      • 利益相关者提出相关需求,涉及质量场景。
      • 根据这些场景生成质量属性效用树,并进行彻底调查和分析。
      • 找出处理质量属性的架构方法,分析架构的风险点、敏感点、权衡点。
    • 测试阶段 :
      • 确定场景优先级,根据系统特点对质量属性进行优先级排序。
      • 具体阐述针对每个质量属性系统采取的方案。
      • 进行仿真、建模或基于现有系统的实验评估,量化每个方案在不同质量属性上的表现。
    • 报告阶段 :
      • 记录评估过程和结果,包括质量属性效用树、风险点、敏感点、权衡点和每次评估会议纪要。
      • 提出最终的架构决策和改进建议。

4.4 成本效益分析法

成本效益分析法(Cost Benefit Analysis Method, CBAM)

  • 整理场景
  • 对场景进行求精
  • 确定场景的优先级
  • 分配效用
  • 架构策略涉及哪些质量属性及响应级别
  • 使用内插法确定"期望的"质量属性响应级别的效用
  • 计算各架构策略的总收益
  • 根据受成本限制影响的ROI选择架构策略

若觉得文章对你有帮助,随手『点赞』、『收藏』、『关注』,也是对我的支持。

相关推荐
天远API33 分钟前
零信任架构实战:基于天远公安二要素政务版构建自动化不动产交易与契税核算实名核实网关
人工智能·架构·自动化·php
预知同行1 小时前
深入解析 MoE 混合专家模型:从 Router 到 All-to-All 的架构全景与生产实践
后端·架构
Linye1 小时前
换个会话就忘了方案?我把项目约定写成了一个文件
架构
KylinLab2 小时前
四条主张五条禁令:人不在环内的组织级契约
架构
奔跑的架构师2 小时前
[A-51]ARMv9/v8-SCMI系统架构
linux·arm开发·架构·系统架构·arm
糖果豆豆2 小时前
让 AI 自查三遍,它只会把错的说得更像对的——检查的人和被检查的,是同一个
算法·架构
木子n12 小时前
软件架构设计实战-架构21.调度架构的抖动账单:抢占、协作与事件循环各自收多少延迟税
架构·autosar·性能工程·架构决策
在西安放羊的牛油果2 小时前
WebP 图片优化方案详解
运维·前端·架构
成都蜀味缘餐饮技术培训学校2 小时前
油炸串串技术培训实战指南,核心食材选购与预处理标准
数据仓库·经验分享·笔记·课程设计·微信公众平台
摇滚侠2 小时前
《大模型应用开发实践:基于 Spring AI+DeepSeek 实现》第 11 章 大模型技术概览 阅读笔记 1
人工智能·笔记·spring