抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

系统质量属性与架构评估

软件系统质量属性

软件系统质量属性是一个系统的可测量或可测试的属性,基于软件系统的生命周期,可将软件系统的质量属性划分为:

  • 开发期质量属性

    • 易理解性
    • 可扩展性
    • 可重用性
    • 可测试性
    • 可维护性
    • 可移植性
  • 运行期质量属性

    • 性能
    • 安全性
    • 可伸缩性
    • 互操作性
    • 可靠性
    • 可用性
    • 鲁棒性

关键质量属性及策略

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

质量属性场景描述

质量属性场景是一种面向特定质量属性的需求。包括:

  • 刺激源(Source):某个生成该刺激的实体(人、计算机系统等)
  • 刺激(Stimulus):当刺激到达系统时需要考虑的条件
  • 环境(Environment):指该刺激在某些条件内发生
  • 制品(Artifact):某个制品被激励,可能是整个系统,也可能是系统的一部分
  • 响应(Response):指在激励到达后所采取的行动
  • 响应度量(Measurement):当响应发生时,应当能够以某种方式对其进行度量

系统架构评估

系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策,通常分为:

  • 基于调查问卷或检查表的方法,缺点是主观性太强
  • 基于场景的评估方法:架构权衡分析法(ATAM)、软件架构分析方法(SAAM)
  • 基于质量属性的评估方法

系统架构评估的重要概念

  • 敏感点:一个或多个构件的特性
  • 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点
  • 风险承担者或利益相关人:影响体系结构或被体系结构影响的群体
  • 风险:某个存在问题的架构设计决策,可能会导致问题
  • 非风险:与风险相对,是良好的设计决策

系统架构评估方法

  1. 架构权衡分析法(ATAM
    在系统开发之前,针对性能可用性安全性可修改性等质量属性进行评价和折中,整个评估过程强调以属性作为架构评估的核心。

    ATAM尚处于研究阶段。

  2. 软件架构分析方法(SAAM
    一种非功能质量属性的架构分析方法,可修改性是主要分析内容。

    主要输入:问题描述、需求说明、架构描述

    分析过程:场景开发、架构描述、单个场景评估、场景交互、总体评估

    应用领域:空中交通管制系统、嵌入式音频系统、修正控制系统

  3. 成本效益分析法(CBAM

评论