第12章 构件图和部署图
10讲 包图 构件图和部署图
包图的定义
包图和包 在UML中创建包图的目的有以下三个: 1. 在逻辑上把一个复杂的系统模块化 2. 组织源代码 3. 描述需求高阶概况 4. 描述设计的高阶概况
包的组成
名称
在UML中,包的标准形式是使用两个矩形进行表示的,一个小 矩形和一个大矩形,小矩形紧连结在大矩形的左上角上,包的名称 位于大矩形的中间 包的名称是一个字符串,它有两种形式:简单名和路径名。其 中,简单名仅包含一个名称字符串;路径名是以包处于的外围包的 名字作为前缀并加上名称字符串,如下图所示。
软件系统体系结构建模——包图
• 2、系统业务对象层
系统服务接口界面包:起承上启下的作用,设置用 户窗口与系统各种实现具体功能的接口界面的连接
业务对象管理包:根据用户窗口接口界面的要求, 实施对系统的业务对象的有效管理
外部业务对象包:对过去系统遗留下来的有使用价 值部分进行包装 实际业务对象包:形成能实现系统功能的实际的业 务对象集,包括系统新创建的业务和外部业务对象
系统体系结构设计 数据结构设计 用户界面设计 算法设计
系统体系结构概述
• 系统体系结构用来描述系统各部分的结构、 接口以及它们用于通信的机制。 • 系统体系结构建模首先要建立基本的模型, 并把这些模型映射到系统需要的硬件单元 上。
系统体系结构概述
• 体系结构设计过程中的主要活动:
系统分解:将系统分解为若干个相互作用的子系统 模块分解:将子系统进一步划分为模块
包图中的关系
泛化关系
泛化关系表示了事物的一般和特殊的关系。如果二个 包之间存在有泛化关系,就是指其中的特殊性包必须遵 循一般性包的接口。包之间的泛化联系与类之间的泛化 关系十分类似,类之间的泛化的概念和表示在此大都可 以使用如下图所示。
包图 构件图 与部署图
包图中的关系
2、泛化关系 包间的泛化关系类似于类间的泛化关系,使
用一般包的地方,可以用特殊包代替。 在系统设计中,对某一个特定的功能,有多
种实现方法。例如,实现多数据库支持;实 现B/S和C/S双界面。这时就需要定义一 些高层次的“抽象包”和实现高层次功能的 “实现包”。
13
泛化关系
例如,说明GUI有 两种风格:一种是基 于WinForm的 C/S风格,一种是 WebForm的B/S 风格。
15
创建包图
1.标识候选包的原则:
把类图中关系紧密的类放到一个包中; 在类继承类层次中,把不同层次的类放在不同
的包中。
也可以把用例模型作为包的来源。然而,用 例横跨分析包是非常普遍的——一个用例可 以由几个不同包中的类实现。
16
创建包图
2.调整候选包 在已经识别一组候选包后,然后减少包间依
《import》关系:最普遍的包依赖类型,说明提供者包的命 名空间将被添加到客户包的命名空间中,客户包中的元素也能 够访问提供者包的所有公共元素。
《access》关系:如果只想使用提供者包中的元素,而不想将 两个包合并,则应使用该关系。在客户包中必须使用路径名,才 能访问提供者包中的所有公共元素。
分解 是软件开发中控制软件复杂性的重要
手段。 在OO方法中, 需要考虑如何把相关的类放
在一起。 把语义相近并倾向于同一变化的元素组织起
来加入同一个包中,以便于理解和处理整个 模型。
2
为什么要包
包的作用是: 1)对语义上相关的元素进行分组 2)定义模型中的“语义边界” 3)提供配置管理单元 4)在设计时,提供并行工作的单元 5)提供封装的命名空间,其中所有名称必 须唯一
3
08,09构件图和部署图
1 构件图概要
构件图用于静态建模, 构件图用于静态建模,是表示构件类型的组织以 及各种构件之间依赖关系的图。 及各种构件之间依赖关系的图。 构件:可替换的物理部分,包括软件代码、脚本 构件:可替换的物理部分,包括软件代码、 或命令行文件,也可以表示运行时的对象,文档, 或命令行文件,也可以表示运行时的对象,文档, 数据库等。 数据库等。 构件图通过对构件间依赖关系的描述来估计对系 统构件的修改给系统可能带来的影响。 统构件的修改给系统可能带来的影响。
部署图
1 部署图概要 部署图用于静态建模, 静态建模 部署图用于静态建模,是表示运行时过程节点结 构件实例及其对象结构的图。 构、构件实例及其对象结构的图。 如果含有依赖关系的构件实例放置在不同节点上, 如果含有依赖关系的构件实例放置在不同节点上, 部署视图可以展示出执行过程中的瓶颈。 部署视图可以展示出执行过程中的瓶颈。 部署图的两种表现形式: 部署图的两种表现形式:实例层部署图和描述层 部署图(会在后面的实例中给出 会在后面的实例中给出)。 部署图 会在后面的实例中给出 。
5 关于部署图与构件图
部署图与构件图相同的构成元素: 部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、 构件、接口、构件实例、构件向外提供服务、构件要 求外部提供的服务。 求外部提供的服务。 部署图与构件图的关系: 构件图的关系 部署图与构件图的关系: 部署图表现构件实例; 部署图表现构件实例; 构件图表现构件类型的定义。 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态, 部署图偏向于描述构件在节点中运行时的状态,描述了构 件运行的环境; 件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。 构件图偏向于描述构件之间相互依赖支持的基本关系。
第十二章 部署图
一、节点
(2)节点的分类 ) 按照节点是否有计算能力,将节点分为: 按照节点是否有计算能力,将节点分为: 处理器:用构造型《processor》 处理器:用构造型《 》 设备:用构造型《 设备:用构造型《device》 .2 部署图的表示
一、节点 (3)节点中的构件(artifact) )节点中的构件( )
12.2 部署图的表示
一、节点
(3)节点中的构件(artifact) )节点中的构件( )
节点中描述构件的方式有: 节点中描述构件的方式有:
直接描述: 直接描述: 《artifact》构造型:用来表示文件、构件等制品。 》构造型:用来表示文件、构件等制品。 《database》构造型:用来表示一个实际的数据库(对 》构造型:用来表示一个实际的数据库( 应Oracle的scheme。 的 。 《deploymentSpec》构造型:用来表示部署描述,通 》构造型:用来表示部署描述, 常对关键的配置文件进行建模, 常对关键的配置文件进行建模,还可以在构造块中直接 指出具体参数的值。 指出具体参数的值。
12.1 部署图
二、部署图组成
节点 节点间的连接
12.2 部署图的表示
一、节点
(1)节点(Node) )节点( ) 代表一个运行时计算机系统中的物理元 结点一般都有内存, 素,结点一般都有内存,而且具有处理 能力。比如一台计算机或者其他设备。 能力。比如一台计算机或者其他设备。
构件图与部署图
45
构件图分类
(1)用户界面层:采用JSP页面实现用户界面。 我们通过构造型《Java Server page》来表示构 件。这一部分的构件,主要由边界类组成。
13
构件图的作用
构件图的基本目的是:使系统人员和开发人 员能够从整体上了解系统的所有物理部件, 同时,也使我们知道如何对构件进行打包, 以便交付给最终客户,最后,构件图显示了 被开发系统所包含的构件之间的依赖关系。
构件图从软件架构的角度来描述一个系统的 主要功能,如系统分成几个子系统,每个子 系统包括哪些类、包和构件,它们之间的关 系以及它们分配到哪些节点上等。
一个构件图可以表示一个系统全部或者部分的构件 体系。从组织内容看,构件图显示软件构件的组织 以及构件之间的依赖关系,包括源代码构件、二进 制代码构件以及可执行构件。
构件图是对OO系统物理方面建模的2个图之一。
9
构件图的概念
构件图主要用于描述各种软件构件之间的依 赖关系,例如,可执行文件和源文件之间的 依赖关系,所设计的系统中的构件的表示法 及这些构件之间的关系构成了构件图。
将整个“在线酒店预订子系统”作为一个构件,考虑 其对外接口。显然它首先需要提供用户界面;其次 还需要与加盟的酒店系统连接,完成预订工作
35
绘制构件图
确定子构件和接口
显然要有一个构件来实现用户界面,一个构件来完 成与酒店系统的连接和预订,另外还应该有一个负 责将用户的需求与酒店的供给进行匹配的“调度程 序”
提供服务
※
※ 售票处需要付款和购买提 供服务
UML基础及Rose建模实用教程课后习题及答案
UML根底与Rose建模实用教程课后习题及答案第1章面向对象概述1. 填空题〔1〕软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。
〔2〕类是具有一样属性和操作的一组对象的组合,即抽象模型中的“类〞描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
〔3〕面向对象程序的根本特征是抽象、封装、继承和多态。
2. 选择题〔1〕可以认为对象是ABC。
〔A〕某种可被人感知的事物〔B〕思维、感觉或动作所能作用的物质〔C〕思维、感觉或动作所能作用的精神体〔D〕不能被思维、感觉或动作作用的精神体〔2〕类的定义要包含以下的要素ABD。
〔A〕类的属性〔B〕类所要执行的操作〔C〕类的编号〔D〕属性的类型〔3〕面向对象程序的根本特征不包括B。
〔A〕封装〔B〕多样性〔C〕抽象〔D〕继承〔4〕以下关于类与对象的关系的说法不正确的选项是A。
〔A〕有些对象是不能被抽象成类的〔B〕类给出了属于该类的全部对象的抽象定义〔C〕类是对象集合的再抽象〔D〕类用来在存中开辟一个数据区,并存储新对象的属性3. 简答题〔1〕什么是对象?试着列举三个现实中的例子。
对象是某种可被人感知的事物,也可是思维、感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。
〔2〕什么是抽象?抽象是对现实世界信息的简化。
能够通过抽象将需要的事物进展简化、将事物特征进展概括、将抽象模型组织为层次构造、使软件重用得以保证。
〔3〕什么是封装?它有哪些好处?封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的部细节。
封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。
对象的私有属性只能够由对象的行为来修改和读取。
二是尽可能隐蔽对象的部细节,与外界的联系只能够通过外部接口来实现。
通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:防止对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序的影响。
构件图与部署
使用菜单栏或浏览器添加构件的步骤如下:01 选择Tools | Create | Component命令,此时光标变为“+”号。如果使用浏览器,可右键单击需要添加的包,在弹出的快捷菜单中选择New | Component命令,此时光标也变为“+”号。 以下的步骤与使用工具栏添加构件的步骤类似,按照前面使用工具栏添加构件的步骤添加即可。
部门 / 时间 / 姓名
1 构件图与部署图的基本概念 1.1 构件的基本概念 在构件图中,将系统中可重用的模块封装为具有可替代性的物理单元,称为构件,它是在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用部件。
虚包是一种只包含对其他包的元素进行引用的构件。
系统是指组织起来以完成一定目的的连接单元的集合,在系统中肯定有一个文件用来指定系统的入口,也就是系统程序的根文件,这个文件被称为主程序。子程序规范和子程序体是用来显示子程序的规范和实现体。 主程序 子程序规范和子程序体 包规范和包体 任务规范和任务体
在部署图中添加节点之间的连接的步骤如下:
02
单击图标,或者选择Tools | Create | Connection命令,此时的光标变为“↑”符号。
03
单击需要连接的两个节点中的任意一个节点。
04
将连接的线段拖动到另一个节点中即可。
如果要将连接从节点中删除,可以通过以下的步骤进行:
选中该连接。
按Delete键或者单击右键,在弹出的快捷菜单中选择Edit | Delete命令即可。
确定系统构件
可以与确定用例中的类和对象一样,根据用例的流程确定系统的构件。
将系统中的类和接口等映射到构件中 将系统中的类、接口等逻辑元素映射到构件中,一个构件不仅仅包含一个类或接口,也可以包含几个类或接口。
uml建模第十二章 部署图
12.1 部署图的概念 12.2 部署图的表示 12.3 部署图应用 小结
12.1 部署图
一、部署图
部署图( 部署图(deployment diagram)也称配置 ) 实施图。 图、实施图。 部署图模仿了一个系统在运行时间内的体系结 它表示了硬件元素( 节点) 构。它表示了硬件元素 节点 的构造和软件 元素是如何被映射在那些节点之上。 元素是如何被映射在那些节点之上。 由体系结构设计师、网络工程师、 由体系结构设计师、网络工程师、系统工程师 等描述, 等描述,是OO系统物理方面建模的两个图之 系统物理方面建模的两个图之 一个系统模型只有一个部署图。 一。一个系统模型只有一个部署图。
12.2 部署图的表示
二、连接 表示各节点之间通信路径,连接用一条实线表示。 表示各节点之间通信路径,连接用一条实线表示。
图12-7 节点间的连接
12.3 部署图的应用
在实际的应用中, 在实际的应用中,部署图主要用在设计和实现 两个阶段。 图
12.1 部署图
二、部署图组成
节点 节点间的连接
12.2 部署图的表示
一、节点
(1)节点(Node) )节点( ) 代表一个运行时计算机系统中的物理元 结点一般都有内存, 素,结点一般都有内存,而且具有处理 能力。比如一台计算机或者其他设备。 能力。比如一台计算机或者其他设备。
Modem
12.2 部署图的表示
一、节点
(2)节点的分类 ) 按照节点是否有计算能力,将节点分为: 按照节点是否有计算能力,将节点分为: 处理器:用构造型《processor》 处理器:用构造型《 》 设备:用构造型《 设备:用构造型《device》 》
Device Processor
ch12_UML组件图与部署图
12.2.2 部署图的要素
1.节点
节点(node) 是运行时代表计算资源的物理元素。节点通常 有内存及处理能力,它可以是物理设备及运行在该设备上的软 件系统. 节点分为处理机(processor)和设备(device)两类。
• 处理机:能执行软件、具有计算能力的节点,如主机、服务 器、客户机等; • 设备:没有计算能力的节点,如打印机、传感器、终端等。
3.添加组件、类和对象 接下来需要确定组件和其他内容,如类和对象。 需求列表显示下列组件可以用于图中: • 控制扫描仪的代码(名为ScanEngine组件) • 定制的Web服务器软件(名为WebSeverSoft组件) • 专用的数据访问组件(名为DataAccess组件) • 专用的浏览器软件(名为Browser组件) • 产品查询插件(名为ProductLookupAddIn组件) 另外,前面还提到了产品数据库,但是它不必像前面的几个项 目那样也建模为软件组件。我们要把产品数据库建模为一个类 实例ProductDB。
组件图的特性
• 组件图和部署图统称为实现图,是对OO 系统的物理方面建模的图。
• 组件图显示一组组件以及它们之间的相互 关系。
• 组件图可以显示软组件之间的依赖关系, 可以用来显示编译、链接或执行时组件之 间的依赖关系。
12.1.3 组件图的作用
1. 对源代码文件之间的相互关系建模
12.1.3 组件图的作用
组件和类之间的不同点:
1、类是逻辑抽象,组件是物理抽象,即 组件可以位于节点(node)上。
2、组件是对其它逻辑元素,如类,协作 (collaboration)的物理实现。即,组件 是软件系统的一个物理单元。 3、类可以有属性和操作;组件通常只有 操作,而且这些操作只能通过组件的 接口才能使用。
T7构件图和部署图.ppt
部署图——部署图的要素
连接
连接表示两个结点之间的物理连接关系,用直线表示,在连接 上可以加多重性、角色、约束等。
部署图示例
部署图示例
部署图示例
总结
构件图的作用是什么? 什么叫构件,构件有哪几种类型,构件怎么表示? 部署图的作用是什么?
构件图 部署图
本章目标
构件图——构件
构件的概念
构件(component):是一个相对独立的可装配的物理块,一 般作为一个独立的文件存在。
构件具有确定的接口,相互之间可以调用,构件之间存在依赖 关系。
构件图——构件
构件的类型
《源代码件》:源程序文件块. 《执行件》:编译的结果,可投入运行。 《文件》:信息的存储体。 《库》:可以是类库、动态链接库、数据库等。 《表》:表示数据库中的数据表。 《文档》:泛指形成的所有文字材料。
第七章
构件图和部署图
回顾
1:在状态图中可以表示的概念有( ).(多选) A 动作 B 事件 C 转移 D 用例
回顾
2:如果要对一个企业的工作流程建模,下面四个图中( ) 是最有用的。 A 交互图 B 活动图 C 状态图 D 类图
回顾
3:下面说法错误的是: A 状态可以用来描述涉及多个用例的对象的行为 B 一些高级的状态图可以用来描述多个对象之间的关系 C 活动图可以用来描述企业中的业务流程 D 活动图可以用来描述多个用例间多个对象间的行为
构件图——构件
构件的表示
在UML中,构件通过以下形式来表示:
构件图
构件图(component diagram):描述构件及其相互 关系的图。构件之间是依赖关系。
构件图的作用
1:对源代码文件之间的相互关系建模
10 第十二章 构件图和部署图
➢ 一般作为一个独立的文件存在(DLL、LIB、JAR)
构件是相对独立的,提供一个或多个接口
构件作为系统定义良好接口的物理实现单元,它能够 不直接依赖于其他构件而仅仅依赖于构件所支持的接 口
RR中的构件包括:构件、数据库、虚包、主程序、子 程序、包、任务。
头从依赖的对象指向被依赖的对象。 例如下图所示。(组件C1依赖组件C2)
12.1 构件图与部署图的基本概念
2 构件图的含义
构件的嵌套:一个构件可以由多个子构件组成
12.1 构件图与部署图的基本概念
2 构件图的含义——应用
为源代码建模
为可执行版本建模 为数据库建模
12.1 构件图与部署图的基本概念
构件图显示一组构件以及它们之间的相互关系。
构件图可以显示软组件之间的依赖关系,可以用来显 示编译、链接或执行时组件之间的依赖关系。
12.1 构件图与部署图的基本概念
* 一个MFC程序(执行时)的构件图
12.1 构件图与部署图的基本概念
* 一个C++语言项目的构件图
12.1 构件图与部署图的基本概念
第十二章 构件图和部署图
主讲:XXX
构件图以及部署图描述 软件系统的物理部分。
之前学习的所有图,都 是对系统静态、动态的逻辑 描述。
第十二章 构件图和部署图
本1
章 内
2
容3
构件图与部署图的基本概念 使用Rose创建构件图和部署图 使用Rose部署一个实际的项目
12.1 构件图与部署图的基本概念 1 构件
* 构件与类之间的不同
1、类是逻辑抽象,构件是物理抽象
UML基础与Rose建模实用教程(第三版)
第11 章包图
1 1 .5 本章小结
习题十 一
习题十一
1. 填空题 2. 选择题 3. 简答题 4. 练习题
第12 章构件图与部署图
1 2 .1 构件图与部署 图的基本概念
1 2 .2 使用R o s e 创建 构件图与部署图
1 2 .3 本章小结
习题十 二
12.1构件图与部署图的基本概念
1. 构件 2. 构件图的基本概念 3. 部署图的基本概念
1.填空题
2. 选择题 3. 简答题 4. 练习题
第9 章状态图
9 .1 状态图的
1
基本概念
2
9 .2 状态图的 组成
3
9 .3 组成状态
4 9 .4 使用R o s e
创建状态图
5 9 .5 使用R o s e
创建状态图示 例
第9 章状态图
9 .6 本章小结
习题 九
9.1状态图的基本概念
1. 状态图的定义 2. 状态图的作用
7.5使用Rose创建序列图示例
1. 确定工作流程 2. 确定对象 3. 确定消息和条件 4. 绘制序列图总图
习 4. 练习题
第8 章协作图
8.2协作图的组成
8.1协作图的基本 概念
8.3使用Rose创建 协作图
第8 章协作图
8.5本章小结
8.4使用Rose创建 协作图示例
习题八
8.1协作图的基本概念
1. 协作图的定义 2. 协作图的作用
8.2协作图的组成
1. 对象 2. 消息 3. 链
8.3使用Rose创建协作图
1. 创建对象 2. 创建消息 3. 创建链
8.4使用Rose创建协作图示例
UML构件部署图详解
讲授内容
构件 正向工程、逆向工程 部署图 课外作业与实验巩固
1 概述
构件图示例:
1 概述
① ②
③
构件图描述了软件的各种构件和它们之 间的依赖关系。 构件图中通常包含3个元素: 构件(Component) 接口(Interface) 依赖关系(Dependency)
Name(名称) Stereotype(构造型) Language(语言) Documentation(说明)
构件规范
2 Detail标签
Declarations(声明):声明文本框包含一个 声明列表,如类名、变量以及其它一些语言 专有特性(#includes或类似的结构)。
构件规范
两种接口
导入接口(import interface) 供访问操作的构件使用 导出接口(export interface) 由提供操作的构件提供
4 依赖关系
构件图用依赖关系表示各构件之间存在 的关系类型。 在UML中,构件图中依赖关系的表示方 法与类图中依赖关系相同
构件规范
1 General标签
3 关联关系
部署图用关联关系表示各节点之间通信 路径,表示为一条实线。 在连接硬件时通常关心节点之间是如何 连接的,因此关联关系一般不使用名称, 而是使用版型。
3 关联关系
关联关系示例:
部署图的要素
节点:具有一定内存、计算能力的物理 元素。
处理机:执行程序的硬件构件; 设备:无计算能力的硬件构件。
正向工程和逆向工程
正向工程:根据模型产生源代码。 逆向工程:根据源代码产生软件模型 Tools->Java/J2EE->Reverse Engineer
UML实践学习系列8-用Rose创建部署图
创建部署图(1)2010-07-31 23:01 胡荷芬/张帆/高斐清华大学出版社我要评论(0)字号:T | T综合评级:想读(2)在读(0)已读(0)品书斋鉴(0)已有2人发表书评《UML系统建模基础教程》第12章构件图和部署图,本章主要介绍构件图和部署图的基本概念和在实际中的运用。
本小节为大家介绍创建部署图。
AD:12.2.2 创建部署图(1)在部署图的工具栏中,我们可以使用的工具图标如表12-4所示,该表中包含了所有Rational Rose 2003默认显示的UML模型元素。
同样部署图的图形编辑工具栏也可以进行定制,其方式和在类图中定制类图的图形编辑工具栏的方式一样。
表12 4 部署图的图形编辑工具栏图标在每一个系统模型中只存在一个部署图。
在使用Rational Rose 2003创建系统模型时,就已经创建完毕,即为Deployment View(部署视图)。
如果要访问部署图,在浏览器中双击该部署视图即可。
1. 创建和删除节点如果需要在部署图中增加一个节点,也可以通过工具栏、浏览器或菜单栏三种方式进行添加。
通过部署图的图形编辑工具栏添加一个处理器节点的步骤如下。
(1) 在部署图的图形编辑工具栏中,选择图标,此时光标变为"+"号。
(2) 在部署图的图形编辑区内任意选择一个位置,然后使用鼠标单击左键,系统便在该位置创建一个新的处理器节点,如图12-22所示。
(3) 在处理器节点的名称栏中,输入节点的名称。
使用菜单栏或浏览器添加处理器节点的步骤如下。
(1) 在菜单栏中,选择"Tools"(浏览)下的"Create"(创建)选项,在"Create"(创建)选项中选择"Processor"(处理器),此时光标变为"+"号。
如果使用浏览器,选择Deployment View(部署视图),单击右键,在弹出的快捷菜单中选择"New"(新建)选项下的"Processor"(处理器)选项,此时光标也变为"+"号。
UML-08-构件图-部署图
ቤተ መጻሕፍቲ ባይዱ
什么是处理器(processor)?
定义:A processor is a hardware component capable of executing programs. 处理器具有处理能力的节点,即它可以执行组 件。 处理机的图标:
什么是设备(Device)?
设备的定义:A device is a hardware component with no computing power. 设备是无计算能力的外部设备,如modem、终 端。 设备的图标:
处理器和设备
什么是连接(Connection)?
连接的定义:A connection represents some type of hardware coupling between two entities. 连接是代表一种交流的机制:
组件的分类
一般说来,组件就是一个实际文件,可以有以下几种类型:
(1) 配置组件(deployment component),这些组件构成了一 个可执行的系统, 如dll文件, exe文件, COM+对象, CORBA 对象, EJB, 动态Web页, 数据库表等。
(2) 工作产品组件(work product component),开发过程产 物,这些组件不直接参与可执行系统,而是开发中的工作产 品,如源代码文件(.java,.cpp),数据文件等,这些组件可 以用来产生deployment component。 (3) 执行组件(execution component),这类组件是作为一 个正在执行的系统的结果而被创建的,例如由DLL实例化形 成的.NET对象。
[UNL课件] 第12章 构件图与部署
12.1 构件
– 连接件示例:
销售目录
: 商品盘点清单 :
:履行
:查找项
: 发货项
: 获得订单 :订单 输入
:订单交接
: 订单处理
收费:信用卡
12.2 部署图
• 1、术语和概念
– 1) 部署图(deployment diagram)
• 是一种展示运行时进行处理的结点和在结点上生存 的制品的配置的图。
– 端口提供的封装性和独立性更大程度上保证了构件的 封装性和可替换性。
12.1 构件
• 端口的UML表示
– 端口被表示为跨立于构件边界上的方块。
使用该接口 查询预订 情况 Booking Load Attractions 将节目信息录入 售票DB以便售票 Credit Cards 使用该接口完成 信用卡支付
• 制品(artifact):是存在于实现平台层的系统的物理部 分。表示为带有《artifact》构造型的矩形。内写上制品 名称。
• 部署图是结点和弧的集合。
– 也可以包括注解、约束还有包。
《artifact》 pos.exe
12.2 部署图
– 2) 结点(node)
• 又译作节点,是存在于运行时并代表一项计算资源的 物理元素,一般至少拥有一些内存,而且常常具有处 理能力。UML中表示为一个立方体。
– 3)对全分布式系统建模(续)
本章小结
• 构件 • 部署图
• UML表示为一条实线。
• 连接是双向的。 • 可以是直接连接(如通过光缆),也可非直接连接 (如通过卫星)。
12.2 部署图
• 2、用法
– 部署图用于对系统的静态部署视图建模。 – 主要来解决构成物理系统的各组成部分的分布、 提交和安装。 – 使用情况
第12章部署图
节点之 间的连线代 表两个正方 体之间的连 接。可以使 用构造型来 指明连接信 息。
尽管连接是两个节点之间最普通的关联类型, 尽管连接是两个节点之间最普通的关联类型,其 他类型的关联(例如聚集和依赖 也是可能的 他类型的关联 例如聚集和依赖)也是可能的。 例如聚集和依赖 也是可能的。
12.2 应用部署图
12.4 小结
将UML部署图与整个系统集成到一起后将看到 部署图与整个系统集成到一起后将看到 完整的物理结构图。系统是由节点组成的。每个节 完整的物理结构图。系统是由节点组成的。 点用一个立方体表示。 点用一个立方体表示。节点之间的连线代表两个正 方体之间的连接。两种类型的节点分别是处理器 它 方体之间的连接。两种类型的节点分别是处理器(它 可以执行软件构件)和设备 不能执行软件构件 可以执行软件构件 和设备(不能执行软件构件 。设 和设备 不能执行软件构件)。 备通常都具有同外部世界通信的接口。 备通常都具有同外部世界通信的接口。 部署图对建立网络结构的模型很有用处。 部署图对建立网络结构的模型很有用处。本章 中用部署图建模的网络包括令牌环网、 中用部署图建模的网络包括令牌环网、ARCnet、细 、 缆以太网以及Ricochet无线网。 无线网。 缆以太网以及 无线网
12.2.5 Metricom公司的 公司的Ricochet无线网 公司的 无线网 Metricom公司提供了一种互联网访问的无线调制解调 公司提供了一种互联网访问的无线调制解调 器解决方案。 器解决方案。它的无线调制解调器可以插入一个计算机的 串行端口中并且可以向整个Ricochet网络广播信息。 网络广播信息。 串行端口中并且可以向整个 网络广播信息 Ricochet网络包括无线发送 接收仪 网络包括无线发送-接收仪 网络包括无线发送 接收仪(raio tansmitterreceiver),每个都像一个鞋盒那么大。在相距1英里到 英 ,每个都像一个鞋盒那么大。在相距 英里到 英里到15英 里的距离之间安装多个无线收发单元(microcell radio),它 里的距离之间安装多个无线收发单元 , 们以检查盒模式布局。每个无线收发单元都安装了一个特 们以检查盒模式布局。 殊的适配器,通过它可以接收一些来自街灯中的能量。 殊的适配器,通过它可以接收一些来自街灯中的能量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习内容
►构件图的概念
►部署图的概念
►绘制构件图
►绘制部署图
12.1 构件图的概念
► 构件图是用来表示系统中构件与构件之间,
以及定义的类或接口与构件之间关系的图。 ► 构件图通过显示系统的构件以及接口等之间 的接口关系,形成系统的更大的一个设计单 元。 ► 在构件图中,构件和构件之间的关系表现为 依赖关系,定义的类或接口与类之间的关系 表现为依赖关系或实现关系。
12.1 构件图的概念
12.1.1 构件
12.1.1.2 构件的表示
► Rational
Rose中的构件即一般意义上的构件。 但是也可以用ActiveX、Applet、Application、 DLL、EXE以及自定义构造型来指定构件的类 型,它们的表示形式是在构件上添加相关的 构造型。如下图所示的是一个构造型为 Applet的构件。
► 在构件图中,构件和构件之间的关系表现为以下二
种: 1.依赖关系 这种依赖关系分为二种,一种是构件与构件之间依 赖关系,另一种是构件和接口之间的依赖关系,它 是指一个构件使用了其它元素的接口。 2. 实现关系 实现一个接口意味着构件中的实现元素支持接口中 的所有操作。
12.2 绘制构件图
12.2.1 构件图的创建
12.1 构件图的概念
12.1.1 构件
12.1.1.2 构件的表示
► 在Rational
Rose 中,数据库也被认为是一种构件。 ► 虚包是一种只包含对其它包所具有的元素进行引用 的构件。它被用来提供一个包的某些内容的公共视 图。虚包不包含任何它自己的模型元素。
12.1 构件图的概念
12.1.1 构件
► 创建一个“图书管理系统”构件图,可以通过以下
方式进行: 1.右键单击浏览器中的Component View(构件视图) 或者位于构件视图下的包。 2.在弹出的菜单中,选中“New”(新建)下的 “Component Diagram”(构件图)选项。 3.输入新的构件图名称“图书管理系统构件图” 。 4.双击即可打开浏览器中的构件图。
12.4.3 设备
►
►
►
设备是指那些本身不具备处理能力的节点。通常情况 下都是通过其接口为外部提供某些服务,例如打印机、 扫描仪等。 每一个设备如同处理器一样都要有一个与其它设备相 区别的名称,当然有时候设备的命名可以比较抽象一 些,例如调节器或终端等。 在UML中,设备的表示形式如下图所示。
12.5 绘制部署图
12.1.2 接口
► 接口是一组用于描述类或组件的一个服务的操作,
它是一个被命名的操作集合,与类不同,它不描述 任何结构(因此不包含任何属性),也不描述任何实 现(因此不包含任何实现操方法)。每个接口都有一 个唯一的名称。 ► 构件的接口分为两种类型: 1.导出接口 2.导入接口
12.1 构件图的概念
►
1. 2. 3. 4. 5. 6. 7.
我们可以对系统的主要参与者和主要的业务实体类分别创 建对应的构件进行映射。在图书管理系统中,通过对类图 的分析能够发现图中的类可以分为六个部分: Borrower:借阅者类 ; Loan:借阅信息类 ; Book:图书类 ; Reserve:预定信息类 ; Title:书目类 ; Administrator:系统管理员类 ; Librarian:图书管理员类
12.6 构件图和部署图建模实例
12.6.2 确定系统部署图
► 我们可以使用下列的步骤创建部署图:
1. 根据系统的物理需求,确定系统的节点。 2. 根据节点之间的物理连接,将节点连接起 来。 3. 通过添加处理器的进程、描述连接的类型等 细化对部署图的表示。
12.6 构件图和部署图建模实例
12.6.2 确定系统部署图
►
12.3 部署图的概念
►
► ►
部署图描述了一个系统运行时的硬件结点,在这些结点上运 行的软件构件将在何处物理地运行,以及它们将如何彼此通 信的静态视图。 在一个部署图中,包含了两种基本的模型元素:节点和节点 之间的连接。 在每一个模型中仅包含一个部署图。
12.4 部署图的组成
12.4.1 节点
对“图书管理系统”而言,该系统的物理需求如下所示: 1. 系统管理员通过后台维护系统,进行后台维护,执行系统管 理员允许的所有操作。 2. 借阅者通过借阅者自助系统,进行自助服务。 3. 服务器端安装Web服务器软件,如Tomcat等,通过JDBC与 数据库服务器连接。 4. 数据库负责数据存储,处理等数据服务。 5. 图书管理员通过图书管理员业务处理系统,处理借阅者还书 和归还业务。
►
12.6 构件图和部署图建模实例
12.6.2 确定系统部署图
► 确定系统节点 ► 添加节点连接 ► 细化部署图 ► 创建的完整部署图如下图所示。
►
12.1 构件图的概念
12.1.1 构件
12.1.1.1 构件的种类
► 在对软件系统建模的过程中,构件的类型可
以分为以下几种: 1.实施构件 2.配置构件 3.工作产品构件
12.1 构件图的概念
12.1.1 构件
12.1.1.2 构件的表示
► 构件的定义非常的广泛,在实际的建模过程
中,如果仅使用一种图标表示构件会带来很 大的不便。所以在Rational Rose中,可以使 用不同图标表示不同类型的构件。
节点是存在于运行时并代表一项计算资源的物 理元素,一般用于对执行处理或计算的资源建 模。 ► 在建模过程中,可以把节点分成二种类型:处 理器和设备。
►
12.4 部署图的组成
12.4.1 节点
处理器是指那些本身具有计算能力,能够执行 各种软件的节点,例如,服务器、工作站等这 些都是具有处理能力的机器。 ► 由于处理器是具有处理能力的机器,所以在描 述处理器方面应当包含了处理器的调度和进程。
12.6 构件图和部署图建模实例
12.6.1 确定系统构件图
►
►
将系统中的类和接口等映射到构件中,按照将系统中的类、 接口等逻辑元素映射到构件中。一个构件不仅仅包含一个 类或接口,可以包含几个类或接口。 确定构件的依赖关系,在图书管理系统中Borrower构件使 用Loan和Reserve构件,Loan和Reserve构件使用Book构 件,Book构件使用Title构件。根据这些构件以及其关系创 建的图书管理系统构件图如下图所示。
►
12.2 绘制构件图
12.2.2 构件的创建
►
对于构件图中的构件,和其它Rational Rose 中的模型元素 一样,我们可以通过构件的标准规范窗口设置增加其细节信 息,包括名称、构造型、语言、文本、声明、实现类和关联 文件等。
12.2 绘制构件图
12.2.3 绘制构件关系
构件图中的构件之间存在的主要是依赖关系。下面我们在 “图书管理系统构件图”中为“Borrower”构件和“Reserve” 构件创建依赖关系,具体步骤如下: 1. 单击 “图书管理系统构件图”图形工具栏中的“ ”图标。 2. 将鼠标移动到图形编辑区中的“Borrower”构件上,按下鼠 标 左键不要松开,移动鼠标至“Reserve”构件后松开鼠标,如 下图所示。
►
12.4 部署图的组成
12.4.2 连接
连接用来表示两个节点之间的硬件连接。节点 之间的连接可以通过光缆等方式直接连接,或 者通过卫星等方式非直接连接,但是通常连接 都是双向的连接。 ► 在连接中支持一个或多个通信协议,它们每一 个都可以使用一个关于连接的构造型来描述。
►
12.4 部署图的组成
12.1.2 接口
构件和构件的接口有两种表示法。 ► 一种表示方法是,接口用一个矩形来表示,矩形中包含接口 有关的信息。接口与实现接口的构件之间用一根带箭头的虚 线连接,箭头指向接口。 ► 另一种表示法可以用一个小圆圈来代表接口,用实线将接口 和构件连接起来。
►
12.1 构件图的概念
12.1.3 构件间的关系
► 在每一个系统模型中,只存在一个部署图。在使
用Rational Rose 创建系统模型时,就已经创建完 毕,即为Deployment View(部署视图)。如果 要访问部署图,在浏览器中双击该部署视图即可。 ► 通过部署视图可以实现如下操作: 1. 创建和删除节点。 2. 设置节点。 3. 添加和删除节点之间的连接。 4. 设置连接规范。
12.2 绘制构件图
12.2.2 构件的创建
通过构件图的图形编辑 工具栏添加对象的步骤 如下: 1.在构件图的图形编辑 工具栏中,选择“ ” 按 钮,此时光标变为“+” 号。 2.在构件图图形编辑区 内选择任意一个位置, 然后使用鼠标左键单 击,系统在该位置创建 一个新的构件。 3.在构件的名称栏中,输
Hale Waihona Puke 12.6 构件图和部署图建模实例
12.6.1 确定系统构件图
我们使用下列的步骤创建构件图: 1. 根据用例或场景的需求,确定系统的构件。 2. 将系统中的类、接口等逻辑元素映射到构件 中。 3. 确定构件之间的依赖关系,并对构件进行细 化。
►
12.6 构件图和部署图建模实例
12.6.1 确定系统构件图
12.1.1.2 构件的表示
►
►
系统是指组织起来以完成一定目的的连接单元的集合,在系 统中,肯定有一个文件用来指定系统的入口,也就是系统程 序的根文件,这个文件被称为“主程序”。 子程序规范和子程序体是用来显示子程序的规范和实现体。 子程序是一个单独处理的元素的包,我们通常用它代指一组 子程序集。
12.1 构件图的概念
12.1 构件图的概念
12.1.1 构件
在构件图中,我们将系统中可重用的模块封装成为具有可替 代性的物理单元,我们称之为“构件”,它是独立的,在一 个系统或子系统中的封装单位,提供一个或多个接口,是系 统高层的可重用的部件。 ► 构件作为系统定义良好接口的物理实现单元,它能够不直接 依赖于其他构件而仅仅依赖于构件所支持的接口。通过使用 接口,构件可以避免在系统中与其它构件之间直接发生依赖 关系。