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

文章目录

  • 一、前言
  • 二、软件系统质量属性
    • 2.1 开发期质量属性
    • 2.2 运行期质量属性
  • 三、质量属性场景描述
  • 四、系统架构评估方法
    • 4.1 方法分类
    • 4.2 软件架构分析方法
    • 4.3 架构权衡分析法
    • 4.4 成本效益分析法

一、前言

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

二、软件系统质量属性

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选择架构策略

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/62339.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何寻找适合的HTTP代理IP资源?

一、怎么找代理IP资源? 在选择代理IP资源的时候,很多小伙伴往往将可用率作为首要的参考指标。事实上,市面上的住宅IP或拨号VPS代理IP资源,其可用率普遍在95%以上,因此IP可用率并不是唯一的评判标准 其实更应该关注的…

FCBP 认证考试要点摘要

理论知识 数据处理与分析:包括数据的收集、清洗、转换、存储等基础操作,以及数据分析方法,如描述性统计分析、相关性分析、数据挖掘算法等的理解和应用 。数据可视化:涉及图表类型的选择与应用,如柱状图、折线图、饼图…

初识C++:指针与引用的异同,inline关键字

大家好,我是小卡皮巴拉 文章目录 目录 一.指针和引用的关系 1.1 概念 1.2 相似点 1.3 不同点 二.inline关键字 2.1 概念 2.2 工作原理 2.3 使用场景 2.4 注意事项 三.nullptr 3.1 引入背景 3.2 语义和类型 3.3 使用场景 兄弟们共勉 !&…

【软考速通笔记】系统架构设计师⑤——软件工程基础知识

文章目录 一、前言二、基础知识点2.1 软件危机2.2 软件生命周期 三、软件过程模型(论文)3.1 瀑布模型3.2 原型模型3.3 螺旋模型3.4 敏捷模型3.5 软件统一过程模型3.6 软件成熟度模型3.7 软件成熟度模型集成 四、需求工程五、软件测试5.1 根据程序执行状态…

DICOM医学影像应用篇——伪彩色映射 在DICOM医学影像中的应用详解

目录 引言 伪彩色映射的概念 基本原理 查找表(Look-Up Table, LUT) 步骤 示例映射方案 实现伪彩色映射的C代码 代码详解 伪彩色处理效果展示 总结 扩展知识 LUT 的基本概念 LUT 在伪彩色映射中的应用 示例 引言 在医学影像处理中&#xff0c…

韦东山stm32hal库--定时器喂狗模型按键消抖原理+实操详细步骤

一.定时器按键消抖的原理: 按键消抖的原因: 当我们按下按键的后, 端口从高电平变成低电平, 理想的情况是, 按下, 只发生一次中断, 中断程序只记录一个数据. 但是我们使用的是金属弹片, 实际的情况就是如上图所示, 可能会发生多次中断,难道我们要记录3/4次数据吗? 答:按键按下…

8、运算符

1、运算符相关概念 运算符: 具有一定运算规则的符号 运算符分类: 按照功能分: 赋值运算符 算术运算符 关系运算符 逻辑运算符 其他运算符 位运算符 按照操作数分: 单目运算符 双目运算符 三目运算符 表达式 具有一定意义的式子&…

【Linux网络编程】第二弹---Socket编程入门指南:从IP、端口号到传输层协议及编程接口全解析

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、Socket 编程预备 1.1、理解源 IP 和目的 IP 1.2、认识端口号 1.2.1、端口号范围划分 1.2.2、理解 &q…

算法训练营day08(字符串01:反转字符串,反转字符串2,替换数字,反转字符串里的单词,右旋转字符串)

第四章 字符串part01今日任务 ● 344.反转字符串 ● 541. 反转字符串II ● 卡码网:54.替换数字 ● 151.翻转字符串里的单词 ● 卡码网:55.右旋转字符串详细布置 344.反转字符串 建议: 本题是字符串基础题目,就是考察 reverse 函数…

Java中三种常用布局方式

引言 在Java Swing和JavaFX中,布局管理器(Layout Managers)用于控制组件(如按钮、文本框等)在容器(如窗口、面板等)内的位置和大小。下面介绍Java Swing中常用的三种布局方式: 1. Fl…

如何借助AI生成PPT,让创作轻松又高效

PPT是现代职场中不可或缺的表达工具,但同时也可能是令人抓狂的时间杀手。几页幻灯片的制作,常常需要花费数小时调整字体、配色与排版。AI的飞速发展为我们带来了革新——AI生成PPT的技术不仅让制作流程大大简化,还重新定义了效率与创意的关系…

Leetcode(快慢指针习题思路总结,持续更新。。。)

这种模式,有一个非常出门的名字,叫龟兔赛跑。这种算法的两个指针的在数组上(或是链表上,序列上)的移动速度不一样。快的一个指针肯定会追上慢的一个(可以想象成跑道上面跑得快的人套圈跑得慢的人&#xff0…

基于时间维度优化“开源 AI 智能名片 S2B2C 商城小程序”运营策略:提升触达与转化效能

摘要: 随着数字化商业生态的蓬勃发展,“开源 AI 智能名片 S2B2C 商城小程序”融合前沿技术与创新商业模式,为企业营销与业务拓展带来新机遇。本文聚焦于用户时间场景维度,深入剖析如何依据不同时段用户行为特征,精准适…

【消息序列】详解(8):探秘物联网中设备广播服务

目录 一、概述 1.1. 定义与特点 1.2. 工作原理 1.3. 应用场景 1.4. 技术优势 二、截断寻呼(Truncated Page)流程 2.1. 截断寻呼的流程 2.2. 示例代码 2.3. 注意事项 三、无连接外围广播过程 3.1. 设备 A 启动无连接外围设备广播 3.2. 示例代…

二刷代码随想录第15天

513. 找树左下角的值 找到深度最大的点,遍历方式左边节点在右边节点前面,找到就返回,一定就是最左下角的值了 class Solution { public:int max_depth -1;int result 0;int findBottomLeftValue(TreeNode* root) {traversal(root, 0);ret…

vue3的prop

- 父组件需要传多个值给子组件 把值放对象&#xff0c;通过v-bind传整个对象 父组件 <script setup> import BlogPost from ./BlogPost.vue import { reactive } from vue; // 要传给子组件的所有值&#xff0c;用reactive包了该对象后&#xff0c;父组件的值变了&#…

Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成

Ubuntu下的DoxygenVScode实现C/C接口文档自动生成 1、 Doxygen简介 Doxygen 是一个由 C 编写的、开源的、跨平台的文档生成系统。最初主要用于生成 C 库的 API 文档&#xff0c;但目前又添加了对 C、C#、Java、Python、Fortran、PHP 等语言的支持。其从源代码中提取注释&…

uniapp强制修改radio-group内单选组件的状态方法

在uniapp开发中&#xff0c;需要在radio-group内部切换时做判断&#xff0c;提醒客户是否要变换radio的值&#xff0c;但是大家知道radio是单选组件&#xff0c;往往你点击后&#xff0c;是不能再修改状态的&#xff0c;就算你在点击后做判断&#xff0c;修改current的值&#…

Python plotly库介绍

一、引言 在数据可视化领域&#xff0c;Python提供了众多强大的库。其中&#xff0c;plotly是一个功能强大、交互式的可视化库&#xff0c;可以创建各种类型的图表&#xff0c;包括线图、散点图、柱状图、饼图、3D图表等。它不仅提供了美观的可视化效果&#xff0c;还支持交互式…

中国高铁、中兴通讯和中国 装备制造业的发展中能分别获得哪些启示

题目 【2015 年国考省级以上第四题】阅读“给定资料 4”,谈谈你从中国高铁、中兴通讯和中国装备制造业的发展中能分别获得哪些启示。(20 分) 要求&#xff1a;(1)紧扣材料,重点突出&#xff1b;(2)观点明确,表述有条理&#xff1b;(3)不超过 500 字。 材料 材料4&#xff1a…