软件体系结构分析和评估方法研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件体系结构分析和评估方法研究

软件体系结构分析和评估方法研究   摘 要:从软件体系结构的概念出发,介绍了评估需要的相关术语和技术,讨论了国内外现存的多种分析评价方法,并按照一些标准对其进行分类比较。最后对软件体系结构分析评价研究中存在的问题及未来的研究方向作了简要总结。   关键词:软件体系结构; 分析与评价方法; 质量属性; 场景; 非功能质量属性的体系结构分析方法; 体系结构权衡分析方法   中图分类号:TP311文献标志码:A   文章编号:1001-3695(2007)03-0021-06   近几年来,软件体系结构(Software Architecture,SA)在软件开发和管理中扮演着越来越重要的角色。软件体系结构设计是从问题域空间到软件解空间的第一项活动,对软件质量有着至关重要的影响,对于确保最终系统的质量有重要的意义。软件体系结构评估的目的是分析SA潜在的风险,并检验设计中提出的质量需求[1]。针对体系结构评估这个新的研究领域,许多研究组织在会议和杂志上提出了众多结构化的评估方法,并且对于评估方法的改进和实践工作仍在进行中。文献[2,3]对分析评价方法进行了分类和总结,但都不是很完善。由于近几年的发展又有一些新变化,本文对国内外现存的多种分析评估方法进行了讨论分析,并按照一些标准对其进行分类比较。      1 相关术语   1.1 软件体系结构(SA)??   软件体系结构定义很多[4],各有其侧重点,但其核心部分是基本一致的,均包含一组计算部件、部件之间的交互――连接器、部件,以及连接器如何结合在一起的约束限制。它的定义随着软件体系本身的发展而逐步完善。??   本文采用以下定义:“软件系统或计算系统的软件体系结构就是系统的一个或多个结构,它包括软件组件、这些组件的外部可见属性以及组件之间的相互关系。”[5]该定义仅仅关注系统内在的方面,而大多数的分析方法均基于这个定义。   1.2 质量属性(Quality Attribute)??   质量属性是一个系统的非功能性特征。软件质量在IEEE 1061[6]中定义,它体现了软件拥有所期望的属性组合的程度。另一个标准ISO/IEC Draft 9126??1定义了一个软件质量模型。依照这个模型,共有六种特征,即功能性、可靠性、可用性、有效性、可维护性和可移植性。然而,由于这些抽象的质量太模糊,并且缺少评估体系结构的过程支持,分析评估起来非常困难。对于现在以及可预见的未来,软件体系结构的质量度量并不存在一个通用的度量方法,必须在具体的执行或开发环境下进行才有意义。   1.3 风险承担者(Stakeholder)??   所谓风险承担者就是与体系结构及根据该体系结构开发的系统有关系的人员。它包括面很广,项目经理、需求分析人员、系统开发人员、测试人员、用户等都是风险承担者的一类。项目决策者和体系结构设计师是特殊的风险承担者,也让他们参加整个评估过程。   1.4 场景(Scenario)??   场景应用广泛,已被认为是一种用于需求提取,特别是系统操作提取的技术。同时,场景还用作一种比较设计方案的方法。在质量分析上,场景就是对于风险承担者与系统交互的简短描述,如分析人员可能会描述用户所要求的该系统的某项功能,在软件体系结构的评估过程中,使用场景将那些模糊的不适用于分析的质量属性需求描述转换为具体的易于理解的表述形式。   1.5 评估技术??   软件体系结构分析评估分为定性分析和定量分析。所谓定性分析是指生成一个体系结构将要问到的质量问题;可适用于任何质量属性,并可用于对开发中任何状态的任何部分进行调查,包括场景、调查表、检查列表。定量分析采用基于度量指标、模拟、原型系统和数学模型等技术对体系结构进行度量;它主要用于解答具体质量属性的具体问题,并限于特定的软件体系结构,因此与询问技术的广泛适用有所不同。另外,度量技术还要求所评估的软件体系结构已经有设计或实现的产品,这也与询问技术不同。度量技术通常包括指标(Metrics)、模拟、原型和经验。      2 评估方法??   2.1 SAAM[7]   SAAM(Scenario??based Architecture Analysis Method)是卡耐基梅隆大学软件工程研究所(SEI at CMU)的Kazman等人于1983年提出的一种非功能质量属性的体系结构分析方法,是最早形成文档并得到广泛使用的软件体系结构分析方法。最初它用于比较不同的软件体系的体系结构,以分析SA的可修改性,后来实践证明也可用于其他的质量属性如可移植性、可扩充性等,发展成了评估一个系统的体系结构。??   (1)特定目标:SAAM的目标是对描述应用程序属性的文档,验证基本的体系结构假设和原则。此外,该分析方法有

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档