UML统一建模语言 第九章 构件图和部署图

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
员购买,但购买团体票只能通过售票员。 ※ 情景二: ※ 买票的人可以根据任意选择预订销售或个人销售或团
体销售中的一种方式,售票处为了方便销售,需要信 用卡付款服务的支持,同时也必然需要票数据库处在 有票可卖的状况中。
※ 图中实现关系包括: ※ 信用卡付款提供付款服务 ※ 票数据库提供购买和状态查询服务
UML部署图用来解决这类建模问题。
9.2 部署图的定义
▪ 部署图描述了运行软件的系统中硬件和软件的 物理结构,即系统执行处理过程中系统资源的部 署情况,它是一种静态模型。
▪ 部署图表示软件系统如何部署到硬件环境中, 显示了该系统不同的构件将在何处物理地运行, 以及它们将如何彼此通信。
▪ 所以说,部署图描述了一个系统运行时的硬件 节点、在这些节点上运行的软件构件将在何处物 理运行以及它们将如何彼此通信的静态视图。每 一个模型中仅包含一个部署图。
※ 节点TicketServer(售票服务)上的构件: ※ CreditCardCharges/ManagerInterface/
TicketSeller/TicketDB ※ 节点Kiosk(信息亭)上的构件: ※ CustomerInterface ※ SalesTerminal(销售终端)上的构件: ※ ClerkInterface
3、工作产品构件
这类构件主要是开发过程的产物,包括 创建实施构件的源代码文件及数据文件。 这些构件并不直接参与可执行系统,而是 用来产生可执行系统的中间工作产品,它 们是配置组件的来源。
9.1.3 构件的表示
主要包括构件、子程序规范和子程序体、 主程序、数据库、虚包和包规范等。
1、构件 即一般意义上的构件,也可用ActiveX 、
※ 图中包括的各种关系如下:
※ 通信链关系(不带箭头的直线)

TicketServe票服务器与
Kiosk信息厅之间存在一对多的
通信关联;与SalesTerminal售
票终端也存在一对多的通信关
联;
※ 依赖关系(带箭头的虚线)

TicketSeller售票构件依
赖CreditCardCharges信用卡
1、处理器 是指那些本身具有计算能力,能够执行各
种软件的节点,如服务器、工作站等这些 具有处理能力的机器。如下图:
处理器通常表示一个硬件设备而不是软件实体
由于处理器是具有处理能力的机器,所 以在描述处理器方面应当包含了处理器的 调度和进程。
(1)调度
调度是指在处理器处理其进程中为实现一 定的目的而对共同使用的资源进行时间分 配。
构件为什么要用接口呢?
▪ 构件中有非常多的功能,假如有一个类要使用 构件中某个类的某个方法,但当构件中这个具体 的方法发生变化时(例如方法名字的变化或方法 内容的变化),那么该类就不能应用构件中的相 应内容了。应用接口可以隐藏具体的实现细节, 这样,构件中的内容可以任意变化,而接口却是 相关固定的。
7、 任务规范和任务体
用来表示那些拥有独立控制线程的构件的 规范和实现体,它们Leabharlann Baidu图形表示如下图:
9.1.4构件图的定义
构件图是用来表示系统中构件与构件之 间,以及定义的类或接口与构件之间的关 系的图。构件图通过显示系统的构件以及 接口等之间的接口关系,形成更大的一个 系统设计单元。
构件图的组成:构件、接口、依赖关系
是指组织起来以完成一定目的连接单元的 集合,在系统中,肯定有一个文件用来指 定系统的入口,也就是系统程序的根文件, 这个文件被称为主程序。如图:
4、数据库 在Rational Rose中,数据库也被认为是
一种构件
5、虚包 是一种只包含对其他包所具有的元素进
行的引用的构件,它用来提供一个包的某些 内容的公共视图。
付款构件和TicketDB票数据库
构件提供的服务。
※ 图中顾客购票的情景如下:
※ 顾客通过位于Kiosk节点的顾客接口控 件进行购票的操作,该顾客接口构件的 购票操作依赖于处于TicketServer节点 上的售票构件提供的服务,售票构件要 完成售票操作,又要依赖统一节点上信 用卡付款构件提供的付款服务和票数据 库构件
解缩写的文档时关于哪方面内容 ④ 利于复用
9.1 构件和构件图
构件图显示的是组成系统的构件之间的 组织及其依赖关系,而构件时指系统中的可 替代性的物理单元。多个系统构件一起组成 了构件图。
例子
9.1.1 构件的定义
目前构件还没有统一的定义,一般认 为:构件是系统中遵从一组接口且提供实 现的一个物理部件,包括软件代码(源代 码、二进制和可执行文件)或者相应组成 部分,通常指开发和运行时类的物理实现。
▪ 构件提供的接口使得其他的构件得以访问它。
接口的类型
构件向外部展现两种接口:供接口和需接口
➢ 供接口表示构件为客户提供的功能,它告 知用户构件如何被使用。构件至少有一个供接 口。供接口用“棒棒糖”式的图形表示,即由 一个封闭的圆形与一条直线组成。
➢ 需接口表示为了使构件工作,构件必须从 其他服务中所获得的功能,需接口表示该接口 是构件的成员变量或构件中类的成员变量。需 接口用“插座”式的图形表示,即由一个半圆 与一条直线组成。
▪ 在UML中,标准构件使用一个左边有两 个小矩形的长方形表示,构件的名称位于 矩形内部,如下图:
9.1.2 构件的种类
1、实施构件 是构成一个可执行系统必要和充分
的构件,是在运行时创建的组件,也 可以是最终可运行系统产生的允许结 果,如动态链接库、可执行文件等。
2、配置构件
是运行系统需要配置的构件,是形成可 执行文件的基础。如,操作系统、数据库 管理系统等。
2、设备 设备是那些本身不具备处理能力的节点。
通常情况下是通过其接口为外部提供某 些服务,如打印机、扫描仪等。如图所示:
9.3.2 连接
连接用来表示两个节点之间的硬件连接。 在UML中,连接的表示形式使用一条实线表 示,在实线上可添加连接的名称和构造型。 连接的名称和构造型都是可选的。如图:
如上图,客户端节点和服务器节点通过HTTP方式进行通信连接
构件图例子
※ 实例1. ※ 图中的构件名称是Dictionary字典。 ※ 该构件向外提供两个接口,即两个服务Spell-check拼写检查、Synonyms同义词。
实例2. ※ 图中“Planner计划者”构件向外
提供一个“update更新”接口服务。 ※ 同时,该构件要求外部接口提供一
个“Reservations预定”服务。
▪ 系统开发者通过构件图呈现将要建立系统的高 层次架构视图,开始建立系统的各个里程碑,并 决定开发的任务分配以及需求分析。
▪ 系统管理员也通过构件图获得将运行于他们系 统上的逻辑构件的早期视图,较早地提供了关于 组件及其关系的信息。
部署图
当软件处于物理部署阶段时,我们关注 的是软件程序在计算机硬件系统中的物理 分布、通信方式和部署方法。
关于构件图和部署图
部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、构件要求
外部提供的服务。
部署图与构件图的关系: 部署图表现构件实例; 构件图表现构件类型的定义。
部署图偏向于描述构件在节点中运行时的状态,描述了 构件运行的环境;
构件图偏向于描述构件之间相互依赖支持的基本关系。
第九章 构件图和部署图
▪ 本章学习点:
基础内容:构件在UML中的表示和关系 重点掌握:构件图和部署图的构成元素 一般了解:部署图中节点的调度和进程
构件图
对构件和构件的关系建立模型有下列用途:
① 使客户能够看到最终系统的结构和功能 ② 让开发者有一个工作目标 ③ 让编写技术文档和帮助文件的技术人员能够理
例子
9.3 部署图的构成
部署图是由节点、设备和连接这3个基本 的元素所组成。
部署图由节点和节点之间的联系组成, 描述了处理器、设备和软件构件运行时的 体系结构。
9.3.1 节点
节点是存在于运行时并代表一项计算资 源的物理元素,一般用于对执行处理或计 算的资源建模。
在建模过程中,可将节点分为两种类型: 即处理器和设备。
6、包规范
在具体的实现中,有时将源文件中的声 明文件和实现文件分离开来,例如,在 C++语言中,往往将.h文件和cpp文件分离 开来,在Rational Rose中,可以在包规范 中放置.h文件,在包体重放置.cpp文件。
包规范和包体分别用于放置声明文件和 实现文件,因为有时候会将源文件中的声 明文件和实现文件分离开来。
Component A为一个用户构件,Component B为它所依赖的服务构件
2. 实现关系 实现一个接口意味着构件中的实现元素
支持接口中的所有操作。在构件图中,如 果一个构件是某一个或一些接口的实现,
可以使用一条实线将接口连接到构件来表示
总结
▪ 构件图能够呈现整个被建立系统的早期设计, 使系统开发的各个小组由于实现构件的不同而连 接起来。
※ 售票处提供预订购买、个人购买和团 体购买服务
部署图例子
实例1 实例层部署图
※ 实例层部署图描述各节 点和它们之间的连接。
※ 本图中的信息与上张描 述层部署图中的内容是 相互对应的。
※ 图中的关系是各个节点 之间存在的通信关系。
▪ 实例2 描述层部署图
描述层部署图表示了系统中的各 节点和每个节点包含的构件。
有时需要指定该处理器的调度方式,从而 使得处理达到最优或比较优的效果。
(2)进程 进程表示一个单独的控制线程,是系统
中一个重量级的并发和执行单元。 例如,一个构件图中的主程序或者一个协
作图中的主动对象都是进程。在一个处理 器中可以包含许多进程,可以使用特定的 调度方式执行这些进程。
上图中处理器的调度方式为Nonpreemptive,包含的进程为Process A 和Process B
在构件图中,构件和构件之间的关系表现 为依赖关系;
定义的类或接口与类之间的关系表现为 依赖关系或实现关系。
在构件图中,构件和构件之间的关系 表现为依赖关系和实现关系: 1.依赖关系
构件与构件之间依赖关系,它的表示方 式与类图中类与类之间的依赖关系的表示 方式相同,都是使用一个从用户构件指向 它所依赖的服务构件的虚线箭头表示。
▪ 实例3
※ 图中依赖关系包括: ※ 顾客需要信息亭接口提供服务 ※ 售票员需要职员接口提供服务 ※ 信用卡付款需要信用卡代理提
供服务 ※ 职员接口需要预订销售、个人
销售和团体销售提供服务 ※ 管理接口需要数据库状态提供
服务 ※ 售票处需要付款和购买提供服
务 ※ 等等……
情景描述
※ 情景一: ※ 购买个人票可以通过公用信息亭订购也可直接向售票
Applet、 Application、 DLL、EXE以及自 定义构造型来指定构件的类型。
它们的表示形式是在构件上添加相关的 构造型。如图:
构造型为Applet的构件
2、子程序规范和子程序体
子程序是一个单独处理元素的包,通常 用它代指一组子程序集。用来显示子程序 的规范和实现体。如图:
3、主程序
相关文档
最新文档