目录
定义
我们可以使用构件图(组件图)来描述系统整体的分系统与子系统的关系构成,因为从建模的 观点看,构件图(组件图)与子系统图有时感到没有区别。
在UML 1.1中一个组件表现了实施项目,如文件和可运行的程序。不幸地,这与 组件这个术语更为普遍的用法、指象COM组件这样的东西相冲突。随着时间的推移及 UML的连续版本发布,UML组件已经失去了最初的绝大部分含义。UML 2正式改变了 组件概念的本质意思;在UML 2中,组件被认为是独立的,在一个系统或子系统中的 封装单位,提供一个或多个接口。虽然UML2规范没有严格地声明它,但是组件是呈 现事物的更大的设计单元,这些事物一般将使用可更换的组件来实现。但是,并不象 在UML1. x中,现在,组件必须有严格的逻辑,设计时构造。主要思想是,你能容易 地在你的设计中重用及/或替换一个不同的组件实现,因为一个组件封装了行为,实现 了特定接口(可以理解为将接口的定义与实现封装在一起的明确使用范围的组合)。
用途
构件图(组件图)的主要目的是显示系统组件间的结构关系。在以组件为基不击的开 发(CBD)中,构件图(组件图)为架构师提供一个开始为解决方案建模 的自然形式。构件图(组件图)允许一个架构师验证系统的必需功能是由组件实现的,这样 确保了最终系统将会被接受。
除此之外,构件图(组件图)对于不同的小组是有用的交流工具。图可以呈现给关键项目发 起人及实现人员。通常,当构件图(组件图)将系统的实现人员连接起来的时候,构件图(组件图)通常可 以使项目发起人感到轻松,因为图展示了对将要被建立的整个系统的早期理解。
开发者发现构件图(组件图)是有用的,因为构件图(组件图)给他们提供了将要建立的系统的高层 次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或) 增进需求技能。系统管理员发现构件图(组件图)是有用的,因为他们可以获得将运行于他们系
统上的逻辑软件组件的早期视图。虽然系统管理员将无法从图上确定物理设备或物理 的可执行程序,但是,他们仍然欢迎构件图(组件图),因为它较早地提供了关于组件及其关系 的信息(这允许系统管理员轻松地计划后而的工作)。
组成元素以及元素之间的关系说明
组件
描述了系统的一个可执行程序,一个库,一个Web程序等,如上面图中的方框图型都是组件的表示形式。
接口
接口是组件所提供服务,可以理解为一个方法,一个WebService,一个WCF,或者一个UI界面,接口可以有多个,但至少有一个,在UML中表示为一个圆形,可以在类图中对其进一步描述
这个接口代表一种交互方式,而在.Net 中对于接口有另一种解读,就是一个精确的协议,用来指定一组操作或者属性定义
实现
实现就是,组件与接口元之间的连线,代表谁实现了这个接口
依赖
就是指组件使用了另一个组件的接口,依赖于另一个接口的存在。
画法例子