首页 > 其他分享 >UML _ 组件图/构件图

UML _ 组件图/构件图

时间:2022-10-03 17:03:35浏览次数:46  
标签:端口 复用 接口 构件 连接器 组件 UML

概述

组件

定义
组件(Component/构件)是系统设计的一个模块化部分,并对外提供了一组接口。

组件是一个独立的封装单位(封装性) ,是系统中可替换的物理单元(替换性),需要遵循并提供一组接口的实现。

组件的特点
是模块化,经常将多个相关的类和对象组织成一个组件。

组件作为系统中的一个物理实现单元,通常对应于一个实现性文件,包括软件代码(源代码、二进制代码、可执行文件等)或相应组成部分(脚本、命令行文件等)、带有身份标识并有物理实体的文件(运行时的对象、动态链接库、数据库等) 。
组件作为系统中封装完好、定义良好接口的物理实现单元,它能够不直接依赖于其他组件而仅仅依赖于组件所支持的接口。
组件与接口
接口(Interface)
是一组操作的集合,它指明了由类或组件所请求或者所提供的服务。

组件(Component)
是系统中可替换的物理部分,它遵循并提供了一组接口的实现。
组件分类
按照组件在系统中的角色,组件可以分为3类:
部署组件(Deployment Component) :组成可执行系统的必要组件,例如Java虚拟机、数据库管理系统、EXE文件、DLL文件。
工作产品组件(Work Product Component) :开发过程的中间产物,不直接参与到可执行系统中,例如源代码文件、数据文件。
执行组件(Execution Component):在运行时创建的组件,不十分常见,例如实例化的Servlets、COM+对象、XML文档。

组件图(构件图)

定义
组件图是用来表示系统中组件与组件之间、组件与接口之间关系的模型图。
作用
使系统测试人员和开发人员能够从整体上了解系统的所有物理部件;
从软件架构的角度来描述一个系统的主要功能;
方便项目组的成员了解系统的结构和功能;
有利于软件复用。

软件复用

软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。
复用级别:代码的复用,设计的复用,分析的复用,测试信息的复用。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
软件复用的主要思想:将软件看成是由不同功能部分的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具,这样编写特定软件的工作就变成了将各种不同组件组织连接起来的简单问题。

组件图的组成

  • 组件
  • 接口
  • 关系(依赖、实现)

组件图的组成

组件

  1. 组件的内部组成
    组件包含两个部分:接口和接口实现部分。
    接口是一组用于描述类或组件的某个服务的操作。
    组件的接口分为两种类型:供给接口和需求接口。

在组件图中,组件可以通过其他组件的接口来使用其他组件中定义的操作。
2、没有标识接口的组件表示法
3、标识接口的组件表示法
4. 组件的构造型
构件常用的构造型:
《executable》,可执行构件(编译的结果,可投入运行),如exe文件。
《library》,库构件(类库、动态链接库等),如dll文件。
《database》,表示可执行文件访问的数据库构件,如mdb、mdf文件。

关系

  1. 组件间的依赖关系

  2. 组件与接口的关系(依赖、实现)

  3. 组件间的依赖关系
    一个组件如果使用另外一个组件的操作,则可以在该组件和另外一个组件的接口间建立依赖关系。

两个组件中的类如果存在泛化关系,则组件间可以加依赖。
两个组件中的类如果存在使用(依赖或关联)关系,则组件间可以加依赖。

  1. 组件与接口的关系——依赖、实现

基本组成元素——构件(组件)+ 接口 + 关系(依赖和实现)

详细组成元素

详细组成元素——构件 + 接口 + 关系 + 端口(Port) + 连接器(Connector)

详细组成元素——构件 + 接口 + 关系
+ 端口(Port) + 连接器(Connector)

端口(Port)

端口指定了构件上的一个交互点,通过该交互点,构件可以与环境、其他构件或其内部构件进行通信。
端口是一个封装构件所显示的对外窗口,所有进出构件的交互都要通过端口。
简单端口是具有一个需求或供给接口的端口;而一个复杂端口,有几个需求或供给接口。
端口可以有标识,能够通过一个特定端口与一个构件通信。当然,该通信完全是通过由端口支持的接口来描述的。

端口被表示为跨立于构件边界上的小方块,每个端口都可以有一个名字。
端口可以理解为构件的入口与出口,供给接口和需求接口都附着到端口上。

连接器(Connector)

构件与构件之间通过端口连接,而端口与端口之间通过连接器连接。

端口与端口之间通过连接器(连接件)连接,连接器有多种形式:
直接连接器
接口连接器
委派连接器(内部端口与外部端口)

组件图的分类

  1. 简单组件图
    将相互协作的类,组织成一个组件。
  2. 嵌套组件图
    使用嵌套的组件图来表示组件的内部结构。

组件图的绘制

  1. 创建组件图
  2. 创建和设置组件
  3. 创建组件之间的依赖关系
  4. 创建组件、与接口的实现及依赖关系
  5. 创建端口和连接器(可选)

组件图的应用

  1. 简单组件图的创建
    使用下列的步骤创建组件图:
    (1)根据用例或场景的确定需求,确定系统的组件。
    (2)将系统中的类、接口等逻辑元素映射到组件中。
    (3)确定组件之间的依赖关系,并对组件进行细化。

  2. 简单组件图的创建【用例】教师查看学生成绩
    确定系统组件
    将系统中的类和接口等映射到组件中
    确定组件的依赖关系

本章重点

①了解组件图的基本概念及作用
②熟悉组件的分类情况
③掌握组件的表示方法
④掌握组件间、组件与接口间的关系
⑤熟悉组件图的分类
⑥熟悉组件图的建模过程,并掌握组件图的基本应用

标签:端口,复用,接口,构件,连接器,组件,UML
From: https://www.cnblogs.com/kingwz/p/16750737.html

相关文章

  • Vue2 组件间通讯
    概述在Vue中一个项目中往往需要被拆分成多个组件,但是每个组件之间都会有相互访问数据的需求。这时就涉及到组件之间的通讯了。使用props进行组件间的通讯父向子通......
  • Vue2 组件
    非单文件组件(过渡)非单文件组件就是指并非一个组件占用一个文件,而是一个人间中有多个组件。我们只将其作为学习的过度,实际开发中不适用这种方式。demo:<body> <divid="a......
  • React组件复用的发展史
    MixinsReactMixin通过将共享的方法包装成Mixins方法,然后注入各个组件来实现,官方已经不推荐使用,但仍然可以学习一下,了解为什么被遗弃。ReactMiXin只能通过React.create......
  • Jmeter组件:参数化之用户定义的变量
    1、UserDefinedVariables:用户定义的变量,可以将请求路径设置为变量或者将参数值设置为变量等2、添加一个变量存储http请求的路径3、通过${变量名}取值......
  • Blazor组件自做九 : 使用JS隔离制作蓝牙打印组件(通用跨平台隔空打印小票/标签方案)
    各位,好久不见,这段时间事情太多了,一直没空更新文章,sosososorry.如果我告诉您网站能以安全和隐私保护的方式与附近的蓝牙设备进行通信,您会怎么想?如此一来,心率监测器、会......
  • 18_非单文件组件
    1.基本使用<!DOCTYPEhtml><html><head><metacharset="UTF-8"/><title>基本使用</title><scripttype="text/javascript"src="../j......
  • 19_单文件组件
    index.html<!DOCTYPEhtml><html><head><metacharset="UTF-8"/><title>练习一下单文件组件的语法</title></head><body><......
  • office转pdf,报错:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046}
    最近在做一个关于word,ppt,Excel在线预览的功能,期间出现了几个问题,也不算棘手,但是对于第一次使用office组件的人来说,就比较麻烦了,也不知道为何出现这个错误,其中本问题解决费......
  • 005.线程池的工作原理——线程复用——线程池的核心组件和核心类——Java线程池的工作
    3.2线程池的工作原理Java线程池主要用于管理线程组及运行状态,以便Java虚拟机更好地利用CPU资源。Java线程池的工作原理为:JVM先根据用户的参数创建一定数量的可运行的线......
  • Svelte创建组件小结
    ·使用由HTML元素构成的简单易用语法来定义Svelte组件。script元素包含组件逻辑,style元素包含CSS样式,剩下的就是HTML标记。·向组件传递数据的常用方式是使用props。·Sv......