-软件体系结构评估
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国防科技大学计算机学院
16
软件体系结构介绍
➢首席设计师会以恰当的详细程度来介绍软 件体系结构
➢软件体系结构相关文档的详细程度,可用的时 间,行为和质量需求的实质
➢软件体系结构视图是设计师用于展示软件 体系结构的主要工具
➢功能、并发、代码和物理视图
国防科技大学计算机学院
17
确定软件体系结构方法
➢评估团队会得到软件体系结构方法,但并 不会对其进行分析,评估团队将要求设计 人员为任何使用的软件体系结构方法命名, 也将确定任何她们在上一个步骤中听到的 软件体系结构方法。
12
基本介绍
➢ATAM方法能够反映一个软件体系结构满足 某些特定质量目标的程度,同时还能够给 出这些质量目标相互之间的交互方式。
➢ATAM方法也可对遗留系统进行分析,提高 对系统质量属性的理解。
➢ATAM方法基本过程
➢介绍、调查和分析、测试、报告
国防科技大学计算机学院
13
方法步骤
➢ATAM方法介绍
➢商业动机的介绍
➢软件体系结构介绍
➢确定软件体系结构方法
➢产生质量属性效果树
➢分析软件体系结构方法
➢集体讨论并确定场景的优先级
➢再次分析软件体系结构方法
➢展示结果
国防科技大学计算机学院
14
ATAM方法介绍
➢评估负责人给召集在一起的利益相关人员 介绍ATAM方法。
➢ATAM方法中步骤的简要介绍。
➢介绍评估中使用的获取和分析技术,包括 效果树的生成、基于软件体系结构方法的 获取和分析以及场景的集中讨论和优先级 划分。
国防科技大学计算机学院
10
评估的益处和代价(2/2)
➢人员开销 ➢与参加软件体系结构评估的人员相关的机
会成本 ➢减小评估代价的方法
➢在相同领域内的重用
国防科技大学计算机学院
11
内容
9.1 软件体系结构评估简介 9.2 ATAM方法 9.3 SAAM方法 9.4 ARID方法
国防科技大学计算机学院
➢软件体系结构评估的目的
➢在开发过程的早期,通过分析系统的质量需求 是否在软件体系结构中得到体现,来识别软件 体系结构设计中的潜在风险,预测系统质量属 性,并辅助软件体系结构决策的制定。
国防科技大学计算机学院
3
评估时机和人员(1/2)
➢早评估:评估不需要完整的软件体系结构 描述,可以在软件体系结构创建过程中的 任何阶段使用评估方法,对已经做出的软 件体系结构决策进行检查,或者确定还没 有决定的软件体系结构选项。
➢通过集体讨论的方式来获取场景。 ➢场景的获取和收集往往需要重复多次,形
成场景和软件体系结构描述的过程是相关 的,同时也是迭代的。
国防科技大学计算机学院
28
描述软件体系结构
➢候选的软件体系结构描述必须使用软件体 系结构分析中各个成员能够理解的概念, 这些软件体系结构描述除了包括相关连接 子,还包括系统的计算构件和数据构件。
➢场景的形成和软件体系结构描述通常相互 促进
➢软件体系结构描述的缺乏将强制性地要求利益 相关人员考虑针对当前软件体系结构专门特征 的场景。
➢场景反映了软件体系结构的需求,从而必须在 软件体系结构描述中实现。
国防科技大学计算机学院
29
场景的分类和优先级划分
➢直接场景
➢场景的进行不需要修改软件体系结构。 ➢通过展示现有的软件体系结构在执行此场景时
22
展示结果
➢方法结果中应该包括以下元素
➢已具备文档的软件体系结构方法 ➢场景集合以及它们的优先级划分 ➢基于属性的问题集合 ➢效果树 ➢发现的风险决策 ➢已具备文档的无风险决策 ➢发现的敏感点和折中点
国防科技大学计算机学院
23
四个阶段
➢ 阶段0:评估团队在这个阶段被创建,同时评估组 织与需要评估软件体系结构的组织建立合作伙伴 关系。
24
内容
9.1 软件体系结构评估简介 9.2 ATAM方法 9.3 SAAM方法 9.4 ARID方法
国防科技大学计算机学院
25
基本介绍
➢ 第一个具备文档说明并且广泛传播的软件体系结 构分析方法
➢ 方法假设
➢ 实践人员会定期地对她们的软件体系结构有所声明
➢ SAAM方法的输入
➢ 一组场景
➢ SAAM方法的输出
➢ 可分解性
➢ 支持生产系统某个子集的能力
➢ 概念完整性
➢ 能够统一所有层面系统设计概念的能力
国防科技大学计算机学院
9
评估的益处和代价(1/2)
➢评估的益处:
➢把利益相关人员召集在一起 ➢强制特定质量目标的接合 ➢生成冲突目标的优先级 ➢对软件体系结构有一个清晰的说明 ➢提高软件体系结构文档的质量 ➢发现跨项目重用的机会 ➢得到优化后的软件体系结构实践
国防科技大学计算机学院
34
基本介绍
➢ATAM方法和SAAM方法适合于评估成熟的 软件体系结构。
➢在软件体系结构发布之前对其进行评估能 够及时发现设计中的错误、不一致或缺陷。
➢在中间阶段,需要的是一个简单、轻量级 的评估方法,主要关注于系统的适应性, 并且能够在没有详细设计文档的情况下使 用。
国防科技大学计算机学院
➢ 系统能够使用现有的资源来开发,现有资源 包括:人员、预算、任何遗留系统以及交付 之前分配的时间。也就是说,软件体系结构 是可构建的。
国防科技大学计算机学院
7
评估结果和质量属性(3/4)
➢ 性能
➢ 系统响应能力
➢ 可靠性
➢ 系统随着时间的进行而保持运行的能力
➢ 可用性
➢ 系统有效工作的时间比例
➢ 安全性
评估场景交互
➢当多个间接场景需要修改软件体系结构的 某个构件时,它们就被认为在此构件中进 行交互。
➢场景交互揭示了产品设计中的功能分配 。 ➢场景交互能够暴露出软件体系结构文档的不够
详细,没有达到结构分解的要求。
国防科技大学计算机学院
32
形成总体评估
➢根据每个场景对于系统成功的相对重要程 度,每个场景会被赋予一个权重,这个权 重常常也与场景支持的商业目标相关。
➢利益相关人员:是软件体系结构和基于它 开发的系统的既得利益者。
国防科技大学计算机学院
5
评估结果和质量属性(1/4)
➢软件体系结构评估会产生一个评估报告, 报告的形式和内容随着所使用评估方法的 不同而不一样。
➢通过软件体系结构评估可以回答下面两类 问题:
➢软件体系结构是否适用于基于它的软件系统? ➢如果对于目前的系统有多个软件体系结构可以
的行为来决定。
➢间接场景
➢场景没有被直接支持,但存在一些可表示的软 件体系结构的变化来支持场景
国防科技大学计算机学院
30
间接场景的单独评估
➢设计人员能够描述应该如何修改软件体系 结构来适应间接场景。
➢列出为了支持间接场景对软件体系结构必 须做的修改,然后还要估计修改的代价。
国防科技大学计算机学院
31
➢晚评估:迟评估的时机是软件体系结构已 经明确并且实现已经完成的时候,这种情 况在某个组织继承某些遗留系统时发生, 这些遗留系统可能是在市场中购买的,也 可能是从本组织现有的存档中发掘的。
国防科技大学计算机学院
4
评估时机和人员(2/2)
➢评估团队:其中的人员会实施评估并且进 行分析,团队中成员和她们确切的角色将 在后面定义;
➢ 阶段1:这个阶段以软件体系结构为中心,着重于 获取软件体系结构信息并且对其进行分析。
➢ 阶段2:这个阶段以利益相关人员为中心,着重于 获得利益相关人员的观点然后验证第一个阶段的 结果。
➢ 阶段3:在这个阶段中产生最终的报告,计划接下 来的动作,然后评估组织更新其业绩记录和经验 基础。
国防科技大学计算机学院
国防科技大学计算机学院
21
再次分析软件体系结构方法
➢评估团队会进行与步骤6中相同的活动,把 新生成的最高级别的场景对应到还没有发 现的软件体系结构元素上。
➢如果步骤7并没有产生任何在之前的分析过 程没有被发现的高优先级场景,那么步骤8 就是测试活动,其目标就是尽量完整地发 现信息。
国防科技大学计算机学院
➢这些软件体系结构方法定义了系统的关键 结构,描述了系统的成长方式、应对变化 的方式、抵抗攻击的方式、与其它系统集 成的方式等等。
国防科技大学计算机学院
18
产生质量属性效果树
➢评估团队与项目决策者(软件体系结构团 队、项目经理和客户)一起工作,来确定 系统最重要的质量属性目标,并对它们进 行优先级划分和精化。
➢介绍评估的结果,比如已经划分优先级的 场景、用于理解和评估软件体系结构的问
题、一组指定的软件体系结构方法、一组 敏感点和折中点等等。
国防科技大学计算机学院
15
商业动机的介绍
➢项目决策者(最好是项目经理或系统关键 客户)会从商业的角度来介绍系统的概况 。
➢系统最重要的功能;任何技术、管理、经 济或政治方面的相关约束;与项目相关的 商业目标和上下文;主要的利益相关人员; 软件体系结构的驱动因素,即形成软件体 系结构的主要质量属性目标。
➢权值的决定是一个主观的过程,需要所有 的利益相关人员通过讨论甚至辩论来决定。
➢如果比较多个软件体系结构,每个支持的 直接场景的数量也会影响评估,因为直接 场景意味着无需修改系统就能够支持某个 用户任务。
国防科技大学计算机学院
33
内容
9.1 软件体系结构评估简介 9.2 ATAM方法 9.3 SAAM方法 9.4 ARID方法
分析软件体系结构方法
➢评估团队可以调查实现重要质量属性的软 件体系结构方法,这可以通过查看软件体 系结构决策并且找出它们的风险决策、无 风险决策、敏感点和折中点来完成。
➢这个步骤的输出包括:
➢与每个最高优先级的效果树场景相关的软件体 系结构方法或决策;
➢每个软件体系结构方法相关的分析问题;
➢设计人员对于问题的回答;
选择,那个是最合适的?
国防科技大学计算机学院
6
评估结果和质量属性(2/4)
➢ 如果一个软件体系结构满足以下两个标准, 那么就认为它是适宜的:
➢ 系统的结果满足质量目标。也就是说,系统 的运行是可预期的,并且运行速度足够快, 满足系统的性能或时间需求;系统的修改按 照计划的方式进行,并且满足安全约束,系 统能够提供必须的功能。
➢所确定的风险决策、无风险决策、敏感点和折 中点。
国防科技大学计算机学院
20
集体讨论并确定场景的优先级
➢了解主要的利益相关群体 ➢集体讨论3种类型的场景
➢用例场景,代表利益相关人员所期望的系统使 用方式;
➢成长场景,代表软件体系结构处理成长和变化 的方式;
➢探索场景,代表成长的极限形式,包括新的性 能或可用性需求、架构的主要改变或系统的任 务等等。
性能
数据延迟 交易吞吐量
(M,L) 把客户数据库的存储延迟最小化 到200毫秒 (H,M) 实时地提供视频
(M,M) 最大化授权服务器的平均吞吐量
效果
可变性 可用性
安全性
国防科技大学计算机学院
新添加产品种类 修改COTS
硬件失败 COTS源自文库件失败
数据保密性 数据完整性
19
(L,H) 在 少 于 20 人 - 月 的 代 价 下 加 入 CORBA 中间件 (H,L) 在少于4人-周的代价下修改Web用 户界面
(L,H) 由于站点1的动力故障而需要 把请求转到站点3的时间要低于3秒
(M,M) 磁盘失败后重新启动的时间 要低于5分钟 (H,M) 用于监测并恢复网络失败的时间要 少于1.5分钟
(L,H) 信用卡和事务在99.999%的时间内 是安全的 (L,H) 用户数据局的授权在99.999% 的时 间内是安全的
35
➢ 系统在为合法用户提供服务的同时抵制未授权的使用 请求和拒绝服务的能力
➢ 可变性
➢ 快速有效地修改系统的能力
国防科技大学计算机学院
8
评估结果和质量属性(4/4)
➢ 可移植性
➢ 系统在不同计算环境中运行的能力
➢ 功能性
➢ 系统能够按照预期工作的能力
➢ 变化性
➢ 软件体系结构能够通过扩展或修改来得到新的软件体 系结构的程度
➢ 代表系统未来变化的场景到软件体系结构的对应,软 件体系结构中潜在的复杂度高的区域,同时还有对每 个变化工作量的估计;
➢ 系统功能的理解,或者不同软件体系结构功能数量的 比较。
国防科技大学计算机学院
26
SAAM方法步骤
国防科技大学计算机学院
27
场景的形成
➢场景应该能够说明系统必须支持的活动类 型,同时还必须说明客户参与者将给系统 带来的变化类型。
《软件设计与体系结构》
第九讲:软件体系结构评估
国防科技大学计算机学院
国防科技大学计算机学院
内容
9.1 软件体系结构评估简介 9.2 ATAM方法 9.3 SAAM方法 9.4 ARID方法
国防科技大学计算机学院
2
基本介绍
➢软件系统的基础是它的体系结构,软件体 系结构将影响系统很多质量属性。
➢在软件体系结构确定下来以后,软件系统 的这些属性就是可预见的。