3. 理解质量属性

文章目录

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

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

---William A. Foster

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

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

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

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

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

3.1. 功能性

相关推荐
张较瘦_2 天前
[论文阅读] AI + 软件工程 | 突破LLM代码生成瓶颈:编程知识图谱(PKG)让检索增强更精准
论文阅读·人工智能·软件工程
肖有米XTKF86462 天前
河北奢源水光商城系统制度开发
人工智能·软件工程·团队开发·csdn开发云
肖有米XTKF86462 天前
二二复制裂变小程序系统制度(双轨制公排模式)
人工智能·小程序·软件工程·团队开发
思茂信息2 天前
CST软件如何进行参数化扫描?
运维·开发语言·javascript·windows·ecmascript·软件工程·软件需求
互联网推荐官3 天前
上海物联网应用开发技术路径拆解:从协议选型到平台架构的工程实践
大数据·人工智能·软件工程
极创信息3 天前
信创领域五种主流CPU架构(X86 / ARM / RISC-V / MIPS / LoongArch)
java·arm开发·数据库·spring boot·mysql·软件工程·risc-v
Thanks_ks3 天前
软件系统中的熵增定律:技术债的形成与重构的艺术
软件工程·敏捷开发·架构设计·状态管理·代码重构·技术债·康威定律
互联网推荐官4 天前
上海小程序开发实践:技术选型、场景分化与平台能力的全面审视
人工智能·软件工程
a里啊里啊4 天前
软考-软件评测师:知识点整理(七)——软件工程
设计模式·软件工程·软考·uml·结构化开发·软件评测师·软件模型
互联网推荐官5 天前
上海小程序开发:从技术架构到工程落地的完整拆解
人工智能·物联网·软件工程