《统一建模语言(UML)》第9章 组件图和部署图
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如,编写文档和相关帮助的人员不直接参与系统的分析和设计,然而他们 对系统的理解直接影响到系统文档的质量,而组件图是帮助他们理解系统 的有力工具。
9.1.1 组件图元素
构成组件图的元素包括:
组件(component) 接口(interface) 关系(relationship)
还可以包括包(package)和子系统(subsystem) 它们有助于将系统中的模型元素组织成更大的组块。
Processor
Device
9.2 部署图
2.组件(Component)
节点和组件的关系:
组件是参与系统执行的事物,而节点是执行组件的事物。 组件表示逻辑元素的物理模块,而节点表示组件的物理部署。
9.2 部署图
3.关系(relationship)
部署图中也可以包括依赖、泛化、关联及实现关系。部署图中的依赖关系谢谢观看Fra bibliotek任务解决
小结
组件图是对面向对象系统的物理方面建模时使 用的两种图之一,用于描述软件组件以及组件 之间的组织和依赖关系,构成组件图的元素包 括组件(component)、接口(interface)和关系 (relationship)。 部署图是用于描述系统硬件的物理拓扑结构以 及在此结构上运行的软件的图形,部署图可以 显示计算节点的拓扑结构、通信路径、节点上 运行的软件、软件包含的逻辑单元(对象、类 等)。构成部署图的元素主要是节点(node)、 组件(component)和关系(relationship)。
9.1.1 组件图
1.组件(Component)
组件是定义了良好接口且提供实现的一个物理部件 是指类的物理实现,表示将类、接口等逻辑元素打包而形
成的物理模块。 它具有很广泛的定义,以下的一些内容都可以被认为是组 件:程序源代码、子系统、动态链接库等。 组件的图形表示法是把组件画成嵌套了两个小矩形标签的 大矩形。 title.java
业务对象BO组件图
9.2 部署图(Deployment Diagram)
部署图用于描述系统硬件的物理拓扑结构以及在此结构上 运行的软件。 部署图可以显示计算节点的拓扑结构、通信路径、节点上 运行的软件、软件包含的逻辑单元(对象、类等)。 构成部署图的元素主要是
节点(node) 组件(component) 关系(relationship)。
9.1.1 组件图
2.接口(Interface)
接口是一组用于描述类或组件的某个服务的操作, 它是一个被命名的操作的集合,与类不同,它不描述任何结构(因此不包
含任何属性),也不描述任何实现(因此不包括任何实现操作的方法)。
9.1.1 组件图
组件的接口可以分为两种类型:
导出接口(expert
9.1.1 组件图
组件可以分为以下三种类型:
部署组件(Deployment
Component) 如dll文件、exe文件等. 工作产品组件(Work Product Component) 源代码文件、数据文件等,用来产生部署组件 执行组件(Execution Component) 系统执行后产生的组件。如ejb、com+对象、corba对象等
C++的.cpp文件
5)数据库
Database Database
9.1.2 关系
依赖关系
一个组件如果使用另外一个组件的操作,则可以在该组件和另外一个组件
的接口间建立依赖关系
9.1.2 关系
依赖关系
两个组件中的类如果存在泛化关系,则组件间可以加依赖
9.1.2 关系
依赖关系
两个组件中的类如果存在使用关系,则组件间可以加依赖
绘制系统部署图,可以参照以下步骤进行: (1) 对系统中的节点建模; (2) 对节点间的关系建模; (3) 对节点中的组件建模,这些组件来自组件图; (4) 对组件间的关系建模; (5) 对建模的结果进行精化和细化。
实例
图书管理系统目前开发的是一个单机版系统,其中所有的 运算均在一台机器上完成,但是由于打印报表的需要,系 统还应配备一台打印机。因此得出系统中存在2个节点: 一台主机,其类型是Processor。 一台打印机,其类型是Device。
9.2 部署图
1.节点(node)
节点是在运行时并代表计算资源的物理元素,一般至少
拥有一些内存,而且通常具有处理能力。 两种类型的节点: 处理器(Processor):能够执行软件组件、具有计 算能力的节点。 设备(Device):没有计算能力的节点,通常是通 过其接口为外界提供某种服务,例如打印机、扫描仪 等都是设备。
interface):即为其他组件提供 服务的接口,一个组件可以有多个导出接口。 interface):在组件中所用到的 其他组件所提供的接口,称为导入接口,一个组件 可以使用多个导入接口。
导入接口(import
9.1.1 组件图
3.关系(relationship)
关系是事物之间的联系,在面向对象的建模中,最重要的关系是依赖、泛
9.1.1 组件图
组件在许多方面都与类相同:
二者都有名称; 都可以实现一组接口; 都可以参与依赖、泛化和关联关系; 都可以被嵌套; 都可以有实例; 都可以参与交互。
组件和类之间也有一些显著的差别:
类表示逻辑抽象,而组件表示存在于计算机中的物理抽象。 组件表示的是物理模块而不是逻辑模块,与类处于不同的抽象级 别。 类可以直接拥有属性和操作;而一般情况下,组件仅拥有只能通 过其接口访问的操作。
《统一建模语言(UML)》
第9章 组件图和部署图
9.1 组件图(Component Diagram)
组件图是对面向对象系统的物理方面建模时使用的两种图 之一(另一种图是部署图),用于描述软件组件以及组件 之间的组织和依赖关系。
9.1 组件图
组件图有利于:
帮助客户理解最终的系统结构。 使开发工作有一个明确的目标。 复用软件组件。 帮助开发组的其他人员理解系统。
化、关联和实现,但组件图中使用最多的是依赖和实现关系。 组件图中的依赖关系使用虚线箭头表示 ,如图所示。
9.1.1 组件图
实现关系使用实线表示。实现关系多用于组件和接口之间。 组件可以实现接口。
9.1.1 组件图
4.补充图标
建模工具里都为不同类型的组件定义了特定的图标,这既便于系统设计师
在建模时使用,也便于其他人员理解。 在Rational Rose中: 1)主程序(main program)
9.1.1 组件图
2)包(package)
3)子程序规范(subprogram specification)和子程序体(subprogram body)
9.1.1 组件图
4)包规范(package specification) 和包体(package body) 即C++的.h文件
9.1.3 组件图建模
使用组件图建模的步骤可按照下列步骤进行:
(1)对系统中的组件建模; (2)定义相关组件提供的接口; (3)对它们间的关系建模; (4)对建模的结果进行精化和细化。
实例
在图书馆管理系统中,通过分析可以发现 类图中的类应分为4个部分:
1.用户接口模块(UI),主要负责系统和用户的交互, 包括Frame类,Dialog类等。 2.业务对象模块(BO),主要负责处理系统中的业务计 算,如借书,还书等功能的具体操作。 3.数据存储模块(DB),主要负责处理对数据的存储。 4.通用工具模块(UTIL),包括系统中通用函数。
使用虚线箭头表示。它通常用在部署图中的组件和组件之间。
9.2 部署图
4.图标
处理器(Processor),表示具有运算能力的节点。
Process or
设备(Device),表示没有运算能力的节点 。
Device
通讯路径(Connection),表示节点之间的通讯关系。
9.2 部署图
5.使用部署图对系统建模