UML建模-组件图
组件是系统中可以进行替换的物理部分它不仅将系统如何实现包装起来而且提供一组实现了的接口。所以它表示实现后的实体也就是物理实体。组件是可以复用的单元具有非常广泛的定义。每个组件可能包含很多类实现很多接口。组件图描述了软件的各种组件和它们之间的依赖关系。组件图中通常包含组件、接口和依赖关系三种元素。每个组件实现一些接口并使用另一些接口。如果组件间的依赖关系与接口有关那么可以被具有同样接口的其他组件所替代。组件是软件的单个组成部分它可以是一个文件、产品、可执行文件或脚本等。通常情况下组件代表了将系统中的类、接口等逻辑元素打包后形成的物理模块。为了加深理解下面对组件与类之间的异同进行简单的对比。组件和类的共同点是;两者都具有自己的名称、都可以实现一组接口、都可以具有依赖关系、都可以被嵌套、都可以参与交互并且都可以拥有自己的实例。它们的区别为:组件描述了软件设计的物理实现即代表了系统设计中特定类的实现而类则描述了软件设计的逻辑组织和意图。例如,在选系统中包括 MainProgram 类、People 类、FormObject 类,ControlObject类,Student 类,Registrar 类、Course 类 DataBase 类. People 类 Student 类 Registrar类的基类所 以 Student 类和 Registrar 类依赖于 People 类。FormObject 类和ControlObject 类都和 Course 类相关,FormObject 类和 ControlObject 类依赖 Course 类.ControlObject 类 DataBase 类相关,ControlObject 类依赖 DataBase 类,将每个类单独设计成一个组件。图 是网上选课系统的组件图。组件图显示软组件以及它们之间的依赖关系一般来说软组件就是一个实际文件主要有以下几种类型。(1)源代码组件:一个源代码文件或者是与一个包对应的若干个源代码文件。(2)二进制组件:一个目标代码文件、静态库文件或者动态链接库文件。(3)可执行组件:可以在一台处理器上运行的一个可执行的程序单位即所谓的可执行程序。因为组件可以是源代码文件、二进制代码文件和可执行文件所以通过组件图可以显示系统在编译、链接或执行时各软组件之间的依赖关系以及软组件之间的接口和调用关系。接口说明了操作的命令集合。接口背后的关键思想是通过诸如类或子系统这样的类元将功能性规格说明(接口)同它的实现相分离。接口定义了由类元所实现的契约。接口是基于组件开发的关键这是关于从插件程序如何构造软件的方法。一个组件可以有多个接口用于和不同的组件进行通信在组件图中可以表示出哪些组件与哪一个接口进行通信。