第八章_软件体系结构评估

上传人:今*** 文档编号:107165191 上传时间:2019-10-18 格式:PPT 页数:36 大小:320KB
返回 下载 相关 举报
第八章_软件体系结构评估_第1页
第1页 / 共36页
第八章_软件体系结构评估_第2页
第2页 / 共36页
第八章_软件体系结构评估_第3页
第3页 / 共36页
第八章_软件体系结构评估_第4页
第4页 / 共36页
第八章_软件体系结构评估_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《第八章_软件体系结构评估》由会员分享,可在线阅读,更多相关《第八章_软件体系结构评估(36页珍藏版)》请在金锄头文库上搜索。

1、第九章软件体系结构评估,本章内容,9.1软件体系结构评估概述 9.2软件体系结构评估的主要方式 9.3基于场景的软件体系结构评估方式 9.4基于度量的软件体系结构评估方式 9.5基于评估矩阵的软件体系结构评估示例 9.6软件体系结构评估方法比较 9.7软件体系结构评估领域的研究重点和方向,研究软件体系结构分析与评估技术的意义,大型复杂软件系统在开发过程中所关注的主要问题之一就是质量。在软件系统的早期设计阶段,选择合适的体系结构对系统的许多重要质量属性,比如,效率、可维护性、可复用性、可移植性等起着决定性的影响。软件体系结构分析与评估的目的是为了识别软件体系结构设计中的潜在风险,验证系统的质量需

2、求在设计中是否得到了体现,预测系统的质量并帮助开发人员进行设计决策,因此尽早地按照质量需求评估一个系统的体系结构非常重要。,9.1软件体系结构评估概述,软件体系结构的分析与评估可以分为两大类,即定性分析和定量分析。 定性分析主要采用基于检查表、问卷调查和场景的分析评估技术。 定量分析主要采用度量指标、模拟、原型系统和数学模型等技术。,9.1软件体系结构评估概述,软件质量是指软件对预期的一系列质量属性组合的满足程度。 拥有较高质量的软件在维护和测试等阶段的开销比较低,复用的可能性也相对更高。 软件质量受到开发过程中的多项活动的影响,精确的需求定位、正确的设计决策、先进的编程技巧等都将对软件质量产

3、生影响。一些针对体系结构方面的决策对软件的质量属性也有着很大的影响。,9.1软件体系结构评估概述,质量属性是一个组件或一个系统的非功能性特征。软件质量在IEEE1061中被定义为“它体现了软件拥有所期望的属性组合的程度”。在ISO中被定义为“一组固有特性满足要求的程度”。,9.1软件体系结构评估概述,McCall定义软件外部质量要素有11个,称之为软件的质量要素,它们是:正确性、可靠性、效率、完整性、可使用性、可维护性、可测试性、灵活性、可移植性、重复使用性、连接性。 McCall称软件的内部质量要素为软件的质量属性,共有23个,它们是:完备性、一致性、准确性、容错性、简单性、模块性、通用性、

4、可扩充性、工具性、自描述性、执行效率、存储效率、存取控制、存取审查、可操作性、可培训性、通信性、软件系统独立性、机器独立性、通信通用性、数据通用性、简明性。,9.1软件体系结构评估概述,ISO/IEC 9126-1定义的软件质量模型把软件的质量要素分为两个层次: 第一层要素包括:效率、功能性、维护性、可移植性、可靠性、可使用性。 第二层子要素包括:时间经济性、资源经济性、完全性、正确性、安全性、兼容性、互用性、可修改性、可扩充性、可测试性、硬件独立性、软件独立性、可安装性、可复用性、无缺陷性、容错性、可用性、可理解性、易学习性、可操作性、易沟通性。,9.1软件体系结构评估概述,ISO/IEC

5、9126-1定义的软件质量模型的两个层次要素之间的关系是:效率包括时间经济性和资源经济性;功能性包括完全性、正确性、安全性、兼容性、互用性;维护性包括可修改性、可扩充性、可测试性;可移植性包括硬件独立性、软件独立性、可安装性、可复用性;可靠性包括无缺陷性、容错性、可用性;可使用性包括可理解性、易学习性、可操作性、易沟通性。,9.1软件体系结构评估概述,风险承担者(Stakeholders),是对体系结构及根据该体系结构开发的系统有自己要求的人员。风险承担者通常包括:客户、最终用户、开发人员、集成人员、维护人员、测试人员、标准专家、性能工程师、安全专家、产品线经理、项目经理、系统管理员、网络管理

6、员、领域分析师、设备专家等、项目决策者、体系结构设计师也是很特殊的一类风险承担者。,9.1软件体系结构评估概述,场景(Scenario)是对于风险承担者与系统进行交互的简短描述,比如用户可以描述如何使用一个系统完成某项指定功能。在评估过程中,使用场景可以将那些模糊的、不适用于分析的质量属性需求描述转换为具体的易于理解的表述形式。 场景分为直接场景和间接场景两类。,9.1软件体系结构评估概述,常用的软件体系结构评估工具包括: SAAM Tool Aesop Aladdin Object Time Tool,9.2软件体系结构评估的主要方式,软件体系结构的分析与评估方式归纳为三大类: 基于问卷调查

7、或检查表的软件体系结构评估方式 基于场景的软件体系结构评估方式 基于度量的软件体系结构评估方式,9.2软件体系结构评估的主要方式,9.3基于场景的软件体系结构评估方式,基于场景的体系结构分析方法(Scenario-based Architecture Analysis Method,SAAM)是卡耐基梅隆大学软件工程研究所的Kazman等人在1983年提出的一种针对非功能质量属性的软件体系结构分析方法,它也是最早形成文档并得到广泛使用的软件体系结构分析方法。,9.3基于场景的软件体系结构评估方式,SAAM评估过程,9.3基于场景的软件体系结构评估方式,SAAM拥有以下10个特性: SAAM使用

8、场景技术。 SAAM把任何形式的质量属性都具体化为场景,但可修改性是其分析的主要质量属性。 针对风险承担者, SAAM协调不同参与者所感兴趣的方面,并使其成为后续决策的基础,用以提供对体系结构的公共理解。 在对体系结构进行描述这一方面,SAAM用于体系结构最后版本的确立,早于详细设计。,9.3基于场景的软件体系结构评估方式,SAAM主要输入是问题描述、需求说明和体系结构描述。 SAAM用一种易于理解的、合乎语法规则的形式描述体系结构,对场景生成一个关于特定体系结构的场景描述列表。 在特定目标方面,SAAM的目标是描述应用程序属性的文档,验证基本的体系结构假设和原则。,9.3基于场景的软件体系结

9、构评估方式,SAAM不考虑知识库的可复用性。 SAAM是一种成熟的方法,已被应用到众多系统中。 对体系结构的描述采用自然语言或其他形式的表示方法,SAAM所采用的场景能够分别支持对体系结构的静态结构分析和动态分析。,9.3基于场景的软件体系结构评估方式,SAAMCS(SAAM Founder on Complex Scenarios)方法认为场景的复杂度是风险评估中最重要的因素。SAAMCS对SAAM的扩展主要有两个方面:一方面是寻找场景的方式,另一方面是评估它们的影响。 SAAMCS分析的质量属性是系统的灵活性,强调参与者的影响,并在场景发起者,即最关心该场景实现的组织单元中指出各种重要角色

10、。,9.3基于场景的软件体系结构评估方式,SAAMER(SAAM for Evolution and Reusability)是对SAAM的另一种扩展,它更好地解决了一个系统应该怎样支持每一个质量属性,识别系统可维护性和可修改性的风险级别以及怎样完成系统升级等问题,并重点关注演化和复用这两个特定的软件质量属性。,9.3基于场景的软件体系结构评估方式,在 SAAM 的基础上,SEI在2000年提出了体系结构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM),它针对性能、实用性、安全性和可修改性等方面,在系统开发之前对这些质量属性进行分析、评估和折

11、中。,9.3基于场景的软件体系结构评估方式,ATAM关注如何从商业目标获取体系结构的质量属性目标。ATAM用调查表来收集影响软件体系结构质量属性的要素,描述质量属性的特征,并将场景分为3类,分别用于获取信息,覆盖系统预期变更以及覆盖可能对系统造成更大负荷的变更。从不同角度探测系统的特性,有助于提高场景的完整性并对体系结构的风险决策提供支持。,9.3基于场景的软件体系结构评估方式,ATAM分析质量属性之间的交互关系和依赖关系,探讨不同质量属性之间的折中机制,为目标属性建立效用树(Quality Attribute Utility Tree),直接有效地将系统的商业目标转化为具体的质量场景,有助于

12、质量目标的具体化和排序。,9.3基于场景的软件体系结构评估方式,9.3基于场景的软件体系结构评估方式,ATAM评估的步骤包括四大部分: (1)表述,通过表述进行信息交流,包括ATAM方法表述、商业动机表述、软件体系结构的表述。 (2)调查分析,包括确定软件体系结构的方法、生成质量属性效用树、分析软件体系结构方法。 (3)测试,包括集体讨论并确定场景的优先级、分析软件体系结构方法 (4)形成报告,即评估结果的表述。,9.3基于场景的软件体系结构评估方式,ATAM评估过程,9.3基于场景的软件体系结构评估方式,其他基于场景的软件体系结构评估方法介绍: ALPSM ALMA ALRRA SBAR A

13、RID,9.3基于场景的软件体系结构评估方式,体系结构级别上的软件维护预测方法ALPSM是在软件体系结构层面预测系统可维护性的一种方法。 基于预测的软件体系结构可修改性分析方法ALMA 使用可维护性成本预测和风险评估等度量指标,通过对变更场景的构建、评估对系统的可修改性进行分析 ALRRA是一种软件体系结构层面的可靠性风险分析方法。该方法基于如下假设:组件执行的频率越高,失效的可能性越大。 基于场景的体系结构再工程SBAR方法能够辅助设计者完成体系结构设计,还可以对一个系统的详细体系结构进行基于场景的软件质量分析与评估。 主动设计评审方法ARID是一种把基于场景的方法和主动设计评审技术相结合的

14、软件分析评估方法。,9.4基于度量的软件体系结构评估方式,层次分析法(Analytic Hierarchy Process,AHP)是多种体系结构评估度量方法的基础理论。 AHP的步骤: (1) 确定系统的总目标 (2)建立一个多层次的递阶结构 (3)确定以上递阶结构中相邻层次元素间相关程度 (4)计算各层元素对系统目标的合成权重并排序 (5)根据分析计算结果,9.4基于度量的软件体系结构评估方式,单指标测度评估矩阵法: 针对一个体系结构的单个指标进行度量的方法 多个体系结构整体评估: 在多个体系结构方案中选择一个最适合预定项目的方案,更侧重于体系结构之间的比较,9.5基于评估矩阵的软件体系结

15、构评估示例,项目要求:用户需要获取一款编译器,并对一些质量属性提出期望,要求从备选体系结构中找出合适的方案,使得所采用的软件体系结构能够尽可能满足质量属性期望值。,9.6软件体系结构评估方法比较,9.7软件体系结构评估领域的研究重点和方向,软件体系结构评估的研究重点和方向包括: (1)清晰定义软件质量属性。 (2)研究专门的度量模型。 (3)有效综合不同的体系结构分析与评估方法。 (4)复用软件体系结构分析与评估方法中出现的各种因素。 (5)如何做好风险评估。,9.7软件体系结构评估领域的研究重点和方向,(6)研究软件生存环境与对应的系统,分析其中的可变因素,将与适应性相关的特征映射成质量属性度量指标。 (7)如何将软件体系结构质量评估技术应用到软件工程实践中。 (8)在自动化支持方面的研究。,本章讲授内容已结束,谢谢,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号