UML之实现图
我们前面学过的用例图、类图、活动图、顺序图和协作图都描写叙述了逻辑和设计方面的信息。那么如今我们来学习和实现有关的两个图:构件图和部署图。
实现图用来描写叙述实现方面的信息,它从系统的层次来描写叙述下面双方面的信息:硬件的组成和布局;软件系统划分和功能实现。
一、构件图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXdsenh4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
1、概念
从建房子来说,一座房子有它的组成,橱柜、窗户、们……那么在系统中。我们也有类似的东西,把它称为构件
构件图:用来显示一组构件之间的组织与依赖关系
构件图从软件架构的角度来描写叙述一个系统的主要功能,如子系统、类、包、构件等。使用构件最重要的是复用。
构件(component)是系统中遵从同一组接口且提供事实上现的物理的、可替换的部分。
每一个构件能实现一定的功能。为其它构件提供使用接口,方便软件的复用。
构件举例:对象库、可运行体、COM+、企业级Java Bean
2、构件的类型
构件是定义良好的接口实现单元,它能够是下面几种类型:源码构件(源码文件)、二进制构件(目标码文件、静态链接库、动态链接库)、可运行构件(可运行程序)、数据文件或文档
3、构件和类
类表示逻辑抽象,而构件表示物理抽象;构件是其它元素的物理实现;类能够直接拥有属性和操作,普通情况下,构件一般仅仅拥有仅仅能通过其接口訪问的操作。
4、构件的特点
构件是物理的;构件是可替换的;构件是系统的一部分;构件是遵从一组接口并提供对一组接口的实现
5、构件与接口:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXdsenh4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
构件与其相应接口之间的关系:实现(realization)
构件与其他接口之间的关系:依赖(dependency)
示出接口(exporterface):构件实现的接口
引入接口(imporinterface):构件使用的接口
二、部署图
1、概念
部署图:用来描写叙述系统硬件的物理拓扑结构以及在此结构上执行的软件。
主要由节点和节点之间的联系构成,用于表示一个分布式系统的执行系统结构。
2、节点(Node)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXdsenh4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
节点是一个物理元素,它在执行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个构件集合一般来说位于一个节点。但有可能从一个节点转到还有一个节点。
节点的图标是一个三维立方体图形,而且节点必须有名字。与对象类一样。节点能够用标记值说明名字的性质,在节点图标中也能够列出配置在本节点的组件。以便更清楚地表示节点的内容,这种节点称为扩充节点。
节点和对象类一样能够区分为型和实例。节点的型代表计算机资源的不同类型,节点的实例代表特定的详细的计算机资源。
对象和组件实例能够驻留在节点实例上。
一个节点能够与其他节点、组件和对象有关联。
节点和对象类、协同、组件等模型元素一样能够组织成包。
3、节点的联系
节点与节点通过物理连接发生关系。物理连接如以太网络、共享总线等,从硬件方面保证了系统的节点协同执行。
节点与节点、节点与组件之间着多种类型的联系,包含关联(通信联系)和依赖(支持联系、成为联系)。
1.1 通信联系
通信联系是节点之间的一种关联,是节点之间的通信路径连接的模型。通信联系的表示法是用一条实关联线连接两个节点。在实关联线上能够加构造型以表达节点间的通信路径或连接的性质。
2.2 支持联系
支持联系是节点与组件或对象之间的依赖联系。假设一个半月节点与一个组件或对象存在着支持联系,说明该节点上驻留着该组件或对象,该组件或对象可以在该节点上运行。支持联系的表示法是用一条虚箭线从节点指向所连接的组件或对象,并可在虚箭线上加有构造型《supports》。
3.3 成为联系
成为联系是组件与组件、组件与对象、对象与对象之间的依赖联系。成为联系不是节点之间的联系,可是它是组件或对象在节点之间的迁移的模型。成为联系的表示法是用一条虚箭线从一个节点中的组件指向还有一个节点中的组件或从一个节点中的对象指向还有一个节点中的对象,并可在虚箭线上加有构造型《become》。
三、实战演练
针对机房收费系统的构件图。
针对机房收费系统的部署图。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXdsenh4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
因为第一次接触并画这种图,有非常多不完好的地方。还请大家多多批评指正!
四、总结
不论什么事物都是能够实现的。仅仅要你动手去找答案,那么线索一定会出如今你的眼前。
UML之实现图的更多相关文章
- [UML]UML系列——时序图(顺序图)sequence diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- [UML]UML系列——类图class的关联关系(聚合、组合)
关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...
- [UML]UML系列——类图class的依赖关系
相关文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列—— ...
- [UML]UML系列——类图class的泛化关系
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图C ...
- [UML]UML系列——类图class的实现关系Realization
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
- [UML]UML系列——包图Package
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
- [UML]UML系列——活动图activity diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- UML(一) 类图及类间关系
原创文章,同步发自作者个人博客,http://www.jasongj.com/uml/class_diagram/ UML类图 UML类图介绍 在UML 2.*的13种图形中,类图是使用频率最高的UM ...
- UML动态模型图简单介绍
UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...
- [UML]UML系列——状态机图statechart diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
随机推荐
- cmd启动MySQL服务器发生错误
Mysql net start mysql启动,提示发生系统错误 5 拒绝访问 原文:https://blog.csdn.net/angel_guoo/article/details/7919037 ...
- 【HDU 6000】Wash(贪心)
Problem Description Mr.Panda is about to engage in his favourite activity doing laundry! He's brough ...
- Leetcode 229.求众数II
求众数II 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素. 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1). 示例 1: 输入: [3,2,3] 输出: ...
- Cake(凸包+区间DP)
You want to hold a party. Here's a polygon-shaped cake on the table. You'd like to cut the cake into ...
- Java实战及解析 — Maven快速入门
五分钟快速入门 mvn --version mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -Darche ...
- .net异步编程async和await的讨论收获
微软官方描述: C# 5 引入了一种简便方法,即异步编程.此方法利用了 .NET Framework 4.5 及更高版本..NET Core 和 Windows 运行时中的异步支持. 编译器可执行开发 ...
- php-fpm.conf
[global]pid = /usr/local/php/var/run/php-fpm.piderror_log = /usr/local/php/var/log/php-fpm.loglog_le ...
- COJ 1211 大整数开平方
手写求大整数开根号所得到的值,具体计算过程参考别人的资料,最后利用java的大整数得到答案 别人博客链接:http://www.cnblogs.com/Rinyo/archive/2012/12/16 ...
- react.js 渲染一个列表的实例
//引入模块 import React,{Component} from 'react'; import ReactDOM from 'react-dom'; //定义一个要渲染的数组 let use ...
- 高精度模板(From JCVB)
#include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #i ...