软件架构描述工具的研究_第1页
软件架构描述工具的研究_第2页
软件架构描述工具的研究_第3页
软件架构描述工具的研究_第4页
软件架构描述工具的研究_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件架构描述工具的研究【摘 要】软件架构描述工具(software architecture description tool)是指用来辅助计算机软件开发、维护和管理的软件。使用软件架构 描述工具能节省软件生产开发时间和费用,提高软件生产率和质量。本文 在借鉴架构开发环境及描述语言的基础上,进一步地对软件架构描述工具 进行了研究。【关键词】软件架构描述acmestudio软件体系架构的描述目前是软件开发前期比较重要的工作,它对计算 机软件的实现手段要求是相当高的。因此研究出一些软件工具來实现软件 体系结构的描述和分析是十分必要的。在软件开发前期,使用这些软件转 换工具,可以实现软件成果的自动转

2、换。1架构描述工具的发展根据软件体系结构的应用现状来看,目前大部分对架构的描述在一定 程度上來说还停留在最基础的层面,很多对架构的描述还依赖于架构设计 师的长期工作经验和设计中的技巧。在通常软件开发前期,对软件架构描 述仍是采用文本或是图型的非形式化形式,冇时候无法描述出各系统的组 合关系,更加描述不出系统所期望的结构(如:各部分构件之间的结构等)。以往使用的架构描述方法很难被程序员所接收,更难以理解架构的模 拟和分析,为了保证软件架构描述的完整和一致性,开发出完善和适用的 软件架构描述工具迫在眉睫,这样不仅能够帮助设计师们完成软件的分析 和设计工作,还能保证软件设计的一致性和完整性。因此,使

3、用规范的、统一的、形式的软件架构描述工具対软件体系的 整体分析和设计都是十分重要的。由于任何事物要达到统一、规范、形式 的标准并不是一蹴而就的,对软件体系结构的设计和描述也不例外,都需 要经历过非形式化的发展过程,在这个过程中,慢慢的提取出一些符号和 标记,然后将它们统一标准,进而提炼出统一化的、规范化的、形式化的 软件架构描述工具来实现软件体系结构的设计和描述的工作。传统的软件架构描述工具冇以下几种常用的描述方法:1.1图形表达工具对软件架构的描述来说,这是一种使用广泛、操作灵活、简洁易懂的 方法,主要采用的线段组合(有向的)和矩形框合成的图形表达工具。使 用的方法是:矩形框内文字标注的是抽

4、象构件名称,有向线段表示的是各 种构件进行关联、控制和通信的连接件,矩形框表示的是各种抽象构件。之前,图形表达工具在软件开发和设计过程中占据着主流的地位。但 是山于在术语描述和表达方式上存在着一些不规范、不精确性,这样就导 致传统的图形表达方式(主要以矩形框和线段为基础的表达方式)在各文 档间和各系统间形成了孑盾和不一致的地方。然而,在软件架构描述工具 并不普及的情况下,此工具在实际的软件设计和开发过程屮被广使用,同 时它也给软件设计师提供了大量的体系结构思想。1. 2基于构件的描述语言此语言将软件系统描述成是由特殊软件实体(即许多特定形式相互作用组成)的组织或系统。具有一定的动态性,可用来描

5、述动态的软件架构。 虽然这种设计和描述的方式是一种较好的方法,但他面向的系统元索仍旧 是一些低层次的通信协议软件单元(以程序设计为基础),而且它描述和 设计的系统般都是些面向特殊功能的特泄系统,这样总结起来,它的描 述和设计方法仍不是十分适合的。1.3模块内连接语言模块内连接语言是将多种传统的程序设计语言相连接所形成的。鉴于 程序设计语言与模块内连接语言具有比较严格的语义,因此他们只能够描 述出较大的软件单元。例如:ada语言采用use实现包的作用,pascal语 言采用函数模块的交互功能等。模块内连接方式对模块化的程序设计和分段式编译等程序描述和设 计技术确实起到了很大的帮助。但是由于这些描

6、述和语言处理的软件设计开发过于依赖程序设计语 言,因此对他们描述和设计程序语言元素更为抽象的和高层次的软件架构 元素的能力起到了限制作用。1.4体系结构的描述语言体系结构的描述语言是针对软件架构特点,根据传统的程序设计开发 经验专门特定开发的。在吸取了传统的程序设计语言的语义和开发经验 后,针对软件架构的特点,最终定义出适合于描述相关抽象元素的软件体 系结构,它对描述体系结构的表示、分析、细化等过程提供了大量支持, 因此,体系结构描述语言是当前软件设计和描述方法中最被看好的、使用 最对的软件体系结构描述方法。2架构描述语言之间的比较目前经常使用的体系架构描述语言有metall> rapi

7、de> unicon> aesop、 c2、sadl和wright等,这些描述语言随都能描述软件体系结构,但却具 冇不同的特点:(1)aesop是有美国卡耐基梅隆大学的garlan等人创建的一门体系 结构描述语言,其目的是建立一个丁具包,为特定领域的体系结构快速构 建软件体系结构设计环境,支持许多体系结构的应用。(2)rapide提供了分析模拟结果的工具,同时支持体系结构设计的 模拟。(3)metah为设计者提供了关于实时电子控制软件系统的设计指导。(4)sadl提供了体系结构基础的形式化,在其中,定义了求精模式 的体系结构概念(能够保证具有可组合性和止确性),此方法能够减少体 系

8、结构总体设计的错误率,并且能够系统地、广泛地实现对设计领域知识 的正确性重用。(5)c2支持基于消息传递风格的用户界面系统的描述,重点在于对 构件的重用。(6)unicon支持架构中异构的构件和连接的类型,并高层编译器(关 于体系结构的),主要h的是针对支持体系结构的描述,对构件不同交互 模式加以打包和区分,对构建相同交互模式进行编码和定位。(7)wright支持体系结构构件之间交互的说明和分析,主要是对软 件体系结构和抽象动作的精确描述,具有定义体系结构特点的能力和完成 对体系结构描述行为进行一致性和完整性的检查。软件休系结构通过连接件和构件之间的各种搭建和组合来进行描述,抽象行为则是通过连

9、接件的 接口与构件的行为來描述。这些描述语言强调了体系结构许多不同的部分,对体系结构的具体研 究和应用起到了至关重要的作用。同时也带来了一些负面的影响,由于每 种描述语言都是独立存在的,描述的语法和兼容性也不尽相同,但同时也 存在着许多共性的东西,这样软件架构设计人员难以选择适合口 c的描述 语言,若想设计特定领域的软件体系结构还是需要重新描述的。3 acme的剖析acme也是由美国卡耐基梅隆大学的garlan等人创造的一门体系结构 描述语言,其最初的日的是为了创建一门简单的、具有一般性的adl,该 adl能用来为体系结构设计工具转换形式,或为开发新的设计和分析工具 提供基础。但是严格来说,a

10、cme并不是一种真正意义上的adl,而是一种体系结 构变换语言,它提供了一种在不同adl的体系结构规范描述之间实现变换 的机制。acme提供了描述体系结构的结构特性方法,这种方法使得acme 即能表示大多数adl都能描述的公共的结构信息,又能使用注释来表示与 特定的adl相关的信息。有了这种公共而又灵活的表示方法,再加上adl 之间关于属性的语义转换工具,就能顺利地实现adl之间的变换,从而使 adl之间能够实现分析方法和工具的共享。acme的运行环境为acme studio, acme studio是基于样式的架构设 计环境,以eclipse框架作为基础。它被认为是eclipse中插入的一个框 架,在这个框架中,拥有一个编辑窗口和若干个资源编辑视图,如图1所 /j i o图1 acme studio编辑环境在acme studio编辑环境中,可以在系统 编辑环境(system editor)中来设计系统结构。采用acme已经泄义好的体系结构实体,如构件、连接件、端口和角 色来描述系统的结构。这些已定义好的实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论