组件图和配置图

合集下载

UML中共有5种静态图

UML中共有5种静态图

UML中共有5种静态图:用例图,类图,对象图,组件图和配置图。

(1)用例图Use Case Diagram用例图展现了一组用例、参与者以及它们之间的关系可以用来描述系统的静态使用情况。

上图中小人形状的用户和ATM是参与者、椭圆形状的如插入卡、输入密码等是用例(2)类图Class Diagram类图展示了一组类、接口、子类以及他们之间的关系,在建模中最常用到的图就是类图;可以用类图说明系统的静态设计视图,包含主动类的类图。

上图中反应了5个类之间的关联关系,人民币账户和美元帐户从账户继承,账户和ATM相关联,两种账户和用户相关联(3)对象图Object Diagram对象图展示了一组对象和他们间的关系,可以用来说明类图中翻译的事物实例的数据结构和静态快照,表达了系统的静态设计视图和静态过程视图,除了显示和原型方面的因素外,它与类图的作用是相同的。

(4)组件图Component Diagram组件图,又名构件图,展现了一组组件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库和可调整的系统建模。

上图中组件1和组件3依赖于组件2(5)配置图Deployment Diagram配置图展现了对运行时处理节点以及其中组件的配属,它描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。

用配置图说明系统结构的静态配置视图,即说明分布、交互和安装的物理系统。

上图中,三个处理机与两个涉笔,相互之间是关联的关系UML中动态图有四种,分别是:时序图、协作图、状态图和活动图。

(1)时序图Sequence Diagram时序图展现了一组对象和由这组对象收发的信息,用于按时间顺序对控制流建模。

可以用时序图来说明系统的动态视图。

这里貌似有不同的说法Visual Paradigm里面叫时序图为Timing Diagram,而我参照的教材里边没有这种图,按理说是应该有的。

上图反应了用户与ATM交互的整个过程。

(2)协作图Collaboration Diagram协作图展现了一组对象之间的链接以及这组对象收发的消息,强调收发消息对象的组织结构,按组织结构对控制流建模。

《统一建模语言(UML)》第9章 组件图和部署图

《统一建模语言(UML)》第9章 组件图和部署图

例如,编写文档和相关帮助的人员不直接参与系统的分析和设计,然而他们 对系统的理解直接影响到系统文档的质量,而组件图是帮助他们理解系统 的有力工具。
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)
组件是定义了良好接口且提供实现的一个物理部件 是指类的物理实现,表示将类、接口等逻辑元素打包而形

组件配置图

组件配置图

节点中的配置
驻留在节点上的组件
节点中的配置
可以在节点和组件之 间添加一条表示依赖 关系的虚线箭头,并 使用版型来表示节点 对组件的包容。
3 关联关系
配置图用关联关系表示各节点之间通信 路径,表示为一条实线。 在连接硬件时通常关心节点之间是如何 连接的,因此关联关系一般不使用名称, 而是使用版型。
组件分类
配置组件:dll文件,exe文件,EJB, 数据表文件等;构成可执行系统 工作产品组件:源代码文件、数据文 件。产生配置文件。产生可执行系统 执行组件:系统执行后得到的组件。 结果
组件与类的比较
相同点: 两者都有名称;都可以实现一组接口;都可以参与依赖 关系;都可以被嵌套;都可以有实例;都可以参与交互。 不同点: 类描述了软件设计的逻辑组织和意图,而组件则描述软件 设计的物理实现,即每个组件体现了系统设计中特定类 的实现。 类可以有属性和操作,组件只有操作 关系: 组件是对类的物理实现
组件规范
2 Detail标签
Declarations(声明):声明文本框包含一个 声明列表,如类名、变量以及其它一些语言 专有特性(#includes或类似的结构)。
组件规范
3 Realizes标签
Show all Classes:显示所有的类 Classes Name:类名 Logical Package Name:逻辑包名 Language:语言
节点是在运行时代表计算资源的物理元素。 节点通常拥有一些内存,并具有处理能力。 在UML中,节点用一个立方体来表示。
节点
节点是各种计算资源的通用名称
处理器 设备
两者的区别:处理器是能够执行程序的 两者的区别: 硬件构件(如计算机主机), ),而设备是 硬件构件(如计算机主机),而设备是 一种不具备计算能力的硬件组件( 一种不具备计算能力的硬件组件(如打 Modem PC 印机)。 印机)。

UML的组件图中的模块和配置规则

UML的组件图中的模块和配置规则
易于维护:UML组件图可以方便地更新和维护,便于团队协作和项目管理。
提高效率:UML组件图可以帮助开发人员快速理解系统结构和功能,提高 开发效率。
便于测试:UML组件图可以帮助测试人员快速定位问题,提高测试效率。
模块和配置规则的缺点
复杂性:UML 组件图可能包 含大量的模块 和配置规则, 导致理解和维 护的复杂性增
作用:配置规则可以帮助开发人员更好地理解和设计系统,提高系统的可维护性和可扩展性。
应用场景:配置规则适用于各种类型的软件系统,包括Web应用、移动应用、桌面应用等。
重要性:配置规则是UML组件图中的重要组成部分,对于系统的稳定性和可靠性至关重要。
配置规则的表示方法
组件图:描述系统的静态结构,包括组件、 规则描述:使用文字描述配置规则,包

灵活性不足: UML组件图可 能无法适应快 速变化的业务 需求,导致灵
活性不足
难以维护: UML组件图可 能难以维护, 因为需要不断 更新和调整模 块和配置规则
学习曲线陡峭: UML组件图需 要一定的专业 知识和技能, 学习曲线陡峭, 可能导致初学
者难以掌握
如何扬长避短,发挥其最大价值
优点:清晰展示系统结构,易于理解和维护
聚合关系:模 块A和模块B之 间存在整体与 部分的关系, 模块A包含模
块B
组合关系:模 块A和模块B之 间存在整体与 部分的关系, 模块A包含模 块B,且模块A 和模块B具有相 同的生命周期
UML组件图的配置规则
配置规则的定义和作用
定义:配置规则是指在UML组件图中,对组件之间的连接关系、接口、属性等进行定义的规 则。
模块优化:根据测试结果 对模块进行优化,提高系 统的性能和稳定性
模块维护:对模块进行维 护和管理,保证系统的持 续运行和更新

§8 包图、组件图、部署图

§8 包图、组件图、部署图

AWT +Window #Form -EventHandler 图1.1 AWT包
包中可以包含其他建模元素,如类、接口、组件、节点、用例、包等。 就像对类的属性和操作可以进行可见性控制一样,对包中元素也可以进行 可见性控制。
图1.1中的AWT包有3个元素:Window、Form和 EventHandler。其中window的可见性为公有的(Public), 表示在任何导入(import)AWT包的包中,都可以引用 Window这个元素;Form的可见性为保护的(protected), 表示只有AWT包的子包才可以引用Form这个元素; EventHandler的可见性为私有的(privated),表示只有 在AWT包中才可以引用Event Handler这个元素。
AWT +Window #Form -EvebtHandler 图1.1 AWT包
对包的命名有两种方式,即简单包名名(simple name)和路径包名(path name)。例如Vision)是一个简单的包名,而Sensors::Vision是带路径的包名。 其中Sensors是Vision包的外围包,也就是说,Vision包是嵌套在Sensors包中 的。包可以嵌套,但在实际应用中,嵌套层次不应太深。
习题: 1.什么是包? 2.什么是包的泛化、包的依赖? 3.包和类有何区别? 4.哪些模型元素可以组成包? 5.当把模型元素组成一个包时应该考虑哪些问题? 6.对超市管理系统绘制相应的包图。
2 组 件 图
2.1 什么是组件和组件图
组件(component)是系统中遵从一组接口且提供其实现的物理的、可 替换的部分。组件图(component diagram)则显示一组组件以及它们之间 的相互关系,包括编译、链接或执行时组件之间的依赖关系。组件图是对OO 系统物理方面建模的两个图之一(另一个图是配置图)。 如图2.1正所示是一个组件图的例子,表示.html文件、.exe文件、.dll 文件这些组件之间的相互依赖关系。

组件图与部署图

组件图与部署图

UML组件图与部署图U n R e g i s t er ed为什么要建模组件图和部署图?组件图用来建模系统的各个组件,包括(1)源代码文件(如java)(2)二进制文件(如bin、dll等,系统调用的某一外部可执行文件)(3)脚本文件(如xml、txt等)(4)可执行文件(如exe)之间的关系它们是通过功能或者文件组织在一起的。

使用组件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。

部署图用来帮助读者了解软件中的各个组件驻留在什么硬件位置,以及这些硬件之间的交互关系。

总之,组件图和部署图可以用来帮助设计系统的物理架构。

Un Re gi st er ed1.组件在UML中,组件使用在左侧带有两个小矩形的大矩形表示,如下图所示。

Un Re gi st er ed组件的表示U n R e g i s t er ed2.依赖关系依赖关系演示两个组件之间的依赖特性。

依赖关系使用在一端带有开放箭头的短划线表示。

箭头从依赖的对象指向被依赖的对象。

例如下图所示。

deretsigeRnUderetsigeRnU3.包含组件一个组件可以包含在其他的组件中。

其标记符可在其他组件中建模组件来表示。

下例演示了Inventory组件由3个独立的组件DataAccess,Business Logic和Userinterface组成,如下图所示。

Un Re gi st er edUML部署图用来描述系统硬件节点构成,以及在这些节点上运行软件组件的分布。

1.节点节点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。

节点的标记符是一个三维框,在框的左上方包含了节点的名称,如下图所示。

部署图Un Re gi st er ed2.通信关联节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。

这种关系用来表示两种硬件(节点)通过某种方式彼此通信。

其基本通信关联的版型表示,如下图所示。

Un Re gi st er ed下图演示了WebServer通过HTTP协议与Client PC通信,Client PC通过USB协议与Printer通信。

ch12_UML组件图与部署图

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、类可以有属性和操作;组件通常只有 操作,而且这些操作只能通过组件的 接口才能使用。

6组件图布置图

6组件图布置图

组件依赖性 – 组件A依赖于组件B:组件A中的某些类依赖于组 件B中的某些类 – 即,组件B在组件A之前编译
CompA
CompB
3 Sept. 2008 Confidential
组件图( 6.1 组件图(续)
组件的构造型(Stereotype) – ActiveX – Application – Database – Applet – DLL – EXE – ……
部署图( 6.3 部essor) 具有处理能力的节点,可以执行组件. 即能够执行程序的硬件资源 – 设备(Device) 没有处理能力的节点 不能够执行程序的硬件资源
3 Sept. 2008 Confidential
部署图( 6.3 部署图(续)
3 Sept. 2008 Confidential
组件图( 6.1 组件图(续)
组件类型 – 实施组件(Deployment component) 构成一个可执行系统必要和充分的组件.例如: dll, exe – 工作产品组件(Work product component) 是开发过程的产物,包括创建实施组件的源代码 文件及数据文件等,如:cpp,c,java – 执行组件(Execution component) 作为一个正在执行的系统的结果而被创建,如: 由dll实例化形成的COM+对象
3 Sept. 2008 Confidential
部署图( 6.3 部署图(续)
部署图的用途 – 主要用来描述构成物理系统的各组成部分的分布, 提交和安装 – 应用程序的物理部署,如:网络布局,组件在网络上的 位置等 – 显示网络上所有的节点,节点间的连接和每个节点 上运行的进程
3 Sept. 2008 Confidential
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

显示对话框组件(DisplayDialog.java)
BorrowDialog.java
ReturnDialog.java
MainWindow.java
QueryDialog.java
ModifyDialog.java
DisplayDialog.java

管理员用户界面组件图包括:
书目管理对话框组件(TitleDialog.java) 图书管理对话框组件(BookDialog.java)

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

在配置图中,使用关联关系(Association)表示结 点之间的通信路径。 配置图中的关联关系与类图中的关联关系采用相同 的表示方法,都是一条实线。
在连接硬件要考虑结点之间的连接方式和通信方式, 因此结点之间的关联关系一般不使用名称标识,而 是使用构造型来描述,如:<<TCP/IP>>、 <<HTTP>>、<<USB>>等。


Keyboard Database Server Mouse
<<LAN>>
Application Server
Web Server
<<Internet>>
ClientPC Monitor
<<USB>>
Printer
关联关系示例
10. 3
配置图建模及应用
1. 配置图的应用 通常可用配置图建模的系统有:
客户机/服务器(C/S)系统 浏览器/服务器(B/S)系统
分布式系统
嵌入式系统

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


源代码组件上可标上相应符号用以表示不同类型 文件: <<file>>符号用以表示包含源代码或数据的文 件; <<page>>用以表示Web页; <<document>>表示文档。
<<file>>
DBConnection.java
<<file>>
<<file>>
DBModify.java
③ 可执行组件建模

可执行组件又称为运行时组件,是系统执行时使用 的组件,即可执行程序组件(.exe)。 可执行组件可以从二进制组件产生,也可以直接从 源代码组件产生。 可执行组件建模过程中,可以使用<<executable>>、 <<application>>符号来指出组件是可执行文件或可 执行程序。
<<library>>
Course.mdb
<<table>>
<<table>>
<<table>>
Student
Course
Elective
说明:Course.mdb组件代表Access数据库。 Student组件、Course组件和Elective组件 是组成Course.mdb数据库的3个数据库表。
与组件相同,每个结点都有自己的名称。 结点的名称是一个由名词短语构成的字符串,位 于结点图标内部。 结点的名称也分为简单名与路径名两种。 配置图中可以包括包和子系统。 配置图中还可以包含组件,用以处理硬件资源和软 件实现之间的关系。 在图形表示中,可以将相应的组件或组件图建模在 结点内部;也可以在结点和组件之间添加一条表示 依赖关系的带箭头虚线并进行标识。

销售管理 (xsgl.cpp)
销售管理 (xsgl.obj)
图形库 (graphic.dll)
采购管理 (cggl.cpp)
采购管理 (cggl.obj) 进销存管理 (jxcgl.exe)
仓库管理 (ckgl.cpp)
仓库管理 (ckgl.obj)
进销存管理系统组件图示例
9.2 组件图的元素
① 主界面组件图 ② 管理员用户界面组件图


主界面组件图包括:
主窗体组件(MainWindow.java) 借书对话框组件(BorrowDialog.java) 还书对话框组件(ReturnDialog.java) 密码修改对话框组件(ModifyDialog.java) 查询对话框组件(QueryDialog.java)
借阅者管理对话框组件(BorrowerDialog.java)
BorrowerDialog.java
ManageWindow.java
BookDialog.java
TitleDialog.java
第10章 配置图
对系统进行物理实现建模时需要用两种图进 行描述:组件图和配置图。 组件图用来软件组件建模,而配置图用来对 配置系统时涉及到的硬件进行建模。

业务逻辑包组件图建模主要包括:
借阅组件(Loan.java) 书目组件(Title.java) 图书组件(Book.java) 借阅者组件(Borrower.java) 管理员组件(Manager.java)
其中,Manager.java组件依赖于系统管理员 组件(Administrator.java)和图书管理员组件 (Librarian.java)。
组件图通常包括3种元素: ① 组件 ② 接口 ③ 关系

1.组件



组件(component)又称构件,它是定义了良好 接口的物理实现单元,是系统的单个组成部分, 它可以是一个文件、产品、可执行文件或脚本等。 一般情况下,组件表示将类、接口等逻辑元素打 包而形成的系统中的模块部件。 作为一种物理实现单元,组件包含类,类通过组 件来实现,组件与类之间是依赖关系。
DBQuery.java
② 二进制组件建模




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

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

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

在对软件系统建模的过程中,存在以下3种类型的 组件: ① 配置组件(Deployment Component) 配置组 件是运行系统前需要配置的组件,是形成执行文 件的基础。例如,操作系统(OS)、数据库管理 管理系统(DBMS)以及Java虚拟机(JVM)都 属于配置组件。 ② 工作产品组件(Work Product Component) 工 作产品组件包括模型、源代码和用于创建配置组 件的数据文件。例如,UML图、Java类和JAR文 件、数据库表以及动态链接库文件(DLL)等都 是工作产品组件。 ③ 执行组件(Execution Component) 执行组件 是在运行时创建的组件。执行组、XML文档、 Enterprise Java Beans、COM+组件、.NET组件 以及CORBA组件等。
聊天室 接口 聊天用户
组件的接口又可以分为两种类型: ① 输出接口(export interface):输出接口由提 供操作的组件提供。 ② 输入接口(import interface):访问服务的组 件使用输入组件。

3.关系

组件图中的关系分为两种:实现关系和依赖关系。 组件之间以依赖关系为主;组件与接口之间包含 实现关系和依赖关系两种。 在UML组件图中用一条连接组件与接口的实线表 示实现关系;用带箭头的虚线表示依赖关系,箭 头从依赖的组件指向被依赖的组件。
2. 组件图建模 组件图用于对系统的物理实现进行建模, 描述系统组件与组件之间的关系。 组件本身是系统的一个物理模块,它的 设计应充分体现软件的模块性和可重用 性。

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

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

配置图元素及表示法
配置图所包含的元素有:结点和关系。 配置图可以显示结点以及它们之间的必要连 接,也可以显示这些连接的类型,还可以显 示某些结点上所包含的组件之间的关系。
相关文档
最新文档