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、类图侧重于系统的逻辑设计,而组件图侧重于系统的物理设计及实现。

第11章 构件图

第11章 构件图

端口类型
图11-5 端口通用表示
图11-6 端口简洁表示
• 如图11-7所示,构件CD和另一个构件Show通过端口连接。
• 两个构件连接时,它们的端口必须匹配,即一个构件的供 给接口与另一个构件的需求接口的规格说明必须一致。
Show
CD
图11-7 通过端口连接构件
11.1.3 构件
• 从构件组成上看,每个构件定义了两组接口(一组供给接 口,一组需求接口),构件为供给接口提供了功能实现部 分,即构件本身已经实现了供给接口声明的功能。
cablei a:A
pci
pci
b:B
图11-9 展示构件的内部结构
11.1.4 构件类型
构件的分类有两种方法: • 一种是按照构件在系统中的角色分; • 一种是按照构件本身的性质分。
1.按照构件在系统中的角色分
按照构件在系统中承担的角色,可以将构件分为三种类 型,即配置构件、工作产品构件和执行构件。
Book和CD类与Borrow接口的关系如图11-3、图11-4所示。
《interface》 Borrow
borrow() return()
...
实现关系
Borrow 实现关系
Book
CD
图11-3 实现接口
Book
CD
图11-4 实现接口
11.1.2 端口表示法
• 端口是对一组接口的封装,即,把一组相关的供给接口和 需求接口封装为一个整体。
• 图11-1用构造型《Interface》表示接口Borrow。
• 图11-2用图标表示接口Borrow。
《interface》
Borrow
borrow() return()

什么是UML

什么是UML

什么是UMLUML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。

UML支持面向对象的技术,能够准确的方便地表达面向对像的概念,体现面向对象的分析和设计风格。

UML不仅可用于软件设计,也可以用于软件需求分析。

UML的模型主要有三部分构成事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象。

关系(Relationships):关系把事物紧密联系在一起。

图(Diagrams ):图是事物和关系的可视化表示。

UML图分为结构型和行为型两种结构型的图描述的是某种结构,这种结构在某段时间内应该是稳定的,静态的;而结构型的图描述的是某种行为,是动态的。

结构型的图(Structure Diagram)类图(Class Diagram)对象图(Object Diagram)构件图(Component Diagram)部署图(Deployment Diagram)包图(Package Diagram)行为型的图(Behavior Diagram)活动图(Activity Diagram)状态机图(State Machine Diagram)顺序图(Sequence Diagram)通信图(Communication Diagram)用例图(Use Case Diagram)时序图(Timing Diagram)类图描述一组对象、接口、协作等事物之间的关系。

类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作。

类图描述的是一种静态关系,在系统的整个生命周期都是有效的。

类图是业务概念模型分析的有利武器,也是面向对象分析能力的强有力训练工具。

对象图是类图的实例,几乎使用与类图完全相同的标识。

一个对象图是类图的一个实例。

由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

UML图基础介绍

UML图基础介绍

依赖 【依赖关系】:是一种使 用的关系,即一个类的实现需 要另一个类的协助,所以要尽 量不使用双向的互相依赖.
【代码表现】:局部变量、 方法的参数或者对静态方法的 调用 【箭头及指向】:带箭头 的虚线,指向被使用者
各种类图关系
3、对象图(Object Diagrams)
描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图 可以被看作是类图在某一时刻的实例。
第三部分
图的差异比较
图的差异比较
1.序列图(时序图)VS协作图 序列图和协作图都是交互图。二者在语义上等价,可以相互转化。但是侧重点不同: 序列图侧重时间顺序,协作图侧重对象间的关系。 共同点:时序图与协作图均显示了对象间的交互。 不同点:时序图强调交互的时间次序。 协作图强调交互的空间结构。 2.状态图VS活动图 状态图和活动图都是行为图。状态图侧重从行为的结果来描述,活动图侧重从行为 的动作来描述。状态图描述了一个具体对象的可能状态以及他们之间的转换。在实际的 项目中,活动图并不是必须的,需要满足以下条件:1、出现并行过程&行为;2、描述 算法;3、跨越多个用例的活动图。 3.活动图VS交互图 二者都涉及到对象和他们之间传递的关系。区别在于交互图观察的是传送消息的对 象,而活动图观察的是对象之间传递的消息。看似语义相同,但是他们是从不同的角度 来观察整个系统的。
第四部分
UML与软件工程
UML与软件工程
UML图是软件工程的组成部分,软件工程从宏观的角度保证了软件 开发的各个过程的质量。而UML作为一种建模语言,更加有效的实现了软 件工程的要求。
UML与软件工程 如下图,在软件 的各个开发阶段需要的 UML图。
UML与软件工程 下表是UML使用人员图示。

UML的十种视图

UML的十种视图

三、UML的十种视图1.用例图(use case diagram)从系统的外部用户的观点看系统应具有的功能。

它只说明系统实现什么功能,而不必说明如何实现。

用例图主要用于对系统,子系统或类的行为进行建模。

2.类图(class diagram)描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,边表示类之间的联系(包括继承(泛化)、关联、聚集)。

3.对象图(object diagram)类图的一种变形,所使用的符号与类图基本相同。

在对象名下面要加下划线。

(图略)4.包图(packet diagram)包是基于模型元素的含义或作用将模型元素分组的一种机制。

通过分组,可提高模型的维持性。

包之间的关系包括继承、构成与依赖。

5.顺序(时序)图(sequence diagram)交互图之一。

描述了在时间上对象交互的安排,展现了多个交互对象以及信息交流的序列。

时序图包含对象、对象的生命线、按顺序对象间的信息交流、控制焦点(可选的)。

6.合作(协作)图(collaboration diagram)交互图之二,强调发送和接收消息的对象间的结构组织,它与顺序图是等价的。

在图形上,协作图是顶点和弧的结合。

协作图包含对象、链、消息。

(图片来自《软件工程(第二版)》齐治昌、谭庆平、宁洪)7.状态图(statechart diagram)状态图描述类的对象的动态行为。

它包含对象所有可能的状态、活动图描述系统为完成某项功能而执行的操作序列,这些在每个状态下能够响应的事件以及事件发生时的状态迁移与响应动作。

操作序列可以并发和同步。

8.活动图(activity diagram)活动图中包含控制流和信息流。

控制流表示一个操作完成后对其后续操作的触发,信息流则刻画操作之间的信息交换。

提供了对工作流进行建模的途径,活动图中的活动,表示执行工作流中一组的动作。

一旦结束,控制流将自动转移到下一个活动,或通过转换进入下一个状态。

9.构件图(component diagram)提供当前模型的物理视图,对系统的静态实现视图进行建模。

UML组件图介绍

UML组件图介绍

UML组件图介绍目录1、UML组件图概述 (1)2、在哪里使用组件图? (1)3、UML组件图目的 (2)4、如何绘制组件图? (3)1、UML组件图概述UML组件图(Component Diagram)又称为构件图,他描述的是在软件系统中遵从并实现一组接口的物理的、可替换的软件模块。

组件图= 构件(Component)+接口(Interface)+关系(Relationship)+端口(Port)+连接器(Connector)UML组件图给提供了将要建立的系统的高层次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或)增进需求技能。

2、在哪里使用组件图?UML组件图经常是一个架构师在项目的初期就建立的非常重要的图,它是无价的,因为它们模型化和文档化了一个系统的架构。

UML组件图文档化了系统的架构,开发者和系统可能的系统管理员会发现这一工作的关键产品有助于他们理解系统。

我们已经说过组件图可用于可视化系统的静态实现视图,它是特殊类型的UML图,它描述了在一个系统中的组件组织。

组织机构可以进一步描述为在一个系统中的组件的位置。

这些组件是在一个特殊的组织方式,以满足系统要求。

正如我们已经讨论过这些组件库,文件,可执行文件等,现在组织实施这些组件的应用程序。

组件图的使用可以被描述为:2.1.组件建模的一个系统。

2.2.模型的数据库架构。

2.3.模型的应用程序的可执行文件。

2.4.模型系统的源代码。

3、UML组件图目的组件图是一种特殊的UML图。

与我们之前讨论的UML图标的目的都不同。

组件图不描述该系统的功能,但它描述了用于使这些功能的组件。

所以从这一点来说,组件图用于可视化在一个系统中的物理组件。

这些组件包括库,程序包,文件等。

组件图也被描述为一个静态的实施的系统视图,在一个特定的时刻,静态执行代表组织的组成部分。

一个单一的组件图不能代表整个系统,但图的集合可用来代表整个。

组件图的目的概括如下:3.1.可视化系统的组成部分。

UML各种图总结-精华

UML各种图总结-精华

UML各种图总结-精华UML(UnifiedModelingLanguage)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。

下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。

一、基本概念如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。

静态图分为:用例图,类图,对象图,包图,构件图,部署图。

动态图分为:状态图,活动图,协作图,序列图。

1、用例图(UseCaseDiagrams):用例图主要回答了两个问题:1、是谁用软件。

2、软件的功能。

从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。

2、类图(ClassDiagrams):用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。

在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖2.1.泛化【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。

例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

2.2.实现【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。

2.3.关联【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。

双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量2.4.聚合【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。

UML 10 种图的总结

UML 10 种图的总结

UML 2.0共有10种图,分别为表示系统静态结构的静态模型(包括类图、组合结构图、部署图),以及表示系统动态结构的动态模型(包括用例图、序列图、对象图、协作图、状态图、活动图、组件图),它们各用以表现不同的视图,如表1-1所示。

用例之间也可以存在包含、扩展和泛化等关系:
(1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。

(2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。

它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。

在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。

所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。

(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。

当父用例能够被使用时,任何子用例也可以被使用。

如在图2.4中,订票是电话订票和网上订票的抽象。

学习uml很简单---6.实现图

学习uml很简单---6.实现图

图书管理系统部署图
条码阅读器 打印机 识别系统
数据库服务器 个人计算机 数据库系统 图书管理系统
打印机驱动程 序 数据库接口
网络计算机 前端系统
小结
• UML 实现图主要用来描述系统实现方面的信息。实现 图从系统的层次来描述硬件的组成和布局,以及软件 系统的划分和功能实现。实现图主要包含构件图和部 署图。 • 构件图描述了软件构件及各构件之间的关系。在构件 图部分需要理解构件的概念,了解构件的分类;理解 接口的概念和作用。构件图的使用有利于了解系统的 功能和结构,有利于软件的复用。
– – – – 源代码构件:它是实现一个类或多个类的源代码文件。 二进制构件:它是一个目标码文件、一个静态链接库或动态链接库文 件。 可执行构件:它是一个可执行的程序文件,一个可以在计算机上运行的 执行单元。 数据文件或文档:它是系统中用到的数据集合或系统中的文档。
接口
• 面向对象的一个基本特征是封装:对象把自己的一些 信息和实现细节隐藏起来。同时为了能够让其它的对 象访问自己,对象必须对外提供能够访问的途径,这 种途径就是接口。 • 在面向对象的程序设计语言中,接口就是指一些公共 的方法。
第6章
实现图
课程目标
• • • • 构件图 构件图的应用 部署图 部署图的应用
实现图
• 实现图用来描述系统实现方面的信息 , 主要考虑到重 用性、扩展性和系统的硬件配置描述等方面。 • 它从系统的层次来描述硬件的组成和布局,软件系统 划分和功能实现。 • 实现图包括构件图和部署图
– 构件图用来显示一组构件之间的组织及其依赖关系。 – 部署图则用来描述系统硬件的物理拓扑结构以及在此 结构上执行的软件。
图书管理系统
• 系统需要的硬件设备有:

UML实例之构件图

UML实例之构件图

ReturnItemFrame.j ava
Ti tl eInfoWi ndow.java
LendItemFrame.j ava
Fi ndTitleDial og.j ava
BorrowerInfoWindow.java
UpdateTitl eFrame.j ava
Ti tl eFrame.j ava
2. 用户界面组件图
UpdateBorrowerFrame.j ava BorrowerFrame.java MainWindow.java Cancel Reservati onFrame.java BrowseWi ndow.j ava ReservationFrame.j ava
Fi ndBorrowerDial og.j ava
AboutDial og.java
ቤተ መጻሕፍቲ ባይዱ
MessageBox.java
Qui tDial og.j ava
ResultOfFindBorrower.java ResultOfFindT itle.java
12.6.1 使用Rational Rose绘制组件图 的步骤
1. 2. 3. 4. 5. 创建组件图 组件图工具栏按钮简介 添加组件 增加组件的细节 增加组件之间的依赖
12.6.2 图书馆管理系统的组件图
1. 业务对象组件图 2. 用户界面组件图
1. 业务对象组件图
126实例图书馆管理系统的组件图?1261使用rationalrose绘制组件图的步骤?1262图书馆管理系统的组件图1261使用rationalrose绘制组件图的步骤?1
12.6 实例——图书馆管理系统的组件图
12.6.1 使用Rational Rose绘制组件图的步骤 12.6.2 图书馆管理系统的组件图
  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 有编译依赖关系。那么用构件图表示它们间的关系,如图所示。
相关文档
最新文档