UML 构件图

合集下载

浅谈UML中常用的几种图

浅谈UML中常用的几种图

浅谈UML中常用的几种图1 UML简介2 UML常见图分类3 用况图(用例)4 类图简单类图使用举例5 其他辅助用图●时序图(顺序图)●协作图(Collaboration Diagram/communication Diagram)/通信图●状态图●活动图(Activity Diagram)6 组件图(ComponentDiagram)、配置图(Deployment Diagram)1 UML简介统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。

‘UML感兴趣的可以阅读UML 1规范,包含了UML 的所有知识内容。

注:OMG, Object Management Group 对象管理组织2 UML常见图分类UML从考虑系统的不同角度出发,定义了用况图、类图、对象图、包图、状态图、活动图、序列图、通信图、构件图、部署图等10种图。

分类:面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) 。

“序列图”与“协作图”表述的是相似的消息,“活动图”是“状态图”的一种。

•静态结构图Static Structure Diagram•类图Class Diagram•对象图Object Diagram•用况图Use Case Diagram•交互图Interaction Diagram•顺序图Sequence Diagram•协作图Collaboration Diagram•状态图State chart Diagrams•活动图Activity Diagrams•实现图Implementation Diagrams•构件图Component Diagram•部署图Deployment Diagram3 用况图(用例)用例图,展现了一组用例、参与者(actor)以及它们之间的关系。

UML 构件图

UML 构件图
面向对象技术及UML教程
第10章 构件图
第10章 构件图
构件图从软件架构的角度来描述一个系统的 主要功能 系统分成几个子系统 子系统包括哪些类、 子系统包括哪些类、包和构件 它们之间的关系 它们分配到哪些节点上等。 它们分配到哪些节点上等。 使用构件图可以清楚地看出系统的结构和功 能。
10.1 构件图概述
10.2 构件图元素
10.2.3 依赖关系 • 应用示例 订单构件、顾客管理构件和结 应用示例--订单构件、 订单构件 添加接口) 帐构件间的依赖关系 (添加接口)
10.2 构件图元素
10.2.3 依赖关系
构件之间依赖关系 如果两个构件间存在泛化关系,则 如果两个构件间存在泛化关系, 两构件间存在依赖关系。 两构件间存在依赖关系。 如果两个构件间存在使用关系, 如果两个构件间存在使用关系,则 两构件间存在依赖关系。 两构件间存在依赖关系。 如果两个构件间存在实现关系, 如果两个构件间存在实现关系,则 两构件间存在依赖关系。 两构件间存在依赖关系。
构件图( 构件图(Component Diagram)描述了软件 ) 的各种构件和它们之间的结构关系 UML支持对逻辑构件(如业务构件、过程构 支持对逻辑构件( 支持对逻辑构件 如业务构件、 和物理构件( 构件、 构件、 件)和物理构件(如EJB构件、CORBA构件、 构件 构件 COM+构件和 构件和.NET构件以及 构件以及WSDL构件) 构件) 构件和 构件以及 构件 在软件系统开发时可以使用构件图将项目小 组人员连接起来, 组人员连接起来,充当各成员间的联系纽带
10.2 构件图元素
10.2.2 接口 接口是表示对一组相关的操作进行声明 的一种建模元素,它指定了一种约束, 的一种建模元素,它指定了一种约束, 这些约束必须由实现这个接口的构件的 任何实例完成。 任何实例完成。 接口可以分为提供接口和请求接口: 接口可以分为提供接口和请求接口 把构件实现的接口称为提供接口 构件使用的接口被称为请求接口

UML的几种构件

UML的几种构件

UML设计的9种图例几种图的区别:一:这九种模型图各有侧重,1:用例图侧重描述用户需求,2:类图侧重描述系统具体实现;二:描述的方面都不相同,1:类图描述的是系统的结构,2:序列图描述的是系统的行为;三:抽象的层次也不同,1:构件图描述系统的模块结构,抽象层次较高,2:类图是描述具体模块的结构,抽象层次一般,3:对象图描述了具体的模块实现,抽象层次较低。

在有的文献书籍中,将这九种模型图分为三大类:结构分类、动态行为和模型管理:1:结构分类包括用例图、类图、对象图、构件图和部署图,2:动态行为包括状态图、活动图、顺序图和协作图,3:模型管理则包含类图。

画图说明UML(统一建模语言):是面向对象的可视化建模的一种语言。

是数据库设计过程中,在E-R 图(实体-联系图)的设计后的进一步建模。

UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。

具体关系图标如下:说明:构件事物是名词,是模型的静态部分。

行为事物是动态部分,表示行为。

分组事物是组织部分。

注释事物是解释部分。

依赖:一个事物变化会引起另一个事物变化。

聚集:特殊的关联,描述整体与部分的组合关系。

泛化:是一种特殊与一般的关系,如子元素(特殊)与父元素(一般),箭头指向父元素。

实现:类元之间的关系,其中一个类元指定了由另一个类元保证执行的契约。

一般用在接口和实现他们的类之间或用例和实现它们的协作之间。

UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。

在UML系统开发中有三个主要的模型:功能模型: 从用户的角度展示系统的功能,包括用例图。

对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。

动态模型: 展现系统的内部行为。

包括序列图,活动图,状态图。

下面具体说明:1.类图:描述一组对象、接口、协作等事物之间的关系。

如下图(摘自网络):注:#表示protected,+表示Public,-表示private2.对象图:描述一组对象之间的关系,是具有具体属性值和行为的一个具体事物,其是类图中所建事物实例的静态快照,其与类图的主要区别是一个是抽象的,而对象图是具体的。

第12章组件图(构件图)-郭

第12章组件图(构件图)-郭

① ② ③
12.1 概述

ATM机系统的组件图。
12.2 组件




组件是软件系统中定义了良好接口的物理实现单元。 组件代表了将系统中的类、接口等逻辑元素打包后 形成的物理模块。 组件可以是源代码组件、二进制组件或一个可执行 的组件。 组件是作为一个或多个类的软件实现,驻留在计算 机中。 组件提供和其他组件之间的接口。 组件是系统中可替换的物理部件。

包规范:是类的头文件,包含类中函数的原型信 息。例如,在c++文件中,包规范就是.h文件。

包体:包含类操作代码。在C++中,包体就 是.cpp文件。

任务规范(Task Specification):任务表示具有 独立控制线程的包。可执行文件通常表示为扩展 名为.exe的任务规范。
Task Spec
12.2 组件

12.2.1 名称 12.2.2 组件的种类 12.2.3 Rational Rose中不同类型组件的图标 表示
12.2.1 名称

每个组件都必须有一个不同于其他组件的名称。 组件的名称是一个字符串,位于组件图标的内部。 组件名称通常是从现实的词汇表中抽取出来的短 名词或名词短语,并依据目标操作系统添加相应 的扩展名,例如java和dll。
BorrowerIn foWi ndow.j ava
UpdateT i tl eFram e.j ava
T i tl eFram e.j ava
AboutDi al og.j ava
M es sageBox.j ava
Qui tDi al og.j ava
Resul tOfFi ndBorrower.j ava esul tOfFi ndT i tl e.j ava R

统一建模语言UML课件-构件图

统一建模语言UML课件-构件图
getSize().height); } void changeColor(Color newBackground) { background = newBackground; }
}
这个“face” 就是对象的接口.
构件和接口
接口可以看做只包含操作的类。 实现关系:接口和实现这些接口操作的类之
间的关系 如果新旧两个构件的接口一致,则新的构件
可以替换旧的构件
构件图
In UML 1.x
In UML2.0
构件图
构件图
构件图
构件图
构件图
供接口和需接口
Ball and Socket Notation for Interfaces
GridLayout grid = new GridLayout(4, 1);
FlowLayout right = new FlowLayout(FlowLayout.RIGHT);
setLayout(grid); JPanel redPanel = new JPanel();
redPanel.setLayout(right);
ball symbol 表示供接口 socket symbol 表示需接口 将接口的名字写在符号旁
构件图
构件视图
黑盒视图(black-box view)
说明构件从外部看起来是怎样的,包括其供接口和需接口 ,以及它与其他构件的关系
不描述构件的内部实现,通常包含多个构件 长于说明系统中的关键构件以及它们如何连接
什么是构件
构件和类的主要区别
构件具有的责任通常比类大 构件通常包含并使用其他的类或构件来实现自己的功

构件之间最好是松散耦合的
对一个构件的修改不应该影响到系统的其余部分 通过接口访问构件有助于松散耦合和封装

构件图及其模型元素

构件图及其模型元素
• 工作产品构件:也称为源代码构件,包括创建实施构件的源代码及 数据文件。
• 可执行构件 :是系统执行时使用的构件,表示处理机上运行的可执 行单元。
1.构件图及其模型元素
• 1.构件 • 构件是由类、接口等逻辑元素打包而形成的物理模块
,是系统中可替换的部分。 • (2)构件和类
• 相似之处:1)都有名称;2)都实现一组接口;3)都参与 依赖、泛化和关联关系;4)都可以被嵌套;5)都有实例 ;6)都可以参与交互。
部署图建模及实例分析在线销售系统本次课的主要内容构件图表达系统代码本身的结构将系统中的构件包装成可替代性的物理单元部署图是uml中唯一能描述系统硬件的图由结点组成
本次课的主要内容
• 构件图与部署图
• 1.构件图及其模型元素 • 2.构件图建模及实例分析(在线销售系统) • 3.部署图及其模型元素 • 4.部署图建模及实例分析(在线销售系统)
3.部署图及其模型元素
• 1.结点 • (3)结点内包含的构件
• 构件与结点的关系
• 构件是参与系统执行的事物,结点是执行构件的事物。 • 结点执行构件,构件是被结点执行的事物 • 构件表示逻辑元素的物理打包,而结点表示构件的物理部署。
• 部署图可以表明构件之间的依赖关系。
• 二、连接 • 关联关系
• (1)输出接口:被构件实现的接口(供口) • (2)需求接口:构件使用的接口(需求接口或引入接口) • 接口位于两个构件中间,断开了构件的直接依赖关系。可
以由一个构件输出也可以被另一个构件引入。 • 2种方式表示构件与接口的关系
• 采用图标的方式 • 采用扩展的方式
1.构件图及其模型元素
• 3.构件之间的关系 • 构件图中可以体现出构件之间的依赖关系

构件图

构件图

构件图1.概述构件图(Component Diagram)是一种描述系统静态结构的图,它描述了构件的内部结构,以及构件与构件之间的关系。

一个典型的构件图如图1所示,它描述了一个包含Order,Customer,Product等其他构件的Store构件。

图1. 构件图2.基本表示符号构件图的基本元素有构件、接口、端口以及表示内部结构的部件和连接器等。

2.1 构件(Component)UML2.0规范把构件定义为:系统的一类模块,隐藏了细节,并且可以被其它实现了该功能的其它模块替换。

在UML中,构件用带有« component »关键字的矩形表示。

作为可选项,图标可以添加到该矩形的右上角。

构件的图形表示如图2所示:图2. 构件2.2 接口(Interface)接口是一种类元,它定义了一组操作,以及一些公共属性。

接口内部的所有操作都没有任何实现,它描述了一种契约,任何继承并实现该接口的类元都必须保证执行该契约。

接口有供给接口(Provided Interface)和需求接口(Required Interface)两种,如图3所示。

由构件(或类)实现的接口称为供给接口,构件(或类)需要的接口称为需求接口。

图3. 供给接口和需求接口不同构件的供给接口和需求接口之间的关系,既可以通过“依赖”来表示,如图4所示:图4. 接口之间的“依赖”也可通过“装配连接器”(见2.6部分)表示,如图5所示:图5. 接口之间通过“连接器”连接端口是构件与外部系统进行交互的纽带。

在UML中,端口符号表示为一个小长方形,端口的名字是可选的,如图6所示:.图6. 端口端口可以具有多重性,多重性显示在矩形内部,端口名称和类型名称之后。

多重性表示该类元实例可以具有的端口的数目。

端口的多重性如图7所示:图7. 端口的多重性2.4 构件内部结构(Internal Structure)构件可以具有内部结构,可以在构件内部展现其部件,或者通过依赖关系把部件从外部系统连接到该构件,如图8所示:图8. 构件的内部结构部件是类元的结构化成员,它描述了一个实例在该类元实例内部所扮演的角色。

UML构件图常用符号及含义图文详解

UML构件图常用符号及含义图文详解

UML构件图常用符号及含义图文详解UML组件图(又叫构件图),是用来描述在软件系统中遵从并实现一组接口的物力的、可替换的软件模块。

它所表现的是一种系统静态实现的结构,能够帮助开发人员对系统组成达成一致的认识。

组件图的构成:1、组件:是用来表示系统中可替换的物理部件,是定义良好接口的物理实现单元。

2、接口:组件的接口分为两种,即导入接口和导出接口。

其中导入接口供访问操作的组件使用,导出接口供提供操作的组件使用。

3、实现:组件与接口元之间的连线,代表谁实现了这个接口。

4、依赖:是表示组件使用了另一个组件的接口,依赖于另一个接口而存在。

组件的类型:1、配置组件:该组件是构成一个可执行系统必要和充分的构件。

例如操作系统、Java虚拟机或者数据库管理系统等。

2、工作产品组件:模是指包括模型、源代码和用于创建配置组件的数据库文件,是配置组件的来源。

比如说UML图、Java类、数据库表以及动态链接库等。

3、执行组件:该组件是运行时创建的组件,是最终可运行的系统产生的允许结果。

比如说Servlet、HTML和XML文档等等。

组件的要素:1、规格说明:一个组件所提供服务的抽象描述。

(每个组件都必须提供特定的服务)2、一个或多个实现:组件是一种物理概念,它必须被一个或多个实现所支持。

3、受约束的构造标准:每一个组件在实现时必须遵从某种构造标准。

4、封装方法:组件遵从的封装方法。

5、部署方法:组件要运行,必须先部署,一个组件可以有多个部署。

组件和类图之间的差别:1、组件表示物理上的模块;2、组件可以是一个或几个类在文件中的存在;3、类是逻辑上的抽象,组件是客观上存在的物理抽象。

其表现为组件是可以部署的,而类是不可以被部署的,因此组件可以存在于节点上而类不能;4、一般组件只有操作,外界只能通过接口接触它们,但是类可以直接有属性和操作。

5、类图侧重于系统的逻辑设计,而组件图侧重于系统的物理设计及实现。

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

构件图
接 口
接口 在组件图中,组件可以通过其他组件的接口来 使用其他组件中定义的操 作。通过使用命名的接口,可以避免在系统中各个构件之间直接发生依 赖关系,有利于构件的替换。组件图中接口一般使用一个小圆圈表示。
构件图
构件与接口
接口与构件的关系
构件的接口种类
构件图
依赖关系
我们知道,构件有两组接口,供给接口为其它构件提供服务,需求接口 使用其它构件提供的服务。因此,构件间的关系就是依赖关系。我们把 提供服务的构件称为提供者,把使用服务的构件称为客户。 在UML中,构件图中依赖关系的表示方法与类图中依赖关系相同,都是 一个由客户指向提供者的虚线箭头。构件间的依赖关系如图所示。
UML之构件图
构件图
引 言
静态模型 (系统结构)

diagrams
类图
class diagrams
动态模型 (系统行为)
顺序图
sequence` diagrams
对象图
object diagrams
协作图
collaboration diagrams
构件图
component diagrams
状态图
statechart diagrams
每个构件必须有一个不同于其他构件的名称。构件的名称和类的名称的 命名法则很是相似,有简单名和路径名之分。构建的名称是一个字符串, 位于构件图标的内部。在实际应用中,构件名称通常是从现实词汇中抽 取出来的短名词或名词短语。
构件的表示
构件图
构 件
构件的类型
• •
部署构件 如dll文件、exe文件、com+对象、corba对象、ejb、动态web页、数据 库表等; 工作产品构件 如源代码文件、数据文件等,用来产生部署构件;
构件图
构 件
构件与类 从构件的定义上看,构件和类十分相似,事实也是如此:二者都有名称, 都可以实现一组接口,都可以参与依赖、泛化和关联关系,都可以被嵌 套,都可以有实例,都可以参与交互。但也存在着一些明显的不同,下 面是构件与类的区别: (1)类表示是对实体的抽象,而构件是对存在于计算机中的物理部件的 抽象。也就是说,构件是可以部署的,而类不能部署。 (2)构件属于软件模块,而非逻辑模块,与类相比,它们处于不同的抽 象级别。甚至可以说,构件就是由一组类通过协作完成的。 (3)类可以直接拥有操作和属性,而构件仅拥有可以通过其接口访问的 操作。
图 构件间的依赖关系
构件图
构件图分类
简单构件图
我们可以把相互协作的类, 组织成一个构件。利用构件图可 以让软件开发者知道系统是由哪 些可执行的构件组成的,这样, 以构件为单位来看待系统时,让 开发者清楚的看到软件系统的体 系结构。例如,如图所示就是一 个“个人图书管理系统”的构件 图局部。。
构件图
静态图

实现图

交互图
行为图

构件图组成
构件图分类
构件图应用
构件图画法
构件图
构件图概述
什么是构件图
构件图描述了软件的各种构件和它们之间的依赖关系。
构件图的作用
在构件图中,系统中的每个物理构件都使用构件符号来表示,通常,构件图看起来像 是构件图标的集合,这些图标代表系统中的物理部件,构件图的基本目的是:使系统 人员和开发人员能够从整体上了解系统的所有物理部件,同时,也使我们知道如何对 构件进行打包,以便交付给最终客户,最后,构件图显示了被开发系统所包含的构件 之间的依赖关系。 构件图从软件架构的角度来描述一个系统的主要功能,如系统分成几个子系统,每个 子系统包括哪些类、包和构件,它们之间的关系以及它们分配到哪些节点上等。 使用构件图可以清楚地看出系统的结构和功能。方便项目组的成员制定工作目标和了 解工作情况,同时,最重要的一点是有利于软件的复用。 从宏观的角度上,构件图把软件看作多个独立构件组装而成的集合,每个构件可以被 实现相同接口的其它构件替换。
部署图
deployment diagrams
活动图
activity diagrams
用例图
use case diagrams
构件图
引 言
• • • • • • • • •
类 图:类以及类之间的相互关系 对象图:对象以及对象之间相互关系 构件图:构件及其相互依赖关系 部署图:构件在各节点上的部署 顺序图:强调时间顺序的交互图 协作图:强调对象协作的交互图 状态图:类所经历的各种状态 活动图:对工作流建模 用例图:需求捕获,测试依据
构件图分类
嵌套的构件图
有些时候,我们使用嵌套的构件图来表示构件的内部结构。例如图所 示的就是一个包含嵌套的构件图,它描述了一个收银系统。
构件图
构件图应用
对源代码进行建模 通过构件图可以清晰地表示出软件的所有源文件之间的关系,有了这样 的构件图,开发者能更好地理解各个源代码文件之间的依赖关系。在对 源程序进行建模时,通常应遵从以下原则: 1.表示出要重点描述的每个源代码文件,并把每个源代码文件标识为构 件。 2.如果系统较大,我们就利用包来对构件进行分组。 3.用编译依赖关系来描述构件间的关系。 4.在构件图中,采用约束来表示源代码的版本号、作者和最后的修改日 期等信息。
构件图
构件图的组成

构 件 图 三 元 素
构件(Component)

接口(Interface)

依赖关系(Dependency)
构件图
构 件
构件的定义 构件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。 一般情况下,构件表示将类、接口等逻辑元素打包而成的物理模块。
构件图
构 件
构件的名称

执行构件
是指系统执行后产生的构件;
构件图
构 件
构件的五要素

• • • •
规格说明:对于构件,必须有一个它所提供服务的抽象描述。通俗
地说,每个构件都必须提供特定的服务 一个或多个实现:构件是一种物理概念,必须被一个或多个实现所
支持,当然这些实现都必需符合规格说明
受约束的构件标准:每一个构件,在实现时必须遵从某种构件标准 封装方法:也就是构件遵从的封装标准 部署方法:当构件要运行时,首先要部署它
构件图
构件图应用
singal.h 是 一 个 头 文 件 , 被 interp.cpp 和 signal.cpp 引 用 , 其 中 interp.cpp 还引用了另一个头文件 irq.h,而 device.cpp 又对interp.cpp 有编译依赖关系。那么用构件图表示它们间的关系,如图所示。
相关文档
最新文档