软件体系结构描述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第4章软件体系结构描述优秀的体系结构设计是决定一个软件系统取得长期成功的关键因素。◇传统描述方法的种类第4章软件体系结构描述4.1传统的软件体系结构描述方法◎图形表达工具◎模块内连接语言◎基于软构件的系统描述语言◇图形表达工具第4章软件体系结构描述4.1软件体系结构描述方法采用由矩形框和有向线段组合而成的图形表达工具。矩形表示抽象构件框内文字为抽象构件的名称有向线段代表辅助各构件进行通信、控制或关联的连接件。第4章软件体系结构描述4.1软件体系结构描述方法项目管理测试结果打印程序复杂度函数调用关系图带时间特性的流程图复杂度计算布图算法最优/最劣时间计算缓冲测试结果库测试配置时间分析器静态分析器◇模块内连接语言第4章软件体系结构描述4.1软件体系结构描述方法◎采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言(ModuleInterconnectionLanguage,MIL)。由于程序设计语言和模块内连接语言具有严格的语义基础,因此它们能支持对较大的软件单元进行描述,诸如定义/使用和扇入/扇出等操作。例如,Ada语言采用use实现包的重用,Pascal语言采用过程(函数)模块的交互等。◎MIL方式对模块化的程序设计和分段编译等程序设计与开发技术确实发挥了很大的作用。但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了它们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力。◇基于软构件的系统描述语言第4章软件体系结构描述4.1软件体系结构描述方法◎基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。◎例如,一种多变配置语言(ProteusConfigurationLanguage,PCL)就可以用来在一个较高的抽象层次上对系统的体系结构建模,Darwin最初用作设计和构造复杂分布式系统的配置说明语言,因具有动态特性,也可用来描述动态体系结构。◎这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。第4章软件体系结构描述◇存在的问题:◎体系结构设计不容易理解。◎系统架构师很难在各种方案中做出原则性的选择。◎初始设计中假定的体系结构约束可能随着系统演化而丧失。◎几乎没有什么工具能帮助系统架构师进行体系结构设计。4.1软件体系结构描述方法第4章软件体系结构描述◇目前对体系结构的描述主要有两类:◎使用精确的无歧义的体系结构描述语言,并提供对体系结构和特征的分析工具和设计环境。◎采用形式化的方法,提供精确的、抽象的模型,并提供基于这个模型的分析工具。4.1软件体系结构描述方法体系结构描述的概念与实践存在不统一的现象基于此,关于体系结构,IEEE于1995年8月成立了相关工作组,综合研究成果,参考业界的体系结构描述实践,负责起草了体系结构框架标准IEEEP1471第4章软件体系结构描述4.2软件体系结构描述框架标准◇IEEEP1471第4章软件体系结构描述4.2软件体系结构描述框架标准◎IEEEP1471于2000年9月21日通过IEEE-SA标准委员会评审。(软件密集系统的体系结构描述推荐标准)◎IEEEP1471适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。◇IEEEP1471最主要的组成部分第4章软件体系结构描述4.2软件体系结构描述框架标准◎对关键术语的定义。◎对体系结构与体系结构描述在概念上的分力促进了描述体系结构标准和构筑系统标准的建立。◎用于描述一个系统体系结构的内容要求。◇IEEEP1471的体系结构描述要求第4章软件体系结构描述4.2软件体系结构描述框架标准◎一个体系结构描述必须规定系统的用户,确定体系结构的要点。◎一个体系结构描述必须被编入一个或多个系统的体系结构视图中。◎一个体系结构描述必须为制定关键的结构性决策提供基本原则。◇IEEEP1471软件体系结构描述的标准第4章软件体系结构描述4.2软件体系结构描述框架标准◎体系结构设计的标识、版本、总体信息。◎系统参与者的标识、以及在体系结构中他们所关注方面的标识。◎组织体系结构表示所选择的视点的规格说明,以及这种选择的基本原理。◎一个或多个体系结构视图。◎体系结构描述所需的成分之间不一致的记录。◎体系结构选择的基本原理。第4章软件体系结构描述4.2软件体系结构描述框架标准IEEEP1471详细介绍了一套体系结构描述的概念框架,并给出建立框架的思路,但如何描述以及具体的描述技术等方面缺乏更进一步的指导。◇Rational基于IEEEP1471推荐的体系结构描述的概念框架,Rational起草了可重用的软件资产规格说明,提出了一套易于重用的体系结构描述规范。第4章软件体系结构描述4.2软件体系结构描述框架标准◇Rational第4章软件体系结构描述4.2软件体系结构描述框架标准◎Rational起草了可重用的软件资产规格说明,专门讨论了体系结构描述的规格说明,提出了一套易于重用的体系结构描述规范。该建议草案已经提交OMG。◎基于RUP(RationalUnifiedProcess)、采用UML模型描述软件的体系结构,认为体系结构描述的关键是定义视点、视图以及建模元素之间的映射关系。◎与IEEEP1471相比,该建议标准的体系结构描述方案涉及面比较窄,所注重的层次比较低,因而更具体。由于将体系结构的描述限于UML和RUP,具有一定的局限性,但该建议标准结合了业界已经广泛采用的建模语言和开发过程,因而易于推广,可以有效实现在跨组织之间重用体系结构描述结果。提出了7个体系结构视图:用例视图、域视图、非功能视图、逻辑视图、实现视图、过程视图和部署视图第4章软件体系结构描述4.3软件体系结构描述语言ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是:构件、连接件、体系结构配置。主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,尽管它们都描述软件体系结构,却有不同的特点。这些ADL强调了体系结构不同的侧面,对体系结构的研究和应用起到了重要的作用,但也有负面的影响。每一种ADL都以独立的形式存在,描述语法不同且互不兼容,同时又有许多共同的特征,这使设计人员很难选择一种合适的ADL,若设计特定领域的软件体系结构又需要从头开始描述。计算或数据存储单元用于构件之间交互建模的体系结构构造块及其支配这些交互的规则体系结构的构件与连接件的连接图第4章软件体系结构描述4.3软件体系结构描述语言Aesop支持体系结构风格的应用。MetaH为设计者提供了关于实时电子控制软件系统的设计指导。C2支持基于消息传递风格的用户界面系统的描述。Rapide支持体系结构设计的模拟并提供了分析模拟结果的工具。SADL提供了关于体系结构加细的形式化基础。UniCon支持异构的构件和连接类型并提供了关于体系结构的高层编译器。Wright支持体系结构构件之间交互的说明和分析。第4章软件体系结构描述4.3软件体系结构描述语言◇ADL典型的ADL在充分继承和吸收传统程序设计语言的精确性和严格性特点的同时,还应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性。MaryShow&DavidGarlan第4章软件体系结构描述4.3软件体系结构描述语言◎构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;◎抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;◎重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;◇ADL与其他语言的比较(1)第4章软件体系结构描述4.3软件体系结构描述语言◎组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;◎异构能力:ADL允许多个不同的体系结构描述关联存在;◎分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。◇ADL与其他语言的比较(2)第4章软件体系结构描述4.3软件体系结构描述语言◎ADL与需求语言:需求语言描述问题空间,ADL根植于解空间;◎ADL与建模语言:建模语言对整体行为的关注要大于对部分的关注,ADL关注的是构件的表示;◎ADL与传统程序设计语言:存同求异。◇ADL与其他语言的比较(3)第4章软件体系结构描述4.3软件体系结构描述语言◇典型元素含义比较第4章软件体系结构描述4.3软件体系结构描述语言◇常见的软件体系结构元素第4章软件体系结构描述4.3软件体系结构描述语言◇ADL的构成要素构件连接件体系结构配置第4章软件体系结构描述4.3软件体系结构描述语言◇ADL的构成要素构件接口是构件与外部世界的一组交互点,也是唯一交互点。构件类型是实现构件重用的手段。通过实例化体现重用。构件的演化能力是系统演化的基础。第4章软件体系结构描述4.3软件体系结构描述语言◇ADL的构成要素连接件用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。通过一组角色实现连接件的接口,接口实现了连接件与构件之间互联的交互点。体系结构级的重用,需要将连接件构造为类型。体系结构描述提供了连接件协议以及变换语法。第4章软件体系结构描述4.3软件体系结构描述语言◇ADL的构成要素体系结构配置描述体系结构的构件与连接件的连接图。适合于描述大的、生命周期和的系统。可实现体系结构的重用和调用,具有复合或等级复合的特性。体系结构的设计是软件生命周期中关键的一环。绝大多数体系结构配置是领域相关的,做到通用很难。第4章软件体系结构描述4.4典型软件体系结构描述语言◎C2和其提供的设计环境(Argo)支持采用基于时间的风格来描述用户界面系统,并支持使用可替换、可重用的构件开发GUI的体系结构。◎在C2中,连接件负责构件之间消息的传递,而构件维持状态、执行操作并通过两个名字分别为“top”和“bottom”的端口和其它的构件交换信息。◎每个接口包含一种可发送的消息和一组可接收的消息。构件之间的消息要么是请求其它构件执行某个操作的请求消息,要么是通知其他构件自身执行了某个操作或状态发生改变的通知消息。◇C2概述(1)第4章软件体系结构描述4.4典型软件体系结构描述语言◎构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多只能和一个连接件相连,而连接件可以和任意数目的构件或连接件相连。◎请求消息只能向上层传送而通知消息只能向下层传送。◎通知消息的传递只对应于构件内部的操作,而和接收消息的构件的需求无关。◎C2对构件和连接件的实现语言、实现构件的线程控制、构件的部署以及连接件使用的通讯协议等都不加限制。◇C2概述(2)第4章软件体系结构描述4.4典型软件体系结构描述语言◇C2对构件的描述第4章软件体系结构描述4.4典型软件体系结构描述语言◇C2对构件接口的描述interface_requests::={request;}|null;interface_notifications::={notification;}|null;request::=message_name(request_parameters)request_parameters::=[tocomponent_name][parameter_list]notification::=message_name[parameter_list]component_message_interface::=t

1 / 66
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功