3. 理解质量属性

文章目录

      • [3.1. 功能性](#3.1. 功能性)

质量从来都不是偶然的;它始终是高度意图,真诚努力,明智的方向和熟练的执行力的结果。

---William A. Foster

许多因素决定了系统架构中必须提供的质量(qualities)。这些品质比功能更重要,功能是系统能力、服务和行为的基本陈述。尽管功能和其他质量密切相关,但正如您将看到的,功能通常在开发计划中占据主导地位。然而,这种偏好是短视的。系统经常被重新设计,不是因为它们在功能上存在缺陷(替换通常在功能上是相同的),而是因为它们难以维护、移植或扩展;或者它们太慢了;或者它们已被黑客入侵。在 [第2章][ch02] 中,我们说架构是软件创建过程中可以解决质量要求的首个地方。系统功能到软件结构的映射决定了架构对质量的支持。在 [第4章][ch04] 到 [第14章][ch14] 中,我们讨论了架构设计决策如何支持各种质量。在 [第 20 章][ch20] 中,我们展示了如何将所有驱动因素(包括质量属性决策)集成到一个连贯的设计中。

我们一直松散地使用"质量属性"这一术语,但现在是时候更仔细地定义它了。质量属性 (QA) 是可度量或可测试的系统属性,用于指示系统,在除了系统基本功能之外,满足利益相关者需求的程度。您可以将质量属性视为:在沿着利益相关者感兴趣的某个维度衡量产品的"效用"。

在本章中,我们的重点是介绍以下内容:

  • 如何表达我们希望我们的架构所展示的品质
  • 如何通过架构工具实现品质
  • 如何确定与质量有关的设计决策

本章为讨论 [第4章][ch04] 到 [第14章][ch14] 中各个质量属性的提供了背景。

3.1. 功能性

相关推荐
郝学胜-神的一滴18 小时前
墨韵技术|CMake:现代项目构建的「行云流水」之道
c++·程序人生·软件工程·软件构建·cmake
停止重构1 天前
我大概也是软件工程的专家
低代码·软件工程·规范·开源框架·自研开发语言
Duran.L2 天前
从限购到畅通:GLM-5.1 Coding Plan接入攻略
人工智能·ai·软件工程·个人开发·ai编程
workflower4 天前
深度学习是通用型人工智能的基础
人工智能·深度学习·设计模式·软件工程·软件构建·制造
搜佛说4 天前
01-第1章-概述与快速开始
物联网·golang·开源·软件工程·边缘计算·嵌入式实时数据库
无籽西瓜a4 天前
【西瓜带你学设计模式 | 第十五期 - 策略模式】策略模式 —— 算法封装与动态替换实现、优缺点与适用场景
java·后端·设计模式·软件工程·策略模式
老兵发新帖4 天前
软件开发国内常用镜像源配置及回退方法(MAC版)
macos·软件工程
老兵发新帖5 天前
ast-grep
软件工程
无籽西瓜a5 天前
【西瓜带你学设计模式 | 第十四期 - 享元模式】享元模式 —— 内外状态分离与对象共享实现、优缺点与适用场景
java·设计模式·软件工程·享元模式
小书房5 天前
软件架构发展史之MVC/MVP/MVVM/MVI
mvc·mvvm·mvp·软件架构·mvi·android软件架构