一、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中九种图形的符号描述,如下图:
分享到:
相关推荐
### UML期末复习总结 #### 一、UML概述 **什么是UML?** - **定义**: 统一建模语言(Unified Modeling Language, UML)是一种标准的图形化建模语言,主要用于软件系统的可视化表达、构造以及文档化。UML帮助软件...
总结来说,《UML基础、案例与应用(第三版)》深入地介绍和分析了UML的各个方面,帮助读者从基础概念到实际应用,全面理解和掌握UML的使用,对于那些致力于学习面向对象分析和设计的软件工程师来说是一本宝贵的资源。
《UML学习与Java设计模式应用深度解析》 在软件开发领域,统一建模语言(Unified Modeling Language,简称UML)是一种广泛使用的可视化建模工具,它为软件工程师提供了标准化的方式来描述系统的结构和行为。本篇...
UML基础、案例与应用(第三版) 目录 第一部分 基础知识 第1章 UML简介 3 1.1 在纷繁复杂中寻求解决问题的办法 3 1.2 UML的诞生 4 1.3 UML的组成 5 1.4 其他特征 12 1.5 UML 2.0中的新图 13 1.6 为...
本书教读者循序渐进地、系统地学习UML基础知识和应用技术。和前一版相比,本书内容根据UML 2.0进行了补充和更新,随书光盘包含了建模工具Poseidon的试用版。 全书分为三部分24章。第一部分“基础知识”包括第1章到...
UML(统一建模语言)是一种用于软件工程的标准化建模语言,它允许开发者通过图形化的模型来...学习UML,尤其是其基本图形的画法和符号含义,对于任何希望在软件开发领域有所作为的人员来说,都是一项基础且必须的技能。
**UML基础知识** UML(Unified Modeling Language,统一建模语言)是一种用于软件工程的图形化建模语言,它提供了一种标准化的方式来描述系统的结构和行为。UML旨在提高开发人员之间的沟通效率,减少误解,并促进...
"《UML基础、建模与设计实战》课件和例子"提供的资源可能包括详细的教程、实例讲解和实际项目案例,帮助学习者将理论知识转化为实践技能。通过这些课件和例子,你可以学习如何在实际项目中应用UML进行需求分析、系统...
第14章 理解包和UML语言基础 152 14.1 包图 152 14.1.1 包的作用 152 14.1.2 包之间的关系 153 14.1.3 合并包 154 14.2 层级 155 14.2.1 一个类比 156 14.2.2 继续 157 14.3 大胆深入 157 14.4 用包表示UML的底层...
这些文档可能包含了关于UML基础知识、ROSE工具的使用、建模技巧等方面的问题和解答,旨在检验学习者对UML和ROSE的理解和应用能力。通过对这些模拟试卷的深入学习和解答,可以巩固和提升UML建模的实际技能。 总结...
《UML基础、案例与应用》(第3版)教读者循序渐进地、系统地学习UML基础知识和应用技术。和前一版相比,《UML基础、案例与应用》(第3版)内容根据UML 2.0进行了补充和更新,随书光盘包含了建模工具Poseidon的试用版。...
UML 复习大纲总结整套版 UML(Unified Modeling Language)是一种标准化的建模语言,广泛应用于软件开发、系统设计和业务建模等领域。以下是 UML 复习大纲总结整套版的知识点摘要: 软件工程 * 软件概念:软件是...
本书教读者循序渐进地、系统地学习UML基础知识和应用技术。和前一版相比,本书内容根据UML 2.0进行了补充和更新,随书光盘包含了建模工具Poseidon的试用版。 全书分为三部分24章。第一部分“基础知识”包括第1章到第...
本书是作者多年使用Visio的经验总结,相信对初学者有很大的参考价值。 Visio不仅仅是一个功能强大、简单易用的绘图工具,它还是一个绝佳的UML建模工具。本书结合Visio最新的2002版本,介绍如下内容:UML相关理论...
**UML基础与ROSE建模案例** UML(统一建模语言)是软件工程领域中一种标准化的建模语言,用于系统分析和设计。它提供了图形化的方式,以直观地表达软件系统的结构和行为。UML的基础知识涵盖了一系列图表类型,包括...
**UML基础** UML(统一建模语言)是一种标准化的通用建模语言,用于软件工程中的可视化建模。虽然UML不特定于任何一种编程语言,但它在Java开发中得到了广泛应用,因为Java本身就是一种面向对象的语言。SUN公司早期...
**UML基础与Rose建模教程** UML(Unified Modeling Language),统一建模语言,是软件工程领域一种广泛使用的建模工具,它提供了一种图形化的方式来描述软件系统的结构和行为。UML的设计目的是为了提高软件开发过程...
总结来说,"UML基础与Rose建模教程"是学习如何使用UML语言和Rose工具进行软件设计的重要资源。它涵盖了UML的核心概念和Rose的实用功能,对于Java开发者来说,能够提升设计能力,提高团队协作效率,同时减少开发中的...