系统质量属性与架构评估

软件系统质量属性

(1)可用性。提升可用性的策略可以从以下几个方面考虑:
错误检测:心跳、Ping/Echo、异常。
错误恢复:表决、主动冗余、被动冗余、重新同步、内测、检查点/回滚。
错误避免:服务下线、事务、进程监控器。
(2)性能。提升性能的策略可以从以下几个方面考虑:
资源的需求:减少处理事件时对资源的占用、减少处理事件的数量、控制资源的使用。
资源管理:并发机制、增加资源。
资源仲裁:先来先服务、固定优先级、动态优先级、静态调度。
(3)可修改性。提升性能的策略可以从以下几个方面考虑:
局部化修改:高内聚低耦合、预测变更、使模块通用。
防止连锁反应:信息隐藏、维持现有接口、限制通信路径、使用中介。
推迟绑定时间:运行时注册、多态、配置文件。
(4)安全性。提升安全性的策略可以从以下几个方面考虑:
抵抗攻击:用户身份验证、用户授权、维护数据机密性与完整性、限制暴露、限制访问。
检测攻击:入侵检测系统。
从攻击中恢复:恢复状态、识别攻击者。

系统架构评估

系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策,通常分为:
(1)基于调查问卷或检查表的方法:缺点是很大程度上依赖于评估人员的主观判断。
(2)基于场景的评估方法:应用在架构权衡分析法(ATAM)和软件架构分析方法(SAAM)中。
(3)基于度量的评估方法:建立质量属性和度量之间的映射原则→在软件文档中获取度量信息→分析推导系统质量属性。

系统架构评估方法
软件架构分析方法(SAAM)

SAAM 的主要输入是问题描述、需求说明和架构描述。
SAAM 的分析过程主要包括场景开发、架构描述、单个场景评估、场景交互和总体评估

架构权衡分析法(ATAM)

主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。

ATAM 4 个主要的活动阶段

需求收集、架构视图描述、属性模型构造和分析、架构决策与折中

ATAM 整个评估过程强调以属性作为架构评估的核心概念。现代的 ATAM 方法采用效用树对质量属性进行分类和优先级排序。

ATAM 方法评估软件体系结构的四个阶段

演示、调查和分析、测试、报告

成本效益分析法(CBAM)
SAAM和ATAM的对比
项目SAAMATAM
特定目标通过程序文档验证体系结构,注重发现潜在问题,可用于评价单系统或进行多系统比较确定在多个质量属性之间折中的必要性
评估技术场景技术场景技术、启发式分析方法
质量属性可修改性是主要分析内容性能、可用性、安全性和可修改性
风险承担者所有参与者场景和需求收集过程中的相关人
架构描述围绕功能、结构和分配描述五个基本结构及其映射关系
方法活动场景开发、体系结构描述、单个场景评估、场景交互和总体评估需求收集、架构视图描述、属性模型构造和分析、折中

1.识别风险、非风险、敏感点和权衡点是进行软件架构评估的重要过程。“改变业务数据编码方式会对系统的性能和安全性产生影响”是对 (1) 的描述,“假设用户请求的频率为每秒 1 个,业务处理时间小于 30 毫秒,则将请求响应时间设定为 1 秒钟是可以接受的”是对 (2) 的描述。
(1)A.风险点 B.非风险 C.敏感点 D.权衡点
(2)A.风险点 B.非风险 C.敏感点 D.权衡点
解析:

  • 系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
  • 敏感点是为了实现某种特定质量属性,一个或多个系统组件所具有的特性。
  • 权衡点是影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值