面向对象的分析与设计(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是用来描述模型的,用模型来描述系统的结构或静态特征,以及行为或动态特征.从不同视角为系统构架建模,形成系统的不同视图.
[list=1]
[*]用例视图(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)
[/list]视图由图组成,UML1提供10种不同的图:
[list][*]用例图(use case diagram),描述系统功能
[*]类图(class diagram),描述系统静态结构
[*]对象图(object diagram),描述系统在某个时刻的静态结构
[*]包图(package diagram),描述系统的分层结构
[*]时序图(sqeuence diagram),按时间顺序描述系统元素间的交互
[*]协作图(collaboration diagram),按照时间和空间的顺序描述系统元素间的交互和它们之间的关系.
[*]状态图(state diagram),描述类的对象所有可能的状态以及事件发生时状态转移的条件,描述了系统元素的状态条件和响应
[*]活动图(activity diagram),描述了满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动.
[*]组件图(component diagram),描述代码部件的物理结构以及各组件之间的依赖关系,描述了实现系统的元素的组织
[*]配置图(deployment diagram),定义系统中软硬件的物理体系结构,描述了环境元素的配置,并把实现系统的元素映射到配置上
[/list]这9种图可以分为5类:
用例图(use case diagram)从用户角度描述系统功能,并指出各功能的操作者.
静态图(static diagram),包括类图,对象图和包图,类图描述系统中类的静态结构,对象图是类图的实例
行为图(behavior diagram),描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图,状态图是对类图的补充,只需要为那些有多个状态且行为受外界环境影响并发生改变的类图画状态图
交互图(interactive diagram),描述对象间的交互关系,包括时序图和协作图,它们都显示对象间的动态合作关系,其中时序图强调对象间消息的发送顺序,协作图除了显示信息交换外,还显示对象间的关系,如果强调时间和顺序使用时序图,强调上下级关系则选择协作图.
实现图(implementation diagram)包括组件图和配置图
根据它们在不同架构视图的应用,可以把9种图分为:
[list]
[*]用户模型视图:用例图
[*]结构模型视图:类图和对象图
[*]行为模型视图:时序图,协作图,状态图和活动图
[*]实现模型视图:组件图
[*]环境模型视图:配置图
[/list]UML有两套建模机制,静态建模机制和动态建模机制,静态建模机制包括用例图,类图,对象图,包,组件图和配置图,动态建模机制包括时序图,协作图,状态图和活动图.
公认的面向对象建模语言出现于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是用来描述模型的,用模型来描述系统的结构或静态特征,以及行为或动态特征.从不同视角为系统构架建模,形成系统的不同视图.
[list=1]
[*]用例视图(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)
[/list]视图由图组成,UML1提供10种不同的图:
[list][*]用例图(use case diagram),描述系统功能
[*]类图(class diagram),描述系统静态结构
[*]对象图(object diagram),描述系统在某个时刻的静态结构
[*]包图(package diagram),描述系统的分层结构
[*]时序图(sqeuence diagram),按时间顺序描述系统元素间的交互
[*]协作图(collaboration diagram),按照时间和空间的顺序描述系统元素间的交互和它们之间的关系.
[*]状态图(state diagram),描述类的对象所有可能的状态以及事件发生时状态转移的条件,描述了系统元素的状态条件和响应
[*]活动图(activity diagram),描述了满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动.
[*]组件图(component diagram),描述代码部件的物理结构以及各组件之间的依赖关系,描述了实现系统的元素的组织
[*]配置图(deployment diagram),定义系统中软硬件的物理体系结构,描述了环境元素的配置,并把实现系统的元素映射到配置上
[/list]这9种图可以分为5类:
用例图(use case diagram)从用户角度描述系统功能,并指出各功能的操作者.
静态图(static diagram),包括类图,对象图和包图,类图描述系统中类的静态结构,对象图是类图的实例
行为图(behavior diagram),描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图,状态图是对类图的补充,只需要为那些有多个状态且行为受外界环境影响并发生改变的类图画状态图
交互图(interactive diagram),描述对象间的交互关系,包括时序图和协作图,它们都显示对象间的动态合作关系,其中时序图强调对象间消息的发送顺序,协作图除了显示信息交换外,还显示对象间的关系,如果强调时间和顺序使用时序图,强调上下级关系则选择协作图.
实现图(implementation diagram)包括组件图和配置图
根据它们在不同架构视图的应用,可以把9种图分为:
[list]
[*]用户模型视图:用例图
[*]结构模型视图:类图和对象图
[*]行为模型视图:时序图,协作图,状态图和活动图
[*]实现模型视图:组件图
[*]环境模型视图:配置图
[/list]UML有两套建模机制,静态建模机制和动态建模机制,静态建模机制包括用例图,类图,对象图,包,组件图和配置图,动态建模机制包括时序图,协作图,状态图和活动图.