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系列——类 ...
随机推荐
- Centos 7 编译php 7.2.10
步骤一:安装依赖 yum install -y wget gcc gcc-c++ gd-devel zlib-devel libjpeg-devel libpng-devel libiconv-dev ...
- 简单的MVC 权限管理
花了3天时间研究了下对于 NHibernate+MVC4+bootstrap+Redis(这个是选配只做了登陆测试)+T4 这些都是第一次使用.用着有些生硬权当鼓励下自己,记录下来有空就继续完善. 思 ...
- Java基础学习总结(92)——Java编码规范之排版、注释及命名
为使开发人员养成良好的开发习惯,编写可读性强.易维护的程序,结合以往资料,现整理Java编码规范,将之作为开发人员的参照依据. 一.排版 1.相对独立的程序块之间必须加空行 下列情况应该使用一个空行: ...
- NLS_LANG在客户端不能确定,字符集转变将造成不可预期的后果
原因:1,没有客服端配置字符集2,客户端字符集跟服务端字符集不一致 解决:1,打开plsql 帮助-支持信息看看uls_lang是否设置 2,查看服务器端字符集 Select *from V$NLS_ ...
- HDU-1087Super Jumping! Jumping! Jumping!
Super Jumping! Jumping! Jumping! ...
- CodeForce 448C 木片填涂问题
题目大意:有多片木片需要填涂,可以每次横着涂一行,也可以一次涂一列,当然你涂一行时遇到中间长度不够高的木片,填涂到此中断 这题目运用dfs能更容易的解出,虽然还是十分不容易理解 #include &l ...
- Shell脚本的编写,sed的使用以及一些正则表达式
Shell脚本的简单编写以及sed的使用 标签(空格分隔): 博客文章 前一阵子为了批量修改Web审计规则,故编写了一个Shell脚本,顺便使用了下sed,顺便把正则表达式也重新学习一遍,感觉还是需要 ...
- php 翻转字符串
//方法一 function strrev_charset($string,$charset='utf-8'){ if(!is_string($string) || !mb_check_encodin ...
- The Bottom of a Graph
poj——The Bottom of a Graph Time Limit: 3000MS Memory Limit: 65536K ...
- Topcoder 658Div2
补题风向标——>> 假装题意知道 A:暴力合成一遍了 n=s.size(); m=t.size(); ss+=s; tt+=t; if (ss==tt) or not; B:题意是给定 1 ...