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

-软件体系结构评估

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