我们前面学过的用例图、类图、活动图、顺序图和协作图都描写叙述了逻辑和设计方面的信息。那么如今我们来学习和实现有关的两个图:构件图和部署图。

实现图用来描写叙述实现方面的信息,它从系统的层次来描写叙述下面双方面的信息:硬件的组成和布局;软件系统划分和功能实现。

一、构件图

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之实现图的更多相关文章

  1. [UML]UML系列——时序图(顺序图)sequence diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  2. [UML]UML系列——类图class的关联关系(聚合、组合)

    关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...

  3. [UML]UML系列——类图class的依赖关系

    相关文章          [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列—— ...

  4. [UML]UML系列——类图class的泛化关系

    系列文章       [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图C ...

  5. [UML]UML系列——类图class的实现关系Realization

    系列文章 [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图Class   ...

  6. [UML]UML系列——包图Package

    系列文章 [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图Class   ...

  7. [UML]UML系列——活动图activity diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  8. UML(一) 类图及类间关系

    原创文章,同步发自作者个人博客,http://www.jasongj.com/uml/class_diagram/ UML类图 UML类图介绍 在UML 2.*的13种图形中,类图是使用频率最高的UM ...

  9. UML动态模型图简单介绍

    UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...

  10. [UML]UML系列——状态机图statechart diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

随机推荐

  1. 转载:CentOS7下部署Django项目详细操作步骤

    部署是基于:centos7+nginx+uwsgi+python3+django 之上做的 文章转自:Django中文网        https://www.django.cn/article/sh ...

  2. tomcat官网改版后下载方式

    位于disk/tomcat目录下 http://archive.apache.org/dist/tomcat/ 具体例如:http://archive.apache.org/dist/tomcat/t ...

  3. 【练习】reserving.kr 之imageprc write up

    补充:c++ builder 与 windows  API经典范例 #include <vcl.h> #pragma hdrstop #include "Unit1.h" ...

  4. python模块以及导入出现ImportError: No module named ‘xxx‘问题

    python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包.只要模块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用如果你要使 ...

  5. 洛谷P1276 校门外的树(增强版)未完工

    题目描述 校门外马路上本来从编号0到L,每一编号的位置都有1棵树.有砍树者每次从编号A到B处连续砍掉每1棵树,就连树苗也不放过(记 0 A B ,含A和B):幸运的是还有植树者每次从编号C到D 中凡是 ...

  6. 禁止ScrollView在子控件的布局改变时自动滚动的的方法

    重写scrollview中的如下方法,并将其返回值设为0即可. @Override  protected int computeScrollDeltaToGetChildRectOnScreen(Re ...

  7. UOJ 58 (树上带修改的莫队)

    UOJ 58 糖果公园 Problem : 给一棵n个点的树,每个点上有一种颜色,对于一条路径上的点,若 i 颜色第 j 次出现对该路径权值的贡献为 w[i] * c[j], 每次询问一条路径的权值, ...

  8. msp430项目编程15

    msp430中项目---简易红外遥控系统 1.红外工作原理 2.电路原理说明 3.代码(显示部分) 4.代码(功能实现) 5.项目总结 msp430项目编程 msp430入门学习

  9. webmagic使用手册

    https://my.oschina.net/flashsword/blog/180623 重点 SeleniumDownloader 对于一些Javascript动态加载的网页,仅仅使用http模拟 ...

  10. HUNAN 11567 Escaping (最大流)

    http://acm.hunnu.edu.cn/online/?action=problem&type=list&courseid=0&querytext=&pagen ...