组件图是说明组件之间的逻辑关系。
部署图则是在此基础上更进一步,描述系统硬件的物理拓扑结构及在此结构上执行的软件。
组件图又称为构件图,是用来表示系统中组件与组件之间、组件与接口之间关系的模型图。组件图在基于组件开发的系统建模中很重要,可以帮助用户理解系统的结构。
组件图作用:
1,使系统测试人员和开发人员能够从整体上了解系统的所有物理部件;
2,从软件架构的角度来描述一个系统的主要功能;
3,方便项目组的成员了解系统的结构和功能;
4,有利于软件复用。
支持多人在线同屏创作,还可以设置分享链接,信息实时传递。
只需输入一句话,就自动生成所需图形,还可以对图形风格自动美化。
内置多种主题风格,也可以自由设计你喜爱的风格样式。
支持插入图标、图片、标签、备注LaTex公式、代码块、链接、附件等多种形式组件。
支持导出PNG、VISIO、PDF、SVG等格式,支持导入VISIO、Mermaid格式。
文件实时存储,多端设备云同步,历史版本可追溯,数据安全有保障。
组件图是说明组件之间的逻辑关系。
部署图则是在此基础上更进一步,描述系统硬件的物理拓扑结构及在此结构上执行的软件。
组件:组件是定义了良好接口的、可替代的物理实现单元,一般表示实际存在的、物理的物件,用一个左侧带有突出两个小矩形的矩形来表示。
接口:提供接口又称导出接口,是组件提供的服务的集合,可以使用接口与组件之间的实现关系来表示;需求接口又称导入接口,是组件请求其它组件相应服务时遵循的接口,通过依赖关系来表示。
关系:组件间-->依赖关系,两个组件中的类如果存在泛化关系或存在使用关系,可以添加依赖;组件与接口之间-->依赖或实现。
端口:uml2.0引入的概念,端口指定了组件上的一个交互点,通过该交互点,组件可以与环境、其他组件或其内部组件进行通信,使用组件边框上的一个小矩形来表示。
简单组件图:将相互协作的类,组织成一个组件。
嵌套组件图:使用嵌套的组件图来表示组件的内部结构。
组件与组件之间通过端口连接,而端口与端口之间通过连接器连接,但一般不常用 。
连接器分为直接连接器、接口连接器、委派连接器三种。
1,多个团队协作开发
2,微服务或模块化架构
3,有明确接口约束的系统
4,需要部署分离的组件(如前端、后端、数据库)
1,注重模块化、解耦,因为组件图主要价值是展示系统分层和依赖清晰;
2,使用标准符号和接口标注,可以增强图的可读性和一致性;
3,搭配类图/部署图一起使用,提供结构、行为、部署的完整视图;
4,避免把组件图画成类图,组件图表达系统“结构”而非“实现细节”。
组件图回答”谁做、谁依赖谁“,类图回答“怎么做”。
1,类表示是对实体的抽象,而组件是对存在于计算机中的物理部件的抽象。
2,组件属于软件模块,而非逻辑模块,与类相比,它们处于不同的抽象级别。
3,类可以直接拥有操作和属性,而组件仅拥有可以通过其接口访问的操作。
组件按照在系统中的角色分类有3种:
1,部署组件:组成可执行系统的必要组件。
例如Java虚拟机、数据库管理系统、EXE文件、DLL文件。
2,工作产品组件:开发过程的中间产物,不直接参与到可执行系统中。
例如源代码文件、数据文件。
3,执行组件:在运行时创建的组件。
例如实例化的Servlets、COM+对象、XML文档。
组件与组件:依赖关系
组件与接口:依赖关系或实现关系
要控制组件颗粒度适中,一般功能模块级可以设置为组件,不要把单个类设计为组件。
从左侧符号区拖拽“接口”到右侧作图区,然后,点击组件的一端后按住鼠标左键到对应的接口上,松开鼠标即可以为组件指定其要实现的接口。
不是,简单组件可以没有显式接口。
提供接口,用圆形表示,指本组件对外暴露的功能(可被调用)。
需要接口,用半圆表示,指本组件依赖其他组件提供的服务。
可以。组件之间可以存在一对多依赖、双向依赖或通过中介组件解耦,使用多条虚线表示多个依赖关系。