构建图和部署图
浅谈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)以及它们之间的关系。
包图 构件图 与部署图
包图中的关系
2、泛化关系 包间的泛化关系类似于类间的泛化关系,使
用一般包的地方,可以用特殊包代替。 在系统设计中,对某一个特定的功能,有多
种实现方法。例如,实现多数据库支持;实 现B/S和C/S双界面。这时就需要定义一 些高层次的“抽象包”和实现高层次功能的 “实现包”。
13
泛化关系
例如,说明GUI有 两种风格:一种是基 于WinForm的 C/S风格,一种是 WebForm的B/S 风格。
15
创建包图
1.标识候选包的原则:
把类图中关系紧密的类放到一个包中; 在类继承类层次中,把不同层次的类放在不同
的包中。
也可以把用例模型作为包的来源。然而,用 例横跨分析包是非常普遍的——一个用例可 以由几个不同包中的类实现。
16
创建包图
2.调整候选包 在已经识别一组候选包后,然后减少包间依
《import》关系:最普遍的包依赖类型,说明提供者包的命 名空间将被添加到客户包的命名空间中,客户包中的元素也能 够访问提供者包的所有公共元素。
《access》关系:如果只想使用提供者包中的元素,而不想将 两个包合并,则应使用该关系。在客户包中必须使用路径名,才 能访问提供者包中的所有公共元素。
分解 是软件开发中控制软件复杂性的重要
手段。 在OO方法中, 需要考虑如何把相关的类放
在一起。 把语义相近并倾向于同一变化的元素组织起
来加入同一个包中,以便于理解和处理整个 模型。
2
为什么要包
包的作用是: 1)对语义上相关的元素进行分组 2)定义模型中的“语义边界” 3)提供配置管理单元 4)在设计时,提供并行工作的单元 5)提供封装的命名空间,其中所有名称必 须唯一
3
08,09构件图和部署图
1 构件图概要
构件图用于静态建模, 构件图用于静态建模,是表示构件类型的组织以 及各种构件之间依赖关系的图。 及各种构件之间依赖关系的图。 构件:可替换的物理部分,包括软件代码、脚本 构件:可替换的物理部分,包括软件代码、 或命令行文件,也可以表示运行时的对象,文档, 或命令行文件,也可以表示运行时的对象,文档, 数据库等。 数据库等。 构件图通过对构件间依赖关系的描述来估计对系 统构件的修改给系统可能带来的影响。 统构件的修改给系统可能带来的影响。
部署图
1 部署图概要 部署图用于静态建模, 静态建模 部署图用于静态建模,是表示运行时过程节点结 构件实例及其对象结构的图。 构、构件实例及其对象结构的图。 如果含有依赖关系的构件实例放置在不同节点上, 如果含有依赖关系的构件实例放置在不同节点上, 部署视图可以展示出执行过程中的瓶颈。 部署视图可以展示出执行过程中的瓶颈。 部署图的两种表现形式: 部署图的两种表现形式:实例层部署图和描述层 部署图(会在后面的实例中给出 会在后面的实例中给出)。 部署图 会在后面的实例中给出 。
5 关于部署图与构件图
部署图与构件图相同的构成元素: 部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、 构件、接口、构件实例、构件向外提供服务、构件要 求外部提供的服务。 求外部提供的服务。 部署图与构件图的关系: 构件图的关系 部署图与构件图的关系: 部署图表现构件实例; 部署图表现构件实例; 构件图表现构件类型的定义。 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态, 部署图偏向于描述构件在节点中运行时的状态,描述了构 件运行的环境; 件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。 构件图偏向于描述构件之间相互依赖支持的基本关系。
构件图与部署图
45
构件图分类
(1)用户界面层:采用JSP页面实现用户界面。 我们通过构造型《Java Server page》来表示构 件。这一部分的构件,主要由边界类组成。
13
构件图的作用
构件图的基本目的是:使系统人员和开发人 员能够从整体上了解系统的所有物理部件, 同时,也使我们知道如何对构件进行打包, 以便交付给最终客户,最后,构件图显示了 被开发系统所包含的构件之间的依赖关系。
构件图从软件架构的角度来描述一个系统的 主要功能,如系统分成几个子系统,每个子 系统包括哪些类、包和构件,它们之间的关 系以及它们分配到哪些节点上等。
一个构件图可以表示一个系统全部或者部分的构件 体系。从组织内容看,构件图显示软件构件的组织 以及构件之间的依赖关系,包括源代码构件、二进 制代码构件以及可执行构件。
构件图是对OO系统物理方面建模的2个图之一。
9
构件图的概念
构件图主要用于描述各种软件构件之间的依 赖关系,例如,可执行文件和源文件之间的 依赖关系,所设计的系统中的构件的表示法 及这些构件之间的关系构成了构件图。
将整个“在线酒店预订子系统”作为一个构件,考虑 其对外接口。显然它首先需要提供用户界面;其次 还需要与加盟的酒店系统连接,完成预订工作
35
绘制构件图
确定子构件和接口
显然要有一个构件来实现用户界面,一个构件来完 成与酒店系统的连接和预订,另外还应该有一个负 责将用户的需求与酒店的供给进行匹配的“调度程 序”
提供服务
※
※ 售票处需要付款和购买提 供服务
UML的十种视图
静态图捕获逻辑结构类图 class系统静态结构对象图 object活跃对象包图 packet系统的分解行为图捕获现实行为交互图顺序 sequence消息发送时序合作collaboration动态协作关系状态图 statechart对象的动态行为活动图 activity描述系统为完成某项功能而执行的操作序列,包含控制流和信息流控制流:某操作完成后对其后续操作的触发信息流:刻画操作之间的信息交换实现图捕获执行环境构件图 component软件实现系统中各组分以及依赖关系部署图 deployment运行环境的硬件及网络物理体系结构UML可视化建模:三、UML的十种视图1.用例图(use case diagram)从系统的外部用户的观点看系统应具有的功能。
它只说明系统实现什么功能,而不必说明如何实现。
用例图主要用于对系统,子系统或类的行为进行建模。
2.类图(class diagram)描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,边表示类之间的联系(包括继承(泛化)、关联、聚集)。
3.对象图(object diagram)类图的一种变形,所使用的符号与类图基本相同。
在对象名下面要加下划线。
(图略)4.包图(packet diagram)包是基于模型元素的含义或作用将模型元素分组的一种机制。
通过分组,可提高模型的维持性。
包之间的关系包括继承、构成与依赖。
5.顺序(时序)图(sequence diagram)交互图之一。
描述了在时间上对象交互的安排,展现了多个交互对象以及信息交流的序列。
时序图包含对象、对象的生命线、按顺序对象间的信息交流、控制焦点(可选的)。
6.合作(协作)图(collaboration diagram)交互图之二,强调发送和接收消息的对象间的结构组织,它与顺序图是等价的。
在图形上,协作图是顶点和弧的结合。
协作图包含对象、链、消息。
(图片来自《软件工程(第二版)》齐治昌、谭庆平、宁洪)7.状态图(statechart diagram)状态图描述类的对象的动态行为。
项目管理过程、视图
(1)类图(class diagram)展现了一组类、接口、协作和它们之间的关系。
在面向对象系统的建模中所建立的最常见的图就是类图。
类图给出了系统的静态设计视图。
包含主动类的类图给出了系统的静态进程视图。
(2)对象图(object diagram):展现了一组对象及它们之间的关系。
对象图描述了在类图中所建立的事物实例的静态快照。
和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
(3)构件图(component diagram):展现了一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。
构件图用于表示系统的静态设计实现视图。
对于由小的部件构建大的系统来说,构件图是很重要的。
构件图是类图的变体。
(4)组合结构图(composite structure diagram):它可以描绘结构化类(例如构件或类)的内部结构,包括结构化类与系统其余部分的交互点。
它显示联合执行包含结构化类的行为的部件配置。
组合结构图用于画出结构化类的内部内容。
(5)用例图(use case diagram):展现一组用例、参与者(一种特殊的类)及它们之间的关系,它描述了系统与外部系统及用户之间的交互。
用例图给出系统的静态用例视图。
这些图在对系统的行为进行组织和建模时是非常重要的。
(6)顺序图(sequence diagram):又称序列图。
是一种交互图(interaction diagram),交互图展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成。
交互图专注于系统的动态视图。
顺序图是强调消息的时间次序的交互图。
(7)通信图(communication diagram):又称协作图。
也是一种交互图,它强调收发消息的对象或角色的结构组织。
顺序图和通信图表达了类似的基本概念,但每种图所强调的概念不同,顺序图强调的是时序,通信图则强调消息流经的数据结构。
部署图
1 部署图概述
Printer ClientPC <<LAN>>
<<LAN>>
WageServer <<Internet>> BankSystem
DataBase
<<LAN>>
客户/服务器系统部署图 客户 服务器系统部署图
1 部署图概述
(3)为完全的分布式系统建模 ) 完全的分布式系统分布于若干个分散的 节点上, 节点上,由于网络通信量的变化和网络故障 等原因,系统是在动态变化的, 等原因,系统是在动态变化的,节点数量和 软件构件的分布可以为断变化。 软件构件的分布可以为断变化。为完全的分 布式系统建模时, 布式系统建模时,Internet、LAN等网络表 、 等网络表 示为一个节点。 示为一个节点。
图 书 管 理 系 统 部 署 图
4 部署图操作
4.1 创建和显示部署图
– 可以通过下面三种方式中的某一种来创建或 显示部署图: 显示部署图: • 单击 单击Browse>Deployment Diagram; ; • 在工具栏上,单击部署图图标; 在工具栏上,单击部署图图标; • 在浏览器中,双击部署图图标。 在浏览器中,双击部署图图标。
部署图可以帮助系统的有 关人员了解软件中各个构 件驻留在什么硬件上, 件驻留在什么硬件上,以 及这些硬件之间的交互关 另外, 系;另外,部署图还可以 用来描述哪一个软件应该 安装在哪一个硬件上。 安装在哪一个硬件上。
1 部署图概述
部署图中主要包括三种标记符:节点、 部署图中主要包括三种标记符:节点、构 件和关联关系。 件和关联关系。 节点:节点是各种计算资源的通用名称, (1)节点:节点是各种计算资源的通用名称, 包括处理器和设备两种类型, 包括处理器和设备两种类型,两者的区别是处 理器能够执行程序的硬件构件(如服务器、 理器能够执行程序的硬件构件(如服务器、工 作站), ),而设备是一种不具备计算能力的硬件 作站),而设备是一种不具备计算能力的硬件 构件(如打印机),通过其接口对外提供服务。 ),通过其接口对外提供服务 构件(如打印机),通过其接口对外提供服务。 处理器和设备都用 Modem PC 箱子图形表示, 箱子图形表示,区别是处 理器的侧面有阴影。 理器的侧过组合构件图和部署图可以得到一个完整 的实现方式图, 的实现方式图,它可以可视化地描述应在什 么硬件上部署软件以及怎样部署。 么硬件上部署软件以及怎样部署。
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 2.0共有10种图,分别为表示系统静态结构的静态模型(包括类图、组合结构图、部署图),以及表示系统动态结构的动态模型(包括用例图、序列图、对象图、协作图、状态图、活动图、组件图),它们各用以表现不同的视图,如表1-1所示。
用例之间也可以存在包含、扩展和泛化等关系:
(1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。
(2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。
它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。
在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。
所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。
(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。
当父用例能够被使用时,任何子用例也可以被使用。
如在图2.4中,订票是电话订票和网上订票的抽象。
[UNL课件] 第12章 构件图与部署
12.1 构件
– 连接件示例:
销售目录
: 商品盘点清单 :
:履行
:查找项
: 发货项
: 获得订单 :订单 输入
:订单交接
: 订单处理
收费:信用卡
12.2 部署图
• 1、术语和概念
– 1) 部署图(deployment diagram)
• 是一种展示运行时进行处理的结点和在结点上生存 的制品的配置的图。
– 端口提供的封装性和独立性更大程度上保证了构件的 封装性和可替换性。
12.1 构件
• 端口的UML表示
– 端口被表示为跨立于构件边界上的方块。
使用该接口 查询预订 情况 Booking Load Attractions 将节目信息录入 售票DB以便售票 Credit Cards 使用该接口完成 信用卡支付
• 制品(artifact):是存在于实现平台层的系统的物理部 分。表示为带有《artifact》构造型的矩形。内写上制品 名称。
• 部署图是结点和弧的集合。
– 也可以包括注解、约束还有包。
《artifact》 pos.exe
12.2 部署图
– 2) 结点(node)
• 又译作节点,是存在于运行时并代表一项计算资源的 物理元素,一般至少拥有一些内存,而且常常具有处 理能力。UML中表示为一个立方体。
– 3)对全分布式系统建模(续)
本章小结
• 构件 • 部署图
• UML表示为一条实线。
• 连接是双向的。 • 可以是直接连接(如通过光缆),也可非直接连接 (如通过卫星)。
12.2 部署图
• 2、用法
– 部署图用于对系统的静态部署视图建模。 – 主要来解决构成物理系统的各组成部分的分布、 提交和安装。 – 使用情况
学习uml很简单---6.实现图
图书管理系统部署图
条码阅读器 打印机 识别系统
数据库服务器 个人计算机 数据库系统 图书管理系统
打印机驱动程 序 数据库接口
网络计算机 前端系统
小结
• UML 实现图主要用来描述系统实现方面的信息。实现 图从系统的层次来描述硬件的组成和布局,以及软件 系统的划分和功能实现。实现图主要包含构件图和部 署图。 • 构件图描述了软件构件及各构件之间的关系。在构件 图部分需要理解构件的概念,了解构件的分类;理解 接口的概念和作用。构件图的使用有利于了解系统的 功能和结构,有利于软件的复用。
– – – – 源代码构件:它是实现一个类或多个类的源代码文件。 二进制构件:它是一个目标码文件、一个静态链接库或动态链接库文 件。 可执行构件:它是一个可执行的程序文件,一个可以在计算机上运行的 执行单元。 数据文件或文档:它是系统中用到的数据集合或系统中的文档。
接口
• 面向对象的一个基本特征是封装:对象把自己的一些 信息和实现细节隐藏起来。同时为了能够让其它的对 象访问自己,对象必须对外提供能够访问的途径,这 种途径就是接口。 • 在面向对象的程序设计语言中,接口就是指一些公共 的方法。
第6章
实现图
课程目标
• • • • 构件图 构件图的应用 部署图 部署图的应用
实现图
• 实现图用来描述系统实现方面的信息 , 主要考虑到重 用性、扩展性和系统的硬件配置描述等方面。 • 它从系统的层次来描述硬件的组成和布局,软件系统 划分和功能实现。 • 实现图包括构件图和部署图
– 构件图用来显示一组构件之间的组织及其依赖关系。 – 部署图则用来描述系统硬件的物理拓扑结构以及在此 结构上执行的软件。
图书管理系统
• 系统需要的硬件设备有:
构件图和部署图[系统部署模型]
构件组件图和部署图()学习内容¢¢¢构件图和部署图的基本概念使用创建构件图和部署图用部署一个实际的项目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. 部署图的基本概念¢¢部署图()描述了一个系统运行时的硬件结点,以及在这些结点上运行的软件构件将在何处物理地运行,以及它们将如何彼此通信的静态视图。
4-2组件图和部署图
《4.2 组件图和部署图》1. 目标概述[2分钟] (2)2. 回顾[3分钟] (2)3. 课程知识点讲解 (2)3.1. 组件图(Component Diagram) [25分钟] (2)3.2. 任务解决[15分钟] (4)3.3. 部署图[25分钟] (5)3.4. 任务解决[15分钟] (6)4. 精练[45分钟] (7)5. 小结[5分钟] (7)6. 考核点 (7)7. 作业答案 (7)8. 扩展练习 (8)9. 学生问题汇总 (8)10. 教学后记 (8)本节目标⏹本节讨论系统的实现视图:组件图和部署图。
本节包括以下主要内容:✧组件图的基本概念✧组件图的应用:逻辑部署✧部署图的基本概念✧部署图的应用:物理部署⏹通过教学使学生理解实现视图的相关概念,能够使用组件图和部署图对一个简单系统进行描述,并独立完成本节提出的任务。
本节重点⏹组件图的基本概念⏹组件图的应用:逻辑部署⏹部署图的基本概念⏹部署图的应用:物理部署本节难点⏹组件图和部署图的区别授课课时⏹2课时教法建议在讲述本节内容时要注意理论联系实践。
1.目标概述 [2分钟]本节讨论系统的实现视图:组件图和部署图。
并提出了本节应该完成具体任务。
2.回顾 [3分钟]回顾在上一节讲述的有关对象图的知识。
[讲述+提问]3.课程知识点讲解3.1.组件图(Component Diagram) [25分钟]引入:在对软件建模的过程中,可以使用用例图来表示系统的功能,使用类图来描述业务中的事物,使用活动图、交互图、状态图来对系统动态行为建模。
在完成这些设计后,分析人员就需要将这些逻辑设计图转化成实际的事物,如可执行文件、源代码、应用程序库等。
在此过程中,你会发现有些组件必须重新建立,而有些组件则可以进行复用。
因此,可以使用组件图来可视化物理组件以及它们之间的关系,并描述其构造细节。
主题:组件图是对面向对象系统的物理方面建模时使用的两种图之一(另一种图是部署图),用于描述软件组件以及组件之间的组织和依赖关系。
组件图和部署图
组件和类之间的不同点:
类是逻辑抽象,组件是物理抽象,即 组件可以位于节点(node)上。 组件是对其它逻辑元素,如类的物理 实现。即,组件是软件系统的一个物 理单元。
(3)组件的表示
在UML中,组件通过以下形式来表示:
• 五个用于组件的标准变体 可执行文件(executable)
• 代表一个可以在一个结点上运行的组件
2 . 连接
连接表示两个节点之间的物理连接关系,用实线表示, 在连接上可以加多重性、角色、约束等。 •连接是代表一种交流的机制: 物理媒介 软件协议
如何开发部署模型?
• 部署模型通常与组件模型并行开发。为了开 发部署模型,可以迭代使用以下步骤:
1.确定模型范围。 2.确定分布结构。 3.确定节点和它们的连接。 4.把组件分布到节点。 5.为不同组件之间的依赖建模。
(1) 对源代码文件之间的相互关系建模
(2)对可执行文件之间的相互关系建模
组件图的例子:
二、部署图
部署图(deployment diagram):也称配 置图、实施图,用来描述软件系统中硬件 和软件的物理节构。 一般一个系统仅有一 个部署图。部署图 由节点(Node)和节点 间的关联关系(Association)组成。
1.节点
节点(node) 是运行时代计算资源的物理元素。节点通常 有内存及处理能力,它可以是物理设备及运行在该设备上的软 件系统. 节点分为处理机(processor)和设备(device)两类。
• 处理机:能执行软件、具有计算能力的节点,如主机、服务 器、客户机等; • 设备:没有计算能力的节点,如打印机、传感器、终端等。
库文件(library)
• 代表一个静态或动态对象库
数据表(table)
构件图和部署图
2、子程序规范和子程序体 子程序是一个单独处理元素的包,通常 用它代指一组子程序集。用来显示子程序 的规范和实现体。如图:
3、主程序 是指组织起来以完成一定目的连接单元的 集合,在系统中,肯定有一个文件用来指 定系统的入口,也就是系统程序的根文件, 这个文件被称为主程序。如图:
4、数据库 在Rational Rose中,数据库也被认为是 一种构件
1、处理器 是指那些本身具有计算能力,能够执行各 种软件的节点,如服务器、工作站等这些 具有处理能力的机器。如下图:
处理器通常表示一个硬件设备而不是软件实体
ቤተ መጻሕፍቲ ባይዱ
由于处理器是具有处理能力的机器,所 以在描述处理器方面应当包含了处理器的 调度和进程。 (1)调度 调度是指在处理器处理其进程中为实现一 定的目的而对共同使用的资源进行时间分 配。 有时需要指定该处理器的调度方式,从而 使得处理达到最优或比较优的效果。
关于构件图和部署图
部署图与构件图相同的构成元素: 构件、接口、构件实例、构件向外提供服务、构件要求 外部提供的服务。 部署图与构件图的关系: 部署图表现构件实例; 构件图表现构件类型的定义。 部署图偏向于描述构件在节点中运行时的状态,描述了 构件运行的环境; 构件图偏向于描述构件之间相互依赖支持的基本关系。
※ ※ ※ ※
图中实现关系包括: 信用卡付款提供付款服务 票数据库提供购买和状态查询服务 售票处提供预订购买、个人购买和团 体购买服务
部署图例子
实例1 实例层部署图 ※ 实例层部署图描述各节 点和它们之间的连接。
※ 本图中的信息与上张描 述层部署图中的内容是 相互对应的。
※ 图中的关系是各个节点 之间存在的通信关系。
构件图例子
※ 实例1. ※ 图中的构件名称是Dictionary字典。 ※ 该构件向外提供两个接口,即两个服务Spell-check拼写检查、Synonyms同义词。
软件工程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本身提供了一些固有的依赖关系定义。其表示如下图所 示。
构件图及其模型元素
• 可执行构件 :是系统执行时使用的构件,表示处理机上运行的可执 行单元。
1.构件图及其模型元素
• 1.构件 • 构件是由类、接口等逻辑元素打包而形成的物理模块
,是系统中可替换的部分。 • (2)构件和类
• 相似之处:1)都有名称;2)都实现一组接口;3)都参与 依赖、泛化和关联关系;4)都可以被嵌套;5)都有实例 ;6)都可以参与交互。
部署图建模及实例分析在线销售系统本次课的主要内容构件图表达系统代码本身的结构将系统中的构件包装成可替代性的物理单元部署图是uml中唯一能描述系统硬件的图由结点组成
本次课的主要内容
• 构件图与部署图
• 1.构件图及其模型元素 • 2.构件图建模及实例分析(在线销售系统) • 3.部署图及其模型元素 • 4.部署图建模及实例分析(在线销售系统)
3.部署图及其模型元素
• 1.结点 • (3)结点内包含的构件
• 构件与结点的关系
• 构件是参与系统执行的事物,结点是执行构件的事物。 • 结点执行构件,构件是被结点执行的事物 • 构件表示逻辑元素的物理打包,而结点表示构件的物理部署。
• 部署图可以表明构件之间的依赖关系。
• 二、连接 • 关联关系
• (1)输出接口:被构件实现的接口(供口) • (2)需求接口:构件使用的接口(需求接口或引入接口) • 接口位于两个构件中间,断开了构件的直接依赖关系。可
以由一个构件输出也可以被另一个构件引入。 • 2种方式表示构件与接口的关系
• 采用图标的方式 • 采用扩展的方式
1.构件图及其模型元素
• 3.构件之间的关系 • 构件图中可以体现出构件之间的依赖关系