UML构件图解析
UML科普文,一篇文章掌握14种UML图

UML科普⽂,⼀篇⽂章掌握14种UML图前⾔上⼀篇⽂章写了⼀篇建造者模式,其中有⼏个UML类图,有的读者反馈看不懂了,我们今天就来解决⼀哈。
什么是UML?UML是Unified Model Language的缩写,中⽂是统⼀建模语⾔,是由⼀整套图表组成的标准化建模语⾔。
为什么要⽤UML?通过使⽤UML使得在软件开发之前,对整个软件设计有更好的可读性,可理解性,从⽽降低开发风险。
同时,也能⽅便各个开发⼈员之间的交流。
UML提供了极富表达能⼒的建模语⾔,可以让软件开发过程中的不同⼈员分别得到⾃⼰感兴趣的信息。
Page-Jones 在《Fundamental Object-Oriented Design in UML》⼀书中总结了UML的主要⽬的,如下:1. 为⽤户提供现成的、有表现⼒的可视化建模语⾔,以便他们开发和交换有意义的模型。
2. 为核⼼概念提供可扩展性 (Extensibility) 和特殊化 (Specialization) 机制。
3. 独⽴于特定的编程语⾔和开发过程。
4. 为了解建模语⾔提供⼀个正式的基础。
5. ⿎励⾯向对象⼯具市场的发展。
6. ⽀持更⾼层次的开发概念,如协作,框架,模式和组件。
7. 整合最佳的⼯作⽅法 (Best Practices)。
UML图有哪些?UML图分为结构图和⾏为图。
结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。
⾏为图⼜分活动图、⽤例图、状态机图和交互图。
交互图⼜分为序列图、时序图、通讯图、交互概览图。
UML图概览什么是类图?【概念】类图是⼀切⾯向对象⽅法的核⼼建模⼯具。
类图描述了系统中对象的类型以及它们之间存在的各种静态关系。
【⽬的】⽤来表⽰类、接⼝以及它们之间的静态结构和关系。
在类图中,常见的有以下⼏种关系。
泛化(Generalization)【泛化关系】是⼀种继承关系,表⽰⼦类继承⽗类的所有特征和⾏为。
【箭头指向】带三⾓箭头的实线,箭头指向⽗类。
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设计的9种图例几种图的区别:一:这九种模型图各有侧重,1:用例图侧重描述用户需求,2:类图侧重描述系统具体实现;二:描述的方面都不相同,1:类图描述的是系统的结构,2:序列图描述的是系统的行为;三:抽象的层次也不同,1:构件图描述系统的模块结构,抽象层次较高,2:类图是描述具体模块的结构,抽象层次一般,3:对象图描述了具体的模块实现,抽象层次较低。
在有的文献书籍中,将这九种模型图分为三大类:结构分类、动态行为和模型管理:1:结构分类包括用例图、类图、对象图、构件图和部署图,2:动态行为包括状态图、活动图、顺序图和协作图,3:模型管理则包含类图。
画图说明UML(统一建模语言):是面向对象的可视化建模的一种语言。
是数据库设计过程中,在E-R 图(实体-联系图)的设计后的进一步建模。
UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。
具体关系图标如下:说明:构件事物是名词,是模型的静态部分。
行为事物是动态部分,表示行为。
分组事物是组织部分。
注释事物是解释部分。
依赖:一个事物变化会引起另一个事物变化。
聚集:特殊的关联,描述整体与部分的组合关系。
泛化:是一种特殊与一般的关系,如子元素(特殊)与父元素(一般),箭头指向父元素。
实现:类元之间的关系,其中一个类元指定了由另一个类元保证执行的契约。
一般用在接口和实现他们的类之间或用例和实现它们的协作之间。
UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。
在UML系统开发中有三个主要的模型:功能模型: 从用户的角度展示系统的功能,包括用例图。
对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
动态模型: 展现系统的内部行为。
包括序列图,活动图,状态图。
下面具体说明:1.类图:描述一组对象、接口、协作等事物之间的关系。
如下图(摘自网络):注:#表示protected,+表示Public,-表示private2.对象图:描述一组对象之间的关系,是具有具体属性值和行为的一个具体事物,其是类图中所建事物实例的静态快照,其与类图的主要区别是一个是抽象的,而对象图是具体的。
组合结构图

组合结构图组合结构图1.概述UML中的组合结构图(Composite Structure Diagram)是一种静态视图,用来表示一个类元或协作的内部结构。
一个典型的组合结构图如图1所示,该图描述了一个船的内部构造,包含一个螺旋桨和发动机,两者之间通过传动轴连接。
图1. 组合结构图2.基本表示符号组合结构图的基本元素有部件、接口、端口以及连接器、协作和结构化类元。
2.1 部件(Part)部件是类元的结构化成员,它描述了一个实例在该类元实例内部所扮演的角色,是一个类或者构件内部的组成单元。
例如,如果一个图包含一组图形元素,那么,这些图形元素就可以作为该图的部件。
在UML中,部件符号表示为类元中的一个矩形,如图2所示:图2. 部件2.2 端口(Port)端口是类元与外部系统进行交互的纽带。
在UML中,端口符号表示为一个小长方形,如图3所示:图3. 端口2.3 接口(Interface)接口是一种类元,它定义了一组操作,以及一些公共属性。
UML 提供了多种方法表示接口,图4给出了接口的两种图形表示:图4. 接口用圆圈符号表示的接口,不显示任何接口操作。
类元所实现的接口,称为供给接口(Provided Interface)。
类元所需要的接口,称为需求接口(Required Interface)。
供给接口和需求接口如图5所示:图5. 供给接口和需求接口2.4 连接器(Connector)连接器是一种端口之间的关联。
基本的连接器有:装配连接器(Assembly Connector)和委托连接器(Delegate Connector)。
两个内部部件之间的连接器是装配连接器。
在UML中,装配连接器有两种表示方式:1)直接使用一条实线连接两个不同端口来表示;2)使用供应接口和需求接口的连接来表示。
装配连接器如图6所示:图6. 装配连接器委托连接器用于定义组件的外部端口和接口的内部运作,在UML 中,委托连接器表示为一个带有? delegate ?关键字的箭头,如图7所示:图7. 委托连接器2.5 协作(Collaboration)协作描述了一组结构,以及结构之间的交互。
构件图和部署图

在构件图中,构件和构件之间的关系表现 为依赖关系; 定义的类或接口与类之间的关系表现为 依赖关系或实现关系。
在构件图中,构件和构件之间的关系 表现为依赖关系和实现关系: 1.依赖关系 构件与构件之间依赖关系,它的表示方 式与类图中类与类之间的依赖关系的表示 方式相同,都是使用一个从用户构件指向 它所依赖的服务构件的虚线箭头表示。
9.1 构件和构件图
构件图显示的是组成系统的构件之间的 组织及其依赖关系,而构件时指系统中的可 替代性的物理单元。多个系统构件一起组成 了构件图。
9.1.1 构件的定义
目前构件还没有统一的定义,一般认 为:构件是系统中遵从一组接口且提供实 现的一个物理部件,包括软件代码(源代 码、二进制和可执行文件)或者相应组成 部分,通常指开发和运行时类的物理实现。
顾客通过位于kiosk节点的顾客接口控件进行购票的操作该顾客接口构件的购票操作依赖于处于ticketserver节点上的售票构件提供的服务售票构件要完成售票操作又要依赖统一节点上信用卡付款构件提供的付款服务和票数据库构件ticketserve票服务器与kiosk信息厅之间存在一对多的通信关联
第九章 构件图和部署图
5、虚包 是一种只包含对其他包所具有的元素进 行的引用的构件,它用来提供一个包的某些 内容的公共视图。
6、包规范 在具体的实现中,有时将源文件中的声 明文件和实现文件分离开来,例如,在 C++语言中,往往将.h文件和cpp文件分离 开来,在Rational Rose中,可以在包规范 中放置.h文件,在包体重放置.cpp文件。
部署图
当软件处于物理部署阶段时,我们关注 的是软件程序在计算机硬件系统中的物理 分布、通信方式和部署方法。 UML部署图用来解决这类建模问题。
uml构件的种类

uml构件的种类UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言,它提供了一组丰富的构件类型,用于描述系统的不同方面。
本文将从不同的角度介绍UML构件的种类。
1. 结构性构件结构性构件用于描述系统的静态结构,包括类、接口、包、对象等。
类是UML中最基本的构件,用于表示系统中的实体和其属性、操作。
接口定义了类或组件所提供的服务。
包是一组相关元素的容器,用于组织和管理系统的结构。
对象是类的实例化,用于描述系统中的具体实体。
2. 行为性构件行为性构件用于描述系统的动态行为,包括活动、状态机、用例等。
活动图用于描述系统中的活动流程,表示系统在不同活动之间的转换和流程控制。
状态机图用于描述系统中的状态转换,表示系统在不同状态之间的转换和行为。
用例图用于描述系统的功能需求,表示系统与外部实体之间的交互。
3. 交互构件交互构件用于描述系统中的交互行为,包括时序图、通信图等。
时序图用于描述系统中的交互顺序,表示系统中不同对象之间的消息传递和时序关系。
通信图用于描述系统中的对象之间的交互,表示系统中不同对象之间的消息传递和通信路径。
4. 实现构件实现构件用于描述系统中的实现细节,包括组件、节点等。
组件是系统中的可重用部分,用于实现系统的某个功能或服务。
节点是系统中的物理设备或软件环境,表示系统的部署和运行环境。
5. 分析构件分析构件用于描述系统的分析模型,包括用例、类、活动等。
用例是对系统功能需求的描述,表示系统与用户之间的交互。
类是对系统中实体的描述,表示系统中的对象和其属性、操作。
活动图用于描述系统中的活动流程,表示系统在不同活动之间的转换和流程控制。
6. 部署构件部署构件用于描述系统的部署架构,包括节点、组件等。
节点是系统中的物理设备或软件环境,表示系统的部署和运行环境。
组件是系统中的可重用部分,用于实现系统的某个功能或服务。
7. 用例构件用例构件用于描述系统的功能需求,包括用例、参与者等。
UML类图解析
UML类图解析1. 类类(Class)封装了数据和⾏为,是⾯向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。
在系统中,每个类都具有⼀定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务。
⼀个类可以有多种职责,设计得好的类⼀般只有⼀种职责。
在定义类的时候,将类的职责分解成为类的属性和操作(即⽅法)。
类的属性即类的数据职责,类的操作即类的⾏为职责。
设计类是⾯向对象设计中最重要的组成部分,也是最复杂和最耗时的部分。
类图(Class Diagram)使⽤出现在系统中的不同类来描述系统的静态结构,它⽤来描述不同的类以及它们之间的关系。
在系统分析与设计阶段,类通常可以分为三种,分别是实体类(Entity Class)、控制类(Control Class)和边界类(Boundary Class),下⾯对这三种类加以简要说明:(1) 实体类:实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,⼀般使⽤数据库表或⽂件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。
实体类来源于需求说明中的名词,如学⽣、商品等。
(2) 控制类:控制类⽤于体现应⽤程序的执⾏逻辑,提供相应的业务操作,将控制类抽象出来可以降低界⾯和数据库之间的耦合度。
控制类⼀般是由动宾结构的短语(动词+名词)转化来的名词,如增加商品对应有⼀个商品增加类,注册对应有⼀个⽤户注册类等。
(3) 边界类:边界类⽤于对外部⽤户与系统之间的交互对象进⾏抽象,主要包括界⾯类,如对话框、窗⼝、菜单等。
在⾯向对象分析和设计的初级阶段,通常⾸先识别出实体类,绘制初始类图,此时的类图也可称为领域模型,包括实体类及其它们之间的相互关系。
2. 类的UML图⽰在UML中,类使⽤包含类名、属性和操作且带有分隔线的长⽅形来表⽰,如定义⼀个Employee类,它包含属性name、age和email,以及操作modifyInfo(),在UML类图中该类如图所⽰:1class Employee {2private String name;3private int age;4private String email;56public void modifyInfo() {7 ......在类图2中,操作method1的可见性为public(+),带⼊了⼀个Object类型的参数par,返回值为空(void);操作method2的可见性为protected(#),⽆参数,返回值为String类型;操作method3的可见性为private(-),包含两个参数,其中⼀个参数为int类型,另⼀个为int[]类型,返回值为int类型。
统一建模语言UML课件-构件图
}
这个“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)
说明构件从外部看起来是怎样的,包括其供接口和需接口 ,以及它与其他构件的关系
不描述构件的内部实现,通常包含多个构件 长于说明系统中的关键构件以及它们如何连接
什么是构件
构件和类的主要区别
构件具有的责任通常比类大 构件通常包含并使用其他的类或构件来实现自己的功
能
构件之间最好是松散耦合的
对一个构件的修改不应该影响到系统的其余部分 通过接口访问构件有助于松散耦合和封装
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、类图侧重于系统的逻辑设计,⽽组件图侧重于系统的物理设计及实现。
UML图详解(一)——基本概念
UML图详解(一)——基本概念UML中的各种组件和概念之间没有明显的划分界限,但为方便起见,我们用视图来划分这些概念和组件。
视图只是表达系统某一方面特征的UML建模组件的子集。
视图的划分带有一定的随意性,但我们希望这种看法仅仅是直觉上的。
在每一类视图中使用一种或两种特定的图来可视化地表示视图中的各种概念。
视图被划分成三个视图域:•结构分类:描述了系统中的结构成员及其相互关系。
类元包括类、用例、构件和节点。
类元为研究系统动态行为奠定了基础。
类元视图包括静态视图、用例视图和实现视图。
•动态行为:描述了系统随时间变化的行为。
行为用从静态视图中抽取的系统的瞬间值的变化来描述。
动态行为视图包括状态机视图、活动视图和交互视图。
•模型管理:说明了模型的分层组织结构。
包是模型的基本组织单元。
特殊的包还包括模型和子系统。
模型管理视图跨越了其他视图并根据系统开发和配置组织这些视图。
UML还包括多种具有扩展能力的组件,这些扩展能力有限但很有用。
这些组件包括约束、构造型和标记值,它们适用于所有的视图元素。
下表列出了UML的视图和视图所包括的图以及与每种图有关的主要概念。
不能把这张表看成是一套死板的规则,应将其视为对UML常规使用方法的指导,因为UML允许使用混合视图。
1.1 静态视图静态视图主要是由类及类间相互关系构成,这些相互关系包括:关联、泛化和各种依赖关系,如使用和实现关系。
类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联。
静态视图用类图来实现,正因为它以类为中心,所以称其为类图。
在类图中类用矩形框来表示,它的属性和操作分别列在分格中。
如不需要表达详细信息时,分格可以省略。
一个类可能出现在好几个图中。
同一个类的属性和操作可只在一种图中列出,在其他图中可省略。
详见:UML图详解(三)——类图关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别。
类可用不同的精确度和抽象级别来描述。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
构件图
构件
构件与类
从构件的定义上看,构件和类十分相似,事实也是如此:二者都有名称, 都可以实现一组接口,都可以参与依赖、泛化和关联关系,都可以被嵌 套,都可以有实例,都可以参与交互。但也存在着一些明显的不同,下 面是构件与类的区别: (1)类表示是对实体的抽象,而构件是对存在于计算机中的物理部件的 抽象。也就是说,构件是可以部署的,而类不能部署。 (2)构件属于软件模块,而非逻辑模块,与类相比,它们处于不同的抽 象级别。甚至可以说,构件就是由一组类通过协作完成的。 (3)类可以直接拥有操作和属性,而构件仅拥有可以通过其接口访问的 操作。
状态图
statechart diagrams
活动图
activity diagrams
用例图
use case diagrams
构件图
引言
? 类 图:类以及类之间的相互关系 ? 对象图:对象以及对象之间相互关系 ? 构件图:构件及其相互依赖关系 ? 部署图:构件在各节点上的部署
静态图 结 实现图 构
? 顺序图:强调时间顺序的交互图 ? 协作图:强调对象协作的交互图 ? 状态图:类所经历的各种状态 ? 活动图:对工作流建模 ? 用例图:需求捕获,测试依据
UML之构件图
构件图
引言
静态模型 (系统结构)
类图
class diagrams
对象图
object diagrams
构件图
component diagrams
部署图
deployment diagrams
图
diagrams
动态模型 (系统行为)
顺序图
sequence` diagrams
协作图
collaboration diagrams
构件图
构 件 图 三 元 素
构件图的组成
壹 构件(Component) 贰 接口(Interface) 叁 依赖关系(Dependency)
构件图
构件
构件的定义 构件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。 一般情况下,构件表示将类、接口等逻辑元素打包而成的物理模块。
构件图
构件
构件的名称
每个构件必须有一个不同于其他构件的名称。构件的名称和类的名称的 命名法则很是相似,有简单名和路径名之分。构建的名称是一个字符串, 位于构件图标的内部。在实际应用中,构件名称通常是从现实词汇中抽 取出来的短名词或名词短语。
构件的表示
构件图
构件
构件的类型
? 部署构件
如dll文件、exe文件、com+对象、corba对象、ejb、动态web页、数据 库表等;
使用其它构件提供的服务。因此,构件间的关系就是依赖关系。我们把 提供服务的构件称为提供者,把使用服务的构件称为客户。 在UML中,构件图中依赖关系的表示方法与类图中依赖关系相同,都是 一个由客户指向提供者的虚线箭头。构件间的依赖关系如图所示。
图 构件间的依赖关系
构件图
构件图分类
简单构件图
我们可以把相互协作的类, 组织成一个构件。利用构件图可 以让软件开发者知道系统是由哪 些可执行的构件组成的,这样, 以构件为单位来看待系统时,让 开发者清楚的看到软件系统的体 系结构。例如,如图所示就是一 个“个人图书管理系统”的构件 图局部。。
交互图
行 行为图 为
用例图
构件图
构件图概述 构件图组成 构件图分类 构件图应用 构件图画法
目录
构件图
构件图概述
什么是构件图
构件图描述了软件的各种构件和它们之间的每个物理构件都使用构件符号来表示,通常,构件图看起来像 是构件图标的集合,这些图标代表系统中的物理部件, 构件图的基本目的是 :使系统 人员和开发人员能够从整体上了解系统的所有物理部件,同时,也使我们知道如何对 构件进行打包,以便交付给最终客户,最后,构件图显示了被开发系统所包含的构件 之间的依赖关系。 构件图从软件架构的角度来描述一个系统的主要功能,如系统分成几个子系统,每个 子系统包括哪些类、包和构件,它们之间的关系以及它们分配到哪些节点上等。 使用构件图可以清楚地看出系统的结构和功能。方便项目组的成员制定工作目标和了 解工作情况,同时,最重要的一点是有利于软件的复用。 从宏观的角度上,构件图把软件看作多个独立构件组装而成的集合,每个构件可以被 实现相同接口的其它构件替换。
构件图
构件图分类
嵌套的构件图
有些时候,我们使用嵌套的构件图来表示构件的内部结构。例如图所 示的就是一个包含嵌套的构件图,它描述了一个收银系统。
构件图
构件图应用
对源代码进行建模
通过构件图可以清晰地表示出软件的所有源文件之间的关系,有了这样 的构件图,开发者能更好地理解各个源代码文件之间的依赖关系。在对 源程序进行建模时,通常应遵从以下原则: 1.表示出要重点描述的每个源代码文件,并把每个源代码文件标识为构 件。 2.如果系统较大,我们就利用包来对构件进行分组。 3.用编译依赖关系来描述构件间的关系。 4.在构件图中,采用约束来表示源代码的版本号、作者和最后的修改日 期等信息。
构件图
构件图应用
singal.h 是 一 个 头 文 件 , 被 interp.cpp 和 signal.cpp 引 用 , 其 中 interp.cpp 还引用了另一个头文件 irq.h ,而 device.cpp 又对 interp.cpp 有编译依赖关系。那么用构件图表示它们间的关系,如图所示。
? 工作产品构件
如源代码文件、数据文件等,用来产生部署构件;
? 执行构件
是指系统执行后产生的构件;
构件图
构件
构件的五要素
? 规格说明:对于构件,必须有一个它所提供服务的抽象描述。通俗
地说,每个构件都必须提供特定的服务
? 一个或多个实现:构件是一种物理概念,必须被一个或多个实现所
支持,当然这些实现都必需符合规格说明
构件图
接口
接口 在组件图中,组件可以通过其他组件的接口来 使用其他组件中定义的操
作。通过使用命名的接口,可以避免在系统中各个构件之间直接发生依 赖关系,有利于构件的替换。组件图中接口一般使用一个小圆圈表示。
构件图 接口与构件的关系
构件与接口
构件的接口种类
构件图
依赖关系
我们知道,构件有两组接口,供给接口为其它构件提供服务,需求接口