面向对象的分析与设计(OOA&D)方法的发展在20世纪80年代末至90年代中出现了一个高潮,UML是这个高潮的产物,它不仅统一了Booch,Rumbaugh,Jacobson的表示方法,而且对其做了进一步的发展,并最终统一为大众所接受了标准建模语言.
公认的面向对象建模语言出现于20世纪70年代中期,经过一番"方法大战"90年代中期,一批新的方法出现了,其中最引人注目的是Booch1993,OOSE,和OMT-2等.1994年10月Grady Booch和Jim Rumbaugh首先将Booch和OMT-2统一,1995年Jacobson加盟,于1996年发布了UML0.9和UML0.91.
UML是一种面向对象的建模语言,它的主要作用是帮助用户对软件系统进行面向对象的描述和建模(这里建模定义为通过将拥护的业务需求映射为代码,保证代码满足这些要求,并能方便地回溯需求的过程),它可以描述软件开发过程冲需求分析直到实现和测试的全过程.UML提供了多种图形来把各种模型元素及其关系可视化,让人们可以清楚容易地理解模型,可以从多个视角来考察模型,从而更加全面的了解模型.
UML的定义:包括UML语义和UML表示法两个部分.
UML语义:基于UML的精确元模型定义,元模型为UML的所以元素在语法和语义上提供了简单,一致和通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的表达方法所造成的影响,此外UML还支持对元模型的扩展定义.
UML表示法:定义UML符号的表示法,为开发者或者开发工具使用这些图形符号和文本语法为系统建模提供了标准,这些符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例.
UML的组成:
UML由视图(View),图(Diagram),模型元素(Model Element)和通用机制(General Machanism)等几个部分组成.
视图是表达系统的某一方面特征的UML建模元素的子集,由多个图构成,在某一个抽象层面上,对系统的抽象表示.
图是模型元素的图形表示,通常有弧(关系)和顶点(其它模型元素)相互连接构成.
模型元素(Model Element)代表面向对象中的类,对象,消息和关系等概念,是构成图的最基本常用概念.
通用机制用于表示其它信息,比如注释,模型元素的语义等,另外,UML还提供扩展机制,使其能够适应一个特殊的方法或扩充至一个组织或用户.
UML是用来描述模型的,用模型来描述系统的结构或静态特征,以及行为或动态特征.从不同视角为系统构架建模,形成系统的不同视图.
- 用例视图(use case view)强调从用户的角度看到的或需要的系统功能,是被称为参与者的外部用户所能观察到的系统功能的模型图.
- 逻辑视图(logic view)展示系统的静态或结构组成及特征,也称为结构模型视图(structural model view)或静态视图(static view).
- 并发视图(concurrent view)体现了系统的动态或行为特征,也称为行为模型视图(behavioral Model view)或动态视图(dynamic view)
- 组件视图(component view)体现了系统实现的结构和行为特征,也称为实现模型视图(implementation model view).
- 配置视图(deployment view)体现了系统实现环境的结构和行为特征,也称为环境模型视图(environment model view)或物理视图(physical view)
视图由图组成,UML1提供10种不同的图:
- 用例图(use case diagram),描述系统功能
- 类图(class diagram),描述系统静态结构
- 对象图(object diagram),描述系统在某个时刻的静态结构
- 包图(package diagram),描述系统的分层结构
- 时序图(sqeuence diagram),按时间顺序描述系统元素间的交互
- 协作图(collaboration diagram),按照时间和空间的顺序描述系统元素间的交互和它们之间的关系.
- 状态图(state diagram),描述类的对象所有可能的状态以及事件发生时状态转移的条件,描述了系统元素的状态条件和响应
- 活动图(activity diagram),描述了满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动.
- 组件图(component diagram),描述代码部件的物理结构以及各组件之间的依赖关系,描述了实现系统的元素的组织
- 配置图(deployment diagram),定义系统中软硬件的物理体系结构,描述了环境元素的配置,并把实现系统的元素映射到配置上
这9种图可以分为5类:
用例图(use case diagram)从用户角度描述系统功能,并指出各功能的操作者.
静态图(static diagram),包括类图,对象图和包图,类图描述系统中类的静态结构,对象图是类图的实例
行为图(behavior diagram),描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图,状态图是对类图的补充,只需要为那些有多个状态且行为受外界环境影响并发生改变的类图画状态图
交互图(interactive diagram),描述对象间的交互关系,包括时序图和协作图,它们都显示对象间的动态合作关系,其中时序图强调对象间消息的发送顺序,协作图除了显示信息交换外,还显示对象间的关系,如果强调时间和顺序使用时序图,强调上下级关系则选择协作图.
实现图(implementation diagram)包括组件图和配置图
根据它们在不同架构视图的应用,可以把9种图分为:
- 用户模型视图:用例图
- 结构模型视图:类图和对象图
- 行为模型视图:时序图,协作图,状态图和活动图
- 实现模型视图:组件图
- 环境模型视图:配置图
UML有两套建模机制,静态建模机制和动态建模机制,静态建模机制包括用例图,类图,对象图,包,组件图和配置图,动态建模机制包括时序图,协作图,状态图和活动图.
分享到:
相关推荐
UML基础知识学习,详细介绍UML相关知识点与例子,适合小白。
以下是RUP和UML相关知识的详细说明: **需求分析**: 在RUP中,需求分析阶段是项目的起点,主要产出包括问题描述、用例模型图、术语表和补充说明。这个阶段旨在明确理解业务需求和用户期望,用例模型图描绘了用户与...
### UML基础知识详解 #### UML概述 UML(Unified Modeling Language),即统一建模语言,是一种用于软件工程领域的标准化图形表示法。UML由OMG(Object Management Group)管理,自1997年发布1.1版本以来,不断...
UML(Unified Modeling Language)是一种...以上内容详细阐述了UML的基础知识,包括面向对象设计原则、UML的视图、扩展机制、主要元素、异常表示、RUP过程以及用例图、类图等相关概念,旨在提供全面的理解和学习指导。
UML基础知识 UML(Unified Modeling Language),又称统一建模语言或标准建模语言,为人们在做项目过程中提供一些帮助。UML是一种面向对象软件设计提供统一的、标准的、可视化的建模语言,适用于描述以用例为驱动,...
5、UML相关知识 学习UML,你需要掌握各种图的创建规则、符号含义以及如何使用它们来描述系统。此外,理解UML的词汇表,如类、接口、关联、继承、组合等概念,是理解和使用UML的关键。同时,熟悉UML工具的使用,可以...
以下是对UML相关知识点的详细解释: 1. **对象图**:对象图是UML中描述系统静态结构的工具,它显示了类的实例以及它们之间的关系。 2. **关联的多重度**:关联的多重度指的是一个类的实例可以与另一个类的实例关联...
### UML基础知识学习:深入解析UML类图元素 #### UML概览 UML(Unified Modeling Language,统一建模语言)是一种广泛应用于软件工程领域的标准化建模语言,旨在帮助软件开发者有效地描述、可视化和构建软件系统。...
### UML经典讲座知识点概述 #### 一、UML简介 UML(Unified Modeling Language,统一建模语言)是一种广泛接受且定义明确的语言,用于构建面向对象和基于组件的系统。它是由Rational Corporation开发,并结合了...
【UML建模的基础知识及其概述】 UML(Unified Modeling Language),统一建模语言,是软件工程领域中广泛使用的建模工具,它提供了一种标准化的方法来描述软件系统的结构和行为,帮助开发者、分析师和项目参与者更...
### UML统一建模语言的考试知识点解析 #### 1. 软件工程及面向对象技术,RUP概述 **软件生命周期的主要阶段** - **需求分析**:明确项目目标和用户需求,形成需求规格说明书。 - **软件设计**:包括架构设计、模块...
UML各种图示知识汇总
【知识点详解】 1. **UML基础**:UML(Unified Modeling Language)是统一建模语言,用于软件系统的设计和建模。它提供了一套图形化的符号和规范,帮助开发者清晰地表达系统的结构和行为。UML包括多种图表类型,如...
UML 基础知识介绍 UML(Unified Modeling Language)是一种通用的可视化建模语言,用于对软件密集型系统进行可视化、详述、构造和文档化。UML 的主要目的是帮助我们按照实际情况对系统进行可视化、描述系统的结构和...
"UML的一切知识都在这里"和"UML常用图的几种关系的总结.doc"则提供了更深入的理论和实践指导,帮助你全面掌握UML的各个知识点。通过这些资料,你将能够熟练运用UML进行系统建模,从而更好地规划、设计和实现软件项目...
以下是对标题和描述中涉及的UML相关知识点的详细解释: 1. **软件复杂性**:软件复杂性源于计算机体系结构、人的智力活动、概念之间的相互联系、不确定性的交互关系,以及应对变化的需求和用户的多样性。大型软件...
《UML统一建模语言的基础理论知识》 UML(Unified Modeling Language),即统一建模语言,是一种在软件工程领域广泛应用的图形化建模语言。它的出现旨在解决软件开发过程中因需求复杂性带来的理解困难,通过图形化...