663第八章 UML与软件体系结构建模.ppt
《663第八章 UML与软件体系结构建模.ppt》由会员分享,可在线阅读,更多相关《663第八章 UML与软件体系结构建模.ppt(44页珍藏版)》请在三一办公上搜索。
1、第八章 UML与软件体系结构建模,UML与软件建模,2,UML用作体系结构描述语言 约束UML以支持软件体系结构建模,内容,3,将UML看作是一种软件体系结构描述语言进行软件体系结构建模利用UML的扩展机制约束UML元模型以支持软件体系结构建模的需要对UML的元模型进行扩展,使其直接支持软件体系结构的概念,软件体系结构建模方法(1),4,第一种方法最简单,其实质是利用现有的UML符号表示软件体系结构UML用户能很容易地理解所建立的软件体系结构模型,并可以用与UML兼容的工具对其进行操纵现有的UML结构无法和软件体系结构的概念显式地直接对应。因此,它们之间的对应关系必须由建模人员维护,软件体系结
2、构建模方法(2),5,第二种方法是使用带约束的UML进行软件体系结构建模这种方法能显式地表示软件体系结构的约束,所建立的软件体系结构模型仍然可用标准的UML工具进行操纵,UML用户理解起来也比较容易对OCL约束进行检查的工具还不是太多。,显式约束UML模型以支持体系结构建模,软件体系结构建模方法(3),6,第三种方法是对UML的元模型进行扩展,这种扩展使UML能引入新的建模能力可使UML中包含各种ADL所具有的优良特性,并且具有直接支持软件体系结构建模的能力扩展后的概念不符合UML标准,因而与UML工具不兼容,扩展UML元模型以支持体系结构建模,软件体系结构建模方法(4),7,“到底什么是软件
3、体系结构”这个问题上还存在着争议,更不用说在“如何使用UML进行软件体系结构建模”为评估UML对软件体系结构建模的支持程度,下面用UML以与专门的体系结构描述语言ADL相同的方式进行应用程序的软件体系结构建模评价UML的软件体系结构建模能力将之与ADL的软件体系结构建模能力进行直接比较,UML用作ADL,8,会议的发起者在安排会议时为了保证尽可能多的人参加,会向每个拟与会人员询问他们可以参加会议的日期(简称“选择集”)以及不能出席会议的日期(简称“排除集”)会议的发起者也向素来表现积极的会议参与者征求有关会议方式、会议地点等方面的意见会议发起者还向一些重要的会议参与者征求会议位置方面的其它问题
4、,UML用作ADL:体系结构建模实例(1),9,最后定的会议日期应该在会议发起者所指定的日期范围之内,且在任何一个排除集之外。理想情况下,它应在尽可能多的选择集之内。若无法找到满足这些条件的日期,那么称出现冲突强冲突:若在指定的日期范围内和所有的排除集之外都找不到满足条件的会议日期弱冲突:若能在指定的日期范围之内和所有的排除集之外但无法在所有选择集的交集内找到满足条件的日期,UML用作ADL:体系结构建模实例(2),10,冲突可以通过如下几种方法解决:让会议发起者扩大会议日期范围让某些会议参与者扩大其选择集或缩小其排除集让某些会议参与者不参加会议,UML用作ADL:体系结构建模实例(3),11
5、,C2风格要求构件之间只能通过消息传递的方式通信,而不能通过共享内存通信一个C2体系结构是一个通过连接子将各并发构件连接在一起而构成的层次状网络。其中,每个构件所发送的通知消息应与其操作相对应,而不是与接收通知消息的构件的操作相对应,UML用作ADL:C2概述(1),12,每个构件只知道位于其所在层之上的各构件所提供的服务,而不了解位于其所在层之下的各构件分别能提供什么服务。这就使体系结构中的一个高层构件可以具有不同的底层构件,UML用作ADL:C2概述(2),C2风格改善了构件的可重用性和系统的易扩展性C2风格没有对构件或连接子的实现语言、构件到主机之间的映射、连接子之间使用的通信协议以及构
6、件的执行线程做任何约定,13,UML用作ADL:C2 SADL建模(1),C2 SADL是一个支持按照C2风格进行软件体系结构建模的一种体系结构描述语言用C2 SADL对会议调度者问题进行体系结构建模,目的是为了体会按照C2风格规则进行体系结构分解的细微之处,同时也作为评价相应UML模型的基础,14,会议调度系统C2风格的体系结构,UML用作ADL:C2 SADL建模(2),15,UML用作ADL:C2 SADL建模(3),MeetingInitiator构件仅通过上面的端口和体系结构的其它部分进行通信,它在behavior部分的startup段说明启动计算请求,16,每个Attendee-N
7、和ImportantAttendee-N构件从Initiator接收会议调度请求,并且向它发送合适的信息。这两种类型的构件仅通过下面的端口和体系结构的其它部分进行通信,UML用作ADL:C2 SADL建模(4),17,ImportantAttendee是Attendee构件的一个特化,它具有Attendee的所有功能并且增加了对会议地点进行选择的规约,component ImportantAttendee is subtype Attendee(int and beh)interface bottom_domain is out LocPrefs(I:loc_type);in GetLocPr
8、efs();behavior received_messages GetLocPrefs always_generate LocPrefs;end ImportantAttendee,UML用作ADL:C2 SADL建模(5),18,MeetingScheduler的软件体系结构对应的文本描述如下:,UML用作ADL:C2 SADL建模(6),19,UML提供了用来对软件构件、构件之间接口以及它们在主机上配置情况等进行建模的各种符号。但这些内部预定义符号并不适合于体系结构层构件的描述,其原因在于它们的抽象程度不是太高就是太低,UML中的构件是需要消耗诸如存储器等机器资源的具体的可执行的程序片段
9、。相反,软件体系结构中的构件是用来表示系统状态和行为的抽象概念。尽管体系结构构件的实例可由UML构件的实例来实现,但体系结构构件自身不是具体的,UML用作ADL:UML建模(1),20,UML构件可以有任意数目的接口,其内部结构也可以千变万化,但体系结构的构件必须满足某些规则或约束,UML用作ADL:UML建模(2),从这个角度看,使用UML中的类来模拟软件体系结构的构件比较合适,21,将UML作为一种ADL进行软件体系结构建模的关键是要确保UML设计既要受UML中现有建模特征的约束,也要受ADL自身所具有的特征的约束,UML用作ADL:UML建模(3),从这个角度看,用UML进行软件体系结构
10、建模过程的第一步是用UML为所要建模的应用开发一个域模型,并且开发一个非形式化的体系结构图。其中,体系结构图是将域模型中的类映射为体系结构构件的关键,22,会议调度系统的UML类图(省去了每个类的细节),UML用作ADL:UML建模(4),23,UML用作ADL:UML建模(5),会议调度系统的类接口,24,C2连接子的UML类图表示,UML用作ADL:UML建模(6),25,会议调度系统以C2体系结构风格描述的UML类图,UML用作ADL:UML建模(7),26,会议调度系统的一个协作图,UML用作ADL:UML建模(8),27,利用UML进行体系结构建模的第二种方法是用OCL对UML元模型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 663第八章 UML与软件体系结构建模 663 第八 UML 软件 体系结构 建模
链接地址:https://www.31ppt.com/p-5632806.html