您的位置:首页 > 其它

UML基础学习总结

2014-05-19 11:42 288 查看
一、UML统一建模语言,英文名称:Unified Modeling Language;

UML定义:是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。

二、UML用来描述模型的内容有3种:

分别是事物(Things)、关系(Relationships)和图(Diagrams),而这3种内容下面又有具体的划分





三、UML中各种事物、关系、图的符号描述,如下图:






四、UML视图和图的主要概念








五、标准建模语言UML的重要内容可以由下列五类视图:

第一类是用例视图(Use Case View),从用户角度看到的或需要的系统功能,并指出各功能的操作者。

第二类是逻辑视图又叫静态视图 (Static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内 部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。

[2]对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。

第三类是并发视图又叫行为模型视图或动态视图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。行为视图包括:状态图、活动图、顺序图和协作图。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。 顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图。 协作图展现了一组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。 顺序图和协作图都是交互图,顺序图和协作图可以相互转换。

第四类是交互图(Interactive diagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。

第五类是实现图 ( Implementation diagram ),其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。

六、标准建模语言UML的重要内容可以分为九种图(画法略):

A、用例图(Use Case Diagram)

1、定义:由参与者(Actor)、用例(UseCase)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。

2、主要用于对系统子系统或类的功能行为进行建模。

3、定义了系统的功能需求,从系统外部看系统功能,并不描述系统内部对功能的具体实现。

4、箭头:用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。

5、用例图主要作用::(1)获取需求;(2)指导测试;(3)在整个过程中的其它工作流起到指导作用。

6、关系:

(1)包含关系:基本用例的行为包含了另一个用例的行为。基本用例描述在多个用例中都有的公共行为。包含关系本质上是比较特殊的依赖关系。

(2)泛化关系:代表一般与特殊的关系,在泛化关系中子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或者覆盖父用例中的行为和含义。

(3)扩展关系:含义和泛化关系类似,但在扩展关系中,对于扩展用例有更多的规则限制,基本用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。与包含关系一样,扩展关系也是依赖关系的版型。在扩展关系中,箭头的方向是从扩展用例到基本用例。

B、类图(Classdiagram)

1、定义:最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。

2、最基本元素:类或接口

3、类的组成部分:类名、属性、方法

加号(+)表示public;减号(-)表示private;#号表示protected保护;省略这些修饰符表示具有package(包)级别的可见性。

4、接口:接口是一系列操作的集合,它指定了一个类所提供的服务。

5、类图中常见关系:

继承(Generalization),关联关系(Association),聚合关系(Aggregation),复合关系(Composition),依赖关系(Dependency)。其中,聚合关系(Aggregation),复合关系(Composition)属于关联关系(Association)

一般关系表现为继承或实现关系(is a),关联关系表现为变量(hasa ),依赖关系表现为函数中的参数(use a)。

6、表示方法:

(1)依赖 :是类与类之间的连接,表示一个类依赖于另一个类的定义。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。

虚线+箭头 箭头指向被依赖的一方,也就是指向局部变量

(2)聚合:是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。关联关系的两个类处于同一层次上,而聚合关系两个类处于不同的层次,一个是整体,一个是部分。

空心菱形+实线+箭头,箭头指向部分

(3)组合:是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

实心菱形+实线+箭头

(4)关联:类与类之间的联接,它使一个类知道另一个类的属性和方法

实线+箭头,箭头指向被使用的类

(5)一般化关系:表示为类与类之间的继承关系,接口与接口之间的继承,类对接口的实现关系

空心箭头+实线,箭头指向父类。或空心箭头+虚线,如果父类是接口。

C、对象图(ObjectDiagram)

1、定义:显示了一组对象和他们之间的关系,对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

2、用途:(1)捕获实例和连接

(2)在分析和设计阶段创建

(3)捕获交互的静态部分

(4)举例说明数据/对象结构

(5) 详细描述瞬态图

(6)由分析人员、设计人员和代码实现人员开发

面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(StageDiagram),序列图(SequenceDiagram),协作图(Communication Diagram),活动图(ActivityDiagram)

D、活动图(actogragh/activitydiagram)

1、定义:阐明了业务用例实现的工作流程

2、元素:(1)活动状态 action states

(2)活动状态间转移

(3)判断:定义一组警戒条件

(4)保证条件

(5)同步条:显示平行分支流

(6)起点和终点

E、状态图(statechartdiagram)

1、定义:描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作

2、状态机:状态机由状态组成,各状态由转移链接在一起

3、状态:状态是对象执行某项活动或等待某个事件时的条件

4、转移:转移是两个状态之间的关系,它表示当发生指定事件并且满足指定条件时,第一个状态中的对象将执行某些操作并进入第二个状态

F、序列图(sequencediagram)

1、定义:序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。很象类图。

2、用途:是把用例表达的需求,转化为进一步、更加正式层次的精细表达;序列图除了在设计新系统方面的用途外,它们还能用来记录一个存在系统(称它为“遗产”)的对象现在如何交互

3、图符

G、协作图(CommunicationDiagram)

1、定义:协作图(CollaborationDiagram /Communication Diagram,也叫合作图)是一种交互图(interaction diagram)(1)强调的是发送和接收消息的对象之间的组织结构。使用协作图来说明系统的动态情况。协作图使描述复杂的程序逻辑或多个平行事务变得容易。(2)协作图显示对象之间的关系,它更有利于理解对给定对象的所有影响,也更适合过程设计。(3)协作图作为表示对象间相关作用的图形表示,也可以有层次结构。可以把多个对象作为一个抽象对象,通过分解,用下层协作图表示出这多个对象间的协作关系,这样可缓解问题的复杂度

2、基本元素:活动者(Actor)、对象(Object)、连接(Link)和消息(Message)。在UML中,使用实线标记两个对象之间的连接,

3、表示:用长方形框表示对象。当两个对象间有消息传递时用带箭头的有向边连接这两个对象

H、构件图(Component Diagram)

1、定义:主要用于描述各种软件构件之间的依赖关系,从软件架构的角度来描述一个系统的主要功能。

2、构件图的构成

对系统静态实现进行建模

①构件

②接口

③关系

3、构件与接口

①实现:(构件与对应接口之间的关系)

②依赖:(构件与其他构件之间个关系)

③示出接口:构件实现的接口

④引入接口:构件使用的接口

I、部署图(deploymentdiagram)

1、定义:描述了一个运行时的硬件结点,以及在这些结点上运行的软件组件的静态视图。部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构的机器之间的中间件

2、创建部署模型的目的

(1)探究系统投产的相关问题.

(2)探究你的系统和生产环境中的其它系统的依赖关系,这些系统可能是已经存在,或是将要引入的。

(3) 描述一个商业应用主要的部署结构。

(4)设计一个嵌入系统的硬件和软件结构。

(5) 描述一个组织的硬件/网络基础结构。

七、UML中九类图之间的基本关系:



八、UML中九种图形的符号描述,如下图:




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: