质量属性知识概要
作者 kagula
初版日期 2020-5-31
最后更新日期
概要
本文是对全国计算机技术与软件专业技术资格(水平)考试系统架构师考试指定用书中的软件质量属性及质量属性实现策略的整理与摘要.
正文
质量属性
软件质量是软件架构的重要关注点, 下图列出了软件常见质量属性, 容易混淆的属性用红色标记了出来.
性能是指系统的响应能力,即要经过多久时间才能对某个事件做出响应, 或则在某段时间内系统所能处理事件的个数.
可用性系统能够正常运行的时间比例
可靠性是指软件系统在意外或错误面前, 在意外或错误使用的情况下维持软件系统功能特性的基本能力
健壮性是指在处理或环境中, 系统能够承受压力或变更的能力
安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力.
可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力
可变性是指体系结构经扩充或变更成为新体系结构的能力
易用性是衡量用户使用一个软件产品完成指定任务的难易程度.
可测试性是指软件发现故障并隔离,定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计,测试执行的能力.
功能性是系统完成所期望工作的能力
互操作性是指系统与外界或系统与系统之间的相互作用能力.
质量属性及其对策
性能
针对性能属性采用的架构设计策略
可用
针对可用性采用的架构设计策略
安全
可修改性
可靠性
可靠针是从故障状态中恢复的能力.
故障的处理包括识别故障, 定位故障, 故障隔离和系统容错, 它们决定了系统的可靠性.
根据不同的角度故障可分为应用软件故障(如内存非法访问, 数值越界,异常,超时等), 操作系统故障(越权, 死锁和资源枯竭等), 硬件故障(如CPU, 存储器, 定时器和外设等), 也可分为瞬态故障和永久故障, 鉴别瞬态故障还是永久故障的算法称为滤波算法.
常用的滤波算法有:
门限算法
递减算法
递增算法
周期滤波算法
容错算法有:
N+1备份
N个模块之一的任何一个模块发生故障后, 将故障模块的任务迁移到备份模块运行.
冷备
温备
热备
参考资料
[1]<<系统架构设计师2009至2016年试题分析与解答>>
全国计算机专业技术资格考试办公室 主编 2018年五月第一版