(一)结构事物(Structural Things)
总共有七种结构化事物。第一种是类(Class),类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。在UML中类被画为一个矩形,通常包括它的名字、属性和方法(如图9—2所示)。
第二种是接口(Interface),接口是指类或组件提供特定服务的一组操作的集合。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类或组件的全部动作,也可以只实现一部分。接口在UML中以一个圆和它的名字来表示(如图9—3所示)。
第三种是协作(Collaboration),协作定义了交互的操作,描述了一组事物间的相互作用的集合。一个给定的类可能是几个协作的组成部分。协作在UML中用一个虚线椭圆和它的名字来表示(如图9—4所示)。
图9—2 类
图9—3 接口
图9—4 协作
第四种是用例(Use Case),用例代表一个系统或系统的一部分行为,是一组动作序列的集合。这些动作是系统对一个特定角色执行,产生值得注意的结果的值。在模型中用例通常用来组织动作事物。在UML中,将用例画为一个实线椭圆,通常还有它的名字(如图9—5所示)。
图9—5 用例
第五种是活动类(Active Class),它的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。在UML中,活动类的画法和类相同,只是边框为粗线条(如图9—6所示)。
图9—6
第六种是组件(Component),组件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,你可能会遇到不同种类的组件,例如COM+或JAVA BEANS。组件在UML中如图9—7所示。
第七种是节点(Node),节点是一组运行资源,如计算机、设备或存储器。在节点内部,放置可执行部件(组件)和对象,以显示节点与可执行软件单元的对应关系。节点在UML中通常如图9—8所示。
图9—7 组件
(www.daowen.com)
图9—8 节点
类、接口、协作、用例、活动类、组件和节点这七个元素是在UML模型中使用的最基本的结构化事物。系统中还有这七种基本元素的变化体,如角色、信号(某种类)、进程和线程(某种活动类)、应用程序、文档、文件、库、表(组件的一种)。
(二)动作事物(Behavioral Things)
动态事物是UML模型中的动态部分。它们是模型的动词,代表时间和空间上的动作。总共有两种主要的动作事物。
第一种是交互(Interaction),交互是实现某功能的一组事物之间进行的一系列消息交换而组成的动作集合。在交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作)、连接(对象之间的连接)。在UML中消息表示为带箭头的直线,通常加上操作的名字(如图9—9)。
图9—9 消息
第二种是状态机(State Machine),状态机由一系列对象的状态组成,描述事物或交互在生命周期内响应事件所经历的状态序列。在UML中状态如图9—10所示。
图9—10 状态
交互和状态机是UML模型中最基本的两个动态事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。
(三)分组事物(Grouping Things)
分组事物是UML模型中组织的部分,可以把它们看成一个盒子,模型可以在其中被分解。总共只有一种分组事物,称为包(Package)。
包是一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组事物都有可能放在一个包中。与组件(存在于运行时)不同的是,包纯粹是一种概念上的东西,只存在于开发阶段。在UML中以图9—11表示包。
图9—11 包
(四)注释事物(Annotational Things)
注释事物是UML模型的解释部分,在UML中如图9—12所示。
图9—12 注释
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。