wangfeng00 2010-07-08
本文和大家重点讨论一下UML组件图,在以组件为基础的开发(CBD)中,UML组件图为架构师提供一个开始为解决方案建模的自然形式。UML组件图允许一个架构师验证系统的必需功能是由组件实现的,这样确保了最终系统将会被接受。
UML组件图的目的
UML组件图的主要目的是显示系统组件间的结构关系。在UML1.1中,一个组件表现了实施项目,如文件和可运行的程序。不幸地,这与组件这个术语更为普遍的用法、指象COM组件这样的东西相冲突。随着时间的推移及UML的连续版本发布,UML组件已经失去了最初的绝大部分含义。
UML2正式改变了组件概念的本质意思;在UML2中,组件被认为是独立的,在一个系统或子系统中的封装单位,提供一个或多个接口。虽然UML2规范没有严格地声明它,但是组件是呈现事物的更大的设计单元,这些事物一般将使用可更换的组件来实现。但是,并不象在UML1.x中,现在,组件必须有严格的逻辑,设计时构造。主要思想是,你能容易地在你的设计中重用及/或替换一个不同的组件实现,因为一个组件封装了行为,实现了特定接口。
在以组件为基础的开发(CBD)中,UML组件图为架构师提供一个开始为解决方案建模的自然形式。UML组件图允许一个架构师验证系统的必需功能是由组件实现的,这样确保了最终系统将会被接受。
除此之外,UML组件图对于不同的小组是有用的交流工具。图可以呈现给关键项目发起人及实现人员。通常,当UML组件图将系统的实现人员连接起来的时候,UML组件图通常可以使项目发起人感到轻松,因为图展示了对将要被建立的整个系统的早期理解。
开发者发现UML组件图是有用的,因为UML组件图给他们提供了将要建立的系统的高层次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或)增进需求技能。系统管理员发现UML组件图是有用的,因为他们可以获得将运行于他们系统上的逻辑软件组件的早期视图。虽然系统管理员将无法从图上确定物理设备或物理的可执行程序,但是,他们仍然欢迎UML组件图,因为它较早地提供了关于组件及其关系的信息(这允许系统管理员轻松地计划后面的工作)。
UML组件图符号
在现在,UML组件图符号集使它成为最容易画的UML图之一。图1显示了一个使用前UML1.4符号的简单的UML组件图;这个例子显示两个组件之间的关系:一个使用了InventorySystem组件的OrderSystem组件。正如你所能见到的,在UML1.4中,用一个大方块,并且在它的左边有两个凸出的小方块,来表示组件。