构件图与部署图PPT推荐.ppt
《构件图与部署图PPT推荐.ppt》由会员分享,可在线阅读,更多相关《构件图与部署图PPT推荐.ppt(86页珍藏版)》请在冰豆网上搜索。
![构件图与部署图PPT推荐.ppt](https://file1.bdocx.com/fileroot1/2022-10/9/fcb54eb5-5427-47e1-b2be-ccd16e368358/fcb54eb5-5427-47e1-b2be-ccd16e3683581.gif)
n5)部署方法:
一个构件可以有多种部署方法。
5构件与类o从构件的定义上看,构件和类十分相似:
n二者都有名称,都可以实现一组接口,都可以参与依赖、泛化和关联关系,都可以被嵌套,都可以有实例,都可以参与交互。
6构件与类o构件与类的区别:
n
(1)类表示是对实体的抽象,而构件是对存在于计算机中的物理部件的抽象。
也就是说,构件是可以部署的,而类不能部署。
n
(2)构件属于软件模块,而非逻辑模块,与类相比,它们处于不同的抽象级别。
甚至可以说,构件就是由一组类通过协作完成的。
n(3)类可以直接拥有操作和属性,而构件仅拥有可以通过其接口访问的操作。
7构件分类o按照构件在系统中的角色,把构件分为3种类型:
n1)配置构件:
组成系统的基础构件,是执行其它构件的基础平台。
如:
操作系统、java虚拟机(JVM)、数据库管理系统都属于配置构件。
n2)工作产品构件:
这类构件主要是开发过程的中间产物,如:
创建构件时的源代码文件及数据文件都属于工作产品构件。
这些构件并不是直接地参与系统运行。
n3)执行构件:
在运行时创建的构件。
例如由DLL实例化形成的COM+对象、Servlets、XML文档都属于执行构件。
8构件图的概念o构件图提供当前模型的物理视图,对系统的静态实现视图建模。
构件图显示一个系统物理设计时,构件所映射的类和对象的配置。
o一个构件图可以表示一个系统全部或者部分的构件体系。
从组织内容看,构件图显示软件构件的组织以及构件之间的依赖关系,包括源代码构件、二进制代码构件以及可执行构件。
o构件图是对OO系统物理方面建模的2个图之一。
9构件图的概念o构件图主要用于描述各种软件构件之间的依赖关系,例如,可执行文件和源文件之间的依赖关系,所设计的系统中的构件的表示法及这些构件之间的关系构成了构件图。
o与所有UML的其它图一样,构件图可以包括注释、约束、包。
10构件图的概念11构件图的概念12构件图的基本概念构件图的基本概念构件图是用来表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图。
在构件图中,构件和构件之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。
13构件图的作用o构件图的基本目的是:
使系统人员和开发人员能够从整体上了解系统的所有物理部件,同时,也使我们知道如何对构件进行打包,以便交付给最终客户,最后,构件图显示了被开发系统所包含的构件之间的依赖关系。
o构件图从软件架构的角度来描述一个系统的主要功能,如系统分成几个子系统,每个子系统包括哪些类、包和构件,它们之间的关系以及它们分配到哪些节点上等。
14构件图的作用o使用构件图可以清楚地看出系统的结构和功能。
方便项目组的成员制定工作目标和了解工作情况,同时,最重要的一点是有利于软件的复用。
o从宏观的角度上,构件图把软件看作多个独立构件组装而成的集合,每个构件可以被实现相同接口的其它构件替换。
15构件的表示o构件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。
o构件可以是源代码构件、二进制构件或一个可执行的构件。
o在UML中,构件用一个左侧带有突出两个小矩形的矩形来表示。
带版型的构件带版型的构件16构件的名称o每个构件都必须有一个不同于其他构件的名称。
构件的名称是一个字符串,位于构件图标的内部o构件名称通常是从现实的词汇表中抽取出来的短名词或名词短语,并依据目标操作系统添加相应的扩展名,例如java和dll。
17o在构件图中,我们将系统中可重用的模块封装成为具有可替代性的物理单元,我们称之称为构件,它是独立的,在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用的部件。
o构件作为系统定义良好接口的物理实现单元,它能够不直接依赖于其他构件而仅仅依赖于构件所支持的接口。
通过使用被软件或硬件所支持的一个操作集接口,构件可以避免在系统中与其它构件之间直接发生依赖关系。
18构件图和部署图的基本概念有一些构件的图标表示形式和标准构件图形表示形式相同,它们包括ActiveX、Applet、Application、DLL、EXE以及自定义构造型的构件,它们的表示形式是在构件上添加相关的构造型,是一个构造型为Applet的构件。
19构件图和部署图的基本概念o在RationalRose2003中,数据库也被认为是一种构件。
o虚包是一种只包含对其它包所具有的元素进行的引用的构件。
它被用来提供一个包的某些内容的公共视图。
虚包不包含任何它自己的模型元素。
20构件图和部署图的基本概念o系统是指组织起来以完成一定目的的连接单元的集合,在系统中,肯定有一个文件用来指定系统的入口,也就是系统程序的根文件,这个文件被成为主程序。
o子程序规范和子程序体是用来显示子程序的规范和实现体。
子程序是一个单独处理的元素的包,我们通常用它代指一组子程序集。
21构件的表示o没有标识接口的构件表示法n没有标识接口的构件的图形表示方法分三种:
o表示为标有构造型component的矩形;
o在矩形的右上角放置一个构件图标(一个小矩形,并在左侧加上两个突出的更小的矩形);
o直接使用构件图标。
没有标识接口的构件的图形的三种表示法和类的名称相近,构件的名称也是一个正文字符串,它可以是简单名,也可以是带路径的全名。
22构件的表示o标识接口的构件表示法n对于一个构件而言,它有两类接口:
提供(provided)接口和所需(required)的接口。
标识接口的构件表示方法也有3种。
标识接口的构件3种表示方法23构件的表示o
(1)使用接口分栏表示:
也就是将所需的接口和提供的接口直接显示在矩形的分栏中,将构造型provided和required放在每个接口名之前。
o
(2)使用图标表示法:
将接口的图标连接到矩形的边框上,共给接口表示为通过一条实线链接到矩形上的圆圈;
而需求接口则表示为一条实线链接到矩形上的上半圆。
o(3)显示表示法:
接口也可以用完整的显示形式表示,构件和其提供的接口之间是实现关系,而构件和其所需的接口之间是使用use关系。
24Rose中的扩展构件子程序说明是一组子程序集合名子程序说明是一组子程序集合名,其其中不包括类定义中不包括类定义.子程序体表示子程序的实现子程序体表示子程序的实现.主程序是包含程序根的文件主程序是包含程序根的文件.25构件的类型26构件间的关系依赖关系一个构件如果使用另外一个构件的操作,则也可以在该构件和另外一个构件的接口间建立依赖关系;
27构件间的关系依赖关系对象和源码间28构件间的关系依赖关系两个构件中的类如果存在泛化关系,则构件间可以加依赖关系;
29构件间的关系依赖关系两个构件中的类如果存在使用关系,则构件间可以加依赖关系;
30构件间的关系实现关系31构件图Componentdiagram提供当前模型的物理视图;
显示包括构件源码、二进制文件和可执行文件在内的软件构件之间的组织和依赖关系;
也可以通过显示组件的接口来展示组件外部可见的行为。
32构件图基本构件图33构件图嵌套构件图34绘制构件图确定子系统对外的接口将整个“在线酒店预订子系统”作为一个构件,考虑其对外接口。
显然它首先需要提供用户界面;
其次还需要与加盟的酒店系统连接,完成预订工作35绘制构件图确定子构件和接口显然要有一个构件来实现用户界面,一个构件来完成与酒店系统的连接和预订,另外还应该有一个负责将用户的需求与酒店的供给进行匹配的“调度程序”36绘制构件图对可执行程序的结构建模首先识别你想建模的构件集合考虑集合中各构件的不同类型对这个集合中的每个构件,分析它们之的关系37绘制构件图对源代码建模识别相关源代码文件的集合,建模为构件;
对于较大的系统,利用包来进行分组;
通过约束来表示源代码的版本号、作者和最后修改日期等信息;
用依赖关系来表示这些文件间编译的依赖关系38实例实例1:
ATM系统的构件图:
一个执行文件构件和两个包文件系统的构件图:
一个执行文件构件和两个包文件构件。
构件。
39实例2选课系统的构件图选课系统的构件图40o实例3图中依赖关系依赖关系包括:
顾客需要信息亭接口提供顾客需要信息亭接口提供服务服务售票员需要职员接口提供售票员需要职员接口提供服务服务信用卡付款需要信用卡代信用卡付款需要信用卡代理提供服务理提供服务职员接口需要预订销售、职员接口需要预订销售、个人销售和团体销售提供个人销售和团体销售提供服务服务管理接口需要数据库状态管理接口需要数据库状态提供服务提供服务售票处需要付款和购买提售票处需要付款和购买提供服务供服务等等等等图中实现关系实现关系包括:
信用卡付款提供信用卡付款提供付款服务付款服务票数据库提供购票数据库提供购买和状态查询服买和状态查询服务务售票处提供预订售票处提供预订购买、个人购买购买、个人购买和团体购买服务和团体购买服务情景一:
情景一:
购买个人票可以通过公用信息亭订购也可直接购买个人票可以通过公用信息亭订购也可直接向售票员购买,但购买团体票只能通过售票员。
向售票员购买,但购买团体票只能通过售票员。
情景二:
买票的人可以根据任意选择预订销售或个人销买票的人可以根据任意选择预订销售或个人销售或团体销售中的一种方式,售票处为了方便售或团体销售中的一种方式,售票处为了方便销售,需要信用卡付款服务的支持,同时也必销售,需要信用卡付款服务的支持,同时也必然需要票数据库处在有票可卖的状况中。
然需要票数据库处在有票可卖的状况中。
情景描述情景描述41接口o接口用于描述构件所提供的服务的一组操作集合,指定了构件的外部可见操作。
构件和接口之间的关系叫做实现关系。
可以通过接口访问一个构件。
o接口和构件之间的关系分为两种:
n实现关系(Realization)n依赖关系(Dependency)o在图中,接口和构件之间用实线连接表示实现关系;
而接口和构件之间用虚线箭头连接则表示依赖关系。
42接口o在构件图中,常见的两种依赖关系:
n编译依赖n调用依赖o使用依赖关系的三种情况:
n客户类要访问一个在提供者类(接口)中定义的值(常量或变量);
n客户类的操作激活提供者类(接口)的操作;
n客户类的操作具有返回到提供者类(接口)的实例或参量的特征标记。
43接口构件与接口之间的关系构件与接口之间的关系:
实现关系实现关系和和依赖关系依赖关系导出接口导出接口导入接口导入接口为了便于构件之间替换为了便于构件之间替换,建议使用以上依赖关系建议使用以上依赖关系44构件图分类o构件图可以分为两种:
简单构件图和嵌套构件图。
o1简单构件图n我们可以把相互协作的类,组织成一个构件。
利用构件图可以让软件开发者知道系统是由哪些可执行的构件组成的,这样,以构件为单位来看待系统时,让开发者清楚的看到软件系统的体系结构。
45构件图分类o
(1)用户界面层:
采用JSP页面实现用户界面。
我们通过构造型JavaServerpage来表示构件。
这一部分的构件,主要由边界类组成。
o
(2)业务逻辑层:
在实现上主要采用了JavaBean技术。
使用构造型JavaBean来表示这一层的构件。
这些构件主要由实体类组合而成。
o(3)数据访问层: