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

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

一、构件图

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. SANBA服务和FTP服务

    1.samba服务 Smb主要作为网络通信协议:Smb是基于cs(client/server)架构(架构还有bs,broswer/server):完成linux与windows之间的共享:linux与 ...

  2. /etc/rc.d启动目录详解

    操作系统:CentOS6.6_32位 控制脚本目录/etc/rc.d,该目录下存在各个运行级别的脚本文件,执行ls /etc/rc.d,显示结果为:init.d  rc  rc0.d  rc1.d   ...

  3. Tomcat server.xml配置文件

    server.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to ...

  4. LeetCode(14)Longest Common Prefix

    题目 Write a function to find the longest common prefix string amongst an array of strings. 分析 该题目是求一个 ...

  5. POJ 1611 The Suspects (并查集求数量)

    Description Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, wa ...

  6. 【HIHOCODER 1039】 字符消除

    链接 问题描述 小Hi最近在玩一个字符消除游戏.给定一个只包含大写字母"ABC"的字符串s,消除过程是如下进行的: 1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被 ...

  7. 关于db访问层的封装设计感想 dbpy项目的开发

    dbpy dbpy是一个python写的数据库CURD人性化api库.借鉴了 webpy db 和 drupal database 的设计. 如果喜欢 tornado db 或者 webpy db这类 ...

  8. ExtJs 滚动条问题

    bodyStyle :'overflow-x:visible;overflow-y:scroll', //隐藏水平滚动条 通过这个方法可以显示或隐藏滚动条 var form = new Ext.for ...

  9. C#窗体学生成绩管理系统

    c#学生成绩管理系统 实现用户登录.注册 所有成绩查询.个人成绩查询 管理员审核.添加.删除用户 项目源码GIT:https://github.com/soulsjie/StuScoreMa.git

  10. C#通信学习(一)

    基础知识 TCP/IP:Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议,又名网络通讯协议.简单来说:TCP控制传输数据,负 ...