版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、logouml 统一建模统一建模 第第11章章 构件图构件图目录目录111 构件的概念构件的概念112 构件图的概念构件图的概念113 构件的表示构件的表示114构件间的关系构件间的关系115 构件图分类构件图分类116构件图应用构件图应用 第第11章章 构件图构件图构件是系统的可替代的物理部分,它表示的是实际的事物,构件是定义了良好接口的物理实现单元,它是系统中可以替代的部分,每个构件体现了系统设计中的特定类的实现,良好定义的构件不直接依赖于其它构件,而是依赖于其它构件所支持的接口,在这种情况下,系统中的一个构件可以被支持相同的接口的其它构件所替代。 接口是被软件或硬件所支持的一个操作集合,
2、每个接口有一个名称,通过使用命名的接口,可以避免在系统的各个构件之间直接发生依赖关系,有利于新构件的替换。111 构件的概念构件的概念1构件从构件组成上看,每个构件定义了2组接口(一组供给接口,一组需求接口),构件为供给接口提供了提供了功能实现部分,即,构件本身已经实现了供给接口声明的功能。对于一个构件而言,它包含5个要素:1),接口声明:每个构件包含两组接口,一组是供给接口,表明它能提供的服务,一组是需求接口,表明它需要的服务。2),接口实现:构件是一个物理部件,它实现了供给接口声明的服务。3),构件标准:在创建构件时,每一个构件必须遵从某种构件标准。有三种构件标准,它们是4),封装方法:也
3、就是构件遵从的封装标准5),部署方法:一个构件可以有多种部署方法。2构件与类111 构件的概念构件的概念从构件的定义上看,构件和类十分相似,事实也是如此:二者都有名称,都可以实现一组接口,都可以参与依赖、泛化和关联关系,都可以被嵌套,都可以有实例,都可以参与交互。但也存在着一些明显的不同,下面是构件与类的区别:(1)类表示是对实体的抽象,而构件是对存在于计算机中的物理部件的抽象。也就是说,构件是可以部署的,而类不能部署。(2)构件属于软件模块,而非逻辑模块,与类相比,它们处于不同的抽象级别。甚至可以说,构件就是由一组类通过协作完成的。(3)类可以直接拥有操作和属性,而构件仅拥有可以通过其接口访
4、问的操作。111 构件的概念构件的概念3构件分类按照构件在系统中的角色,把构件分为3种类型:配置构件、工作产品构件、执行构件。1),配置构件:组成系统的基础构件,是执行其它构件的基础平台。如,操作系统、java虚拟机(jvm) 、数据库管理系统都属于配置构件。2),工作产品构件:这类构件主要是开发过程的中间产物,如,创建构件时的源代码文件及数据文件都属于工作产品构件。这些构件并不是直接地参与系统运行。3),执行构件:在运行时创建的构件。例如由dll实例化形成的com+对象、servlets、xml文档都属于执行构件。112 构件图的概念构件图的概念构件图主要用于描述各种软件构件之间的依赖关系,
5、例如,可执行文件和源文件之间的依赖关系,所设计的系统中的构件的表示法及这些构件之间的关系构成了构件图。构件图是描述构件及构件关系的图。与所有uml的其它图一样,构件图可以包括注释、约束、包。图11-1是一个典型的构件图。1.构件图的作用:图11-1构件图。112 构件图的概念构件图的概念在构件图中,系统中的每个物理构件都使用构件符号来表示,通常,构件图看起来像是构件图标的集合,这些图标代表系统中的物理部件,构件图的基本目的是:使系统人员和开发人员能够从整体上了解系统的所有物理部件,构件图的基本目的是:使系统人员和开发人员能够从整体上了解系统的所有物理部件,同时,也使我们知道如何对构件进行打包,
6、以便交付给最终客户,最后,构件图显示了被开发系统所包含的构件之间的依赖关系。构件图从软件架构的角度来描述一个系统的主要功能,如系统分成几个子系统,每个子系统包括哪些类、包和构件,它们之间的关系以及它们分配到哪些节点上等。使用构件图可以清楚地看出系统的结构和功能。方便项目组的成员制定工作目标和了解工作情况,同时,最重要的一点是有利于软件的复用。112 构件图的概念构件图的概念从宏观的角度上,构件图把软件看作多个独立构件组装而成的集合,每个构件可以被实现相同接口的其它构件替换。2.构件图的组成元素构件图的组成元素有:构件、关系。关系把多个构件连接在一起,构成一个构件图。这里的关系指构件间的依赖关系
7、。构件包含两个部分:接口(供给接口,需求接口)和接口实现部分(实现了供给接口的功能)。表示构件图标的方法有两种:第一种方法是,在构件图标中没有标识接口,第二种方法是,在构件图标中标识了接口。113 构件的表示构件的表示1没有标识接口的构件表示法没有标识接口的构件的图形表示方法又分三种,如图11-2所示:第一种是表示为标有构造型component的矩形;第二种是在矩形的右上角放置一个构件图标(一个小矩形,并在左侧加上两个突出的更小的矩形);第三种是直接使用构件图标,但在uml2.0中已经不使用第三种方法了。和类的名称相近,构件的名称也是一个正文字符串,它可以是简单名,也可以是带路径的全名。图11
8、-2 没有标识接口的构件的图形的三种表示法113 构件的表示构件的表示2标识接口的构件表示法对于一个构件而言,它有两类接口:提供(provided)接口和所需(required)的接口。标识接口的构件表示方法也有3种,如图11-3所示。图11-3标识接口的构件3种表示方法113 构件的表示构件的表示(1)使用接口分栏表示:也就是将所需的接口和提供的接口直接显示在矩形的分栏中,将构造型provided和required放在每个接口名之前。(2)使用图标表示法:将接口的图标连接到矩形的边框上,共给接口表示为通过一条实线链接到矩形上的圆圈;而需求接口则表示为一条实线链接到矩形上的上半圆。(3)显示表
9、示法:接口也可以用完整的显示形式表示,构件和其提供的接口之间是实现关系,而构件和其所需的接口之间是使用use关系。114构件间的关系构件间的关系我们知道,构件有两组接口,供给接口为其它构件提供服务,需求接口使用其它构件提供的服务因此,构件间的关系就是依赖关系我们把提供服务的构件称为提供者,把使用服务的构件称为客户在uml中,构件图中依赖关系的表示方法与类图中依赖关系相同,都是一个由客户指向提供者的虚线箭头。构件间的依赖关系如图11-4所示。图11-4 构件间的依赖关系115 构件图分类构件图分类对于一幅简单的构件图而言,其内容包括构件、关系和构件的接口。实际上,在uml2.0中,还提供了一种嵌
10、套构件的表示法,这使得构件图具有了更强的语义模型。因此,构件图可以分为两种:简单构件图和嵌套构件图。1151 简单构件图我们可以把相互协作的类,组织成一个构件。利用构件图可以让软件开发者知道系统是由哪些可执行的构件组成的,这样,以构件为单位来看待系统时,让开发者清楚的看到软件系统的体系结构。例如,图11-5所示就是一个“个人图书管理系统”的构件图局部。在图11-5所示的构件图中,我们以构件为单位,把整个系统分成三层,它们是:“用户界面”、“业务逻辑”、“数据访问”。115 构件图分类构件图分类(1)用户界面层:图11-5左边的一列构件,都是采用jsp页面,实现用户界面。我们通过构造型java
11、server page来表示构件。这一部分的构件,主要由边界类组成。(2)业务逻辑层:图11-5中间的一列是业务逻辑层,在实现上主要采用了javabean技术。我们使用构造型javabean来表示这一层的构件。这些构件主要由实体类组合而成。图11-5 简单构件图115 构件图分类构件图分类(3)数据访问层:图11-5右边的一列是数据访问层,该层将所有的数据访问操作封装在一个javabean中(如果是大型的应用,则可能封装成为一个ejb),标明了它是jdbc的一个实现。在这个例子中,对可执行程序的体系结构进行了建模,以帮助开发者了解可执行程序模块之间的关联关系,从而从宏观上认识系统。1152 嵌
12、套的构件图有些时候,我们使用嵌套的构件图来表示构件的内部结构。例如图11-6所示的就是一个包含嵌套的构件图,它描述了一个收银系统。这张图描述了构件以及构件之间的接口。收银机系统通过“销售管理服务器”提供的接口发送“销售消息”;销售管理器通过财务系统提供的接口发送相应的财务数据。115 构件图分类构件图分类销售管理服务器中包含两个构件:一个是处理收银机发送来的销售消息,完成交易处理;另一个是财务接口,负责处理与财务系统的连接,这时交易处理程序就委托财务接口来完成与财务系统的数据传送。在上图中,销售管理服务器所提供的接口和所需的接口与构件连接的点上,都有一个小矩形,它表示的是“端口”。这些端口将通
13、过带箭头的实线与具体的子构件连接,表示该接口的提供者或需求者。图11-6 嵌套构件图116构件图应用构件图应用构件图描述了软件的组成和具体结构,表示了系统的静态部分。它能够帮助开发人员从总体上认识系统。我们常采用构件图来描述可执行程序的结构、源代码、物理数据库组成和结构。1161 对可执行程序建模通过构件图,可以清晰地表示出各个可执行文件、链接库、数据库、帮助文件和资源文件等其它可运行的物理构件之间的关系。在对可执行程序的结构进行建模时,通常应遵从以下原则:1首先标识要建模的构件。116构件图应用构件图应用2理解和标识每个构件的类型、接口和作用。3标识构件间的关系。例如,有一个语音呼叫中心程序
14、callcenter.exe,使用了三汇的语音卡的驱动程序shp_a3.dll,以及相应的tts(文本转语音)引擎sh_ttsu.dll,现在我们用构件图来描述这三个构件的关系,如图11-7所示。图11-7 代表可执行程序的构件116构件图应用构件图应用1162 对源代码进行建模通过构件图可以清晰地表示出软件的所有源文件之间的关系,有了这样的构件图,开发者能更好地理解各个源代码文件之间的依赖关系。在对源程序进行建模时,通常应遵从以下原则:1表示出要重点描述的每个源代码文件,并把每个源代码文件标识为构件。2如果系统较大,我们就利用包来对构件进行分组。116构件图应用构件图应用3用编译依赖关系来描述构件间的关系。4在构件图中,采用约束来表示源代码的版本号、作者和最后的修改日期等信息。例如:singal.h是一个头文件,被interp.c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省武汉市2024年中考一模数学试题含答案
- 辽宁大学《公共政策理论与应用》2023-2024学年第一学期期末试卷
- 黄河交通学院《艺术实践(2)》2023-2024学年第一学期期末试卷
- 江苏海事职业技术学院《建筑工程进度控制》2023-2024学年第一学期期末试卷
- 【物理】第七章 力 章末练习 2024-2025学年八年级下册人教版物理
- 黑龙江财经学院《医药学术推广综合实训》2023-2024学年第一学期期末试卷
- 重庆三峡职业学院《大数据与数据分析》2023-2024学年第一学期期末试卷
- 重庆城市管理职业学院《消防工程综合》2023-2024学年第一学期期末试卷
- 浙江育英职业技术学院《装饰工程制图及AutoCAD应用》2023-2024学年第一学期期末试卷
- 体现汉字文化的有趣汉字故事
- 建筑工地节前停工安全检查表
- 三年级下册小猿口算题1000道
- QUALITY MANUAL质量手册(英文版)
- 决策的艺术课件
- 国际经济学国际贸易的标准理论
- 8D报告培训教材(PPT 47页)
- -居民死亡医学证明(推断)书
- 糖尿病酮症酸中毒病例讨论-文档资料
- 液相色谱质谱质谱仪LCMSMSSYSTEM
- 民办非企业单位章程核准表-空白表格
- 派克与永华互换表
评论
0/150
提交评论