2012-2013 第二学期 11本 UML 第九章 构件图_第1页
2012-2013 第二学期 11本 UML 第九章 构件图_第2页
2012-2013 第二学期 11本 UML 第九章 构件图_第3页
2012-2013 第二学期 11本 UML 第九章 构件图_第4页
2012-2013 第二学期 11本 UML 第九章 构件图_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、1,UML 面向对象技术教程,第九章 构件图,天津理工大学华信软件学院,2,用例图 用例视图 类 图、对象图 静态视图 UML视图 状态图、活动图 行为视图 构件图、部署图 实现视图 协作图、顺序图 交互视图 UML视图的五种类型分类: 用例图:从用户角度描述系统功能,指出操作者。 静态图:表示系统的静态结构。 行为图:描述系统的动态模型和组成对象间的相互关系。 交互图:描述对象间的相互关系。 实现图:描述系统的物理实现。,课程内容回顾,3,本章中所涉及的主要内容,什么是构件及构件图(又称为组件图)? 面向对象系统的物理建模是通过构件图和部署图来实现的。 构件图的作用? 构件图帮助用户了解每个

2、功能位于软件包中的位置及它们之间的关系。 构件图的工具支持 正向工程(包含多个类且只有一类为公有时可使用构件图正向工程) 逆向工程(将在实验中验证。略),4,一构件和构件图的概念,1. 构件及构件图的定义: 构件(component)是系统中遵从一组接口且提供其实现的物理的、可替换的部分。有的书把构件定义成 “可重用的软件成分。” 每个构件体现了系统设计中特定类的实现。 构件在UML中的表示方法: 构件名通常是从现实的词汇表中抽取出的短名词,并依据目标操作系统添加相应的扩展名,例如:EXE、jave、dll 等等。,5,一构件和构件图的概念(续一),构件图(component diagram)

3、是表示系统中构件与构件之间、类和接口与构件之间关系的实现模型。 编译、链接或执行是构件之间的依赖关系。 构件图包含3个建模元素(构件、接口和关系),依赖关系,实现关系,update,含构造类型的构件,依赖关系,6,下面是表示多个构件之间依赖关系的构件图: (参见P104),由.html文件、.dll文件、.exe文件及其相互关系,依赖关系表示为从用户构件指向它所依赖的服务构件的虚线箭头。,一构件和构件图的概念(续三),组件间依赖关系,7,1. 构件的属性 (即构件的特性): 1) 构件必须自包容 2)必须严格封装 3) 接口清楚 4)必须没有个体属性 2. 构件的分类: 1)按制作过程分 部署

4、构件:比如 DLL文件,exe文件,COM+对象,CORBA对象,EJB,数据库表等。 工作产品构件:比如 源代码文件,数据文件,UML图,Jar文件,动态连接库等。这些构件可产生部署构件。 执行构件:系统执行创建的构件,是最终可运行的系统产生的结果,如HTML、XML文档等。,一构件和构件图的概念(续四),8,2)从软件流程上分 分析组件 设计组件 程序组件 数据组件 3)从层次上分 基础组件 中间件 专用件 4)从动态特性上分 动态组件 静态组件 5)从分割性上分 原子构件 组合构件,一构件和构件图的概念(续五),9,4. 几种常用的典型构件 1)CORBA (Common Object

5、Request Broker Architecture) CORBA是OMG(Object Management Group) 制定的标准体系结构的、跨平台、分布式、优于C/S和远程服务的对象模型。 它使用IDL-Interface Definition Language 定义接口。允许使用不同语言、不同OS实现构件连接,形成跨平台应用。 对象可以是客户机,也可以是服务器,它们可以自由分布在网上,通过CORBA来互相访问。,一构件和构件图的概念(续六),10,2) 微软的COM+ COM+ 是由COM(Component Object Model)发展来的,起源于OLE,并采用DDL来支持程序

6、间通讯。 COM 只能运行在Windows上,不支持分布应用, COM+是COM/DCOM+MTS+目录服务+对象缓冲池的集成。 3)SUN公司的EJB/J2EE J2EE是Java 2 platform Enterprise Edition. Java的第一个开发平台是JDK (Java Development Kit) 而EJB不是一种产品,而是基于分布式事务对象应用的服务器端的一种技术规范。即标准的面向对象分布式的体系结构。它能与CORBA兼容。,一构件和构件图的概念(续七),11,中间件(Middleware) 中间件是位于操作系统和应用软件之间的通信服务,借助它可在不同技术之间实现资

7、源共享。 中间件可如下分类: )数据库中间件,如:JDBC,ODBC等; )远程过程调用中间件(RPC); )面向消息的中间件; )基于对象请求代理中间件,如:CORBA等; )事务处理中间件。,一构件和构件图的概念(续九),JDBC Java数据库连接通信协议。 ODBC 开放式数据库连接通信协议 RPC 远程过程调用通信协议,12,构件和类的区别 )类是逻辑抽象,构件是物理抽象; )构件是对某些逻辑元素(比如类)的物理实现; )类可以有属性和操作,构件通常只有操作,而且这些操作只能通过构件的接口来实现。,一构件和构件图的概念(续十),13,二构件图的作用,1对源代码文件之间的相互关系建模,

8、如下图:,14,2对可执行文件之间的关系建模,如下图:,上图中Idriver 和IseltTest是接口,构件Path.dll依赖于接口。而构件Idriver.dll实现了接口。,二构件图的作用(续),15,三. 构件图的工具支持,1正向工程 以Java 语言为例,Rose 2003 可直接根据类图来生成源代码,而用类图只能一个类生成一个java 源代码文件。 但若利用构件图,可以使多个类映射到一个构件中,从而将多个类通过构件生成一个整体的Java文件。 但多个类映射到一个构件中时,却要求只有一个类(即和构件名相同的类)它的属性为Public。 正向工程的简单例子见教科书P105,我们通过实验

9、过程来理解。,16,2. 逆向工程 Rose 2003支持 Java, C+等多语言的逆向工程,对Java来说,Rose 根据.Java源代码或.Class源代码逆向得到类图和构件图。步骤是: 1)在d:盘找到一个jave源程序,Clock. Java 2)选Tools Java/J2EE Reverse Engineer 弹出对话框“Java Reverse Engineer” 选中Clock. java 按Add按钮,将其移到下方窗口中 3) 按Reverse按钮,Rose 最后得到相应的一些类和构件。 4)如果想显示类之间的关系,可把它们拖到类图中观看。类似地,如果想显示构件之间的关系,

10、可把它们拖到构件图中观看。(见P111),三. 构件图的工具支持,17,四. Rose 支持的构件类型(略,见Rose),五. Rose Model 映射到VC+的操作,1. 创建类:比如: Contract (合同)类 SalseContract 类和 Product类,并建立它们之间的关系.,18,2. 在VC+中创建一个Project ,命名 “Sales System” 3. 设置Default 语言为 VC+ 4. Tools Visual C+ Component Assignment Tool 出现 Component Assignment Tool 窗口 5 将窗口右方的Una

11、ssigned class 中的类Contract 拖到VC+处:,五. Rose Model 映射到VC+的操作(续),19,6. 这时出现对话: Do you wish to create a VC+ Component and assign the class to it? 回答 : yes,五. Rose Model 映射到VC+的操作(续二),20,7. 在Select a VC+ project file 窗口中出现 project图标. 按Add 按钮 创建一个单文档新工程 8. 单击OK完成映射. 这时在Component View中可以看到新构件.,五. Rose Model

12、 映射到VC+的操作(续三),21,9. 同理将Product和 SalesContract 拖到VC+处如下:,五. Rose Model 映射到VC+的操作(续四),22,10. 在Component View中, 可看到:,五. Rose Model 映射到VC+的操作(续五),23,六. 在Rose Model 下生成VC+代码,1、Tools/Visual C+/Model Assistant 打开 Visual C+ Model Assistant 窗口 2. 在左边浏览器中选 Class Options 则出现Rose 自动产生的操作 3. 勾选其中的操作(如: Contract , Contract 等 4. 再选Attributes下的内容可在其中调整类的属性 及Access level 和Operatio

温馨提示

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

评论

0/150

提交评论