目录
-
-
-
-
- [1. 敏感点和权衡点](#1. 敏感点和权衡点)
- [2. 风险承担者](#2. 风险承担者)
- [3. 系统架构评估涉及的问题](#3. 系统架构评估涉及的问题)
-
- [3.1 软件系统架构师](#3.1 软件系统架构师)
- [3.2 开发人员](#3.2 开发人员)
- [3.3 维护人员](#3.3 维护人员)
- [3.4 集成人员](#3.4 集成人员)
- [3.5 测试人员](#3.5 测试人员)
- [3.6 标准专家](#3.6 标准专家)
- [3.7 性能工程师](#3.7 性能工程师)
- [3.8 安全专家](#3.8 安全专家)
- [3.9 项目经理](#3.9 项目经理)
- [3.9 产品线经理](#3.9 产品线经理)
- [3.9 客户](#3.9 客户)
- [3.9 最终用户](#3.9 最终用户)
- [3.9 应用开发者(对产品架构而言)](#3.9 应用开发者(对产品架构而言))
- [3.10 任务专家、任务规划者](#3.10 任务专家、任务规划者)
- [3.11 系统管理员](#3.11 系统管理员)
- [3.12 网络管理员](#3.12 网络管理员)
- [3.13 技术支持人员](#3.13 技术支持人员)
- [3.14 领域代表](#3.14 领域代表)
- [3.15 系统设计师](#3.15 系统设计师)
- [3.16 设备专家](#3.16 设备专家)
- [4. 场景](#4. 场景)
- [5. 例题](#5. 例题)
-
- [5.1 例题1](#5.1 例题1)
- [5.2 例题2](#5.2 例题2)
-
-
-
1. 敏感点和权衡点
- 1.敏感点(Sensitivity Point)、权衡点(Tradeoff Point)。
- 2.敏感点和权衡点是关键的架构决策。
- 3.敏感点是一个或多个构件(和/或构件之间的关系)的特性。
- 4.研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。
- 5.权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
- 6.例如,改变加密级别可能会对安全性和性能产生非常重要的影响。
- 7.提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。
- 8.如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。
- 9.p278。
2. 风险承担者
- 1.风险承担者(Stakeholders)或者称为利益相关人。
- 2.系统的架构涉及很多人的利益,这些人都对架构施加各种影响,以保证自己的目标能够实现。
3. 系统架构评估涉及的问题
3.1 软件系统架构师
- 1.职责:负责软件架构的质量需求间进行权衡的人。
- 2.所关心的问题:对其他风险承担者提出的质量需求的折中和调停。
3.2 开发人员
- 1.职责:设计人员和程序员。
- 2.所关心的问题:架构描述的清晰与完整、各部分的内聚性与受限耦合、清楚的交互机制。
3.3 维护人员
- 1.职责:系统初次部署完成后对系统进行更改的人。
- 2.所关心的问题:可维护性,确定出某个更改发生后必须对系统中哪些地方进行改动的能力。
3.4 集成人员
- 1.职责:负责构件集成和组装的开发人员。
- 2.所关心的问题:可维护性,确定出某个更改发生后必须对系统中哪些地方进行改动的能力。
3.5 测试人员
- 1.职责:负责系统测试的开发人员。
- 2.所关心的问题:集成、一致的错误处理协议,受限的构件耦合、构件的高内聚性、概念完整性。
3.6 标准专家
- 1.职责:负责所开发软件必须满足的标准细节的开发人员。
- 2.所关心的问题:对所关心问题的分离、可修改性和互操作性。
3.7 性能工程师
- 1.职责:分析系统的工作产品以确保系统是否满足其性能及吞吐量需求的人员。
- 2.所关心的问题:易理解性、概念完整性、性能、可靠性。
3.8 安全专家
- 1.职责:负责保证系统满足其安全性需求的人员。
- 2.所关心的问题:安全性。
3.9 项目经理
- 1.职责:负责为各小组配置资源、保证开发进度、保证不超过预算的人员,负责与客户沟通。
- 2.所关心的问题:架构层次清晰,便于组建小组;任务划分结构、进度标志和最后期限等。
3.9 产品线经理
- 1.职责:设想该架构和相关资产怎样在该组织的其他开发中得以重用的人员。
- 2.所关心的问题:可重用性、灵活性。
3.9 客户
- 1.职责:系统的购买者。
- 2.所关心的问题:开发的进度、总体预算、系统的有用性、满足需求的情况。
3.9 最终用户
- 1.职责:所实现系统的使用者。
- 2.所关心的问题:功能性、可用性。
3.9 应用开发者(对产品架构而言)
- 1.职责:利用该架构及其他已有可重用构件,通过将其实例化而构建产品的人员。
- 2.所关心的问题:架构的清晰性、完整性、简单交互机制、简单裁减机制。
3.10 任务专家、任务规划者
- 1.职责:知道系统将会怎样使用以实现战略目标的客户代表。
- 2.所关心的问题:功能性、可用性、灵活性。
3.11 系统管理员
- 1.职责:负责系统运行的人员。
- 2.所关心的问题:容易找到可能出现问题的地方。
3.12 网络管理员
- 1.职责:管理网络的人员。
- 2.所关心的问题:网络性能、可预测性。
3.13 技术支持人员
- 1.职责:为系统在该领域中的使用和维护提供支持的人员。
- 2.所关心的问题:使用性、可服务性、可裁减性。
3.14 领域代表
- 1.职责:类似系统或所考察系统将要在其中运行的系统的构建者或拥有者。
- 2.所关心的问题:可互操作性。
3.15 系统设计师
- 1.职责:整个系统的架构设计师,负责在软件和硬件之间进行权衡并选择硬件环境的人。
- 2.所关心的问题:可移植性、灵活性、性能和效率。
3.16 设备专家
- 1.职责:熟悉该软件必须与之交互的硬件的人员,能够预测硬件技术的未来发展趋势的人员。
- 2.所关心的问题:可维护性、性能。
4. 场景
- 1.场景(scenarios)。
- 2.在进行架构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该架构优劣的标准。
- 3.为得出这些目标而采用的机制称之为场景。
- 4.场景是从风险承担者的角度对与系统的交互的简短描述。
- 5.在架构评估中,一般采用刺激(Stimulus)、环境(Environment)和响应(Response)三方面来对场景进行描述。
5. 例题
5.1 例题1
-
1.题目
1.识别风险点、非风险点、敏感点和权衡点是软件架构评估过程中的关键步骤。
针对某系统所作的架构设计中,"系统需要支持的最大并发用户数量直接影响传输协议和数据格式"
描述了系统架构设计中的一个(A);"由于系统的业务逻辑目前尚不清楚,因此现有系统三层架构中的
第二层可能会出现功能重复,这会影响系统的可修改性"描述了系统架构设计中的一个(B)。
问题1
A.敏感点
B.风险点
C.非风险点
D.权衡点问题2
A.敏感点
B.风险点
C.非风险点
D.权衡点 -
2.分析
1.风险点与非风险点不是以标准专业术语形式出现的,只是一个常规概念,即可能引起风险的因素,可称为风险点。
2.敏感点是一个或多个构件(和/或构件之间的关系)的特性。
3.研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。
4.权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
5.例如,改变加密级别可能会对安全性和性能产生非常重要的影响。
6.提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。
7.如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。
5.2 例题2
-
1.题目
2.在架构评估中,(A)是一个或多个构件(和/或构件之间的关系)的特性。改变加密级别的设计决策属于(C),
因为它可能会对安全性和性能产生非常重要的影响。
问题1
A.敏感点
B.非风险点
C.权衡点
D.风险点问题2
A.敏感点
B.非风险点
C.权衡点
D.风险点 -
2.分析
1.敏感点和权衡点是关键的架构决策。
2.敏感点是一个或多个构件(和/或构件之间的关系)的特性。
3.研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。
4.权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
5.例如,改变加密级别可能会对安全性和性能产生非常重要的影响。
6.提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。
7.如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。