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

news2024/11/26 18:33:30

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

专栏地址

软件工程专栏地址

专栏系列文章

软件工程复习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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/177780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十大经典排序算法(动态演示+代码)-快速排序与希尔排序

快速排序 1.什么是快速排序 我们知道排序有很多种,常见的如希尔排序,插入排序,选择排序,堆排序等等,而快速排序也是排序家族中的一员。因为其在大多数情况下有着优秀的综合性能,快速排序的快速也算是实至…

结构型模式-享元模式

1.概述 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 2.结构 享元(Flyweight )模式中存在以下两种状态: 内…

信息论复习—信源编码的基本方法

目录 信源编码的目的:提高传输效率 离散信源: 离散信源的分类: 离散无记忆信源 (DMS: Discrete Memoryless Source): 离散无记忆信源的特点: 离散无记忆信源编码与译码: 等长编码的编码速…

Day869.索引(下) -MySQL实战

索引(下) Hi,我是阿昌,今天学习记录的是关于索引(下)的内容。 先来看一下这个问题: 下面这个表 T 中,如果执行 select * from T where k between 3 and 5,需要执行几次…

【Java|golang】1828. 统计一个圆中点的数目

给你一个数组 points ,其中 points[i] [xi, yi] ,表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。 同时给你一个数组 queries ,其中 queries[j] [xj, yj, rj] ,表示一个圆心在 (xj, yj) 且半径为 rj 的圆。 对…

git 操作整理

git操作整理 git 配置 git config --global user.name “yuluo” git config --global user.email “1481556636qq.com” git config --global color.ui auto 启用命令行着色输出 git 操作 暂存区 git init . 初始化git仓库 git status 看仓库状态 git add index.html…

【C++】C++11简介 | 列表初始化 | 声明 | 范围for

​🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉C11简介&…

安装配置Ecplise插件PyDev 8.3.0

参考:安装Eclipse:https://baijiahao.baidu.com/s?id1751992697661111503&wfrspider&forpcEclipse安装PyDev:https://baijiahao.baidu.com/s?id1746725485069671146&wfrspider&forpc方法一:失败打开eclipse&…

分享138个ASP源码,总有一款适合您

ASP源码 分享138个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 138个ASP源码下载链接:https://pan.baidu.com/s/1idRmCxILGVt5pBkac-GiiA?pwdjmmu 提取码&#x…

AX7A200教程(4): DDR3的读写fifo仿真

在上篇博客中,我们只是进行突发读写,没有使用读写fifo对ddr3进行读写,因ddr3读写接口都是256位宽,所以ddr3的读写fifo输入和输出都是32位,和ddr3对接的接口都是256位,如下面示意图所示。下面的截图为ddr3的…

《c++ primer》第五章 语句

前言 建议看书的时候就看一下异常,其它的直接跳过 一、简单语句 ​ 一条表达式语句以;结尾,它的作用是执行表达式并丢弃掉求值结果。一行如果只有一个;也是一条语句,称为空语句。复合语句时用{}括起来的语句或者声明, 也称为块&a…

Qt之QLCDNumber

文章目录一、QLCDNumber简介二、QLCDNumber属性示例获取系统时间示例代码提示:以下是本篇文章正文内容,下面案例可供参考 一、QLCDNumber简介 QLCDNumber控件用于显示一个LCD数字。 它可以显示几乎任意大小的数字。可以显示十进制、十六进制、八进制或…

【并发编程】ForkJoin线程池

一、使用场景 用于CPU密集型的任务,通过把任务进行拆分,拆分成多个小任务去执行,然后小任务执行完毕后再把每个小任务执行的结果合并起来,这样就可以节省时间。 CPU密集型(CPU-bound):CPU密集…

Java 初识IO流

IO流概述 用于读写文件中的数据(可以读写文件,或网络中的数据…) IO流的分类 纯文本文件:用windows系统自带的记事本打开并且能读懂的文件。如:txt文件、md文件、xml文件、lrc文件等. IO流的体系 总结 什么是IO流? 存…

Amesim2021.1与Simulink联合仿真配置流程及经验总结

Amesim 与 Simulink 联合仿真配置相对比较麻烦,笔者曾经凭运气配置成功过,但后来在别的电脑又多次配置失败,经过一些尝试及咨询专业人士,对Amesim2021.1版本与Simulink联合仿真配置做了一个流程总结,希望能帮助有需求的…

AutoSAR MemMap模块实例解析及注意事项

文章目录 1 AUTOSAR Memory Mapping的运行机制1.1 AUTOSAR Memory Mapping实例解析1.2 编译器的选择2 内存分配关键字3 如何生成BSW和 SWC的MemMap.h文件4 编译优化的影响传送门 ==>> AutoSAR入门和实战系列总目录 1 AUTOSAR Memory Mapping的运行机制 AUTOSAR Memory …

恶意代码分析实战 6 OllyDbg

6.1 Lab 9-1 程序分析 首先,进行静态分析,使用strings。 CreateFileA RegQueryValueExA RegOpenKeyExA RegSetValueExA RegCreateKeyExA RegDeleteValueA WideCharToMultiByte GetModuleHandleA GetEnvironmentVariableA SetEnvironmentVariableA SOFTW…

DaVinci:Camera Raw(ARRI)

本文主要介绍 ARRI 的 Raw 格式素材相关的 Camera Raw 参数。解码质量Decode Quality解码质量决定了图像解拜耳之后所呈现的素质,也与最终的输出息息相关。默认为“使用项目设置” Use project setting,表示使用项目设置对话框中的“Camera RAW”解码质量…

mysql之explain(性能分析)

目录 1.说明 2.使用方式 3.字段解释 (1)id (2)select_type (3)table (4)type (5)possible_keys (6)keys (7)ken_len (8)ref ​编辑 (9)rows (10)extra 4.示例 1.说明 使用EXPLAIN关键字可以模拟优化器执行SOL查询语句,从而知道MySOL是如何处理你的S…

MySQL主从复制、读写分离

一、MySQL主从复制 MySQL数据库默认是支持主从复制的,不需要借助于其他的技术,我们只需要在数据库中简单的配置即可。 1. MySQL主从复制概述 MySQL主从复制是一个异步的复制过程,底层是基于MySQL数据库自带的 二进制日志 功能。就是一台或多台…