首页 > 其他分享 >【笔记-软考】系统架构评估

【笔记-软考】系统架构评估

时间:2024-07-20 08:57:53浏览次数:12  
标签:场景 架构 ATAM 软考 笔记 质量 评估 属性

Author:赵志乾
Date:2024-07-20
Declaration:All Right Reserved!!!

1. 概念

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

        敏感点:构件或构件间关系的特性,即实现质量目标时需要注意的点;

        权衡点:影响多个质量属性的特性,如改变加密级别可能会对安全性和性能产生影响;

        风险承担者(利益相关人):架构会涉及很多人的利益,这些人会对架构施加各种影响,以保证自己的目标能够实现;

        场景:为得出评估架构优劣所使用的质量目标,而采用的机制;其主要从风险承担者的角度对与系统的交互进行的简短描述;

2. 评估方法类别

        架构评估方法可分为3大类:基于检查表的方式、基于场景的方式和基于度量的方式;

  • 基于检查表的方式:关键是设计好检查表,充分利用相关人员的经验和知识,获得对架构的评价;缺点是依赖于评估人员的主观推断;
  • 基于场景的方式:通过分析架构对场景的支持程度,来判断架构对该场景所代表的质量需求的满足程度;
  • 基于度量的方式:建立于架构度量基础上,涉及3个基本活动,先建立质量属性与度量之间的映射关系,然后从架构文档中获取度量信息,最后依据映射原则分析推导出系统的质量属性;

3. 主流评估方法

        基于场景分析法(SAAM):将质量属性具化为场景,从场景出发验证基本的架构假设和原则,其主要用于评估系统的固有风险;评估过程包括5个步骤:场景开发、架构描述、单个场景评估、场景交互和总体评估。

        架构权衡分析法(ATAM):在考虑多个质量属性相互影响的情况下,从原则上提供一种理解架构能力的方法,从而在多个质量属性之间折中;其在SAAM基础之上发展而来,主要用于在系统开发之前,对性能、安全性、可修改性等质量属性进行评价与折中;

        成本效益分析法(CBAM):在ATAM基础之上发展而来,用于对架构设计决策的成本和收益进行建模,是优化决策的一种手段;其核心思想就是架构策略会影响系统的质量属性,反过来这些质量属性又会为系统的利益相关者带来收益,CBAM协助利益相关者根据其投资回报选择架构策略;故CBAM在ATAM结束时开始,其使用了ATAM评估的结果;核心流程包括8个步骤:整理场景、对场景进行求精、确定场景的权值、分配效用、形成策略-场景-响应级别的对应关系、使用内插法确定期望的质量属性响应级别的效用、计算各架构策略的总收益、根据受成本限制影响的ROI选择架构策略;

标签:场景,架构,ATAM,软考,笔记,质量,评估,属性
From: https://blog.csdn.net/zhaoyaxuan001/article/details/140561609

相关文章

  • Datawhale AI 夏令营——电力需求挑战赛——Task3学习笔记
        这一期学习进阶的特征提取与分析,构建深度学习方案,拿下更高分数,冲冲冲。项目链接:‌​​‬​‍​​​‌​‬‬⁠​​⁠​⁠​​​​⁠​​‍​​‍​​‌⁠‬​⁠​⁠‍‌​‌​​‍​Task3:尝试使用深度学习方案-飞书云文档(feishu.cn)    前两期介绍了......
  • 在 Java 中,怎样设计一个可扩展且易于维护的微服务架构?
    在Java中设计一个可扩展且易于维护的微服务架构,可以考虑以下几个方面:模块化设计:将应用拆分为多个小的、独立的模块,每个模块负责处理特定的业务逻辑。每个模块可以独立开发、测试和部署,增加或替换模块时不会影响其他模块。使用轻量级的通信机制:微服务之间通过RESTfulAPI......
  • Linux学习笔记day01-shell命令、vim编辑器
    **1.Linux基础**   1)特点:免费、开源、安全可靠、可裁剪、可移植、将所有硬件都识别视为文件来处理   2)Linux与Windows文件存储区别:         windows:磁盘分区管理         Linux:从根目录出发3)基本目录:    bin:二进制文件  ......
  • ## 学习笔记day05-C语言基础:控制语句 if else、do while、for循环
    day05六、控制语句1.顺序语句​在模块内部没有分支、跳转、循环等条件时,程序按照顺序执行2.分支语句选择语句if...else单分支if(表达式){代码块;} step:先判断表达式是否为真(非0为真,0为假)如果为真,进入if选择结构,执......
  • 航电多校 2024 笔记
    01写点赛时不会的。难绷场,可能因为是01所以比较水,就只有最后一个能放省选模拟T1,以及一堆原神题。T5hdu7434博弈小马给出了一个可重小写字符集合 \(S\)。Alice初始时有空串 \(A\),Bob初始时有空串 \(B\)。两人轮流等概率取出集合 \(S\) 中的一个字符 \(c\),将它拼接......
  • lua 游戏架构 之 SceneLoad场景加载(二)
    设计上 定义`NormalSceneLoad`的类,该类继承自`BaseSceneLoad`。lua游戏架构之SceneLoad场景加载(一)-CSDN博客文章浏览阅读48次。设计一个为`BaseSceneLoad`class,用于处理场景加载的相关操作,主要作用是提供了一个通用的场景加载框架https://blog.csdn.net/heyuchang666/a......
  • Linux内存从0到1学习笔记(8.19 ION (一))
    一,ION简介ION(InterprocessCommunicationOverNon-ContiguousMemory)即“跨进程非连续内存通信”。是Android系统中负责内存管理的关键子系统,由Google在Android4.0ICS中引入,旨在解决当时Android设备中存在的多样化内存管理机制所带来的问题,也就是用归一化的思想来解......
  • JavaWeb学习笔记后端部分
    后端Web开发MavenApacheMaven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建。Maven作用依赖管理统一的项目结构项目构建仓库安装Maven<mirror><id>alimaven</id><name>aliyunmaven</name><url>h......
  • Mybatis学习笔记
    Mybatis入门Mybatis简介官网:https://mybatis.org/mybatis-3/zh/index.html入门程序查询user表中数据mapper接口packagecom.itheima.mapper;importcom.itheima.pojo.User;importorg.apache.ibatis.annotations.Mapper;importorg.apache.ibatis.annotations.Se......
  • 【读书笔记】余华 - 活着
    这本书我是通过微信读书听的有声书,我还粗略的把整个故事给孩子和母亲讲了一遍,给母亲讲的时候有些名字忘记了,还通过ChatGPT整理了一下主要是人物和事件。故事里让我印象最深的是村里开始搞土地改革,龙儿死到临头了才泄气,被五花大绑从福贵身边走过的时候哭着鼻子喊“福贵,我是替......