组件图和配置图

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2. 组件图建模 组件图用于对系统的物理实现进行建模, 描述系统组件与组件之间的关系。 组件本身是系统的一个物理模块,它的 设计应充分体现软件的模块性和可重用 性。

① ② ③ ④ ⑤
⑥ ⑦
组件设计时应遵循以下原则: 从物理结构上对软件系统进行抽象。 组件应是内聚的。 组件中的类应彼此重用。 提供一组定义完整的接口实现。 组件所包含的类其功能应相关,以便于满 足实现接口。 组件之间不应有循环的依赖。 组件、接口之间一般只有依赖和实现关系。
④ 数据库组件建模



通过组件图可以给出数据库组件的模型,而每个数 据库组件又可以包含数据库表组件。 通过数据库组件建模,可以使用特殊符号来代替通 常情况下的数据库或数据库表的表示法;还可以描 述与每个数据库表组件相关的字段与存储过程。 可以通过组件建模将系统中可能包含的大量库表情 况清晰地显示出来。 在数据库组件建模过程中,可以使用<<library>>、 <<table>>符号来分别指出组件是数据库组件和数 据库表组件。


Keyboard Database Server Mouse
<<LAN>>
Application Server
Web Server
<<Internet>>
ClientPC Monitor
<<USB>>
Printer
关联关系示例
ຫໍສະໝຸດ Baidu
10. 3
配置图建模及应用
1. 配置图的应用 通常可用配置图建模的系统有:

第10章 配置图
10.1 概述
配置图(Deployment Diagram,又称部 署图)用来描述系统所需的处理器和设备的 拓扑结构,显示了运行软件系统的物理硬件, 以及如何将软件配置到硬件上。
10.2

配置图元素及表示法
配置图所包含的元素有:结点和关系。 配置图可以显示结点以及它们之间的必要连 接,也可以显示这些连接的类型,还可以显 示某些结点上所包含的组件之间的关系。
聊天室 接口 聊天用户
组件的接口又可以分为两种类型: ① 输出接口(export interface):输出接口由提 供操作的组件提供。 ② 输入接口(import interface):访问服务的组 件使用输入组件。

3.关系

组件图中的关系分为两种:实现关系和依赖关系。 组件之间以依赖关系为主;组件与接口之间包含 实现关系和依赖关系两种。 在UML组件图中用一条连接组件与接口的实线表 示实现关系;用带箭头的虚线表示依赖关系,箭 头从依赖的组件指向被依赖的组件。
① 主界面组件图 ② 管理员用户界面组件图


主界面组件图包括:
主窗体组件(MainWindow.java) 借书对话框组件(BorrowDialog.java) 还书对话框组件(ReturnDialog.java) 密码修改对话框组件(ModifyDialog.java) 查询对话框组件(QueryDialog.java)

① ② ③ ④ ⑤
在组件图的建模过程中,可以参考以下步 骤: 对系统中的组件建模。 定义相应的组件提供的接口。 对组件与组件、组件与接口之间的关系建 模。 将逻辑设计映射为物理实现,完成组件图。 对建模结果进行精化和细化。
9.4 组件图建模实例
例:对于图书管理系统进行组件图建模。 主要从两个方面进行建模: ① 业务逻辑包组件图建模 ② GUI(图形用户界面)包组件图建模
客户机/服务器(C/S)系统 浏览器/服务器(B/S)系统
分布式系统
嵌入式系统

① ② ③ ④
以客户机/服务器为例说明,此类系统在进 行配置图建模时,应参考以下策略: 为系统的客户端和服务器端处理器进行建 模。 为系统中的主要设备建模。 对系统中的处理器和设备进行扩充。 确定配置图中各元素之间的关系。
组件图通常包括3种元素: ① 组件 ② 接口 ③ 关系

1.组件



组件(component)又称构件,它是定义了良好 接口的物理实现单元,是系统的单个组成部分, 它可以是一个文件、产品、可执行文件或脚本等。 一般情况下,组件表示将类、接口等逻辑元素打 包而形成的系统中的模块部件。 作为一种物理实现单元,组件包含类,类通过组 件来实现,组件与类之间是依赖关系。
第9章 组件图
在UML中,对面向对象系统的物理实现进 行建模需要使用组件图和配置图,这两种 模型图又因此统称为实现图。 使用组件图可标识系统物理组件及它们之 间的关系,并描述其构造细节。 使用配置图可描述系统所需的处理器和设 备的拓扑结构。

9.1 概述
组件图(Component Diagram)是UML 提供的一种表示组件的组织结构和相互关 系的图,用于表达在实现时如何将系统元 素组织成组件,从而支持以组件为单位进 行软件制品的实现和发布。 在UML中,一个组件图只能表示系统实现 图的一部分,但当系统中的组件图都组合 在一起,就能表示建模系统的完整的实现。

销售管理 (xsgl.cpp)
销售管理 (xsgl.obj)
图形库 (graphic.dll)
采购管理 (cggl.cpp)
采购管理 (cggl.obj) 进销存管理 (jxcgl.exe)
仓库管理 (ckgl.cpp)
仓库管理 (ckgl.obj)
进销存管理系统组件图示例
9.2 组件图的元素
聊天室 接口 聊天用户
9.3 组件图建模及应用
1. ① ② ③ ④ 组件图的应用: 源代码组件建模 二进制组件建模 可执行组件建模 数据库组件建模
① 源代码组件建模 源代码组件也称为编译时组件,是实现一 个或多个类的源代码文件,二进制组件和 可执行组件都是由源代码组件经编译后产 生的。 使用不同的程序设计语言开发的程序具有 不同的源代码组件。 例如,使用C++语言时,程序的源代码存 在于.h文件和.cpp文件中;使用Java语言 时,程序的源代码位于.java文件中。

驻留结点上的组件图
带有依赖关系的配置图
2.关系

在配置图中,使用关联关系(Association)表示结 点之间的通信路径。 配置图中的关联关系与类图中的关联关系采用相同 的表示方法,都是一条实线。
在连接硬件要考虑结点之间的连接方式和通信方式, 因此结点之间的关联关系一般不使用名称标识,而 是使用构造型来描述,如:<<TCP/IP>>、 <<HTTP>>、<<USB>>等。
与组件相同,每个结点都有自己的名称。 结点的名称是一个由名词短语构成的字符串,位 于结点图标内部。 结点的名称也分为简单名与路径名两种。 配置图中可以包括包和子系统。 配置图中还可以包含组件,用以处理硬件资源和软 件实现之间的关系。 在图形表示中,可以将相应的组件或组件图建模在 结点内部;也可以在结点和组件之间添加一条表示 依赖关系的带箭头虚线并进行标识。
③ 可执行组件建模

可执行组件又称为运行时组件,是系统执行时使用 的组件,即可执行程序组件(.exe)。 可执行组件可以从二进制组件产生,也可以直接从 源代码组件产生。 可执行组件建模过程中,可以使用<<executable>>、 <<application>>符号来指出组件是可执行文件或可 执行程序。

2.接口
在组件图中也可以使用接口。接口用来描 述一个组件能提供服务的操作的集合。 使用接口,组件可以使用其他组件中定义 的操作。 接口可以使源代码级定义的接口,也可以 使运行时使用的二进制接口。 组件之间的依赖通过指向所使用的组件接 口来表示。


在UML中,接口的表示方法与类图中的接口相 同。

业务逻辑包组件图建模主要包括:
借阅组件(Loan.java) 书目组件(Title.java) 图书组件(Book.java) 借阅者组件(Borrower.java) 管理员组件(Manager.java)
其中,Manager.java组件依赖于系统管理员 组件(Administrator.java)和图书管理员组件 (Librarian.java)。
显示对话框组件(DisplayDialog.java)
BorrowDialog.java
ReturnDialog.java
MainWindow.java
QueryDialog.java
ModifyDialog.java
DisplayDialog.java

管理员用户界面组件图包括:
书目管理对话框组件(TitleDialog.java) 图书管理对话框组件(BookDialog.java)
数据库 服务器
打印机
应用服 务器
扫描仪
用户界 面
管理界 面
1.结点

结点(node)在配置图中表示一个硬件设备或者执 行环境。 在UML中,结点用一个三维立方体来表示。 结点分为两种类型:处理器(Processor)和设备 (Device)。 处理器是指具有计算能力的结点,它可以执行软 件组件。 设备是指没有计算能力的结点,它们通常是通过 其接口为外界提供某种服务,如打印机、扫描仪 等都是设备。


源代码组件上可标上相应符号用以表示不同类型 文件: <<file>>符号用以表示包含源代码或数据的文 件; <<page>>用以表示Web页; <<document>>表示文档。
<<file>>
DBConnection.java
<<file>>
<<file>>
DBModify.java
<<library>>
Course.mdb
<<table>>
<<table>>
<<table>>
Student
Course
Elective
说明:Course.mdb组件代表Access数据库。 Student组件、Course组件和Elective组件 是组成Course.mdb数据库的3个数据库表。
DBQuery.java
② 二进制组件建模




二进制组件也称连接时组件,使源代码组件经编 译后产生的目标代码。 它可以使编译一个源代码组件而产生的目标代码 文件,或者是编译一个或多个源代码组件而产生 的静态库文件或动态库文件。 目标代码文件和静态库文件在运行前连接成可执 行组件,而动态库文件(也称动态链接库,DLL) 在运行时才连接成可执行组件。 二进制组件建模过程中,使用<<library>>符号 来指出组件是静态库文件或动态库文件。
Book.java
Loan.java Manager.java
Persistent.java Librarian.java Administrator.java
Title.java
Borrower.java
业务逻辑包组件图

GUI包包括MainWindow类和Manage Window类 GUI包组件图
借阅者管理对话框组件(BorrowerDialog.java)
BorrowerDialog.java
ManageWindow.java
BookDialog.java
TitleDialog.java
第10章 配置图
对系统进行物理实现建模时需要用两种图进 行描述:组件图和配置图。 组件图用来软件组件建模,而配置图用来对 配置系统时涉及到的硬件进行建模。

在UML中,组件用一个左侧带有两个突出 小矩形的矩形图标表示。
包名::组件名
每个组件都应有一个名称,位于组件图标内 部。 组件名称是一个标识符字串,只有单独一个 名称的称为简单名;在简单名前加上组件所 在包的名称叫做路径名。

在对软件系统建模的过程中,存在以下3种类型的 组件: ① 配置组件(Deployment Component) 配置组 件是运行系统前需要配置的组件,是形成执行文 件的基础。例如,操作系统(OS)、数据库管理 管理系统(DBMS)以及Java虚拟机(JVM)都 属于配置组件。 ② 工作产品组件(Work Product Component) 工 作产品组件包括模型、源代码和用于创建配置组 件的数据文件。例如,UML图、Java类和JAR文 件、数据库表以及动态链接库文件(DLL)等都 是工作产品组件。 ③ 执行组件(Execution Component) 执行组件 是在运行时创建的组件。执行组、XML文档、 Enterprise Java Beans、COM+组件、.NET组件 以及CORBA组件等。
相关文档
最新文档