UML统一建模语言 第九章 构件图和部署图
10讲 包图 构件图和部署图
包图的定义
包图和包 在UML中创建包图的目的有以下三个: 1. 在逻辑上把一个复杂的系统模块化 2. 组织源代码 3. 描述需求高阶概况 4. 描述设计的高阶概况
包的组成
名称
在UML中,包的标准形式是使用两个矩形进行表示的,一个小 矩形和一个大矩形,小矩形紧连结在大矩形的左上角上,包的名称 位于大矩形的中间 包的名称是一个字符串,它有两种形式:简单名和路径名。其 中,简单名仅包含一个名称字符串;路径名是以包处于的外围包的 名字作为前缀并加上名称字符串,如下图所示。
软件系统体系结构建模——包图
• 2、系统业务对象层
系统服务接口界面包:起承上启下的作用,设置用 户窗口与系统各种实现具体功能的接口界面的连接
业务对象管理包:根据用户窗口接口界面的要求, 实施对系统的业务对象的有效管理
外部业务对象包:对过去系统遗留下来的有使用价 值部分进行包装 实际业务对象包:形成能实现系统功能的实际的业 务对象集,包括系统新创建的业务和外部业务对象
系统体系结构设计 数据结构设计 用户界面设计 算法设计
系统体系结构概述
• 系统体系结构用来描述系统各部分的结构、 接口以及它们用于通信的机制。 • 系统体系结构建模首先要建立基本的模型, 并把这些模型映射到系统需要的硬件单元 上。
系统体系结构概述
• 体系结构设计过程中的主要活动:
系统分解:将系统分解为若干个相互作用的子系统 模块分解:将子系统进一步划分为模块
包图中的关系
泛化关系
泛化关系表示了事物的一般和特殊的关系。如果二个 包之间存在有泛化关系,就是指其中的特殊性包必须遵 循一般性包的接口。包之间的泛化联系与类之间的泛化 关系十分类似,类之间的泛化的概念和表示在此大都可 以使用如下图所示。
《统一建模语言(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)
组件是定义了良好接口且提供实现的一个物理部件 是指类的物理实现,表示将类、接口等逻辑元素打包而形
08,09构件图和部署图
1 构件图概要
构件图用于静态建模, 构件图用于静态建模,是表示构件类型的组织以 及各种构件之间依赖关系的图。 及各种构件之间依赖关系的图。 构件:可替换的物理部分,包括软件代码、脚本 构件:可替换的物理部分,包括软件代码、 或命令行文件,也可以表示运行时的对象,文档, 或命令行文件,也可以表示运行时的对象,文档, 数据库等。 数据库等。 构件图通过对构件间依赖关系的描述来估计对系 统构件的修改给系统可能带来的影响。 统构件的修改给系统可能带来的影响。
部署图
1 部署图概要 部署图用于静态建模, 静态建模 部署图用于静态建模,是表示运行时过程节点结 构件实例及其对象结构的图。 构、构件实例及其对象结构的图。 如果含有依赖关系的构件实例放置在不同节点上, 如果含有依赖关系的构件实例放置在不同节点上, 部署视图可以展示出执行过程中的瓶颈。 部署视图可以展示出执行过程中的瓶颈。 部署图的两种表现形式: 部署图的两种表现形式:实例层部署图和描述层 部署图(会在后面的实例中给出 会在后面的实例中给出)。 部署图 会在后面的实例中给出 。
5 关于部署图与构件图
部署图与构件图相同的构成元素: 部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、 构件、接口、构件实例、构件向外提供服务、构件要 求外部提供的服务。 求外部提供的服务。 部署图与构件图的关系: 构件图的关系 部署图与构件图的关系: 部署图表现构件实例; 部署图表现构件实例; 构件图表现构件类型的定义。 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态, 部署图偏向于描述构件在节点中运行时的状态,描述了构 件运行的环境; 件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。 构件图偏向于描述构件之间相互依赖支持的基本关系。
UML组件图和部署图实践课件
实验十、十一组件图和部署图一、实验目的1.理解组件图的基本概念。
2.理解组件图的应用:逻辑部署。
3.理解部署图的基本概念。
4.理解部署图的应用:物理部署。
5.掌握组件图和部署图绘制的方法。
二、实验器材1.计算机一台。
2.Rational Rose 工具软件。
三、实验内容某图书管理系统的分析和设计已按计划完成类图和交互图的分析与设计,下一步将完成系统的组件图和部署图,现系统分析部指派您完成如下任务:完成系统的组件图。
四、实验步骤1. 绘制组件图分析:在某图书馆管理系统中,通过分析可以发现类图中的类应分为4个部分:1.用户接口模块(UI),主要负责系统和用户的交互,包括Frame类,Dialog类等。
2.业务对象模块(BO),主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。
3.数据存储模块(DB),主要负责处理对数据的存储。
4.通用工具模块(UTIL),包括系统中通用函数。
通过一个主程序StartClass来启动。
由于系统中的类较多,这里以业务对象模块(BO)为例来讲解如何创建组件图,BO模块中包括Item类:书目类,表示一本实际存在的书籍或杂志Loan类:借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书 BorrowerInfomation类:借阅者信息类,表示一个借阅者。
Title类:表示一种书或一种杂志。
如《C++编程思想》就是一种书,用1个title 表示,如果有2本这样的书,则需要用2个Item表示。
Reservation类:预定信息类,表示一个预定信息。
Item类和Loan类之间互相依赖,Loan类和BorrowerInfomation类之间互相依赖,BorrowerInfomation类和Reservation类之间互相依赖,Reservation类和Title之间互相依赖,Title和Item类之间互相依赖。
绘图步骤:(1)在组件视图中双击Main图,出现图10.1,为编辑组件图做好准备,这时绘图工具栏中的图标如图中椭圆所示,其中具体含义可参看本节“补充图标”一段的介绍。
UML构件和部署
1
• 状态图以状态的形式表示软件实体 • 时序图对所开发的软件实体内发生的事件时 序提供直观的描述 • 协作图显示对象之间的通信 • 活动图显示软件实体内的活动,它代表了所 开发的系统内发生的事件流的图示视图
回顾
2
目标
• 理解构件图和部署图的概念 • 掌握绘制构件图和部署图 • 了解常用的 UML 绘图和建模工具
3
构件
• 构件是系统的可替代的 物理部分,它表示的是 实际的事物 • 构件是定义了良好接口 的物理实现单元,它是 系统中可替换的部分。
4
什么是构件图
构件图主要用于描述各种软件构件之间的 依赖关系。 所设计的系统中的构件的表示法及这些构 件之间的关系构成了构件图。 在构件图中,系统中的每个物理构件都使 用构件符号来表示。 构件图的基本目的是:使系统设计人员和 开发人员能够从整体上了解系统的所有物 理构件。
19
10
部署图示例 - 1
11
部署图示例 - 2
12
创建模型的主要工具
Rational Rose Visual UML Microsoft Visio
13
Rational Rose
IBM Rational Rose 是完整的可视建模解决方案, 借助该工具,开发人员、项目经理、工程师和分 析员在编写代码之前,对软件需求和系统构架进 行直观考察、加深理解并使之细化 Rose 是 Rational Software 的全面集成的综合解 决方案的一部分,该解决方案是为了满足当今具 有挑战性的软件开发需要而设计的 Rational Rose 可帮助您更快地开发可靠的代码 自动生成代码 构件测试
统一建模语言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)
说明构件从外部看起来是怎样的,包括其供接口和需接口 ,以及它与其他构件的关系
不描述构件的内部实现,通常包含多个构件 长于说明系统中的关键构件以及它们如何连接
什么是构件
构件和类的主要区别
构件具有的责任通常比类大 构件通常包含并使用其他的类或构件来实现自己的功
能
构件之间最好是松散耦合的
对一个构件的修改不应该影响到系统的其余部分 通过接口访问构件有助于松散耦合和封装
构件图与部署
使用菜单栏或浏览器添加构件的步骤如下:01 选择Tools | Create | Component命令,此时光标变为“+”号。如果使用浏览器,可右键单击需要添加的包,在弹出的快捷菜单中选择New | Component命令,此时光标也变为“+”号。 以下的步骤与使用工具栏添加构件的步骤类似,按照前面使用工具栏添加构件的步骤添加即可。
部门 / 时间 / 姓名
1 构件图与部署图的基本概念 1.1 构件的基本概念 在构件图中,将系统中可重用的模块封装为具有可替代性的物理单元,称为构件,它是在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用部件。
虚包是一种只包含对其他包的元素进行引用的构件。
系统是指组织起来以完成一定目的的连接单元的集合,在系统中肯定有一个文件用来指定系统的入口,也就是系统程序的根文件,这个文件被称为主程序。子程序规范和子程序体是用来显示子程序的规范和实现体。 主程序 子程序规范和子程序体 包规范和包体 任务规范和任务体
在部署图中添加节点之间的连接的步骤如下:
02
单击图标,或者选择Tools | Create | Connection命令,此时的光标变为“↑”符号。
03
单击需要连接的两个节点中的任意一个节点。
04
将连接的线段拖动到另一个节点中即可。
如果要将连接从节点中删除,可以通过以下的步骤进行:
选中该连接。
按Delete键或者单击右键,在弹出的快捷菜单中选择Edit | Delete命令即可。
确定系统构件
可以与确定用例中的类和对象一样,根据用例的流程确定系统的构件。
将系统中的类和接口等映射到构件中 将系统中的类、接口等逻辑元素映射到构件中,一个构件不仅仅包含一个类或接口,也可以包含几个类或接口。
09-UML—CH9-构件图和配置图(YL)
上讲回顾
状态图的定义? 状态图的基本构成元素? 状态内部的动作通常有哪几种? 状态图中的状态有哪些种类? 如果一个组成状态的子状态对应的对象在其生命期内的 任何时刻都只能处于一个子状态,即多个子状态之间是 互斥的,不能同时存在,这种子状态称为 ? 子状态。 当E-mail程序中正在发送第一封邮件时,用户下达发送 第二封邮件执令就会被延迟,但第一封邮件发送完成后 ,这封邮件就会被发送。这种事件就属于 ? 事件。 自迁移和内部迁移的区别? 活动图与状态图的异同?
Fig1 presents an example component model, using the UML 2 notation, for the university system. Diagrams such as Figure 1 are often referred to as "wiring diagrams" because they show how the various software components are "wired together" to build your overall application. The lines between components are often referred to as connectors, the implication being that some sort of messaging will occur across the connectors.
2确定驻留构件3注明节点性质4确定节点之间的联系5绘制配置图图711销售管理子系统的配置图模型五配置图建模案例诊疗管理子系统的功能分析2构件图3配置图图712医院诊疗综合管理系统的用例图图713诊疗子系统的用例图图714诊疗管理子系统源代码到执行代码过程的构件图详细的构件图图715影像诊断用例的详细构件图图716诊疗管理子系统客户服务器式配置图图717影像诊断用例的配置图五本章小结本章小结
统一建模语言UML课件-部署图
节点实例
节点实例用 name : type 记号表示
可以强调两个节点是同一类型的不同实例,如 右图
节点间的通讯
通讯路径(communication paths)
用来表示节点在运行时能够互相通讯
不是表示消息传递
表示法:连接两个节点的实线 通讯的类型可以由构造型表示
如图,使用TCP/IP通讯的PC和Server
部署图在设计过程中的各个阶段都有用
开始设计一个系统的早期,可以用部署图对系统的重 要物理布局建模
例如,系统的体系结构、客户访问方式等
何时使用部署图?
在软件开发 的后期,详 细的部署图 可以用来说 明系统的实 现,作为安 装系统的蓝 图
A Home System
部署图示例
Applying Deployment diagrams
部署图
Deployment Specifications
部署规约是一个特殊的制品
说明了其他制品如何部署到一个节点 用来提供安装和配置信息
表示法
矩形,构造型 <<deployment spec>>
部署规约可以有属性: name : type (左图)
部署规约实例(右图)
Deployment Specifications
例如,操作系统,J2EE container,Web server, Application server
库文件、可执行文件、属性文件等不是节点
执行环境节点
表示法
左图是一个应用服务器节点
stereotype <<executionEnvironment>> 强调这个节 点是一个执行环境
执行环境要在硬件上运行,不能单独存在,如右图
UML部署图和图九组件图
UML部署图和图九组件图前⾔UML⼤部分描写叙述了逻辑和设计⽅⾯的信息。
实现图⽤来描写叙述实现⽅⾯的信息。
实现图包含部署图和构件图。
构件图1. 概念构件图从软件架构的⾓度来描写叙述⼀个系统的主要功能。
如⼦系统、类、包、构件。
⽤来显⽰⼀组构建之间组织与依赖的关系。
2. 构成构件、接⼝、关系3. 构件的类型源码构件、⼆进制构件、可运⾏构件、数据⽂件或⽂档4. 构件和类的关系(1)类表⽰逻辑抽象⽽构件表⽰物理抽象(2)构件是其他元素的物理实现(3)类能够直接拥有属性和操作,构件⼀般仅仅有通过接⼝訪问的操作5. 构件的特点物理的、可替换的、是系统的⼀部分、从⼀组接⼝并提供对⼀组接⼝的实现6. 构件与接⼝的关系实现、依赖、⽰出、进⼊7. 以下是我的机房收费的构件图。
眼下感觉理解的还是不够透彻,先画出来以后学的深了再改进部署图1. 概念⽤来显⽰系统中软件和硬件的物理架构。
⼀个系统仅仅有⼀个部署图。
2. 部署图元素节点、节点实例、物件、关系、节点容器3. 使⽤条件对复杂的分布式软件使⽤部署图4. 长处部署图判断软件的所需的处理器和设备的拓扑结构5. ⼀个良好的部署图:(1)每⼀个实施图是系统的⼀个⽅⾯(2)側重⼀个⽅⾯(3)仅仅包括必要元素和必要修饰(4)避免交叉、名字要能概括你功能6.以下是我的机房收费的部署图,不⾜之处欢迎⼤家积极指正UML仍在路上(尾声)通过以上连续的五篇博客,对UML中的9+1(包图)个图结合之前敲的机房收费系统做了总结。
前五篇博客将关系联系紧密的两两放在⼀起更有助于对照理解这些图。
UML语⾔使系统建模过程标准化,统⼀化。
规范化。
UML在整个软件开发过程中採⽤同样的概念和表⽰⽅法。
在不同的开发阶段,不必转换概念和表⽰⽅法。
避免了传统软件开发⽅法的两个鸿沟。
UML採⽤图形化的表现形式。
产⽣的模型易于理解。
易于开发者与⽤户之间的沟通。
从⽽可以及时得到⽤户的反馈信息。
⽤UML进⾏系统建模所得到的建模制品不只包含各种模型框图,还有⼤量丰富的⽂档。
UML构件部署图详解
讲授内容
构件 正向工程、逆向工程 部署图 课外作业与实验巩固
1 概述
构件图示例:
1 概述
① ②
③
构件图描述了软件的各种构件和它们之 间的依赖关系。 构件图中通常包含3个元素: 构件(Component) 接口(Interface) 依赖关系(Dependency)
Name(名称) Stereotype(构造型) Language(语言) Documentation(说明)
构件规范
2 Detail标签
Declarations(声明):声明文本框包含一个 声明列表,如类名、变量以及其它一些语言 专有特性(#includes或类似的结构)。
构件规范
两种接口
导入接口(import interface) 供访问操作的构件使用 导出接口(export interface) 由提供操作的构件提供
4 依赖关系
构件图用依赖关系表示各构件之间存在 的关系类型。 在UML中,构件图中依赖关系的表示方 法与类图中依赖关系相同
构件规范
1 General标签
3 关联关系
部署图用关联关系表示各节点之间通信 路径,表示为一条实线。 在连接硬件时通常关心节点之间是如何 连接的,因此关联关系一般不使用名称, 而是使用版型。
3 关联关系
关联关系示例:
部署图的要素
节点:具有一定内存、计算能力的物理 元素。
处理机:执行程序的硬件构件; 设备:无计算能力的硬件构件。
正向工程和逆向工程
正向工程:根据模型产生源代码。 逆向工程:根据源代码产生软件模型 Tools->Java/J2EE->Reverse Engineer
软件工程UML组件图与部署图
软件工程
1.添加节点 第一项任务是确定系统的节点。下图演示了上面需求列表中提
及的所有硬件。
山东农业大学计算机系 费玉奎
软件工程2. 添加通信关联 为确定的节点添加通信关联。从需求列表中可以确定如下所示
通信关联: • 扫描仪通过内部的PCI总线连接到网卡。 • 网卡通过无线电波与无线hub通信。 • 无线hub通过USB连接到名为KONG的服务器实例。 • KONG Web服务器通过HTTP与客户组件通信。
Browser组件依赖于WebServerSoft组件。 ProduciLookupAddln组件依赖于Browser组件。
山东农业大学计算机系 费玉奎
软件工程 山东农业大学计算机系 费玉奎
组件图和部署图可以用来帮助设计系统的整体架构。
山东农业大学计算机系 费玉奎
软件工程
组件图用来建模软件的组件及其相互之间的关系。这些图由组 件和组件之间的关系构成。
Credit
Flight
Reservation
<<DLL>>
FightServer
山东农业大学计算机系 费玉奎
软件工程
1.组件 组件(构件)是系统中可替换的代码模块。例如下面这些软件
山东农业大学计算机系 费玉奎
软件工程
组件与接口
山东农业大学计算机系 费玉奎
软件工程
2.依赖关系 依赖关系演示两个组件之间的依赖特性。依赖关系使用在一端
带有开放箭头的短划线表示。箭头从依赖的对象指向被依赖的对 象。
山东农业大学计算机系 费玉奎
软件工程 山东农业大学计算机系 费玉奎
软件U工M程L本身提供了一些固有的依赖关系定义。其表示如下图所 示。
UML构件图解析
构件图
构件
构件与类
从构件的定义上看,构件和类十分相似,事实也是如此:二者都有名称, 都可以实现一组接口,都可以参与依赖、泛化和关联关系,都可以被嵌 套,都可以有实例,都可以参与交互。但也存在着一些明显的不同,下 面是构件与类的区别: (1)类表示是对实体的抽象,而构件是对存在于计算机中的物理部件的 抽象。也就是说,构件是可以部署的,而类不能部署。 (2)构件属于软件模块,而非逻辑模块,与类相比,它们处于不同的抽 象级别。甚至可以说,构件就是由一组类通过协作完成的。 (3)类可以直接拥有操作和属性,而构件仅拥有可以通过其接口访问的 操作。
状态图
statechart diagrams
活动图
activity diagrams
用例图
use case diagrams
构件图
引言
? 类 图:类以及类之间的相互关系 ? 对象图:对象以及对象之间相互关系 ? 构件图:构件及其相互依赖关系 ? 部署图:构件在各节点上的部署
静态图 结 实现图 构
? 顺序图:强调时间顺序的交互图 ? 协作图:强调对象协作的交互图 ? 状态图:类所经历的各种状态 ? 活动图:对工作流建模 ? 用例图:需求捕获,测试依据
UML之构件图
构件图
引言
静态模型 (系统结构)
类图
class diagrams
对象图
object diagrams
构件图
component diagrams
部署图
deployment diagrams
图
section 9 构件图与部署图
• 与包的关系不同
构件图的作用
(1) 对源代码文件之间的关系建模
组件图示例
A component diagram
zhufei@
• 一个大型复杂的软件系统,一般由多个可执行 程序和相关的持久对象库构成。 • 下图描述了一个客户的软件系统从 C++源代码
部署图的例子
PC和外设与ISP连接的部署图
部署图建模技术
• • • • •
对系统中的结点建模。 对结点之间的关联关系建模。 对驻留在结点上的构件建模。 对驻留在结点上的构件之间的依赖关系建模。 对建模的结果进行精化和细化。
确定结点和结点间的关联关系
•
•
• •
IC卡读卡器:提供给员工刷卡用,它将收集刷卡的时间信息,传 给应用系统,并存入数据库中
创建实施构件的源代码文件及数据文件。如: 源代码文 件、数据文件等, 这些构件可以产生部署构件.
构件图中的元素
(1) 构件
基本构件
带版型的构件
构件图中的元素
(1) 构件 Rose中的扩展构件
子程序说明是一组子程序集 合名, 其中不包括类定义.
子程序体表示子程序的实现.
构件图中的元素
(1) 构件 Rose中的扩展构件
example
• 根据以下描述,试完成一个“销售管理系统”
的部署图。该系统采用的硬件设备有:
• 3台联想PC600作为终端机,分别用作销售管理、仓 库管理和合同管理。 • 1台联想PC6000作为网络数据库服务器。 • 2台Ls1000打印机。一台为网络共享、一台为仓库 管理专用。 • 客户机之间采用《TCP/IP》通信协议,3个客户机
构件图的作用:可执行文件建模
9构件图和部署图
6
5 部署图
• 组件图用来建模软件组件,而部署图用来 对部署系统时涉及到的硬件进行建模。 • 构造部署图(Deployment Diagram)可以 帮助系统的有关人员了解软件中各个组件 驻留在什么硬件上,以及这些硬件之间的 交互关系,另外,部署图还可以用来描述 哪一个软件应该安装在哪一个硬件上。部 署图中只有两个主要的标记符,即节点( Node)和关联关系(Association)标记符 。在构造部署图时,可以描述实际的计算 机和设备(Node)以及以及它们之间的连 接关系,也可以描述部署和部署之间的依 赖关系;除此之外,部署图中还可以包含 包或者子系统。图演示了用于租书管理系 营业界面 统的部署图。
节点2
9
5.3 部署图的应用
• 通常情况下,建模人员使用部署图为嵌入式系统建 模,为客户/服务器系统建模,或者为完全的分布式 系统建模。 • 使用部署图为嵌入式系统建模,可参考如下策略: • (1)找出对于系统来说必不可少的节点。 • (2)使用UML的扩充机制为系统定义必要的原型 。 • (3)建模处理器和设备之间的关系。 • (4)精化和细化智能化设备的部署图。
12
2. 创建和删除构件
使用菜单栏或浏览器添加构件的步骤如下:01 选择 Tools | Create | Component命令,此时光标变为“+” 号。如果使用浏览器,可右键单击需要添加的包,在 弹出的快捷菜单中选择New | Component命令,此时光 标也变为“+”号。 02 以下的步骤与使用工具栏添加构件的步骤类似,按 照前面使用工具栏添加构件的步骤添加即可。 可以通过以下方式进行删除: 01 选中待删除的构件,单击右键。 02 在弹出的快捷菜单中选择Edit | Delete from Model命令,或者按Ctrl+D快捷键即可。
UML构件图和部署图实验
实验八构件图和部署图
一、实验目的与要求
理解构件、构件图、部署、部署图的概念、作用、组成,绘制图。
二、实验原理
什么是构件?如何表示构件及关系?
部署图的作用?
三、预习与准备
掌握基本的概念及原理。
四、实验内容
以“聊天系统”为例,对客户端进行构件及部署。
(1)确定用户下载客户端,并进入进入登陆功能
(2)聊天构件
(3)添加构件
(4)删除构件
(5)修改构件
(6)退出构件
构图过程:
(1)启动StarUML,在用例模型上新建部署图modle(部署图:聊天系统);
(2)添加部署图工程
(3)添加构件及对象
(4)然后连接组件组件之间的关系
(7)确认是否无误
五、实验过程
user
六、实验总结与体会
在本次试验中,我知道了如何创建构建图和部署图,并且也学到了许多以前没有读到的知识。
总体来说,我到目前为止还是学到了挺多的关于UML方面的知识,虽然我们每一次上课的时候学到的知识并不算多,但是日积月累以后,最后的成果应该来说是颇丰的。
构件图和部署图[系统部署模型]
构件组件图和部署图()学习内容¢¢¢构件图和部署图的基本概念使用创建构件图和部署图用部署一个实际的项目RoseRose2015/4/1421 .构件¢¢在构件图中,我们将系统中可重用的模块封装成为具有可替代性的物理单元,我们称之称为构件,它是独立的,在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用的部件。
构件作为系统定义良好接口的物理实现单元,它能够不直接依赖于其他构件而仅仅依赖于构件所支持的接口。
通过使用被软件或硬件所支持的一个操作集接口,构件可以避免在系统中与其它构件之间直接发生依赖关系。
—2015/4/143•有一些构件的图标表示形式和标准构件图形表示形式相同,它们包括、、、、以及自定义构造型的构件,它们的表示形式是在构件上添加相关的构造型,下图为一个构造型为的构件。
ActiveX Applet Application DLL EXE Applet 2015/4/144¢¢在中,数据库也被认为是一种构件。
虚包是一种只包含对其它包所具有的元素进行的引用的构件。
它被用来提供一个包的某些内容的公共视图。
虚包不包含任何它自己的模型元素。
Rational Rose 20032015/4/145¢¢系统是指组织起来以完成一定目的的连接单元的集合,在系统中,肯定有一个文件用来指定系统的入口,也就是系统程序的根文件,这个文件被成为主程序。
子程序规范和子程序体是用来显示子程序的规范和实现体。
子程序是一个单独处理的元素的包,我们通常用它代指一组子程序集。
2015/4/1462 . 构件图的基本概念•构件图是用来表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图。
在构件图中,构件和构件之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。
2015/4/1473. 部署图的基本概念¢¢部署图()描述了一个系统运行时的硬件结点,以及在这些结点上运行的软件构件将在何处物理地运行,以及它们将如何彼此通信的静态视图。
构件图和部署图
2、子程序规范和子程序体 子程序是一个单独处理元素的包,通常 用它代指一组子程序集。用来显示子程序 的规范和实现体。如图:
3、主程序 是指组织起来以完成一定目的连接单元的 集合,在系统中,肯定有一个文件用来指 定系统的入口,也就是系统程序的根文件, 这个文件被称为主程序。如图:
4、数据库 在Rational Rose中,数据库也被认为是 一种构件
1、处理器 是指那些本身具有计算能力,能够执行各 种软件的节点,如服务器、工作站等这些 具有处理能力的机器。如下图:
处理器通常表示一个硬件设备而不是软件实体
ቤተ መጻሕፍቲ ባይዱ
由于处理器是具有处理能力的机器,所 以在描述处理器方面应当包含了处理器的 调度和进程。 (1)调度 调度是指在处理器处理其进程中为实现一 定的目的而对共同使用的资源进行时间分 配。 有时需要指定该处理器的调度方式,从而 使得处理达到最优或比较优的效果。
关于构件图和部署图
部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、构件要求 外部提供的服务。 部署图与构件图的关系: 部署图表现构件实例; 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态,描述了 构件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。
※ ※ ※ ※
图中实现关系包括: 信用卡付款提供付款服务 票数据库提供购买和状态查询服务 售票处提供预订购买、个人购买和团 体购买服务
部署图例子
实例1 实例层部署图 ※ 实例层部署图描述各节 点和它们之间的连接。
※ 本图中的信息与上张描 述层部署图中的内容是 相互对应的。
※ 图中的关系是各个节点 之间存在的通信关系。
构件图例子
※ 实例1. ※ 图中的构件名称是Dictionary字典。 ※ 该构件向外提供两个接口,即两个服务Spell-check拼写检查、Synonyms同义词。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▪ 在UML中,标准构件使用一个左边有两 个小矩形的长方形表示,构件的名称位于 矩形内部,如下图:
9.1.2 构件的种类
1、实施构件 是构成一个可执行系统必要和充分
的构件,是在运行时创建的组件,也 可以是最终可运行系统产生的允许结 果,如动态链接库、可执行文件等。
2、配置构件
是运行系统需要配置的构件,是形成可 执行文件的基础。如,操作系统、数据库 管理系统等。
第九章 构件图和部署图
▪ 本章学习点:
基础内容:构件在UML中的表示和关系 重点掌握:构件图和部署图的构成元素 一般了解:部署图中节点的调度和进程
构件图
对构件和构件的关系建立模型有下列用途:
① 使客户能够看到最终系统的结构和功能 ② 让开发者有一个工作目标 ③ 让编写技术文档和帮助文件的技术人员能够理
3、工作产品构件
这类构件主要是开发过程的产物,包括 创建实施构件的源代码文件及数据文件。 这些构件并不直接参与可执行系统,而是 用来产生可执行系统的中间工作产品,它 们是配置组件的来源。
9.1.3 构件的表示
主要包括构件、子程序规范和子程序体、 主程序、数据库、虚包和包规范等。
1、构件 即一般意义上的构件,也可用ActiveX 、
▪ 系统开发者通过构件图呈现将要建立系统的高 层次架构视图,开始建立系统的各个里程碑,并 决定开发的任务分配以及需求分析。
▪ 系统管理员也通过构件图获得将运行于他们系 统上的逻辑构件的早期视图,较早地提供了关于 组件及其关系的信息。
部署图
当软件处于物理部署阶段时,我们关注 的是软件程序在计算机硬件系统中的物理 分布、通信方式和部署方法。
例子
9.3 部署图的构成
部署图是由节点、设备和连接这3个基本 的元素所组成。
部署图由节点和节点之间的联系组成, 描述了处理器、设备和软件构件运行时的 体系结构。
9.3.1 节点
节点是存在于运行时并代表一项计算资 源的物理元素,一般用于对执行处理或计 算的资源建模。
在建模过程中,可将节点分为两种类型: 即处理器和设备。
▪ 构件提供的接口使得其他的构件得以访问它。
接口的类型
构件向外部展现两种接口:供接口和需接口
➢ 供接口表示构件为客户提供的功能,它告 知用户构件如何被使用。构件至少有一个供接 口。供接口用“棒棒糖”式的图形表示,即由 一个封闭的圆形与一条直线组成。
➢ 需接口表示为了使构件工作,构件必须从 其他服务中所获得的功能,需接口表示该接口 是构件的成员变量或构件中类的成员变量。需 接口用“插座”式的图形表示,即由一个半圆 与一条直线组成。
是指组织起来以完成一定目的连接单元的 集合,在系统中,肯定有一个文件用来指 定系统的入口,也就是系统程序的根文件, 这个文件被称为主程序。如图:
4、数据库 在Rational Rose中,数据库也被认为是
一种构件
5、虚包 是一种只包含对其他包所具有的元素进
行的引用的构件,它用来提供一个包的某些 内容的公共视图。
2、设备 设备是那些本身不具备处理能力的节点。
通常情况下是通过其接口为外部提供某 些服务,如打印机、扫描仪等。如图所示:
9.3.2 连接
连接用来表示两个节点之间的硬件连接。 在UML中,连接的表示形式使用一条实线表 示,在实线上可添加连接的名称和构造型。 连接的名称和构造型都是可选的。如图:
如上图,客户端节点和服务器节点通过HTTP方式进行通信连接
※ 售票处提供预订购买、个人购买和团 体购买服务
部署图例子
实例1 实例层部署图
※ 实例层部署图描述各节 点和它们之间的连接。
※ 本图中的信息与上张描 述层部署图中的内容是 相互对应的。
※ 图中的关系是各个节点 之间存在的通信关系。
▪ 实例2 描述层部署图
描述层部署图表示了系统中的各 节点和每个节点包含的构件。
※ 图中包括的各种关系如下:
※ 通信链关系(不带箭头的直线)
※
TicketServe票服务器与
Kiosk信息厅之间存在一对多的
通信关联;与SalesTerminal售
票终端也存在一对多的通信关
联;
※ 依赖关系(带箭头的虚线)
※
TicketSeller售票构件依
赖CreditCardCharges信用卡
▪ 实例3
※ 图中依赖关系包括: ※ 顾客需要信息亭接口提供服务 ※ 售票员需要职员接口提供服务 ※ 信用卡付款需要信用卡代理提
供服务 ※ 职员接口需要预订销售、个人
销售和团体销售提供服务 ※ 管理接口需要数据库状态提供
服务 ※ 售票处需要付款和购买提供服
务 ※ 等等……
情景描述
※ 情景一: ※ 购买个人票可以通过公用信息亭订购也可直接向售票
关于构件图和部署图
部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、构件要求
外部提供的服务。
部署图与构件图的关系: 部署图表现构件实例; 构件图表现构件类型的定义。
部署图偏向于描述构件在节点中运行时的状态,描述了 构件运行的环境;
构件图偏向于描述构件之间相互依赖支持的基本关系。
UML部署图用来解决这类建模问题。
9.2 部署图的定义
▪ 部署图描述了运行软件的系统中硬件和软件的 物理结构,即系统执行处理过程中系统资源的部 署情况,它是一种静态模型。
▪ 部署图表示软件系统如何部署到硬件环境中, 显示了该系统不同的构件将在何处物理地运行, 以及它们将如何彼此通信。
▪ 所以说,部署图描述了一个系统运行时的硬件 节点、在这些节点上运行的软件构件将在何处物 理运行以及它们将如何彼此通信的静态视图。每 一个模型中仅包含一个部署图。
构件图例子
※ 实例1. ※ 图中的构件名称是Dictionary字典。 ※ 该构件向外提供两个接口,即两个服务Spell-check拼写检查、Synonyms同义词。
实例2. ※ 图中“Planner计划者”构件向外
提供一个“update更新”接口服务。 ※ 同时,该构件要求外部接口提供一
个“Reservations预定”服务。
员购买,但购买团体票只能通过售票员。 ※ 情景二: ※ 买票的人可以根据任意选择预订销售或个人销售或团
体销售中的一种方式,售票处为了方便销售,需要信 用卡付款服务的支持,同时也必然需要票数据库处在 有票可卖的状况中。
※ 图中实现关系包括: ※ 信用卡付款提供付款服务 ※ 票数据库提供购买和状态查询服务
Component A为一个用户构件,Component B为它所依赖的服务构件
2. 实现关系 实现一个接口意味着构件中的实现元素
支持接口中的所有操作。在构件图中,如 果一个构件是某一个或一些接口的实现,
可以使用一条实线将接口连接到构件来表示
总结
▪ 构件图能够呈现整个被建立系统的早期设计, 使系统开发的各个小组由于实现构件的不同而连 接起来。
1、处理器 是指那些本身具有计算能力,能够执行各
种软件的节点,如服务器、工作站等这些 具有处理能力的机器。如下图:
处理器通常表示一个硬件设备而不是软件实体
由于处理器是具有处理能力的机器,所 以在描述处理器方面应当包含了处理器的 调度和进程。
(1)调度
调度是指在处理器处理其进程中为实现一 定的目的而对共同使用的资源进行时间分 配。
在构件图中,构件和构件之间的关系表现 为依赖关系;
定义的类或接口与类之间的关系表现为 依赖关系或实现关系。
在构件图中,构件和构件之间的关系 表现为依赖关系和实现关系: 1.依赖关系
构件与构件之间依赖关系,它的表示方 式与类图中类与类之间的依赖关系的表示 方式相同,都是使用一个从用户构件指向 它所依赖的服务构件的虚线箭头表示。
付款构件和TicketDB票数据库
构件提供的服务。
※ 图中顾客购票的情景如下:
※ 顾客通过位于Kiosk节点的顾客接口控 件进行购票的操作,该顾客接口构件的 购票操作依赖于处于TicketServer节点 上的售票构件提供的服务,售票构件要 完成售票操作,又要依赖统一节点上信 用卡付款构件提供的付款服务和票数据 库构件
解缩写的文档时关于哪方面内容 ④ 利于复用
9.1 构件和构件图
构件图显示的是组成系统的构件之间的 组织及其依赖关系,而构件时指系统中的可 替代性的物理单元。多个系统构件一起组成 了构件图。
例子
9.1.1 构件的定义
目前构件还没有统一的定义,一般认 为:构件是系统中遵从一组接口且提供实 现的一个物理部件,包括软件代码(源代 码、二进制和可执行文件)或者相应组成 部分,通常指开发和运行时类的物理实现。
※ 节点TicketServer(售票服务)上的构件: ※ CreditCardCharges/ManagerInterface/
TicketSeller/TicketDB ※ 节点Kiosk(信息亭)上的构件: ※ CustomerInterface ※ SalesTerminal(销售终端)上的构件: ※ ClerkInterface
构件为什么要用接口呢?
▪ 构件中有非常多的功能,假如有一个类要使用 构件中某个类的某个方法,但当构件中这个具体 的方法发生变化时(例如方法名字的变化或方法 内容的变化),那么该类就不能应用构件中的相 应内容了。应用接口可以隐藏具体的实现细节, 这样,构件中的内容可以任意变化,而接口却是 相关固定的。
6、包规范
在具体的实现中,有时将源文件中的声 明文件和实现文件分离开来,例如,在 C++语言中,往往将.h文件和cpp文件分离 开来,在Rational Rose中,可以在包规范 中放置.h文件,在包体重放置.c和 实现文件,因为有时候会将源文件中的声 明文件和实现文件分离开来。
有时需要指定该处理器的调度方式,从而 使得处理达到最优或比较优的效果。