3. 理解质量属性

文章目录

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

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

---William A. Foster

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

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

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

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

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

3.1. 功能性

相关推荐
钝挫力PROGRAMER4 小时前
软件工程结构型设计模式
设计模式·软件工程
技术与健康1 天前
什么是ADSE?逻辑驱动的软件工程新范式
软件工程
雾江流1 天前
HDx播放器1.0.184 | 支持多种格式和4K/8K高清视频播放,内置推特~脸书下载器
音视频·软件工程
会周易的程序员1 天前
openPLC REST API 参考(英译中)
c++·物联网·架构·软件工程·iot
Andy Dennis1 天前
一文漫谈面向对象编程中的SOLID编程
java·软件工程·设计规范
PPPPPaPeR.1 天前
Linux进程概念
linux·软件工程
数据爬坡ing2 天前
数据结构之字符串KMP
java·数据结构·机器学习·软件工程
宇钶宇夕2 天前
CoDeSys入门实战一起学习(二十五):梯形图(LD)触点与线圈指令精讲及电机启停案例
运维·学习·自动化·软件工程
Dola_Zou2 天前
如何用一套加密狗方案打通 Windows、Linux 与 macOS等,零成本实现跨平台交付?
linux·安全·macos·自动化·软件工程·软件加密
紫金桥软件2 天前
紫金桥跨平台监控组态软件:工控核心产品的国产超越之路
系统安全·软件工程·scada·组态软件·国产工业软件·监控组态软件