UML与软件体系结构建模课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《UML与软件体系结构建模课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 软件 体系结构 建模 课件
- 资源描述:
-
1、徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏第1页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏第2页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n将UML看作是一种软件体系结构描述语言进行软件体系结构建模n利用UML的扩展机制约束UML元模型以支持软件体系结构建模的需要n对UML的元模型进行扩展,使其直接支持软件体系结构的概念 第3页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n第一种方法最简单,其实质是利用现有的UML符号表示软件体系结构nUML用户能很容易地理解所建立的软件体系结构模型,并可以用与UML兼容的工具对其进行操纵n现有的UML结构无法和软件体系结构的概念显式
2、地直接对应。因此,它们之间的对应关系必须由建模人员维护 第4页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n第二种方法是使用带约束的UML进行软件体系结构建模n这种方法能显式地表示软件体系结构的约束,所建立的软件体系结构模型仍然可用标准的UML工具进行操纵,UML用户理解起来也比较容易n对OCL约束进行检查的工具还不是太多。元元模型元模型模型用户对象显式约束显式约束UML模型以支持体系结构建模模型以支持体系结构建模第5页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n第三种方法是对UML的元模型进行扩展,这种扩展使UML能引入新的建模能力n可使UML中包含各种ADL所具有的优良特
3、性,并且具有直接支持软件体系结构建模的能力n扩展后的概念不符合UML标准,因而与UML工具不兼容元模型模型用户对象元元模型扩展扩展UML元模型以支持体系结构建模元模型以支持体系结构建模第6页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n“到底什么是软件体系结构”这个问题上还存在着争议,更不用说在“如何使用UML进行软件体系结构建模”n为评估UML对软件体系结构建模的支持程度,下面用UML以与专门的体系结构描述语言ADL相同的方式进行应用程序的软件体系结构建模n评价UML的软件体系结构建模能力n将之与ADL的软件体系结构建模能力进行直接比较 第7页,共44页。徐宝文徐宝文 周毓明周毓明
4、卢红敏卢红敏n会议的发起者在安排会议时为了保证尽可能多的人参加,会向每个拟与会人员询问他们可以参加会议的日期(简称“选择集”)以及不能出席会议的日期(简称“排除集”)n会议的发起者也向素来表现积极的会议参与者征求有关会议方式、会议地点等方面的意见n会议发起者还向一些重要的会议参与者征求会议位置方面的其它问题 第8页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n最后定的会议日期应该在会议发起者所指定的日期范围之内,且在任何一个排除集之外。理想情况下,它应在尽可能多的选择集之内。若无法找到满足这些条件的日期,那么称出现冲突n强冲突:若在指定的日期范围内和所有的排除集之外都找不到满足条件的会
5、议日期n弱冲突:若能在指定的日期范围之内和所有的排除集之外但无法在所有选择集的交集内找到满足条件的日期 第9页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏冲突可以通过如下几种方法解决:n让会议发起者扩大会议日期范围n让某些会议参与者扩大其选择集或缩小其排除集n让某些会议参与者不参加会议第10页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏nC2风格要求构件之间只能通过消息传递的方式通信,而不能通过共享内存通信n一个C2体系结构是一个通过连接子将各并发构件连接在一起而构成的层次状网络。其中,每个构件所发送的通知消息应与其操作相对应,而不是与接收通知消息的构件的操作相对应 第11页,
6、共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n每个构件只知道位于其所在层之上的各构件所提供的服务,而不了解位于其所在层之下的各构件分别能提供什么服务。这就使体系结构中的一个高层构件可以具有不同的底层构件nC2风格改善了构件的可重用性和系统的易扩风格改善了构件的可重用性和系统的易扩展性展性nC2风格没有对构件或连接子的实现语言、构风格没有对构件或连接子的实现语言、构件到主机之间的映射、连接子之间使用的通件到主机之间的映射、连接子之间使用的通信协议以及构件的执行线程做任何约定信协议以及构件的执行线程做任何约定第12页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏nC2 SADL是一个支
7、持按照C2风格进行软件体系结构建模的一种体系结构描述语言n用C2 SADL对会议调度者问题进行体系结构建模,目的是为了体会按照C2风格规则进行体系结构分解的细微之处,同时也作为评价相应UML模型的基础第13页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏Attendee-1Attendee-MIm portantAttendee-1Im portantAttendee-NMeetingInitiatorIm portantAttConnAttConnMainConn.会议调度系统会议调度系统C2风格的体系结构风格的体系结构第14页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏Mee
8、tingInitiator构件仅通过上面的端构件仅通过上面的端口和体系结构的其它部分进行通信,它口和体系结构的其它部分进行通信,它在在behavior部分的部分的startup段说明段说明启动计算请求启动计算请求 第15页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n每个Attendee-N和ImportantAttendee-N构件从Initiator接收会议调度请求,并且向它发送合适的信息。这两种类型的构件仅通过下面的端口和体系结构的其它部分进行通信第16页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏nImportantAttendee是Attendee构件的一个特化,它具
9、有Attendee的所有功能并且增加了对会议地点进行选择的规约component ImportantAttendee is subtype Attendee(int and beh)interface bottom_domain is out LocPrefs(I:loc_type);in GetLocPrefs();behavior received_messages GetLocPrefs always_generate LocPrefs;end ImportantAttendee第17页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏nMeetingScheduler的软件体系结构对
10、应的文本描述如下:第18页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏nUML提供了用来对软件构件、构件之间接口以及它们在主机上配置情况等进行建模的各种符号。但这些内部预定义符号并不适合于体系结构层构件的描述,其原因在于它们的抽象程度不是太高就是太低 nUML中的构件是需要消耗诸如存储器等机器资源的具体的可执行的程序片段。相反,软件体系结构中的构件是用来表示系统状态和行为的抽象概念。尽管体系结构构件的实例可由UML构件的实例来实现,但体系结构构件自身不是具体的 第19页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏nUML构件可以有任意数目的接口,其内部结构也可以千变万化,但体系
11、结构的构件必须满足某些规则或约束从这个角度看,使用从这个角度看,使用UML中的类来模拟中的类来模拟软件体系结构的构件比较合适软件体系结构的构件比较合适 第20页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏n将UML作为一种ADL进行软件体系结构建模的关键是要确保UML设计既要受UML中现有建模特征的约束,也要受ADL自身所具有的特征的约束从这个角度看,用从这个角度看,用UML进行软件体系结构建模过程进行软件体系结构建模过程的第一步是用的第一步是用UML为所要建模的应用开发一个域模为所要建模的应用开发一个域模型,并且开发一个非形式化的体系结构图。其中,型,并且开发一个非形式化的体系结构图
12、。其中,体系结构图是将域模型中的类映射为体系结构构件体系结构图是将域模型中的类映射为体系结构构件的关键的关键 第21页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏PersonAttendeeImportantAttendeeLocationDateMeetingMeetingInitiatorStronglyConflictsWithConflictsWith0.*0.*0.*0.*0.*0.*0.*0.*1.*1.*121111111InvitesProposesExcludesPrefersPrefers1会议调度系统的会议调度系统的UML类图类图(省去了每个类的细节省去了每个类的
13、细节)第22页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏MtgInitG etPrefSet()G etExclSet()Rem oveExclSet()RequestWithdrawal(attendee)AddPrefDates()Im portantMtgInitG etLocPrefs()MtgAttendPrefSet(date_rng)ExclSet(date_rng)EquipReqts(equip_type)Im portantMtgAttend LocPrefs(loc_type)会议调度系统的类接口会议调度系统的类接口第23页,共44页。徐宝文徐宝文 周毓明周毓明
14、 卢红敏卢红敏AttConnG etPrefSet()G etExclSet()Rem oveExclSet()RequestWithdrawal(Attendee)AddPrefDates()PrefSet(date_rng)ExclSet(date_rng)EquipReqts(equip_type)Im portantAttConnG etLocPrefs()LocPrefs(loc_type)MainConnC2连接子的连接子的UML类图表示类图表示第24页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏AttendeeImportantAttendeeAttConnImporta
15、ntAttConnMainConnMeetingInitator0.*0.*1111MtgInitMtgInitImportant MtgInitImportant MtgInitImportant MtgInitImportantMtgAttendImportantMtgAttendImportantMtgAttendMtgAttendMtgAttend会议调度系统以会议调度系统以C2体系结构风格描述的体系结构风格描述的UML类图类图第25页,共44页。徐宝文徐宝文 周毓明周毓明 卢红敏卢红敏AC:AttConnIAC:ImportantAttConnMC:MainConnMI:Meetin
展开阅读全文