UML-实现图(组件图和部署图)

发布时间:2024年01月15日

实现图是从系统的层次来描述的,描述硬件的组成和布局,描述软件系统划分和功能实现。


一、组件图

  • ** 通常会被称为构件图**,因此组件也会被称为构件

1.组件图的元素

  • 组件图中包含多种内容,包括包、组件、接口、组件间的关系、工件和端口,也可以包括子系统,还可以包含约束和注释等内容。但是组件图中常用的只有组件接口依赖关系

(1)组件

  • 在 UML2 中,组件被认为是独立的,在一个系统或子系统中的封装单元,提供一个或多个接口。
  • 组件的重点在于强调重用性。
  • 组件是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。可以将组件看作是一种容器,因此它没有自己的特征,但是它包含定义特征的类。
  • 组件的符号:
    在这里插入图片描述
  • 组件的分类:一类存在于开发时刻,两类存在于运行时刻。
    • 配置组件(Deployment Component): 配置组件也会被称为发布组件或者实施组件,它是运行系统需要配置的组件,是形成可执行文件的基础。操作系统、Java 虚拟机和数据库管理系统都属于配置组件。
    • 工作产品组件(Work Product Component): 有时会被称为开发用组件,这类组件主要是开发过程的产物,包括创建实施组件的源代码文件及数据文件,这些组件并不直接地参加可执行系统。而开发过程中的工作产品,用于产生可执行系统。
    • 执行组件(Execution Component): 这类组件时作为一个正在执行系统的结果而被创建的,例如由 DLL 实例化而来的 COM+对象、HTML 文档、Servlets等。
  • 组件可以包含组件。
    在这里插入图片描述

(2)接口

  • 在 UML 组件图中,接口是一组用于描述类或组件的一个服务操作,是一个被命名的操作的集合。一般情况下,可以将组件的接口分为两种类型:
    • 导出接口(Expert Interface):为其他组件提供服务的接口,一个组件可以有多个导出接口。
    • 导入接口(Import Interface): 在组件中所用到的其他组件所提供的接口,一个组件可以使用多个接口。
  • 接口的符号有两种:
    • 一种是构造型表示法,在这种接口中,接口和实现接口之间用一条带三角形箭头的虚线连接,箭头指向接口。
      在这里插入图片描述

    • 另一种形式是 “棒棒糖” 接口,可以使用一个小圆圈代表接口,用实线将接口和组件连接起来。在这种形式中,实线代表的是实线关系。
      在这里插入图片描述

(3)组件间的关系

  • 依赖关系
    在这里插入图片描述
  • 泛化关系
    在这里插入图片描述

2.组件图的作用

  • 组件图的主要目的是显示系统组件之间的结构关系
  • 在以组件为基础的开发中,组件图为系统架构师提供一个开始为解决方案建模的自然形式。组件图允许系统架构师验证系统的必需功能是由组件实现的,这样确保了最终系统将会被接受。
  • 组件图通常可以使项目发起人感到轻松,该图对于不同的小组是很有用的一种交流工具。
  • 组件图为开发者提供了将要建立的系统的高层次的架构视图,这将帮助开发者建立实现的目标。

3.组件图的用途

  • 组件图是系统实现视图的图形表示,一个组件图表示了系统实现视图的一部分,系统中的所有组件结合起来才能表示出完整的系统实现图。
  • 组件图的用途:
    • 使系统人员和开发人员能够从整体上了解系统的所有物理组件。
    • 组件图显示了被开发系统所包含的组件之间的依赖关系。
    • 从宏观的角度上,组件图把软件看作多个独立组件组装而成的集合,每个组件可以被实现相同接口的其他组件替代。
    • 可以清楚地看出系统的结构和功能,方便项目组的成员制定工作目标以及了解工作情况。
    • 有助于对系统感兴趣的人了解某个功能单元位于软件包的什么位置。

4.组件图的特点

  • 侧重于描述系统静态视图的某一侧面。
  • 只包含那些对描述该侧面内容有关的模型元素。
  • 提供与抽象层次一致的描述,只显示有助于理解该组件图的必要的修饰。
  • 图形不要过于简化,以防止产生误解。

5.使用组件图建模

(1)对源代码建模

在这里插入图片描述

(2)对可执行文件建模

在这里插入图片描述

(3)对物理数据库建模

在这里插入图片描述

(4)对可适应的系统建模


二、部署图

  • 部署图通常会被称为配置图,它是用来显示系统中软件和硬件的物理架构。
  • 一个 UML 部署图描述了一个运行时的硬件节点,以及这些节点运行的软件组件的静态视图。
  • 部署图(Deployment Diagram)描述处理器、设备、软件组件在运行时的架构。它是系统拓扑的最终物理描述,即描述硬件单元和运行在硬件单元上的软件的结构
    在这里插入图片描述

1.部署图的元素

  • 部署图的组成元素包括节点和节点之间的连接,连接把每个节点关联在一起,从而构成一个部署图。部署图中除了包含基本的节点、组件和关系等元素外,还可以包含其他的元素,例如子系统、包、设备、执行环境以及工作(制品)等。

(1)节点

  • 节点是存在于运行时并代表 一项计算资源的物理元素,一般至少拥有一些内容,而且通常具有处理能力。他一般用于对执行处理或计算的资源建模,通常具有两方面内容,即能力(基本内存、计算能力和二级存储器)和位置(在所有必需的地方均可得到)。
  • 节点的两种类型:
    • 处理器(Processor):处理器是能够执行软件组件且具有计算能力的节点,例如服务器。处理器和设备是一个相反的概念。
    • 设备(Device): 设备是不能执行软件组件的外围硬件且是没有计算能力的节点,通常通过其接口为外接提供某种服务,例如打印机和扫描仪等都是设备。
  • 节点和组件的区别:
    在这里插入图片描述

(2)部署图的关系

  • 依赖关系
    在这里插入图片描述
  • 实现和关联关系
    • 实现关系是节点内组件向外提供服务,其符号是一条实线。关联关系体现节点间的通信关联,其符号也是一条实线。
      在这里插入图片描述

2.使用部署图建模

(1)对嵌入式系统建模

在这里插入图片描述

(2)对客户/服务器建模

在这里插入图片描述

(3)对全分布式系统建模

在这里插入图片描述

三、应用练习题

1.例题1

  • 教室在线答疑系统有4个组件:教室客户端程序、学生客户端程序、白板程序、通信协议。其中,教室客户端、学生客户端都要依赖于白板程序以及通信协议。画出该系统部署图。
    在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_65032328/article/details/135599502
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。