2026UG_SysArch2-3_quality attributes 逐页逐句翻译

说明:这版按 PPT 页码整理,尽量采用“英文原句 / 中文翻译”的方式。少数图表页没有完整自然句,我按图中框、箭头、表格项逐项翻译。页脚、装饰图、页码不翻。

第 1 页 Requirements

  • Requirements
    • 需求

第 2 页 Functional Requirements

  • Functional Requirements
    • 功能需求

第 3 页 Functional Requirements

  • Functional requirements state what the system must do and address how the system provides value to the stakeholders.
    • 功能需求说明系统必须做什么,并说明系统如何为利益相关者提供价值。
  • Functional requirements means the behaviour of the system.
    • 功能需求指的是系统的行为。
  • Functionality is the ability of the system to do the work for which it was intended, e.g., enable students to enrol online.
    • 功能性是系统完成其预期工作的能力,例如允许学生在线选课。
  • Functionality may be achieved through the use of any number of possible structures.
    • 功能性可以通过许多不同的结构来实现。
  • Functionality is largely independent of structure, because it could exist as a single monolithic system without any internal structure.
    • 功能性在很大程度上独立于结构,因为某个功能也可以存在于一个没有明显内部结构的单体系统中。

第 4 页 Quality Requirements

  • Quality Requirements
    • 质量需求

第 5 页 Quality Requirements

  • Quality requirements are desirable characteristics of the overall system (aka. quality attributes) that system should provide on the top of its functional requirements.
    • 质量需求是整个系统应该具备的期望特征,也叫质量属性;它们是在功能需求之上系统还应该提供的特性。
  • Quality requirements are qualifications of the functional requirements or of the overall product.
    • 质量需求是对功能需求或整个产品的限定与修饰。
  • Software architecture constrains the allocation (mapping) of the functionality onto various structures if quality attributes are important.
    • 如果质量属性很重要,软件架构就会约束功能如何被分配或映射到不同结构上。

第 6 页 Constraints

  • Constraints
    • 约束

第 7 页 Constraints

  • A constraint is a design decision with ZERO degrees of freedom.
    • 约束是自由度为零的设计决策。
  • Constraints are pre-specified design decisions that have been already made.
    • 约束是已经预先指定、已经做出的设计决策。
  • Constraints are satisfied by accepting the design decision and reconciling it with other affected design decisions.
    • 满足约束的方法是接受这个设计决策,并把它与其他受影响的设计决策协调起来。

第 8 页 Requirements Overview

  • Requirements
    • 需求
  • Functional Requirements
    • 功能需求
  • Quality Requirements
    • 质量需求
  • Constraints
    • 约束

第 9 页 Quality Requirements

  • Quality Requirements
    • 质量需求

第 10 页 Non-functional Requirements

  • Non-functional requirements or architectural requirements are alternative terms used for quality attributes.
    • 非功能需求或架构需求,是质量属性的另一种说法。
  • It is not possible to get the functionality right and then try to accommodate non-functional requirements. (NO retro-fitting quality)
    • 不可能先把功能做好,然后再试图补上非功能需求。也就是说,质量不能靠事后补丁补出来。
  • Non-functional requirements must be taken into account during any design decision.
    • 非功能需求必须在任何设计决策中都被考虑进去。
  • There are two broad categories of non-functional requirements.
    • 非功能需求大体可以分为两类。
  • Observable (External) during execution: How well a system satisfies its behavioural requirements? e.g., performance, security, availability, usability etc.
    • 运行时可观察的外部质量:系统满足其行为需求的程度如何?例如性能、安全性、可用性、易用性等。
  • Not observable (Internal) during execution: How easily a system can be maintained, integrated, or tested? e.g., modifiability, portability, reusability, testability etc.
    • 运行时不可直接观察的内部质量:系统维护、集成或测试起来有多容易?例如可修改性、可移植性、可复用性、可测试性等。

第 11 页 Quality Attributes

  • Quality isn’t something that can be added to a software intensive system after development finishes.
    • 质量不是软件密集型系统开发完成后可以再加上去的东西。
  • Quality concerns need to be addressed during ALL phases of the software development.
    • 质量关注点需要在软件开发的所有阶段都被处理。
  • Business goals determine qualities that a system must possess.
    • 业务目标决定系统必须具备哪些质量。
  • Quality attributes are over and above system’s functionality, which is the basic statement of the system’s capabilities, services, and behaviours.
    • 质量属性是在系统功能性之上的特征;功能性描述的是系统能力、服务和行为的基本内容。

第 12 页 Quality Attributes

  • Functionality usually takes the front seat in the development plan.
    • 功能性通常在开发计划中占据最优先的位置。
  • However, systems are usually redesigned because they lacked desired level of quality, i.e. difficult to maintain, port, or scale.
    • 然而,系统经常需要重新设计,是因为它们缺少期望的质量水平,例如难以维护、移植或扩展。
  • Software architecture constrains the achievement of various quality attributes, e.g., performance, security, usability etc.
    • 软件架构会约束各种质量属性的实现,例如性能、安全性、易用性等。
  • That is why software architecture is considered the most appropriate level of addressing the quality issues.
    • 因此,软件架构被认为是处理质量问题最合适的层次。
  • No quality attribute is entirely dependent on design, nor is it dependent on implementation or deployment.
    • 没有任何质量属性完全依赖于设计,也没有任何质量属性完全依赖于实现或部署。

第 13 页 Specifying Quality Attributes

  • Quality attributes need to be made precise.
    • 质量属性需要被精确定义。
  • A system-specific quality attribute scenario is a quality-attribute-specific requirement.
    • 系统特定的质量属性场景,就是针对某个质量属性的具体需求。
  • A general quality attribute scenario is a system-independent, quality-attribute-specific requirement.
    • 通用质量属性场景,是与具体系统无关、但针对某个质量属性的需求模板。
  • General scenarios are useful for generating concrete, system-specific scenarios.
    • 通用场景有助于生成具体的、系统特定的场景。

第 14 页 General Scenarios

  • General Scenarios
    • 通用场景
  • Source of stimulus
    • 刺激源
  • Stimulus
    • 刺激
  • Artifact
    • 制品 / 被影响的系统部分
  • Environment
    • 环境
  • Response
    • 响应
  • Response measure
    • 响应度量

第 15 页 Modeling Quality Attribute Scenarios

  • Source of Stimulus: some entity that generated the stimulus.
    • 刺激源:产生刺激的某个实体。
  • Stimulus: a condition that needs to be considered when it arrives at a system.
    • 刺激:到达系统时需要被考虑的某种条件或事件。
  • Artifact: some artifact is stimulated. This may be the whole system or some pieces of it.
    • 制品:受到刺激的对象,可能是整个系统,也可能是系统的一部分。
  • Environment: the stimulus occurs within certain conditions.
    • 环境:刺激发生时所处的一组条件。
  • Response: the activity undertaken after the arrival of the stimulus.
    • 响应:刺激到达后系统采取的活动。
  • Response measure: when the response occurs, it should be measurable in some fashion.
    • 响应度量:响应发生后,应该能够以某种方式度量它。

第 16 页 Tactics

  • A tactic is a design decision that influences the control of a quality attribute response.
    • 战术是会影响质量属性响应控制方式的设计决策。
  • A collection of tactics is called an architectural strategy.
    • 一组战术的集合称为架构策略。
  • Tactics are the building blocks of design.
    • 战术是设计的构建块。

第 17 页 Quality Design Decisions

  • Allocation of responsibilities
    • 职责分配
  • Coordination model
    • 协调模型
  • Data model
    • 数据模型
  • Management of resources
    • 资源管理
  • Mapping among architecture elements
    • 架构元素之间的映射
  • Binding time decisions
    • 绑定时机决策
  • Choice of technology
    • 技术选择

第 18 页 Quality Attributes

  • Availability
    • 可用性
  • Interoperability
    • 互操作性
  • Modifiability
    • 可修改性
  • Performance
    • 性能
  • Security
    • 安全性
  • Testability
    • 可测试性
  • Usability
    • 易用性
  • X-ability
    • 其他“某某能力”质量属性,例如可扩展性、可移植性等。

第 19 页 Quality Attributes & Tactics

  • Quality Attributes & Tactics
    • 质量属性与架构战术

第 20 页 Availability

  • Availability
    • 可用性

第 21 页 Availability

  • Availability refers to a property of software that it is there and ready to carry out its task when you need it to be.
    • 可用性指软件在你需要它时就在那里,并且已经准备好执行任务这一性质。
  • This is the one quality attribute that every IT application has to have.
    • 这是每个 IT 应用都必须具备的质量属性。
  • It is expressed as the ratio of the available system time to total working time.
    • 可用性通常表示为系统可用时间与总工作时间的比值。

第 22 页 Availability

  • Availability = MTBF / (MTBF + MTTR)
    • 可用性 = 平均故障间隔时间 /(平均故障间隔时间 + 平均修复时间)。
  • MTBF: Mean Time Between Failures.
    • MTBF:平均故障间隔时间。
  • MTTR: Mean Time To Repair.
    • MTTR:平均修复时间。
  • The longer the MTBF and the shorter the MTTR, the higher the availability.
    • MTBF 越长、MTTR 越短,可用性就越高。

第 23 页 Availability

  • Availability is closely related to downtime.
    • 可用性与停机时间密切相关。
  • Higher availability means less allowed downtime.
    • 可用性越高,允许的停机时间越少。
  • Availability is often specified in terms of “number of nines”, such as 99%, 99.9%, 99.99%.
    • 可用性常用“几个 9”来表示,例如 99%、99.9%、99.99%。

第 24 页 Availability

  • Fault
    • 故障根因,例如程序缺陷、硬件损坏或错误配置。
  • Error
    • 错误状态,即系统内部已经出现不正确状态。
  • Failure
    • 失效,即系统对外没有提供预期服务。
  • A fault may lead to an error, and an error may lead to a failure.
    • fault 可能导致 error,error 可能进一步导致 failure。

第 25 页 Availability

  • Detect failure.
    • 检测故障。
  • Correct failure.
    • 修复故障。
  • Restart application.
    • 重启应用。
  • The total outage time includes the time spent in detection, correction, and restart.
    • 总不可用时间包括检测、修复和重启所花的时间。

第 26 页 Planning for Failure

  • Planning for Failure
    • 为失败做计划。
  • Systems fail.
    • 系统会失败。
  • Architecture should assume failures and provide mechanisms to detect, recover, and continue service.
    • 架构应该假设故障会发生,并提供检测、恢复和继续服务的机制。

第 27 页 FMECA

  • FMECA: Failure Mode, Effects, and Criticality Analysis.
    • FMECA:故障模式、影响和严重性分析。
  • Failure mode
    • 故障模式,即系统可能怎样失败。
  • Effects
    • 影响,即失败会造成什么后果。
  • Criticality
    • 严重性,即这个失败有多关键。

第 28 页 Availability General Scenario

  • Source of stimulus: internal or external to the system.
    • 刺激源:来自系统内部或系统外部。
  • Stimulus: fault, omission, crash, incorrect timing, incorrect response.
    • 刺激:故障、遗漏、崩溃、时序错误、错误响应。
  • Artifact: system’s processors, communication channels, persistent storage, processes.
    • 制品:系统处理器、通信通道、持久化存储、进程等。
  • Environment: normal operation, degraded mode, overloaded mode.
    • 环境:正常运行、降级模式、过载模式。
  • Response: prevent the fault from becoming a failure, detect the fault, recover from the fault.
    • 响应:阻止 fault 变成 failure,检测故障,并从故障中恢复。
  • Response measure: availability percentage, time to detect, time to repair, time interval in which system must be available.
    • 响应度量:可用性百分比、检测时间、修复时间、系统必须保持可用的时间区间。

第 29 页 Availability Sample Scenario

  • A server crashes during normal operation.
    • 一台服务器在正常运行期间崩溃。
  • The system detects the crash.
    • 系统检测到崩溃。
  • The system restarts or switches to a redundant server.
    • 系统重启该服务,或切换到冗余服务器。
  • The service is restored within the specified time.
    • 服务在规定时间内恢复。

第 30 页 Availability Tactics

  • Fault Detection
    • 故障检测。
  • Fault Recovery
    • 故障恢复。
  • Fault Prevention
    • 故障预防。
  • Availability tactics are intended to keep faults from becoming failures or to repair failures quickly.
    • 可用性战术的目的,是防止故障演变成失效,或者在失效发生后快速修复。

第 31 页 Fault Detection

  • Ping / Echo
    • ping / 回声检测,用请求和回应检查组件是否存活。
  • Monitor
    • 监控器,持续观察组件状态。
  • Heartbeat
    • 心跳机制,周期性发送存活信号。
  • Timestamp
    • 时间戳,用时间信息判断消息或状态是否过期。
  • Sanity checking
    • 合理性检查,判断输出或状态是否明显异常。
  • Voting
    • 投票,通过多个结果比较判断是否出错。
  • Exception
    • 异常,通过异常机制报告错误。

第 32 页 Fault Recovery

  • Active redundancy
    • 主动冗余:多个组件同时工作,主组件失败时可以立即继续。
  • Passive redundancy
    • 被动冗余:备用组件保持同步或半同步,主组件失败后接管。
  • Spare
    • 备用件:准备额外组件,在需要时启用。
  • Exception handling
    • 异常处理。
  • Rollback
    • 回滚到先前正确状态。
  • Retry
    • 重试失败操作。
  • Ignore faulty behavior
    • 忽略某些错误行为,继续运行。

第 33 页 Fault Recovery

  • Preparation and repair
    • 准备与修复。
  • Reconfiguration
    • 重新配置。
  • Shadow operation
    • 影子运行,即新组件先并行运行但不接管真实输出。
  • State resynchronization
    • 状态重新同步。
  • Escalating restart
    • 逐级重启,从局部重启到更大范围重启。
  • Non-stop forwarding
    • 不停机转发,在控制部分恢复时保持数据转发。

第 34 页 Fault Prevention

  • Removal from service
    • 暂时移出服务。
  • Transactions
    • 事务,用原子性避免中间错误状态。
  • Process monitor
    • 进程监控器。
  • Prevent faults by limiting, isolating, or repairing risky components before they fail.
    • 通过限制、隔离或提前修复高风险组件来预防故障。

第 35 页 Availability Checklist

  • Checklist
    • 检查清单。
  • Allocation of responsibilities
    • 职责分配:哪些组件负责检测、报告、恢复、降级和重启。
  • Coordination model
    • 协调模型:组件如何通信,故障如何传播或被隔离。
  • Data model
    • 数据模型:状态和数据如何保存,恢复时如何保持一致。

第 36 页 Availability Checklist

  • Management of resources
    • 资源管理:是否有冗余资源、备用资源和恢复资源。
  • Mapping among architecture elements
    • 架构元素映射:组件如何部署到节点,是否避免单点故障。
  • Binding time decisions
    • 绑定时机决策:故障恢复策略是在设计时、部署时还是运行时决定。

第 37 页 Availability Checklist

  • Choice of technology
    • 技术选择:使用什么监控、集群、备份、负载均衡、故障转移技术。
  • The checklist helps verify that availability is supported by concrete architectural decisions.
    • 这个检查清单用于确认可用性确实被具体架构决策支持。

第 38 页 Interoperability

  • Interoperability
    • 互操作性

第 39 页 Interoperability

  • Interoperability is about the degree to which two or more systems can usefully exchange meaningful information.
    • 互操作性指两个或多个系统能够有用地交换有意义信息的程度。
  • The systems must not only exchange data, but also understand and use the exchanged data.
    • 系统不仅要交换数据,还要理解并使用交换来的数据。

第 40 页 Interoperability

  • It is not enough to connect systems.
    • 仅仅把系统连接起来是不够的。
  • They need agreement on syntax, semantics, protocols, and expectations.
    • 它们还需要在语法、语义、协议和预期上达成一致。

第 41 页 Interoperability General Scenario

  • Source of stimulus: another system.
    • 刺激源:另一个系统。
  • Stimulus: request to exchange information.
    • 刺激:交换信息的请求。
  • Artifact: system or systems that exchange information.
    • 制品:参与信息交换的一个或多个系统。
  • Environment: runtime, design time, discovery time.
    • 环境:运行时、设计时、服务发现时。
  • Response: locate the service, manage interface, exchange information, interpret information.
    • 响应:定位服务、管理接口、交换信息、解释信息。
  • Response measure: percentage of information correctly exchanged, latency, effort to add new system.
    • 响应度量:正确交换的信息比例、延迟、接入新系统所需工作量。

第 42 页 Interoperability Sample Scenario

  • Another system sends a request using a specified interface.
    • 另一个系统通过指定接口发送请求。
  • The target system receives and interprets the request.
    • 目标系统接收并解释请求。
  • The target system returns a response in the expected form.
    • 目标系统以预期格式返回响应。

第 43 页 Interoperability Tactics

  • Locate
    • 定位:找到需要交互的服务或资源。
  • Manage interfaces
    • 管理接口:定义、维护、版本化接口。
  • Orchestrate
    • 编排:安排多个服务或系统之间的交互流程。
  • Tailor interface
    • 定制接口:为不同调用方调整接口形式。

第 44 页 Interoperability Tactics

  • Service discovery
    • 服务发现。
  • Interface standardization
    • 接口标准化。
  • Adapters and wrappers
    • 适配器和包装器。
  • Data transformation
    • 数据转换。
  • Mediation
    • 中介协调。

第 45 页 Interoperability Checklist

  • Allocation of responsibilities
    • 职责分配:哪些组件负责外部通信、转换、协议处理。
  • Coordination model
    • 协调模型:同步、异步、消息、事件或服务调用如何选择。
  • Data model
    • 数据模型:交换数据的格式和语义如何定义。

第 46 页 Interoperability Checklist

  • Management of resources
    • 资源管理:接口调用、连接、消息队列等资源如何管理。
  • Mapping among architecture elements
    • 架构元素映射:接口组件部署在哪里,外部系统如何访问。
  • Binding time decisions
    • 绑定时机决策:接口、服务位置、协议是在何时绑定。

第 47 页 Interoperability Checklist

  • Choice of technology
    • 技术选择:选择 REST、SOAP、消息队列、RPC、数据格式、服务注册等技术。
  • Interoperability should be checked across interface, data, protocol, and semantic levels.
    • 互操作性应从接口、数据、协议和语义多个层次检查。

第 48 页 Modifiability

  • Modifiability
    • 可修改性

第 49 页 Modifiability

  • Modifiability is about the cost of change.
    • 可修改性关注变化的成本。
  • A change can be adding, deleting, or modifying functionality or quality attributes.
    • 变化可以是增加、删除或修改功能,也可以是改变质量属性。
  • The goal is to make future changes easier, cheaper, and less risky.
    • 目标是让未来修改更容易、更便宜、风险更小。

第 50 页 Modifiability General Scenario

  • Source of stimulus: developer, administrator, end user, or another system.
    • 刺激源:开发人员、管理员、最终用户或另一个系统。
  • Stimulus: change request.
    • 刺激:变更请求。
  • Artifact: code, data, interface, component, or configuration.
    • 制品:代码、数据、接口、组件或配置。
  • Environment: design time, compile time, build time, deployment time, runtime.
    • 环境:设计时、编译时、构建时、部署时或运行时。
  • Response: make the change and test it.
    • 响应:完成修改并测试。
  • Response measure: cost, time, number of affected modules, defects introduced.
    • 响应度量:成本、时间、受影响模块数量、引入的缺陷数量。

第 51 页 Modifiability Sample Scenario

  • A developer changes a business rule.
    • 开发人员修改一条业务规则。
  • The change affects only one module.
    • 该修改只影响一个模块。
  • The change is implemented and tested within the specified time.
    • 修改在规定时间内实现并测试完成。

第 52 页 Modifiability Tactics

  • Reduce size of a module.
    • 减小模块规模。
  • Increase cohesion.
    • 提高内聚。
  • Reduce coupling.
    • 降低耦合。
  • Defer binding.
    • 推迟绑定。
  • Encapsulate.
    • 封装变化点。

第 53 页 Modifiability Tactics

  • Maintain semantic coherence.
    • 保持语义一致性。
  • Anticipate expected changes.
    • 预期可能发生的变化。
  • Generalize the module.
    • 泛化模块。
  • Limit possible options.
    • 限制可能选项,降低复杂性。
  • Abstract common services.
    • 抽象公共服务。

第 54 页 Modifiability Checklist

  • Allocation of responsibilities
    • 职责分配:把可能一起变化的职责放在一起,把不同变化原因分开。
  • Coordination model
    • 协调模型:通信机制是否会放大变化影响。
  • Data model
    • 数据模型:数据结构变化会影响多少模块。

第 55 页 Modifiability Checklist

  • Management of resources
    • 资源管理:资源策略变化是否局部化。
  • Mapping among architecture elements
    • 架构元素映射:部署或模块映射变化是否容易。
  • Binding time decisions
    • 绑定时机决策:是否可以通过配置、插件、运行时绑定支持变化。

第 56 页 Modifiability Checklist

  • Choice of technology
    • 技术选择:框架、语言、数据库、中间件是否限制未来修改。
  • A highly modifiable architecture localizes change.
    • 高可修改性的架构会把变化局部化。

第 57 页 Performance

  • Performance
    • 性能

第 58 页 Performance

  • Performance is about timing.
    • 性能关注时间。
  • It is concerned with how long it takes the system to respond to events.
    • 它关心系统响应事件需要多长时间。
  • Performance also includes throughput, latency, deadlines, and resource usage.
    • 性能还包括吞吐量、延迟、截止时间和资源使用情况。

第 59 页 Performance General Scenario

  • Source of stimulus: users or other systems.
    • 刺激源:用户或其他系统。
  • Stimulus: event arrival, periodic event, or request.
    • 刺激:事件到达、周期性事件或请求。
  • Artifact: system or component.
    • 制品:系统或组件。
  • Environment: normal mode, overload mode, peak load.
    • 环境:正常模式、过载模式、峰值负载。
  • Response: process events, change service level, maintain timing.
    • 响应:处理事件、改变服务级别、保持时间要求。
  • Response measure: latency, deadline, throughput, jitter, miss rate.
    • 响应度量:延迟、截止时间、吞吐量、抖动、错过率。

第 60 页 Performance Sample Scenario

  • A user request arrives during normal operation.
    • 用户请求在正常运行期间到达。
  • The system processes the request.
    • 系统处理该请求。
  • The system responds within the specified time.
    • 系统在规定时间内响应。

第 61 页 Performance Tactics

  • Control resource demand.
    • 控制资源需求。
  • Manage resources.
    • 管理资源。
  • Reduce computational overhead.
    • 减少计算开销。
  • Reduce communication overhead.
    • 减少通信开销。

第 62 页 Performance Tactics

  • Increase resources.
    • 增加资源。
  • Introduce concurrency.
    • 引入并发。
  • Maintain multiple copies.
    • 维护多个副本。
  • Bound queue sizes.
    • 限制队列大小。
  • Schedule resources.
    • 调度资源。

第 63 页 Performance Checklist

  • Allocation of responsibilities
    • 职责分配:哪些组件位于性能关键路径上。
  • Coordination model
    • 协调模型:同步、异步、锁、消息是否影响性能。
  • Data model
    • 数据模型:数据访问和数据结构是否造成瓶颈。

第 64 页 Performance Checklist

  • Management of resources
    • 资源管理:CPU、内存、线程、连接、缓存如何分配和调度。
  • Mapping among architecture elements
    • 架构元素映射:部署、网络、负载均衡是否支持性能目标。
  • Binding time decisions
    • 绑定时机决策:调度策略、资源数量、缓存策略何时确定。

第 65 页 Performance Checklist

  • Choice of technology
    • 技术选择:语言、框架、数据库、中间件和平台是否满足性能要求。
  • Performance must be measurable.
    • 性能必须是可度量的。

第 66 页 Security

  • Security
    • 安全性

第 67 页 Security

  • Security is the measure of the system’s ability to resist unauthorized usage while still providing its services to legitimate users.
    • 安全性衡量系统抵抗未授权使用,同时仍向合法用户提供服务的能力。
  • Confidentiality
    • 机密性:防止未授权访问。
  • Integrity
    • 完整性:防止未授权修改。
  • Availability
    • 可用性:保证合法用户能够使用服务。

第 68 页 Security General Scenario

  • Source of stimulus: attacker or authorized user.
    • 刺激源:攻击者或授权用户。
  • Stimulus: attempt to access, modify, delete, or deny service.
    • 刺激:试图访问、修改、删除数据,或拒绝服务。
  • Artifact: system services, data, or communication.
    • 制品:系统服务、数据或通信。
  • Environment: online, offline, connected, disconnected, under attack.
    • 环境:在线、离线、已连接、未连接、遭受攻击。
  • Response: authenticate, authorize, detect, resist, record, recover.
    • 响应:认证、授权、检测、抵抗、记录、恢复。
  • Response measure: probability of detecting attack, time to detect, amount of data compromised.
    • 响应度量:检测攻击的概率、检测时间、被破坏的数据量。

第 69 页 Security Sample Scenario

  • An unauthorized user attempts to access protected data.
    • 未授权用户试图访问受保护数据。
  • The system rejects the request.
    • 系统拒绝该请求。
  • The system records the attempt.
    • 系统记录这次尝试。
  • The system notifies the appropriate authority if necessary.
    • 必要时系统通知相关负责人或机构。

第 70 页 Security Tactics

  • Detect attacks.
    • 检测攻击。
  • Resist attacks.
    • 抵抗攻击。
  • React to attacks.
    • 响应攻击。
  • Recover from attacks.
    • 从攻击中恢复。

第 71 页 Security Tactics

  • Authenticate users.
    • 认证用户身份。
  • Authorize users.
    • 授权用户操作。
  • Maintain data confidentiality.
    • 维护数据机密性。
  • Maintain integrity.
    • 维护完整性。
  • Limit exposure.
    • 限制暴露面。
  • Audit.
    • 审计。

第 72 页 Security Checklist

  • Allocation of responsibilities
    • 职责分配:哪些组件负责认证、授权、加密、审计。
  • Coordination model
    • 协调模型:安全信息如何在组件间传递。
  • Data model
    • 数据模型:敏感数据如何表示、存储、加密和访问。

第 73 页 Security Checklist

  • Management of resources
    • 资源管理:密钥、会话、权限、令牌如何管理。
  • Mapping among architecture elements
    • 架构元素映射:安全边界、信任边界和部署边界如何对应。
  • Binding time decisions
    • 绑定时机决策:权限、策略、密钥和配置何时绑定。

第 74 页 Security Checklist

  • Choice of technology
    • 技术选择:加密算法、身份认证框架、安全协议、审计工具如何选择。
  • Security often creates tradeoffs with usability, performance, and availability.
    • 安全性经常与易用性、性能和可用性产生权衡。

第 75 页 Testability

  • Testability
    • 可测试性

第 76 页 Testability

  • Testability refers to the ease with which software can be made to demonstrate its faults through testing.
    • 可测试性指软件通过测试暴露故障的容易程度。
  • Testing requires controllability and observability.
    • 测试需要可控制性和可观察性。

第 77 页 Testability General Scenario

  • Source of stimulus: tester, developer, or test tool.
    • 刺激源:测试人员、开发人员或测试工具。
  • Stimulus: a test is executed.
    • 刺激:执行一次测试。
  • Artifact: system, component, or unit.
    • 制品:系统、组件或单元。
  • Environment: development time, compile time, deployment time, runtime.
    • 环境:开发时、编译时、部署时或运行时。
  • Response: control state, observe output, isolate component.
    • 响应:控制状态、观察输出、隔离组件。
  • Response measure: test coverage, time to run tests, probability of fault detection.
    • 响应度量:测试覆盖率、测试运行时间、发现故障的概率。

第 78 页 Testability Sample Scenario

  • A tester executes a test case.
    • 测试人员执行一个测试用例。
  • The system provides the necessary interface and state information.
    • 系统提供必要的接口和状态信息。
  • The result can be observed and evaluated.
    • 测试结果可以被观察和评估。

第 79 页 Testability Tactics

  • Control and observe system state.
    • 控制并观察系统状态。
  • Limit complexity.
    • 限制复杂度。
  • Separate concerns.
    • 分离关注点。
  • Record and playback.
    • 记录与回放。

第 80 页 Testability Tactics

  • Specialized interfaces.
    • 专用测试接口。
  • Dependency injection.
    • 依赖注入。
  • Assertions.
    • 断言。
  • Logging.
    • 日志记录。
  • Built-in monitors.
    • 内置监控器。

第 81 页 Testability Checklist

  • Allocation of responsibilities
    • 职责分配:哪些组件负责暴露状态、控制输入和报告错误。
  • Coordination model
    • 协调模型:测试如何控制组件间交互。
  • Data model
    • 数据模型:测试数据如何创建、隔离和恢复。

第 82 页 Testability Checklist

  • Management of resources
    • 资源管理:测试环境、模拟资源、外部依赖如何管理。
  • Mapping among architecture elements
    • 架构元素映射:测试替身、测试服务、真实组件如何映射。
  • Binding time decisions
    • 绑定时机决策:依赖是在编译时、部署时还是运行时替换。

第 83 页 Testability Checklist

  • Choice of technology
    • 技术选择:测试框架、mock 框架、日志系统、监控工具如何选择。
  • A testable architecture makes faults easier to expose and diagnose.
    • 可测试架构让故障更容易暴露和诊断。

第 84 页 Usability

  • Usability
    • 易用性

第 85 页 Usability

  • Usability is concerned with how easy it is for the user to accomplish a desired task and the kind of user support the system provides.
    • 易用性关注用户完成目标任务有多容易,以及系统向用户提供何种支持。
  • Usability includes learning, efficiency, error prevention, error recovery, and satisfaction.
    • 易用性包括学习成本、效率、错误预防、错误恢复和满意度。

第 86 页 Usability General Scenario

  • Source of stimulus: end user.
    • 刺激源:最终用户。
  • Stimulus: user wants to learn, use, configure, or recover from error.
    • 刺激:用户想学习、使用、配置系统,或从错误中恢复。
  • Artifact: system or user interface.
    • 制品:系统或用户界面。
  • Environment: normal operation, error condition, first use.
    • 环境:正常运行、错误状态、首次使用。
  • Response: provide feedback, help, undo, cancel, aggregate, or reuse.
    • 响应:提供反馈、帮助、撤销、取消、聚合或复用操作。
  • Response measure: task time, error rate, number of operations, user satisfaction.
    • 响应度量:任务时间、错误率、操作次数、用户满意度。

第 87 页 Usability Sample Scenario

  • A user makes a mistake.
    • 用户犯了一个错误。
  • The system allows the user to undo the operation.
    • 系统允许用户撤销该操作。
  • The system restores the previous state within the specified time.
    • 系统在规定时间内恢复到先前状态。

第 88 页 Usability Tactics

  • Support user initiative.
    • 支持用户主动操作。
  • Support system initiative.
    • 支持系统主动帮助。
  • Maintain task model.
    • 维护任务模型。
  • Maintain user model.
    • 维护用户模型。

第 89 页 Usability Tactics

  • Cancel.
    • 取消。
  • Undo.
    • 撤销。
  • Pause / resume.
    • 暂停 / 恢复。
  • Aggregate.
    • 聚合操作。
  • Show progress.
    • 显示进度。
  • Maintain system model.
    • 维护系统模型。

第 90 页 Usability Checklist

  • Allocation of responsibilities
    • 职责分配:哪些组件负责用户状态、任务状态、撤销和反馈。
  • Coordination model
    • 协调模型:前端、后端和后台任务如何协同支持用户操作。
  • Data model
    • 数据模型:是否保存历史状态、用户偏好和任务上下文。

第 91 页 Usability Checklist

  • Management of resources
    • 资源管理:长任务、后台任务和用户会话如何管理。
  • Mapping among architecture elements
    • 架构元素映射:用户界面、服务和状态存储如何映射。
  • Binding time decisions
    • 绑定时机决策:用户偏好、语言、主题、帮助策略何时绑定。

第 92 页 Usability Checklist

  • Choice of technology
    • 技术选择:UI 框架、状态管理、可访问性工具、通知机制如何选择。
  • Usability may require architectural support, not just interface design.
    • 易用性可能需要架构支持,而不仅仅是界面设计。

第 93 页 X-ability

  • X-ability
    • X-能力,即各种以 ability 结尾的质量属性。
  • Scalability
    • 可扩展性。
  • Portability
    • 可移植性。
  • Maintainability
    • 可维护性。
  • Reusability
    • 可复用性。

第 94 页 Quality Attributes & Tactics

  • Quality Attributes & Tactics
    • 质量属性与战术。
  • Each quality attribute can be characterized by scenarios.
    • 每个质量属性都可以用场景来刻画。
  • Tactics are design decisions that help achieve quality attribute responses.
    • 战术是帮助实现质量属性响应的设计决策。
  • Quality attributes often involve tradeoffs.
    • 质量属性之间经常存在权衡。

第 95 页 Architecturally Significant Requirements

  • Architecturally Significant Requirements
    • 架构显著需求。

第 96 页 Architecturally Significant Requirements

  • Not all requirements are architecturally significant.
    • 并不是所有需求都具有架构显著性。
  • An architecturally significant requirement is a requirement that has a measurable effect on a software system’s architecture.
    • 架构显著需求是指会对软件系统架构产生可度量影响的需求。
  • ASRs include important quality attributes, constraints, core functions, and high-risk requirements.
    • ASR 包括重要质量属性、约束、核心功能和高风险需求。

第 97 页 Gathering ASRs from Requirements Documents

  • Gathering ASRs from Requirements Documents
    • 从需求文档中收集架构显著需求。
  • Look for quality attributes.
    • 寻找质量属性。
  • Look for constraints.
    • 寻找约束。
  • Look for requirements that imply architectural decisions.
    • 寻找暗示架构决策的需求。

第 98 页 Gathering ASRs by Interviewing Stakeholders

  • Gathering ASRs by Interviewing Stakeholders.
    • 通过访谈利益相关者收集 ASR。
  • QAW: Quality Attribute Workshop.
    • QAW:质量属性工作坊。
  • Stakeholders discuss business goals, quality attribute scenarios, and priorities.
    • 利益相关者讨论业务目标、质量属性场景和优先级。

第 99 页 Capturing ASRs in a Utility Tree

  • Utility Tree
    • 效用树。
  • A utility tree organizes quality attributes and scenarios.
    • 效用树用于组织质量属性和质量场景。
  • It records importance and difficulty.
    • 它记录重要性和实现难度。
  • It helps prioritize architectural work.
    • 它帮助确定架构工作的优先级。

第 100 页 Working with ASRs

  • Working with ASRs
    • 使用 ASR 开展工作。
  • ASRs guide architectural design.
    • ASR 指导架构设计。
  • ASRs should be discovered, documented, prioritized, and revisited.
    • ASR 应该被发现、记录、排序,并在后续持续回顾。

第 101 页 ASRs in TraceLab

  • ASRs in TraceLab
    • TraceLab 中的 ASR。
  • TraceLab is used as an example system.
    • TraceLab 被用作示例系统。
  • Different stakeholders have different architecturally significant concerns.
    • 不同利益相关者有不同的架构显著关注点。

第 102 页 Competing Tradeoffs

  • Competing Tradeoffs
    • 相互竞争的权衡。
  • Stakeholders may value different quality attributes.
    • 利益相关者可能重视不同的质量属性。
  • Improving one quality attribute can hurt another.
    • 改善一个质量属性可能会损害另一个质量属性。

第 103 页 Traditional HCI Personas

  • Traditional HCI Personas
    • 传统人机交互用户画像。
  • Personas describe representative users.
    • Persona 描述有代表性的用户。
  • They include goals, skills, contexts, and frustrations.
    • 它们包括目标、技能、使用情境和痛点。

第 104 页 Architecturally-Savvy Personas

  • Architecturally-Savvy Personas
    • 具有架构意识的用户画像。
  • These personas highlight concerns that are relevant to architecture.
    • 这些 persona 会突出与架构相关的关注点。
  • They help discover ASRs.
    • 它们帮助发现 ASR。

第 105 页 Meet Karly

  • Meet Karly.
    • 认识 Karly。
  • Karly represents a stakeholder with specific goals and concerns.
    • Karly 代表一类具有特定目标和关注点的利益相关者。
  • Her concerns can be translated into quality attribute scenarios.
    • 她的关注点可以转化为质量属性场景。

第 106 页 Meet Jack

  • Meet Jack.
    • 认识 Jack。
  • Jack represents another stakeholder perspective.
    • Jack 代表另一种利益相关者视角。
  • His goals may lead to different ASRs and tradeoffs.
    • 他的目标可能导向不同的 ASR 和权衡。

第 107 页 Meet the Full Ensemble

  • Meet the Full Ensemble.
    • 认识完整的 persona 群体。
  • A set of personas gives a broader view of stakeholder concerns.
    • 一组 persona 能更全面地展示利益相关者关注点。
  • The ensemble helps avoid designing for only one type of user.
    • 这个群体有助于避免系统只为某一类用户设计。

第 108 页 Understand Key Concerns

  • Understand Key Concerns.
    • 理解关键关注点。
  • Identify what each persona cares about.
    • 识别每个 persona 关心什么。
  • Translate concerns into architectural drivers.
    • 把关注点转化为架构驱动因素。

第 109 页 Design Solutions for Key Concerns

  • Design Solutions for Key Concerns.
    • 为关键关注点设计解决方案。
  • Candidate solutions should address the concerns discovered from personas.
    • 候选解决方案应该回应从 persona 中发现的关注点。
  • Solutions may include plugins, workflows, services, access control, caching, or other architectural mechanisms.
    • 解决方案可能包括插件、工作流、服务、访问控制、缓存或其他架构机制。

第 110 页 Architectural Design

  • Architectural Design.
    • 架构设计。
  • Architectural design turns ASRs into design decisions.
    • 架构设计把 ASR 转化为设计决策。
  • Decisions include structure, responsibilities, interfaces, technologies, and deployment.
    • 决策包括结构、职责、接口、技术和部署。

第 111 页 Decision 2: Workflow Architecture Options

  • Decision 2: Workflow Architecture Options.
    • 决策 2:工作流架构选项。
  • Different workflow architectures support different levels of modifiability and usability.
    • 不同工作流架构支持不同程度的可修改性和易用性。
  • A hard-coded workflow is simpler but less flexible.
    • 硬编码工作流更简单,但灵活性更差。
  • A configurable or plugin-based workflow is more flexible but more complex.
    • 可配置或插件式工作流更灵活,但更复杂。

第 112 页 Decision 2 Diagram

  • Workflow architecture options
    • 工作流架构选项。
  • The diagram compares alternative structures.
    • 图中比较了不同结构方案。
  • The purpose is to reason about tradeoffs.
    • 目的是分析权衡。

第 113 页 SCRUM + ASPs

  • SCRUM + ASPs
    • SCRUM 与架构敏感 persona 的结合。
  • ASPs: Architecturally-Savvy Personas.
    • ASPs:具有架构意识的用户画像。
  • ASPs can be used in agile iterations to keep architectural concerns visible.
    • ASP 可以在敏捷迭代中使用,让架构关注点持续可见。
  • They help teams discover, prioritize, and revisit ASRs.
    • 它们帮助团队发现、排序并持续回顾 ASR。