第十章 面向对象模型
7、设计组件图
1)组件图(Component Diagram):描述了软件组件以及它们之间的依赖关系。
组件图市组件的视图,通过组件图可以使软件的开发、维护、分类、发现组件变得更加容易。
软件组件可以是源代码组件、二进制组件或可执行组件,它主要反映了软件系统的静态作用。
1.1)源代码组件可以是一个源代码文件或者是一个包对应的若干个源代码文件。
1.2)二进制组件可以是一个目标码文件、静态的或动态的库文件。
1.3)可执行组件可以是处理器上运行的一个可执行的程序单位,即可执行程序。
2)定义组件
设计组件时,要定义它的接口和实现类。
而利用组件构造新组件时,新应用系统的开发者则仅能使用已有组件的接口。
组件可以用任何一种开发语言实现,如:java中,可以执行EJB、servlets和JSP组件。
组件的默认版型(Stereotype)有五种:
《Document》表示组件是一般的文档文件;
《Executable》表示组件是可执行的文件;
《File》表示组件是一般的文件;
《Library》表示组件是静态或动态库文件;
《Table》表示组件是数据库中的表。
可创建新的版型Stereotype。
组件的操作实在组件的接口Interface中声明的。
3)定义组件的接口和类
组件暴露于外界的界面称为接口,组件通过接口对外提供服务。
每个组件都包括一个或多个接口,组件也可能使用其它组件提供的接口。
接口是外界对象访问组件的入口点,其它组件和类都可使用组件。
如果组件之间通过接口发生依赖,那么这些组件之间可以相互替代。
组件的接口可与组件在同一模型中,也可在不同的模型中。
通常,组件包含一个或多个类,以及一个或多个接口,组件的类中通常包含一个主类,并通过类来实现组件的功能,其它组件可通过接口来使用这个组件。
一个典型的组件包含若干内部类和一些包中的类,也可包含一些小组件。
4)为组件创建类图
一个组件只能包含一个类图,为组件创建类图可使该组件中相关联的类和接口有一个完整的视图。
组件修改后,相应的类图也应该修改。
为组件创建类图的方法:右键单击组件符号,从弹出的快捷菜单中选择Create/Update Class Diagram,出现专为该组件创建的类图。
5)将组件配置成节点
节点(Node)使部署图(Deployment Diagram)中的重要概念,它代表软件系统中的一个物理位置,在这个物理位置上包含了多个组件来共同完成相关的任务,所以把一个或多个组件配置成节点,对于建立部署图具有重要的意义。
把一个或多个组件配置成节点,实际上就是在节点内部创建一个或多个组件的实例。
菜单Tools-->Deploy Component to Node上可以把组件配置成节点。
6)定义概化
概化关系表达了一般元素(父元素)与特殊元素(子元素)之间的关系,子元素继承了父元素的特性,还拥有自己的特性。
定义组件间的概化关系同定义用例或类间的概化关系。
7)定义依赖
当两个组件之间存在相互依赖的关系时,改变被依赖的组件将影响到依赖的组件。
组件和接口之间不能创建依赖。
用工具板上的Dependency工具创建。
组件的依赖同用例图、类图的依赖。