UML之部署图(Deployment Diagram)设计与示例
来源:互联网 发布:chart.js详细参数 编辑:程序博客网 时间:2024/05/18 02:19
译者说
一直以来,对UML部署图并没有仔细研究其设计理念,直接按照自己的理解画出能表达内容的样子就完事了。实际上,UML也在不断发展和完善,许多UML工具也都提供了良好的支持,有必要了解其设计理念,以达到事半功倍的效果。
概述
部署图是结构图的一种,它展示了系统的架构。例如:一个软件系统的众多实体(Artifacts)是如何构成部署目标(Node,节点)的。
实体(Artifact)表示在现实世界中具体的元素。实体通常是开发过程的结果,例如:可执行文件、库、存档、数据库schema、配置文件等等。
部署目标(Deployment target):通常用节点(Node)来表示,代表一个硬件设备或某些软件运行环境。节点可以通过communication paths构成任意复杂度的、网络连接的系统。
注意:在UML1.x部署图规范中,组件可以直接部署到节点中。但是在UML2.x规范中,实体可以部署到节点,实体也可以实现组件。组件则可以通过实体间接部署到节点。
译者说:在UML2.x规范中,组件不能直接部署到节点。
部署图可以用于描述规范级别的架构,也可以描述实例级别的架构。这与类图和对象图有点类似。
规范级别:展示从实体到节点的部署情况。不涉及具体的实体实例或节点实例。
实例级别:展示实体实例到具体的节点实例的部署情况。它可以用于展示不同部署之间的差异。例如,开发和生产环境的部署可以通过具体的名字或ID(这里指的是具体的构建、部署服务器、或设备)加以区分。
译者说:上文中已经提到,规范级别和实例级别其实就像类图和对象图之间的关系。规范级别是抽象的、统一的、不具体的、具有指导性;实例级别是具体的、特殊的、与实际紧密相关的,具有直观的现实意义。同样,类是抽象的、只是一种行为和属性的描述;而对象(也叫实例)是类的实例化结果,是具体的,对应一个有现实意义的事物。
常用的部署图有如下几种:
- 通过实体实现(展现)组件;
- 规范级别的部署图;
- 实例级别的部署图;
- 系统网络架构图;
译者说:以下就是逐一介绍四种用法。
通过实体实现组件
组件图展示了组件及组件之间的关系(包括分类器),而部署图则展示了实体到节点的部署情况。这里遗失了一个清单图(manifestation diagram),用于表示如何通过实体实现组件,也可以表示实体的内部结构。
然而,在UML2.4规范中,并未定义清单图。可以通过组件图或部署图来展示清单图。
样图如下:
规范级别的部署图
部署Web应用到Tomcat JSP服务器以及部署数据库schema到数据库系统的样图如下:
实例级别的部署图
部署应用到应用服务器以及部署若干schema到数据库服务器的样图如下:
系统网络架构图
部署图可以用于显示系统的逻辑或物理网络架构。它可能不需要实体和部署,也可能只有主要角色。样图如下:
网络架构图
英文原文
阅读原文 | 作者官网 | 公众号 | Feed | 订阅 | 发私信
- UML之部署图(Deployment Diagram)设计与示例
- UML之部署图(Deployment Diagram)
- UML之部署图(Deployment Diagram)
- UML 部署图 deployment diagram
- UML建模之部署图(Deployment Diagram)
- UML建模之部署图(Deployment Diagram)
- UML之六——部署图(Deployment Diagram)
- UML建模之部署图(Deployment Diagram)
- UML建模之部署图(Deployment Diagram)
- UML建模之部署图(Deployment Diagram)
- UML建模之部署图(Deployment Diagram)
- 【UML】-九种图之部署图(deployment diagram)
- UML建模之部署图(Deployment Diagram)
- UML建模之部署图(Deployment Diagram)
- 【UML】部署图(Deployment Diagram)
- UML之部署图(deployment diagram)、构件图(component diagram)
- 部署图Deployment Diagram
- 部署图(Deployment Diagram)—UML图(九)
- 使用spring task实现定时任务
- 逆序对总结 【各种求法】
- 南阳OJ 题目56-阶乘因式分解(一)
- 【Dubbo+Zookeeper】Dubbo初见
- 关于java中封装类的详细解释
- UML之部署图(Deployment Diagram)设计与示例
- 14控制类名className
- 概率统计与机器学习:机器学习常见名词解释(过拟合,偏差方差)
- D3.js的缩放和根据指定名称进行节点之间的连线
- 把自己的应用程序push至system/app下,把自己的app改成系统级别的app
- LINUX之基本命令的使用
- vue.js基础-处理用户输入与双向数据绑定
- GHGL项目-其他问题锦集
- Android 通过post上传文件--HttpURLConnection实现