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系列——类 ...
随机推荐
- API对接中经常会出现的签名获取,这只是某一种,仅供给有需要的人参考
要求: 1.对所有传入参数(含系统参数和接口参数)按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的格式.(即 key1=value1&key2=value2…)拼接 ...
- CSS3---关于文本
1.text-overflow用来设置是否使用一个省略标记(...)标示对象内文本的溢出. 2.但是text-overflow只是用来说明文字溢出时用什么方式显示,要实现溢出时产生省略号的效果,还须定 ...
- 条款4:确定对象被使用前已被初始化(Make sure that objects are initialized before they're used)
其实 无论学何种语言 ,还是觉得要养成先声明后使用,先初始化再使用. 1.永远在使用对象之前先将其初始化. 内置类型: 必须手工完成. 内置类型以外的:使用构造函数完成.确保每一个构造函数都将对象的一 ...
- ARM Linux 3.x的设备树(Device Tree)(转)
http://blog.csdn.net/21cnbao/article/details/8457546
- Vue编写轮播组件引入better-scroll插件无法正常循环轮播
临近过年还是发个博客表示一下自己的存在感,这段时间公司突然说想搞小程序,想到这无比巨大的坑就只能掩面而泣,于是乎这段时间在学习小程序开发.关于标题所说的是有老铁问的,我也跟着网上的代码码了一遍然后发现 ...
- HDU 5421 Victor and String
Victor and String Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on HDU. Orig ...
- PC硬件以及引导加载器
PC 硬件 本文介绍供 x86 运行的个人计算机(PC)硬件平台. PC 是指遵守一定工业标准的计算机,它的目标是使得不同厂家生产的机器都能够运行一定范围内的软件.这些标准随时时间迁移不断变化,因此9 ...
- 【尺取】HDU String
http://acm.hdu.edu.cn/showproblem.php?pid=5672 [题意] 给定一个小写英语字母组成的字符串,求这个字符串一共包含多少个至少有m个不同字母的连续子序列 [思 ...
- 博弈 Nim问题 POJ2234
定义: 通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是 “选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了, 则判负(因为他此刻 ...
- 重写jQuery serialize方法,使文本框在没有输入的情况下,使用其支持默认值
未压缩版 jQuery.fn.extend({ serialize:function() { return jQuery.param(this.serializeArray()); }, serial ...