UML--部署图详解
部署图
部署图用来描述业务过程中的组织机构和资源。
部署图的含义
部署图(Deployment Diagram)描述了一个系统运行时的硬件节点,以及在这些节点上运行的软件构件将在何处物理地运行和它们将如何彼此通信的静态视图。
在一个部署图中,包含了两种基本的模型元素:节点(Node)和节点之间的连接(Connection)。在每一个模型中仅包含一个部署图。如下图所示,是一个系统部署图。
图中包含了客户端、服务器端、数据库服务器和打印机等节点,其中客户端和服务器端通过HTTP方式连接,服务器端与数据库服务器通过JDBC方式连接,客户端中拥有IE7.0进程,服务器端中拥有IIS 6.0进程,数据库服务器为Oracle 9i。
在Rose中可以表示的节点类型包括两种,分别是处理器(Processor)节点和设备(Device)节点。
处理器节点是指那些本身具有计算能力,能够执行各种软件节点,例如,服务器、工作站等这些都是具有处理能力的机器。在UML中,处理器的表示形式如下图:
在处理器的命名方面,每一个处理器都有一个与其他处理器相区别的名称,处理器的命名没有任何限制,因为处理器通常表示一个硬件设备而不是软件实体。
由于处理器是具有处理能力的机器,所以在描述处理器方面应当包含处理器的调度(Scheduling)和进程(Process)。调度是指在处理器处理其进程中为实现一定的目的而对共同使用的资源进行时间分配。有时候我们需要指定该处理器的调度方式,从而处理达到最优或比较优的效果。
在Rose中,对处理器的调度方式默认包含以下几种:
名称 | 含义 |
---|---|
Preemptive | 抢占式,高优先级的进程可以抢占低优先级的进程。默认选项 |
Nonpreemptive | 无优先方式,进程没有优先级,当前进程在执行完毕以后再执行下一个进程 |
Cyclic | 循环调度,进程循环控制,每一个进程都有一定的时间,超过时间或执行完毕后交给下一个进程执行 |
Executive | 使用某种计算算法控制进程调度 |
Manual | 用户手动计划进行调度 |
进程表示一个单独的控制线程,是系统中一个重量级的并发和执行单元。例如,一个构件图中的主程序和一个协作图中的主动对象都是一个进程。在一个处理器中可以包含许多个进程,要使用特定的调度方式执行这些进程,一个显示调度方式和进程内容的处理器如下图所示:
在该图中,处理器的进程调度方式为“Nonpreemptive”,包含的进程为“ProcessA”和“ProcessB”。
设备节点是指那些本身不具备处理能力的节点。通常情况下都是通过其借口为外部提供某些服务,例如打印机、扫描仪等。每一个设备如同处理器一样都要有一个与其他设备相区别的名称,当然有时候设备的命名可以相对抽象一些,例如调节器或终端等。在UML中,设备的表示形式如下图所示:
连接用来表示两个节点之间的硬件连接。节点之间的连接可以通过光缆等方式直接相连接,或者通过卫星等方式非直接连接,但是通常连接都是双向的。在UML中,连接使用一个实线表示,在实线上可以添加连接的名称和构造型。连接的名称和构造型都是可选的。如下图所示:
在连接中支持一个或多个通信协议,它们每一个都可以使用一个关于连接的构造型来描述。如上图所示,该部署图中包含了HTTP和JDBC等协议。
常用通信协议:
名称 | 含义 |
---|---|
HTTP | 超文本传输协议 |
JDBC | Java数据库连接,一套为数据库存取编写的Java API |
ODBC | 开放式数据库连接,一套微软的数据库存取应用编程接口 |
RMI | 远程通信协议,一个Java的远程调用通信协议 |
RPC | 远程过程调用通信协议 |
同步 | 同步连接,发送发必须等到接收方的反馈信息后才能再发送消息 |
异步 | 异步连接,发送方不需要等待接收方的反馈信息就能再发送消息 |
Web Service | 经由诸如SOAP和UDDI的Web Service协议的通信 |
部署图表示该软件系统是如何部署到硬件环境中的,显示了该系统不同的构件将在何处物理地运行,以及它们将如何彼此通信。系统的开发人员和部署人员可以很好地利用这种图去了解系统的物理运行情况。其实在一些情况下,比如,如果我么开发的软甲系统只需要运行在一台计算机上,并且这台计算机使用的是标准设备,不需要其他的辅助这杯,这个时候甚至不需要去为它画出系统的部署图。部署图只需要给那些复杂的物理运行情况进行建模,比如说分布式系统等。系统的部署人员可以根据部署图了解系统的部署情况。
在部署图中显示了系统的硬件、安装在硬件上的软件以及用于连接硬件的各种协议和中间件等。我们可以将创建一个部署模型的目的概括如下。
- 描述一个具体应用的主要部署结构。通过对各种硬件和在硬件中的软甲,以及各种连接协议的显示,可以很好地描述系统是如何部署的。
- 平衡系统运行时的计算资源分布。运行时,在节点中包含的各个构件和对象是可以静态分配的,可以在节点间迁移。如果含有依赖关系的构件实力放置在不同节点上,通过部署图可以展示出在执行过程中的瓶颈。
- 部署图也可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种相关硬件和软件的系统运行模型。
UML--部署图详解相关推荐
- UML概述及UML图详解
UML概述 一.UML简介 (一)UML (Unified Modeling Language)为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于 描述以用例为驱动,以体系结构为中心的 ...
- UML图详解(四)对象图
一.概念 对象图是一个系统的详细状态在某一时刻的快照. 是对象类图的实例,也称为"实例图". 对象图描述系统的某一瞬间,表达系统的对象在该时刻的具体状态(属性和操作). 二.详解 ...
- SVG与UML图详解
一.SVG 可缩放矢量图形(SVG)是W3C的推荐标准,它使用XML描述两维图形结构和图形应用,可以在Web浏览器.手持设备或移动电话等多种上显示.目前稳定版本为1.1版,最新的版本是以草案形式存在的 ...
- 常用的UML建模详解
UML主要包括图表中的十一种,那在本次的介绍中,只讲解活动图.状态机图.顺序图. 种类 UML图 作用 结构图 类图 主要用来业务概念模型分析,在需求分析中必不可少 对象图 一般开发人员会使用,产品经 ...
- UML建模详解(1)—初识UML建模
UML建模简介: UML(Unified Modeling Language的缩写),也称统一建模语言.是用来做软件建模的.不光是在软件的设计阶段用到,在软件的测试,部署阶段都要用到.用于 ...
- 售票系统的组件图和部署图_组件图和部署图详解.ppt
1 组件 (1). 组件的概念 组件(component): 是一个相对独立的可装配的物理块,是系统的一个物理的和可替代的组成部分,一般作为一个独立的文件存在. 组件具有确定的接口,相互之间可以调用, ...
- oracle的uml图,详解Oracle中XMI开发UML图表技术
描述 XML是面向机器的数据格式,虽然手工编写困难,但处理效率高.当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用 ...
- UML图详解(七)——交互图(时序图与协作图)
一.概念 交互图描述对象之间的动态合作关系以及合作过程中的行为次序. 交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程. 交互图有顺序图和 ...
- UML图详解(五)组件图
一.概念 组件图(Component Diagram)又称为构件图,他描述的是在软件系统中遵从并实现一组接口的物理的.可替换的软件模块. 构件图 = 构件(Component) + 接口(Interf ...
- UML图详解(八)状态机(状态图和活动图)
一.概念 状态图和活动图是状态机的两种表现形式.利用状态机可以精确地描述对象的行为. 从对象的初始状态起,开始响应事件并执行某些动作,这些事件引起状态的转换:对象在新状态下又开始响应事件和执行动作,如 ...
最新文章
- 自定义WPF窗体形状
- 广东第二师范学院计算机网络试题,韩山师范学院期末计算机考题2.doc
- VTK修炼之道19:图像基本操作_图像像素值的访问与修改
- 前端面试题——HTML基础篇
- 【渝粤教育】电大中专电子商务网站建设与维护 (27)作业 题库
- lsof用法,查看端口对应的进程,运维(netstat不能用)
- 冲突、冲突域、广播、广播域、洪泛的基本概念
- iso qemu 安装ubuntu_qemu 安装 ubuntu-server 虚拟机
- 我当测试总监的那几年
- 浮动元素经常和标准流父级搭配使用(HTML、CSS)
- 全国市级城市拼音-中文对照表(json格式)
- python中eof什么意思_python eof表什么意思
- Linux系统下VMware虚拟机安装Win7 ISO操作系统
- 关于New Date()获取的不是当前电脑时间问题
- Cocos2d+protobuf仿JJ斗地主源码,win32和Android编译通过
- Frida 代码提示
- 蓝桥杯2020年第十届C/C++省赛A组第4题-迷宫(bfs)
- Apex英雄手游国服何时上线 Apex英雄手游和端游互通吗
- 关闭windows server 2016弹出交互式服务检测窗口
- Burpsuite工具与浏览器之间设置代理、安装证书
热门文章
- 【Linux】文件系统
- Java Essentials: Preventing ConcurrentModificationException
- linux添加命令行rz,linux常用命令——rz -be
- 动态规划:高楼扔鸡蛋
- 用BCV备份Oracle数据库
- h5如何上传文件二进制流_h5pal是怎样练成的 - 二进制处理篇
- uGUI之AutoLayout详解——minHeight,preferredHeight,flexibleHeight
- 中国区域地面气象要素驱动数据集(1979-2018)
- Lucene博客分享
- Throwable源码异常分析