当前位置:文档之家› 第9章 软件体系结构评估

第9章 软件体系结构评估


数据保密性
安全性 数据完整性
步骤6、分析软件体系结构方法
评估团队可以调查实现重要质量属性的软件体系
结构方法,这可以通过查看软件体系结构决策并 且找出它们的风险决策、无风险决策、敏感点和 折中点来完成。 这个步骤的输出包括: 与每个最高优先级的效果树场景相关的软件体 系结构方法或决策; 每个软件体系结构方法相关的分析问题; 设计人员对于问题的回答; 所确定的风险决策、无风险决策、敏感点和折 中点。
ARID方法步骤
阶段1、排练
步骤1、确定评审人 步骤2、准备设计情况介绍 步骤3、准备种子场景 步骤4、准备材料 阶段2、评审 步骤1、介绍ARID方法 步骤2、介绍设计 步骤3、场景的集体讨论和优先级划分 步骤4、应用场景 步骤5、总结
SAAM方法步骤
步骤1、场景的形成
场景应该能够说明系统必须支持的活动类型,同
时还必须说明客户参与者将给系统带来的变化类 型。 通过集体讨论的方式来获取场景。 场景的获取和收集往往需要重复多次,形成场景 和软件体系结构描述的过程是相关的,同时也是 迭代的。
步骤2、描述软件体系结构
候选的软件体系结构描述必须使用软件体系结构
可移植性

系统在不同计算环境中运行的能力 功能性 系统能够按照预期工作的能力 变化性 软件体系结构能够通过扩展或修改来得到新的软件体 系结构的程度 可分解性 支持生产系统某个子集的能力 概念完整性 能够统一所有层面系统设计概念的能力
评估的益处和代价(1/2)
评估的益处:
评估人员(2/2)
评估团队:其中的人员会实施评估并且进行分析
,团队中成员和他们确切的角色将在后面定义; 利益相关人员:是软件体系结构和基于它开发的 系统的既得利益者。
评估结果和质量属性(1/4)
软件体系结构评估会产生一个评估报告,报告的
形式和内容随着所使用评估方法的不同而不一样 。 通过软件体系结构评估可以回答下面两类问题: 软件体系结构是否适用于基于它的软件系统? 如果对于目前的系统有多个软件体系结构可以 选择,那个是最合适的?
评估团队会进行与步骤6中相同的活动,把新生成
的最高级别的场景对应到还没有发现的软件体系 结构元素上。 如果步骤7并没有产生任何在之前的分析过程没有 被发现的高优先级场景,那么步骤8就是测试活动 ,其目标就是尽量完整地发现信息。
步骤9、展示结果
方法结果中应该包括以下元素
已具备文档的软件体系结构方法 场景集合以及它们的优先级划分 基于属性的问题集合 效果树 发现的风险决策 已具备文档的无风险决策 发现的敏感点和折中点
步骤2、商业动机的介绍
项目决策者(最好是项目经理或系统关键客户)
会从商业的角度来介绍系统的概况 。 系统最重要的功能;任何技术、管理、经济或政 治方面的相关约束;与项目相关的商业目软件体系结构的主要质量属性目 标。
步骤3、软件体系结构介绍
新添加产品种类 可变性 修改COTS
(L,H) 在 少 于 20 人 - 月 的 代 价 下 加 入 CORBA 中间件 (H,L) 在少于4人-周的代价下修改Web用 户界面 (L,H) 由于站点1的动力故障而需要 把请求转到站点3的时间要低于3秒
效果
硬件失败 可用性
COTS软件失败
(M,M) 磁盘失败后重新启动的时间 要低于5分钟 (H,M) 用于监测并恢复网络失败的时间要 少于1.5分钟 (L,H) 信用卡和事务在99.999%的时间内 是安全的 (L,H) 用户数据局的授权在99.999% 的时 间内是安全的
内容
9.1 软件体系结构评估简介
9.2 ATAM方法
9.3 SAAM方法
9.4 ARID方法
ARID基本介绍
ATAM方法和SAAM方法适合于评估成熟的软件体系
结构。 在软件体系结构发布之前对其进行评估能够及时 发现设计中的错误、不一致或缺陷。 在中间阶段,需要的是一个简单、轻量级的评估 方法,主要关注于系统的适应性,并且能够在没 有详细设计文档的情况下使用。
适应间接场景。 列出为了支持间接场景对软件体系结构必须做的 修改,然后还要估计修改的代价。
步骤5、评估场景交互
当多个间接场景需要修改软件体系结构的某个构
件时,它们就被认为在此构件中进行交互。 场景交互揭示了产品设计中的功能分配 。 场景交互能够暴露出软件体系结构文档的不够 详细,没有达到结构分解的要求。
首席设计师会以恰当的详细程度来介绍软件体系
结构 软件体系结构相关文档的详细程度,可用的时 间,行为和质量需求的实质 软件体系结构视图是设计师用于展示软件体系结 构的主要工具 功能、并发、代码和物理视图
步骤4、确定软件体系结构方法
评估团队会得到软件体系结构方法,但并不会对
其进行分析,评估团队将要求设计人员为任何使 用的软件体系结构方法命名,也将确定任何她们 在上一个步骤中听到的软件体系结构方法。 这些软件体系结构方法定义了系统的关键结构, 描述了系统的成长方式、应对变化的方式、抵抗 攻击的方式、与其它系统集成的方式等等。
ATAM方法步骤
1、ATAM方法介绍 2、商业动机的介绍 3、软件体系结构介绍 4、确定软件体系结构方法 5、产生质量属性效果树 6、分析软件体系结构方法 7、集体讨论并确定场景的优先级 8、再次分析软件体系结构方法 9、展示结果
步骤1、ATAM方法介绍
评估负责人给召集在一起的利益相关人员介绍
内容
9.1 软件体系结构评估简介
9.2 ATAM方法
9.3 SAAM方法
9.4 ARID方法
SAAM基本介绍
第一个具备文档说明并且广泛传播的软件体系结构分析方
法 方法假设 实践人员会定期地对他们的软件体系结构有所声明 SAAM方法的输入 一组场景 SAAM方法的输出 代表系统未来变化的场景到软件体系结构的对应,软 件体系结构中潜在的复杂度高的区域,同时还有对每 个变化工作量的估计; 系统功能的理解,或者不同软件体系结构功能数量的 比较。
内容
9.1 软件体系结构评估简介
9.2 ATAM方法
9.3 SAAM方法
9.4 ARID方法
ATAM基本介绍
ATAM方法能够反映一个软件体系结构满足某些特
定质量目标的程度,同时还能够给出这些质量目 标相互之间的交互方式。 ATAM方法也可对遗留系统进行分析,提高对系统 质量属性的理解。 ATAM方法基本过程(4组) 介绍、调查和分析、测试、报告
步骤6、形成总体评估
根据每个场景对于系统成功的相对重要程度,每
个场景会被赋予一个权重,这个权重常常也与场 景支持的商业目标相关。 权值的决定是一个主观的过程,需要所有的利益 相关人员通过讨论甚至辩论来决定。 如果比较多个软件体系结构,每个支持的直接场 景的数量也会影响评估,因为直接场景意味着无 需修改系统就能够支持某个用户任务。
四个阶段
阶段1(步骤1-3):评估团队在这个阶段被创建,同时评估
组织与需要评估软件体系结构的组织建立合作伙伴关系。 阶段2(步骤4-6):这个阶段以软件体系结构为中心,着重 于获取软件体系结构信息并且对其进行分析。 阶段3 (步骤7-8) :这个阶段以利益相关人员为中心,着 重于获得利益相关人员的观点然后验证第一个阶段的结果。 阶段(步骤9) :在这个阶段中产生最终的报告,计划接下 来的动作,然后评估组织更新其业绩记录和经验基础。
把利益相关人员召集在一起 强制特定质量目标的接合 生成冲突目标的优先级 对软件体系结构有一个清晰的说明 提高软件体系结构文档的质量 发现跨项目重用的机会 得到优化后的软件体系结构实践
评估的益处和代价(2/2)
评估的代价
人员开销 与参加软件体系结构评估的人员相关的机会成本 减小评估代价的方法 在相同领域内的重用
评估结果和质量属性(3/4)
性能

系统响应能力 可靠性 系统随着时间的进行而保持运行的能力 可用性 系统有效工作的时间比例 安全性 系统在为合法用户提供服务的同时抵制未授权的使用 请求和拒绝服务的能力 可变性 快速有效地修改系统的能力
评估结果和质量属性(4/4)
ATAM方法。 ATAM方法中步骤的简要介绍。 介绍评估中使用的获取和分析技术,包括效果树 的生成、基于软件体系结构方法的获取和分析以 及场景的集中讨论和优先级划分。 介绍评估的结果,比如已经划分优先级的场景、 用于理解和评估软件体系结构的问题、一组指定 的软件体系结构方法、一组敏感点和折中点等。
步骤5、产生质量属性效果树
评估团队与项目决策者(软件体系结构团队、项
目经理和客户)一起工作,来确定系统最重要的 质量属性目标,并对它们进行优先级划分和精化 。
性能 数据延迟 交易吞吐量 (M,L) 把客户数据库的存储延迟最小化 到200毫秒 (H,M) 实时地提供视频 (M,M) 最大化授权服务器的平均吞吐量
步骤3、场景的分类和优先级划分
直接场景
场景的进行不需要修改软件体系结构。 通过展示现有的软件体系结构在执行此场景时 的行为来决定。 间接场景 场景没有被直接支持,但存在一些可表示的软 件体系结构的变化来支持场景
步骤4、间接场景的单独评估
设计人员能够描述应该如何修改软件体系结构来
分析中各个成员能够理解的概念,这些软件体系 结构描述除了包括相关连接子,还包括系统的计 算构件和数据构件。 场景的形成和软件体系结构描述通常相互促进 软件体系结构描述的缺乏将强制性地要求利益 相关人员考虑针对当前软件体系结构专门特征 的场景。 场景反映了软件体系结构的需求,从而必须在 软件体系结构描述中实现。
第九章 软件体系结构评估
1
内容
9.1 软件体系结构评估简介
9.2 ATAM方法
相关主题