构件图

在UML中是通过构件图和部署图来表示单元的。它们描述了系统实现方面的信息,使系统具有可重用性和可操作性。

构件

在构件图中,将系统中可重用的模块封装成为具有可替代性的物理单元,我们称之为构件,它是独立的,是在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用的部件。

构件作为系统中的一个物理实现单元,包括软件代码(包括源代码、二进制代码和可执行文件)或者相应组成部分,例如脚本或命令行文件等,还包括带有身份标识并有物理实体的文件,如运行时的对象、文档、数据库等。

构件作为系统定义良好接口的物理实现单元,它能够不直接依赖于其他构件而仅仅依赖于构件所支持的接口。通过使用被软件或硬件所支持的一个操作集——接口,构件可以避免在系统中与其他构件之间直接发生依赖关系。在这种情况下,系统的一个构件可以被支持正确接口的其他构件替代。

一个构件实例用于表示运行时存在的实现物理单元和在实例节点中的定位,它有两个特征,分别是代码特征和身份特征。构件的代码特征是指它包含和封装了实现系统功能的类或者其他元素的实现代码以及某些构成系统状态的实例对象。构件的身份特征包含有身份和状态,我们称之为有身份的构件。一个有身份的构件是物理实体的物理包容器。

在UML中,标准构件使用一个左边有两个小矩形的长方形表示,构件名称位于矩形的内部。

虚包是一种只包含对其他包所具有的元素的构件。它被用来提供一个包中某些内容的公共视图。虚包不包含任何它自己的模型元素,它的图形表示形式如下图:

系统是组织起来以完成一定目的的连接单元的集合。在系统中,肯定有一个文件用来指定系统的入口,也就是系统程序的根文件,这个文件被称为主程序。它的图形表示形式如下图:

子程序规范和子程序体是用来显示子程序的规范和实现体的。子程序是一个单独处理的元素的包,我们通常用它代指一组子程序集,如下图:


任务规范和任务体用来表示那些拥有独立控制线程的构件的规范和实现体,如下图:

包规范与包体:

在系统实现过程中,构建之所以非常重要,是因为它再功能和概念上都比一个类或者一行代码强。典型地,构件拥有类的一个协作的结构和行为。在一个构件中支持了一系列的实现元素,如实现类,即构件提供元素所需的源代码。构件的操作和接口都是由实现元素实现的,当然一个实现元素可能被多个构件支持。每个构件通常具有明确的功能,它们通常在逻辑上和物理上有粘聚性,能够表示一个更大系统的结构或行为块。

构件图的含义

构件图是用来表示系统中构件与构件之间,以及定义的类或接口与构件之间关系的图。在构件图中,构件和构件之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。

在UML中,构件与构件之间依赖关系的表示方式与类图中类与类之间依赖关系的表示方式相同,都是使用一个从用户构件指向它所依赖的服务构件的带箭头的虚线表示。如下图所示,其中“ComponentA”为一个用户构件,“ComponentB”为它所依赖的服务构件。

在构件图中,如果一个构件是某一个或一些接口的实现,则可以使用一条实线将接口连接到构件,如下图所示,实现一个接口意味着构件中的实现元素支持接口中的所有操作。

构件和接口之间的依赖关系是指一个构件使用了其他元素的接口,依赖关系可以用带箭头的虚线表示,箭头指向接口符号。


构件图通过显示系统的构件以及接口等之间的接口关系,形成系统的更大的一个设计单元。在以构件为基础的开发(Component Based Development,CBD)中,构件图为架构设计师提供了一个系统解决方案模型的自然形式,并且,它还能够在系统完成后允许一个架构设计师验证系统的必须功能是否由构件来实现的,这样确保了最终系统将会被接收。

UML--构件图详解相关推荐

  1. UML概述及UML图详解

    ​ UML概述 一.UML简介 (一)UML (Unified Modeling Language)为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于 描述以用例为驱动,以体系结构为中心的 ...

  2. UML图详解(四)对象图

    一.概念 对象图是一个系统的详细状态在某一时刻的快照. 是对象类图的实例,也称为"实例图". 对象图描述系统的某一瞬间,表达系统的对象在该时刻的具体状态(属性和操作). 二.详解 ...

  3. 常用的UML建模详解

    UML主要包括图表中的十一种,那在本次的介绍中,只讲解活动图.状态机图.顺序图. 种类 UML图 作用 结构图 类图 主要用来业务概念模型分析,在需求分析中必不可少 对象图 一般开发人员会使用,产品经 ...

  4. SVG与UML图详解

    一.SVG 可缩放矢量图形(SVG)是W3C的推荐标准,它使用XML描述两维图形结构和图形应用,可以在Web浏览器.手持设备或移动电话等多种上显示.目前稳定版本为1.1版,最新的版本是以草案形式存在的 ...

  5. UML图详解(五)组件图

    一.概念 组件图(Component Diagram)又称为构件图,他描述的是在软件系统中遵从并实现一组接口的物理的.可替换的软件模块. 构件图 = 构件(Component) + 接口(Interf ...

  6. UML建模详解(1)—初识UML建模

    UML建模简介:       UML(Unified Modeling Language的缩写),也称统一建模语言.是用来做软件建模的.不光是在软件的设计阶段用到,在软件的测试,部署阶段都要用到.用于 ...

  7. oracle的uml图,详解Oracle中XMI开发UML图表技术

    描述 XML是面向机器的数据格式,虽然手工编写困难,但处理效率高.当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用 ...

  8. UML图详解(七)——交互图(时序图与协作图)

    一.概念 交互图描述对象之间的动态合作关系以及合作过程中的行为次序. 交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程. 交互图有顺序图和 ...

  9. UML图详解(八)状态机(状态图和活动图)

    一.概念 状态图和活动图是状态机的两种表现形式.利用状态机可以精确地描述对象的行为. 从对象的初始状态起,开始响应事件并执行某些动作,这些事件引起状态的转换:对象在新状态下又开始响应事件和执行动作,如 ...

  10. 2023上半年软件设计师-试题详解与分析

    目录 前言 上午题 计算机组成原理 信息安全 计算机相关法律 软件设计 语言处理 操作系统 软件工程 软件测试 面向对象编程 程序设计语言 数据库 数据结构与算法 计算机网络 计算机专业英语 下午题 ...

最新文章

  1. 科学家意外记录人类“濒死脑电波”,死前30秒与做梦回忆过程高度相似,马斯克也下场围观...
  2. 阿里小邮局黑科技 这就是传说中“别人的公司”
  3. XFTP无法将宿主机文件上传到虚拟机的解决方案
  4. (水一下)Linux启动步骤(面试题)
  5. linux内核修改工程环境,linux2.6.33内核移植s3c2410以和交叉环境编译搭建最终修改版.pdf...
  6. HTML解决div里面img的缝隙问题
  7. oracle trigger 延迟执行_springboot中定时任务执行Quartz的使用
  8. Nginx学习---Nginx的详解_【all】
  9. 微软Windows7对Vista的几点改进
  10. HBuilderX的各版本软件自取
  11. appscan10.0下载
  12. 微软翻译离线简体中文服务器,想要离线模式下使用翻译软件?微软翻译或可成为新的选择...
  13. 层次分析法(AHP)——MATLAB在数学建模中的应用(第2版)
  14. 19年1月尔雅移动互联网时代的信息安全与防护考试答案(96分)
  15. ERP系统无缝对接扫码功能,快速提高企业生产效率
  16. 多益网络_网络安全的未来日益激烈的信息控制之战
  17. 计算机技术 在职,计算机技术在职研究生招生简章
  18. C++ 获取本机所有的网卡配置、IP地址和Mac地址
  19. PS使用钢笔工具抠图
  20. 国产操作系统--奇思妙想

热门文章

  1. Mock-- Server的使用
  2. 灰色系统理论及其应用 (七) :道路交通事故灰色 Verhulst 预测模型
  3. BP神经网络时间序列预测-附代码
  4. 【优化求解】基于布谷鸟算法CS实现多目标求解matlab代码
  5. Remoting基本原理及其扩展机制(上)
  6. java cron定时器在线生成规则
  7. RawData是Bayer转RGB格式代码分析和NEON单元加速方法
  8. t3系统建账请到服务器端修改,用友T3标准版常见问题及处理方法(一)
  9. pytorch下用UCF101数据集仿真C3D模型
  10. 闪电html编辑器,闪电pdf编辑器