第二章软件体系结构建模_第1页
第二章软件体系结构建模_第2页
第二章软件体系结构建模_第3页
第二章软件体系结构建模_第4页
第二章软件体系结构建模_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第二章软件体系结构的基本概念与建模方法(续)本章内容2.1软件体系结构的概念及其概念模型2.2软件体系结构的“4+1视图”模型2.3软件体系结构的生命周期模型2.4构件、连接件定义2.5软件体系结构定义2.6基于UML的软件体系结构建模方法2.4构件、连接件定义构件是具有一定功能和可明确辩识的软件单位构件应该具备以下特点:语义完整性、语法正确性和可重用性在结构上,构件是语义描述、通信接口和实现代码的复合体,是计算和数据存储单元,是计算与状态存在的场所典型的构件包括:客户(Client)构件、服务器(Server)构件、过滤器(Filter)构件和数据库(Database)构件等2.4构件、连接件定义构件可以小到只有一个过程,也可以大到包含一个应用程序,可以包含函数、对象、进程、二进制对象、类库和数据包等构件之间是相互独立的,构件隐藏了其具体实现细节,通过接口来提供服务构件内部包含多种属性,例如:端口、类型、语义、约束、演化和非功能属性等2.4构件、连接件定义构件的形式化定义:构件是一个计算和数据存储单元,由构件接口和构件实现模块组成。构件接口是构件与外部接触点的集合,即<Port1,Port2,…,Portn>.每个Port有一个8元组定义<ID,PUBli,

Extei,

Privi,

Behai,

Msgsi,

Consi,

Non-Funci>.元素语义元素语义ID构件标示Behai构件第i个接触点行为语义描述PUBli构件第i个接触点能提供给环境或其它构件的功能集合Msgsi构件第i个接触点所产生消息的集合Extei构件第i个接触点所需环境或其它构件的功能集合Consi对构件第i个接触点行为约束,通常包括构件运行的初始条件、前置/后置条件Privi构件第i个接触点私有属性集合Non-Funci构件第i个接触点非功能说明2.4构件、连接件定义构件模型:是指构件的本质特征以及构件间关系的抽象描述。有描述、组装以及实现等各方面的模型。描述方面的著名模型是3C模型:概念(Concept)主要描述构件“做什么”,用抽象的概念去理解构件的功能;又分为接口规约和语义描述;内容(content)是概念的具体实现,描述构件如何完成概念刻画的功能;语境(context)是构件和外围环境在概念级和内容级的关系。2.4构件、连接件定义组装方面的构件模型:主要有构件接口和特性约束两方面。构件接口主要描述构件提供给使用者的信息,又分为功能规约和接入点(对应3C的概念和概念级语境)。特性约束主要包括构件自身结构的语法约束、语义模型以及其它方面的服务特性(对应3C中的内容)。2.4构件、连接件定义构件组合应该遵循以下三个原则:使参与组合的构件保持自身的独立性,从而有利于构件和所形成的复合构件具有更强的复用能力和演化能力构件之间的组合应该由构件以外的实体来实施,例如:连接件,实质上,构件组合就是构件之间的交互,而不是构件服务的简单罗列构件组合与单个构件分开,意味着构件的交互与计算分离,降低了构件之间的耦合,有利于构件和交互模式的复用2.4构件、连接件定义构件组合应有助于根据参与组合的构件的行为和性质来推导复合构件的行为和性质,从而有助于基于可复用构件的应用系统的开发在软件体系结构中,连接件是用来建立构件之间交互和支配这些交互规则的构造模块构件之间的交互包括消息和信号量的传递,功能和方法的调用,数据的传送和转换,以及构件之间的同步关系和依赖关系等2.4构件、连接件定义常见的连接件有:管道-过滤器体系结构风格中的管道(pipe)、客户/服务器体系结构风格中的通信协议和通信机制、以及数据库和应用程序之间的SQL连接等连接件的接口是其所关联构件的一组交互点,这些交互点被称为角色角色代表了参与连接的构件的作用和地位,体现了连接所具有的方向性角色有主动和被动、请求和响应之分2.4构件、连接件定义对于构件而言,连接件是粘合剂,是构件交互的实现连接件和构件之间的区别主要在于它们在软件体系结构中承担着不同的作用连接件也是一组对象,把不同的构件连接起来,形成体系结构的一部分约束(Constraint)是构件与其关系之间所必须满足的条件和限制,描述了系统的配置关系和拓扑结构,确定了体系结构调整的构件和连接件的关联关系2.4构件、连接件定义连接件的主要特性是:可扩展性、互操作性、动态连接性和请求响应性连接件的可扩展性是指:连接件允许动态地改变被关联的构件集合和交互关系互操作性是指:被连接的构件通过连接件对其它构件进行直接或间接操作动态连接性是指:对连接的动态约束,连接件对所关联的构件可以实施不同的动态处理请求响应性是指响应的并发性和时序性2.4构件、连接件定义软件体系结构,又被称为架构,指可预制和可重构的软件框架结构构件是可预制和可重用的软件元素,是组成体系结构的基本计算单元和数据存储单元连接件也是可预制和可重用的软件元素,是构件之间的连接单元构件和连接件之间的关系用约束来表示2.4构件、连接件定义约束是基于规则和参数进行描述的体系结构约束提供了相关限制,以确定构件是否正确、连接接口是否匹配、以及连接件的通信是否正确,同时,说明了实现要求行为的语义组合约束将软件体系结构与系统需求紧密地联系起来,在体系结构约束中,要求构件端口和连接件角色之间是显示连接的本章内容2.1软件体系结构的概念及其概念模型2.2软件体系结构的“4+1视图”模型2.3软件体系结构的生命周期模型2.4构件、连接件定义2.5软件体系结构定义2.6基于UML的软件体系结构建模方法2.5软件体系结构定义软件体系结构核心模型(SoftwareArchitectureCoreModel)=构件(Components)+连接件(Connectors)+约束(Constraints)构件作为一个封装的实体,仅通过其接口与外部环境进行交互,而构件的接口是由一组端口组成的,每个端口表示构件与外部环境之间的交互点2.5软件体系结构定义连接件作为软件体系结构建模的主要实体,同样也有接口,连接件的接口是由一组角色构成的,每个角色定义了该连接所表示交互的参与者软件体系结构::=软件体系结构核心模型|软件体系结构风格软件体系结构核心模型::=(构件,连接件,约束)构件::={端口1,端口2,…,端口N}2.5软件体系结构定义连接件::={角色1,角色2,…,角色M}约束::={(端口i,角色j),…}软件体系结构风格::={管道-过滤器,客户/服务器,仓库,…}本章内容2.1软件体系结构的概念及其概念模型2.2软件体系结构的“4+1视图”模型2.3软件体系结构的生命周期模型2.4构件、连接件定义2.5软件体系结构定义2.6基于UML的软件体系结构建模方法2.6基于UML的软件体系结构建模方法在描述软件的框架结构时,常用的方法主要有两种:实践派风格,使用通用的建模符号,将软件体系结构设计与描述同传统的系统建模视为一体学院派风格,使用了体系结构描述语言(ArchitectureDescriptionLanguage,ADL),侧重于软件体系结构形式化理论的研究2.6基于UML的软件体系结构建模方法实践派风格包括:图形表示方法、模块内连接语言、基于构件的系统描述语言和UML描述方法图形表示方法,使用矩形来代表系统的过程、模块和子系统,利用有向线段来描述它们之间的关系,这样,就形成了所谓的线框图模块内连接语言,采用一种或几种程序设计语言的模块连接起来的模块内连接语言,具有程序设计语言的严格语义基础,但是,在开发层次上过于依赖程序设计语言,限制了处理和描述高层次软件体系结构元素的能力2.6基于UML的软件体系结构建模方法基于构件的系统描述语言,将软件描述成由许多特定形式、相互作用的特殊实体所形成的组织或系统,一般而言,这种描述方法都是针对特定领域的特殊问题,不太适合描述和表达一般意义上的软件体系结构UML描述方法,可以将Kruchten的“4+1”模型映射到UML图上,逻辑视图利用类图来表示,过程视图映射成活动图,开发视图使用构件图来描述,物理视图映射为配置图,场景用顺序图和协作图来表示2.6基于UML的软件体系结构建模方法用例图是从用户的角度来描述系统功能,指出各功能的操作者,用于捕获业务需求类图描述了系统中类的静态结构,定义了类的内部结构以及类之间的关联关系包图描述了系统的层次结构,用于捕获系统的逻辑结构活动图描述了满足用例要求所要进行的活动以及活动之间的约束关系合作图描述对象之间的协作,显示对象之间的动态合作关系2.6基于UML的软件体系结构建模方法顺序图描述对象之间的动态合作关系,强调对象之间的消息发送顺序,显示对象之间的交互关系状态图描述了一类对象所具有的可能状态及状态之间的转移关系组件图描述了程序代码的物理结构配置图定义了软、硬件的物理体系结构,用于捕获系统硬件资源和软件资源之间的映射关系2.6基于UML的软件体系结构建模方法2.6基于UML的软件体系结构建模方法在使用UML描述体系结构时,主要存在着三种途径:不改变UML的用法,将UML看作是一种软件体系结构描述语言,直接对体系结构进行建模利用UML的扩展机制,约束UML元模型以支持体系结构建模需求对UML元模型进行扩充,增加体系结构建模元素,这种方法是对UML的元模型进行扩展,使UML具有新的建模能力2.6基于UML的软件体系结构建模方法对于每种体系结构元素,在UML中几乎都能找到与之相对应的元素:UML的用例、类、组件、结点、包和子系统与体系结构中的构件相对应UML的关系支持体系结构中的连接件UML的接口支持体系结构中的接口UML中的规则相当于体系结构中的约束软件体系结构的配置可以使用UML的包图、组件图和配置图来描述2.6基于UML的软件体系结构建模方法UML预定义及用户自己扩展的构造型,例如:精化和复制等,能够较好地表达体系结构的行为逻辑视图可以采用UML用例图来实现在开发视图中,使用UML的类图、对象图和构件图来表示模块,用包来表示子系统,利用连接表示模块或子系统之间的关联过程视图可以采用UML的状态图、顺序图和活动图来实现2.6基于UML的软件体系结构建模方法物理视图定义了功能单元的分布状况,描述用于执行用例和保存数据的业务地点,可以使用UML的配置图来实现在选择UML来描述软件体系结构时,会有以下几方面的优点:UML是当前主流的面向对象开发语言,已经被越来越多的人所采用,容易被人们接受UML是一个开发标准,具有良好的扩展机制2.6基于UML的软件体系结构建模方法UML引入了形式化定义(对象约束语言),是一种半形式化的建模语言UML有丰富的支持工具,与程序设计语言和开发过程无关UML支持多视图结构,能够从不同角度来刻画软件体系结构,可以有效地用于分析、设计和实现过程UML提供了丰富的建模概念和表示符号,能够满足典型的软件开发过程UML的语义比较丰富,是一种通用和标准的建模语言,易于理解和交流,发展已经非常成熟2.6基于UML的软件体系结构建模方法在选择UML来描述软件体系结构时,也存在着一些问题:对体系结构的构造性建模能力不强,具体来说,UML还缺乏对体系结构风格和显式连接件的直接支持对体系结构的描述只能到达非形式化的层次,不能保证软件开发过程的可靠性,不能充分地表现软件体系结构的本质2.6基于UML的软件体系结构建模方法基于UML的软件体系结构(UML-BasedSoftwareArchitecture,UBSA),是由一组互相协作的组件构成通过组件及其之间的协作关系来定义软件系统的体系结构在UBSA中,通过扩展点(ExtensionPoints)来组装用户开发的组件,以适应用户需求领域的不断变化2.6基于UML的软件体系结构建模方法UBSA={Co

温馨提示

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

评论

0/150

提交评论