软考高级架构 - 8.1 - 系统质量属性与架构评估 - 超详细讲解+精简总结

第8章 系统质量属性与架构评估

软件系统属性包括功能属性和质量属性,而软件架构重点关注质量属性。

8.1 软件系统质量属性

8.1.1 概述

软件系统的质量反映了其与需求的一致性,即:软件系统的质量高低取决于++它是否能满足用户提出的需求,并在功能和性能上达到预期效果。++

根据《GB/T 16260.1》,软件质量的六个主要维度包括:

  1. 功能性:系统的适合性、准确性、互操作性、安全性等。
  2. 可靠性:容错性、易恢复性、成熟性。
  3. 易用性:易学性、易理解性、易操作性。
  4. 效率:资源特性和时间特性。
  5. 维护性:可测试性、可修改性、稳定性、易分析性。
  6. 可移植性:适应性、易安装性、一致性、可替换性。

开发期质量属性

软件在开发阶段的各方面特性,整个过程就是:

设计容易被理解 -> 灵活增加新功能 -> 代码可复用 -> 易测试 -> 代码易修订 -> 方便移植

  • 易理解性:设计被开发人员理解。
  • 可扩展性 :软件能否轻松++增加新功能++。
  • 可重用性:系统中某些部分被复用。
  • 可测试性:软件是否容易进行测试。
  • 可维护性:能否快速找到和修改代码。
  • 可移植性:软件是否能方便地从一种环境转移到另一种环境。

运行期质量属性

软件运行阶段所关注的质量属性

  • 性能:软件的运行速度、处理能力和反应时间。
  • 安全性:软件能保护合法用户的使用,阻止未授权的访问。
  • 可伸缩性 :用户和数据增加时,软件是否能保持良好的表现。
  • 互操作性 :软件能否方便地++与其他系统++进行数据交换或调用。
  • 可靠性 :软件长时间运行++无故障++的能力。
  • 可用性 :系统在特定时间内能++正常工作++的比例。
  • 鲁棒性 :软件在++异常情况下能否继续运行++(如操作错误或硬件故障)。

8.1.2 架构评估的质量属性

架构评估通过以下属性进行质量属性分析:

  1. 性能:系统响应时间和处理能力。
  2. 可靠性 :系统在异常条件下持续运行的能力,指标包括MTTF和MTBF 。
    • 容错:系统在错误发生时继续正确运行。
    • 健壮性:系统在异常情况下(错误输入、使用)保证稳定。
  3. 可用性:系统在一定时间内正常工作的比例。
  4. 安全性:保护合法用户并阻止未授权访问,细分为机密性、完整性、不可否认性和可控性。
  5. 可修改性 :系统快速有效修改的能力:包括可维护性 、可扩展性 、结构重组 、可移植性。
  6. 功能性:系统完成所需任务的能力。
  7. 可变性:系统架构经扩展或变更后适应新需求的能力。
  8. 互操作性:系统与其他系统间的数据和功能交互的能力。

8.1.3 质量属性场景描述

质量属性场景是帮助精确描述软件系统质量的方式。它包含以下6个部分:

  1. 刺激源 (Source):谁在行动,比如用户或系统。
  2. 刺激 (Stimulus):发生了什么,例如用户点击按钮、系统崩溃。
  3. 环境 (Environment):发生在什么情况下,比如系统运行正常或过载状态。
  4. 制品 (Artifact):作用在哪,可能是整个系统或某一模块、功能。
  5. 响应 (Response):系统怎么做,系统在接收到刺激后的具体反应。
  6. 响应度量 (Measurement):效果怎么样,系统的表现被如何度量,比如加载时间不超过2秒等。
相关推荐
真上帝的左手3 小时前
30. 技术专题-‌应用框架组件-分布式架构
分布式·架构·系统架构·分布式架构
吴建旭 智宅焕3 天前
智能家居B端客户路径诊断的系统架构设计与实现:背景采集、经验分层与交付确定性
系统架构·智能家居
长不大的杨瑞杰6 天前
ChatGPT 广告技术栈架构拆解:多轮意图、LLM 工具编排、ANN 召回与拍卖闭环
人工智能·chatgpt·系统架构·推荐系统·广告
艺杯羹6 天前
Windows原生软件锁设计:从暴力杀进程丢数据到零轮询事件驱动架构
windows·系统架构·开源·开源软件·内存管理·开源协议
jktantan7 天前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构
艺杯羹8 天前
MCP本地服务集成避坑:从Stdio管道僵死到双向JSON-RPC稳健通信
人工智能·python·ai·系统架构·大语言模型·ai编程·mcp
奇树谦9 天前
Qt Quick 图片加载与 GPU 纹理机制详解:QImage、QQuickTextureFactory、QSGTexture 与异步加载
开发语言·qt·系统架构
无心水9 天前
24、系统架构师论文写作专题 核心考点与学习笔记
笔记·学习·系统架构·架构师·安全架构·软考架构师·软考系统架构设计师
拆房老料10 天前
DeepSeek Super-agent 架构解析:从单任务 Agent 到持续运行的任务系统
人工智能·设计模式·系统架构
Jmyd012310 天前
文物3D数字化的技术选型指南:从WW/T 0115标准到落地工程,一次讲透采集、建档、管理与展示
3d·系统架构·博物馆·数字展厅·博物馆数字化