什么是软件架构中的ASRs(架构需求文档)?

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

作者非妃是公主
专栏《软件工程》
个性签顺境不惰逆境不馁以心制境万事可成。——曾国藩
在这里插入图片描述

专栏地址

软件工程专栏地址

专栏系列文章

软件工程复习01软件工程概述

软件工程复习02个人技术

软件工程复习03个人软件流程

软件工程复习04两人合作

软件工程复习05团体软件流程

软件工程复习06敏捷流程

软件工程复习07软件需求

软件工程复习08典型用户和场景

软件工程复习09项目管理

软件工程复习10软件设计与实现

软件工程复习11软件测试

软件工程复习12软件质量

软件工程复习13软件发布

文章目录

Architecturally significant requirements(ASRs) are those requirements that play an important role in determining the architecture of the system. Such requirements require special attention. Not all requirements have equal significance with regards to the architecture.
架构上的重要需求(ASRs)是那些在决定系统架构上起重要作用的需求。这些需求需要特别注意。并非所有的需求在架构方面都有同等的重要性。

Architecturally significant requirements are a subset of the requirements that need to be satisfied before the architecture can be considered “stable”. Typically, these are requirements that are technically challenging, technically constraining, or central to the system’s purpose. Furthermore, the system will generally be more sensitive to changes against architecturally significant requirements, so identifying and communicating this subset will help others understand the potential implications of change.
架构上的重要需求是需求的一个子集在架构被认为是 "稳定的 "之前需要得到满足。通常这些需求在技术上具有挑战性在技术上具有约束性或者对系统的目的具有核心意义。此外系统通常会对针对架构上的重要需求的变化更加敏感所以识别和交流这个子集将帮助其他人理解变化的潜在影响。

Requirements can be explicitly or implicitly architecturally significant. Explicitly significant requirements are often overtly technical in nature, such as performance targets; the need to interface to other systems; the number of users that must be supported; or security requirements. Implicitly significant requirements may define the essence of the functional behaviour of the system (for example, making a purchase from an on-line store).
需求可以是明确的也可以是隐含的具有建筑学意义的。明显重要的需求通常是公开的技术性的如性能目标与其他系统的接口需求必须支持的用户数量或安全要求。隐含的重要需求可能定义了系统功能行为的本质例如从一个在线商店购买。

Deciding whether a specific requirement is architecturally significant is often a matter of judgment. The selection of requirements that are considered “architecturally significant” is driven by several key driving factors:
决定一个具体的需求是否具有架构上的意义往往是一个判断的问题。选择被认为是 "有架构意义 "的需求是由几个关键的驱动因素驱动的

The benefit of the requirement to stakeholders: critical, important, or useful.
需求对利益相关者的好处关键、重要或有用。

The architectural impact of the requirement: none, extends, or modifies. There may be critical requirements that have little or no impact on the architecture and low-benefit requirements that have a big impact. Low-benefit requirements with big architectural impacts should be reviewed by the project manager for possible removal from the scope of the project.
需求的架构影响无扩展或修改。可能会有对架构影响很小或没有影响的关键需求以及有很大影响的低效益需求。对架构影响大的低效益需求应该由项目经理审查以便可能从项目范围中删除。

The risks to be mitigated: performance, availability of a product, and suitability of a component.
需要缓解的风险性能、产品的可用性和组件的适用性。

The completion of the coverage of the architecture.
完成架构的覆盖。

Other tactical objectives or constraints, such as demonstration to the user, and so on.
其他战术目标或限制如向用户展示等。

There may be two requirements that hit the same components and address similar risks. If you implement A first, then B is not architecturally significant. If you implement B first, then A is not architecturally significant. Thus these attributes can depend on the order the requirements are realized, and should be re-evaluated when the order changes, as well as when the requirements themselves change.
可能有两个需求击中了相同的组件并解决了类似的风险。如果你先实现A那么B就没有架构上的意义。如果你先实现B那么A就没有架构上的意义。因此这些属性可能取决于需求实现的顺序当顺序改变时以及需求本身改变时应该重新评估。

The following are good examples of Architecturally Significant Requirements:
The system must record every modification to customer records for audit purposes.
The system must respond within 5 seconds.
The system must deploy on Microsoft Windows XP and Linux.
The system must encrypt all network traffic.
The ATM system must dispense cash on demand to validated account holders with sufficient cleared funds.
以下是架构上的重要要求的好例子。
系统必须记录对客户记录的每一次修改以便审计。
系统必须在5秒内做出反应。
系统必须部署在Microsoft Windows XP和Linux上。
系统必须对所有的网络流量进行加密。
自动取款机系统必须按要求向有足够清算资金的有效账户持有人发放现金。

Architecturally significant requirements also describe key behaviors that the system needs to perform. Such scenarios represent the important interactions between key abstractions.and should be identified as architecturally significant requirements. For example, for an on-line book store describing the way the software handles the scenarios for ordering a book and checking out the shopping cart are often enough to communicate the essence of the architecture.
架构上的重要需求也描述了系统需要执行的关键行为。这些场景代表了关键抽象概念之间的重要互动应该被确定为架构上的重要需求。例如对于一个在线书店来说描述软件处理订书和检查购物车的场景的方式通常足以传达架构的本质。

引用Architecturally significant requirements

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6