UML学习笔记(一)__UML简介

     UML由图和元模型组成,图是语法,元模型是语义。UML主要包括三个基本构造块:事物(Things)、关系(Relationships)和图(Diagrams)。

1.1 UML的基本构造块

     1.1.1事物

     事物是对实体抽象化的最终结果,是模型中的基本成员,UML中包含结构事物、行为事物、分组事物和注释事物 。

   (1)结构事物(Structural things)

     结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,共有以下7种:

     类(Class):类是指具有相同属性、方法、关系和语义的对象的集合。

     接口(Interface):接口是指类或组件所提供的服务(操作),描述了类或组件对外可见的动作。

     协作(Collaboration):协作描述合作完成某个特地任务的一组类及其关联的集合,用于对使用情况的实现建模。

     用例(User Case):用例定义了执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互来完成的一个业务目标。

     活动类(Active Class):活动类的对象有一个或多个进程或线程。活动类和类很相像,只是它的对象代表的元素的行为和其他的元素是同时存在的。

     组件(Component):组件是物理的、可替换的部分包含接口的集合,例如COM+、JAVA、BEANS等。

     结点(Node):结点是系统在运行时存在的物理元素,代表一个可计算的资源,通常占用一些内存和具有处理能力。

    (2)行为事物(Behavioral things)

     行为事物指的是UML模型中的动态部分,代表语句里的“动词”,表示模型里随着时空不断变化的部分,包含两类:

     交互(interaction):交互式是有一组对象之间在特定上下文中,为达到特定的目的 而进行的一系列消息交换而组成的动作。

     状态机(state machine):状态机由一系列对象的状态组成。

    (3)分组事物(Grouping things)

      可以把分组事物看成是一个“盒子”,模型可以在其中被分解。目前只有一种分组事物,即包(package)。结构事物、动作事物甚至分组事物都有可能放在一个包中。包纯粹是概念上的,只存在于开发阶段,而组件在运行时存在。

    (4)注释事物(Annotational things)

      注释事物是UML模型的解释部分。

     1.12关系

     关系是将事物联系在一起的方法,UML中定义了四种关系:

    (1)依赖(Dependencies):两个事物之间的语义关系,其中一个事物发生变化会影响另外一个事物的语义。

    (2)关联(Association):一种描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系)。

    (3)泛化(Generalization):一种一般化-特殊化的关系。

    (4)实现(Realization):类之间的语义关系,其中的一个类指定了另一个类保证执行的契约。

      1.13 图

      图是事物集合的分类,UML中包含多种图:

     (1)类图(Class Diagram):类图描述系统所包含的类、类的内部结构及类之间的关系。

     (2)对象图(Object Diagram):对象图是类图的一个具体实例。

     (3)包图(Package Diagram):包图表明包及其之间的依赖类图。

     (4)组件图(Compoment Diagram,也称构件图):组件图描述代码部件的物理结构以及各部件之间的依赖关系;
(5)部署图(Deployment Diagram):部署图定义系统中软硬件的物理体系结构;
(6)用例图(Usecase Diagram):用例图从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系;
(7)顺序图(Sequence Diagram):顺序图表示对象之间动态合作的关系;
(8)协作图(Collaboration Diagram):合作图描述对象之间的协作关系;
(9)状态图(Statechart Diagram):状态图描述一类对象的所有可能的状态以及事件发生时状态的转移条件;
(10)活动图(Activity Diagram):活动图描述系统中各种活动的执行顺序。
上述十种图可归纳为五类,如表1.1。
表1.1 UML图分类

类型                        包含

静态图                      类图、对象图、包图

行为图                      状态图、活动图

用例图                      用例图

交互图                      顺序图、协作图

实现图                      组件图、部署图

posted @ 2009-11-01 19:47  唐颖  阅读(229)  评论(0编辑  收藏  举报