UML之组件图

基本概念:组件图即是用来描述组件与组件之间关系的一种UML图。组件图在宏观层面上显示了构成系统某一个特定方面的实现结构。

  组件图中主要包含三种元素,即组件、接口和关系。

  组件图通过这些元素描述了系统的各个组件及之间的依赖关系,还有组件的接口及调用关系。此外,组件图还可以使用包来进行组织,使用注解与约束来进行解释和限定。

  组件图在面向对象设计过程中起着非常重要的作用:它明确了系统设计,降低了沟通成本,而且按照面向对象方法进行设计的系统和子系统通常保证了低耦合度,提高了可重用性。

组件图的组成元素:组件、接口、组件图中的关系、组件的内部结构。

组件

  组件,是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组接口。

  组件是一个封装完好的物理实现单元,它具有自己的身份标示和定义明确的接口。并且由于它对接口的实现过程与外部元素独立,所以组件具有可替换性。

                     

  组件在系统中一般存在三种类型,分别为部署组件、工作产品组件和执行组件。

    a.配置组件是构成系统所必要的组件,是运行系统时需要配置的组件。

    b.工作产品组件主要是开发过程的产物,是形成配置组件和可执行文件之前必要的工作产品,是部署组件的来源。工作产品组件并不直接参与到可执行系统中,而是用来产生系统的中间产品。

    c.执行组件代表可运行的系统最终运行产生的运行结果,并不十分常见。

一个ATM机的组件:

系统设计的一个模块化部分

显示界面

读卡机

业务操作----查询、取款、转账、挂失

学校教务系统的组件:

系统设计的一个模块化部分

登录界面、业务动作、层业务实现层

学生管理、教师管理、成绩维护、选课

接口

  对于一个组件而言,它有两类接口,提供接口与需求接口。

    a.提供接口:又被称为导出接口或供给接口,是组件为其他组件提供服务的操作的集合。

    b.需求接口:又被称为引入接口,是组件向其他组件请求相应服务时要遵循的接口。

端口

  端口(port)是一个被封装的组件的对外窗口。在封装的组件中,所有出入组件的交互都要通过端口。组件对外可见的行为恰好是它端口的综合。此外,端口是有标识的。别的组件可以通过一个特定端口与另一个组件通信。在实现时,组件的内部组件通过特定的外部端口来与外界交互,因此,组件的每个部件都独立与其他部件的需求。端口允许把组件的接口划分为离散的并且可以独立使用的几部分。端口提供的封装性和独立性更大程度上保证了组件的封装性和可替换性。

组件的内部结构

  在UML 2规范中,组件允许通过嵌套结构来表现组件的内部结构。

  子组件之间通过接口建立关系。图中组件边缘的小矩形被称为端口,端口可以理解为组件的入口与出口,组件通过端口与外部元素相互协作。端口上可以添加提供接口或需求接口来使组件得以扩展。

组件图中的关系

1.依赖关系

  a.组件与需求接口之间建立依赖关系

  b.组件与组件之间建立依赖关系:说明在运行过程中A在某些行为上依靠组件B的支持

2.实现关系

  组件与提供接口之间建立实现关系

组件图的建模技术

对源代码结构建模

  识别出感兴趣的源代码文件集合,并建模为组件。

  如果系统规模较大,使用包对组件进行分组。

  可以使用约束或注解来表示源代码的作者、版本号等信息。

  使用接口和依赖关系来表示这些源代码文件之间的关系。

  检查组件图的合理性,并识别源代码文件的优先级以便进行开发工作。

对可执行程序结构建模

  识别出相关的运行组件集合。

  考虑集合中每个组件的类型。

  如果系统规模较大,可以使用包对组件进行分组。这里包的使用可以对应于相应文件的文件存储结构。

  分析组件之间的关系,使用接口和依赖关系建模这些关系。

  考量建模结果是否实现了组件的各个特性,对建模的结果进行细化。

案例(分析一个已经存在的系统)

画出下列描述的网上商城组件图:购物车、订单、库存、支付管理组件,使用组件图进行完善。

识别组件:购物车、订单、库存、支付管理

识别组件之间的关系通过一个现实的例子。

在购买一件商品时,我们首先是浏览商品,了解商品详情。在商品详细页面上,我们可以看到一个“加入购物车”

                组件图

原文地址:https://www.cnblogs.com/gd-luojialin/p/10356764.html

时间: 2024-10-09 21:20:19

UML之组件图的相关文章

UML:组件图

要搞清楚组件图,必须先搞清楚什么是组件? 组件有以下特点:1.能实现一定功能,或者提供一些服务.2.不能单独运行,要作为系统的一部分来发挥作用.3.在物理上独立的,不是逻辑上的概念.4.可单独维护.可独立升级.可替换而不影响整个系统的. 我们做软件设计时,往往会提到“模块”这一词,模块是不是组件呢?不一定是,每个人心中的“模块”标准是不太一样的,模块只是为了方便说明问题将软件人为地划分为几个部分而已.我们可以对照组件的上述几个特点来判断模块是不是组件. 软件常常会采用分层设计,那一层是一个组件不

最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图

(转) 用例图 用例图描述了系统提供的一个功能单元.用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色" (actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系.用例图一般表示出用例的组织关系--要么是整个系统的全部用例,要么是完 成具有功能(例如,所有安全管理相关的用例)的一组用例.要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位 置.要在用例图上绘制一个角色(表示一个系统用户),

Python设计模式 - UML - 组件图(Component Diagram)

简介 组件图又称构建图,用于显示系统各组件及各组件关系的物理视图. 组件图通常包括组件.接口.关系.端口和连接器,用来显示程序代码中相应的模块.源文件或源文件集合之间的依赖和泛化关系. 组件图中的组件通常由类图中的一个或多个类(对象)实现为系统中的模块.源文件.过程文件或可执行文件,最终构成系统的绝大部分功能单元. 组件图建模步骤 - 确定系统有哪些对外接口或端口 - 确定系统要用到哪些组件,识别出系统中的重要模块.库文件.源代码文件.数据表或文件.可执行文件或文档等,将其建模为一个个组件 -

UML部署图和图九组件图

前言     UML大部分描写叙述了逻辑和设计方面的信息.实现图用来描写叙述实现方面的信息.实现图包含部署图和构件图. 构件图     1. 概念      构件图从软件架构的角度来描写叙述一个系统的主要功能.如子系统.类.包.构件.用来显示一组构建之间组织与依赖的关系.     2. 构成      构件.接口.关系     3. 构件的类型      源码构件.二进制构件.可运行构件.数据文件或文档     4. 构件和类的关系      (1) 类表示逻辑抽象而构件表示物理抽象      

UML-类图,包图

UML构造设计模型 一.类图 二.包图 三.组件图 四.部署图 一.类图 1.类:类由三格表示:类名,类的属性,类的操作 类名: 首字母大学 类的属性:-name:String     可见性 属性名:类型  =默认值 可见性包含4种:  + public     -private   #protected  *package 类的操作: +getName():String      可见性  操作名(参数):返回值类型 2.类与类之间的关系. 四种:关联关系: 泛化关系: 依赖关系:实现关系

UML几种图的绘制

UML几种图的绘制 UML是Unified Modeling Language(统一建模语言)的简称.UML是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型.源代码.测试用例等)进行可视化.详述.构造和文档化的语言. UML是一套表示法系统.UML由一组图组成,它使得系统分析员可以利用这一标准来建立能够和客户.程序员以及任何参与程序开发的人员理解的多视角的系统蓝图.不同的风险承担人通常使用不同类型的图相互交流. UML的特点有:统一的标准:UML已被OMG接受为标准的建模语

UML九种图总结

UML视频看完了,该开始画图文档了,不知如何入手啊!还是先对UML的九种图和关系总结一下,然后再入手文档吧.先上图. UML的九种图分别是:用例图.类图.对象图.状态图.活动图.协作图.序列图.组件图和部署图. 用例图:由参与者.用例以及它们之间的关系构成的用于描述系统功能的动态视图.是分析系统有哪些功能以及明确系统内部和系统外部(角色)的交互的. 类图:显示出类.接口以及它们之间的静态结构和关系:它用于描述系统的结构化设计. 对象图:显示了一组对象和它们之间的关系.与类图相似.对象图显示类的多

UML学习(类图和序列图等)

visio绘制UML图使用visio 提示此UML形状所在的绘图页不是UML模型图的一部分 请问这个问题怎么解决?新建->选择绘图类型->选择软件与数据库模板->选择UML模型图->注意:如果不选择UML模型图的话,可能会出现无法编辑形状文本,提示“此UML形状所在的绘图页不是UML模型图的一部分,该形状设计用于利用UML模型图模板创建的绘图”所以利用Visio绘UML图第一步就是选择绘图类型为软件中的UML模型图. 还可以参考百度云盘的UML学习资料 参考:UML中几种类间关系:

UML之序列图(Sequence Diagram)

类图描述的是类之间的静态关系,而序列图展示的是对象之间的沟通方法,描述运行时的交互关系. OOP编程语言里面合理的直接交互方式只有一种,方法调用(Event通讯是间接的).所以序列图也可以 理解为方法调用交互图.方法调用有四个元素,参与者(两个,调用者和被调用者),方法名称,输入 和输出. 参与者 参与者用一个Lifeline来表示,图像为一个矩形外加底部的一条竖线.矩形里面显示对象名,格式为 name:ClassType的样式,都为可选项,Martin Fowler推荐a Handler的格式