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