第2章 UML概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章UML概述
2.1 UML的发展
UML----统一建模语言(Unified Modeling Language)
进一步定义:是对软件系统中的制品(模型、代码等)进行可视化、详述、构造和文档化的语言。
产生时间:上个世纪九十年代中后期(96/97年)
产生背景:
面向对象方法(OO)出现于20世纪70年代。从1989~1994年,面向对象建模方法(语言工具)从不到10个猛增到50多个,这些不同的建模方法具有不同的建模符号体系,各自均有不同的特点,用户很难找到一个完全满足自己要求的建模语言工具,这给软件开发和市场带来了混乱。其中最为流行的方法有以下3个:
1.OMT(Object Modeling Technology对象建模技术)方法:
提出:James Rumbaugh
特点:分析是强项,设计是弱项
2.Booch方法:
提出:Grady Booch
特点:分析是弱项,设计是强项
3.OOSE(Object Oriented Software Engineering--面向对象软件工程)方法:(注:也称Jacobson方法)
提出:Ivar Jacobson
特点:行为分析(use case)是强项,其它是弱项
基于上述原因,有必要博采众家之长,建立一个标准的、统一的建模语言。UML设计者:由Rumbaugh 、Booch和Jacobson 等人联合设计
注:1993~1995年他们三人顺次分别加入Rational公司后联合设计的。
其中:
1995年后期,正式推出UM0.8(UM--Unified Method)
1996年中期,改进的UM正式更名为UML(Unified Modeling Language)1997年前期,UMLl.0被提交给OTG(Object Technology Organization--对象技术组织)
1997年后期,OMG(Object Management Group--对象管理组织)将UML1.1作为行业标准。
1998年中期,OMG发布了UMLl.2
1998年后期,OMG发布了UMLl.3
1999年中期,OMG发布了UML2.0
归纳起来,UML的产生有以下三方面的原因:
1. 不同的面向对象方法有着许多相似之处,通过这项工作,消除可能会给使用者造成混淆的不必要的差异是非常有意义的;
2. 语义和表示法的统一,可以稳定面向对象技术的市场,使工程开发可以采用一门成熟、统一的建模语言;
3.这种统一能使现有的方法继续向前发展,积累已有的经验,解决以前没有解决好的问题。
总之,UML的产生是许多人集体智慧的结晶。
2.2 UML的特点
UML的主要特点可归纳以下几点:
1.UML统一了Booch、OMT、OOSE和其他面向对象方法的基本思想、概念和符号。
2.UML是支持面向对象软件开发的建模语言。
3.UML可视化、表达能力强大。
4.UML是一种建模语言而不是一种方法。
其中:方法包括表示符号和开发过程的指导原则,而UML仅提供了建模使用的表示符号及其应用规则,不依赖于特定的软件开发过程。这也是它能够被大众接受的一个原因。
例如:RUP(Retional Unified Process)
Retional公司统一制定的开发过程,同UML(Retional Rose)配套使用5.UML仍然在不断的完善和发展。
2.3 UML的组成
UML中有3类主要元素:
1.基本构造块(basic building block)
2.规则(rule)
3.公共机制(common mechanism)
说明:
1.基本构造块(basic building block)包含的类型及成分为:
结构元素
行为元素
分组元素
注释元素
依赖关系
关联关系
类属关系
实现关系
用例图
类图、对象图状态图、活动图时序图、协作图组件图、配置图
其中:
(1)元素(element/thing):
●结构元素(structural):是模型中主要的静态部分,代表了概念的或物理的部
分。共有7种结构元素:
①类(class)
②接口(interface)
③协作(collaboration)
④用例(use case)
⑤活动类(active class)
⑥构件(component)
⑦结点(node)
●行为元素(behavioral):是模型中主要的动态部分,代表了跨越时空的行为。
主要有2种行为元素:
①交互作用(interaction)
②状态机(state machine)
●分组元素(grouping):是用来组织元素的元素。
主要有1种分组元素:包(package)
●注释元素(annotational):一种:注解(note)
(2)UML提供9种不同的图:
①用例图:描述系统的功能,并指出其功能的操作者
②类图:描述系统的静态结构
③对象图:描述系统在某个时刻的静态结构
注:一个对象图是类图的一个实例,它存在着生命周期
④状态图:描述类的对象的所有可能的状态和事件发生时的跃迁
注:状态图通常是对类图的补充
⑤活动图:描述了满足用例要求所要进行的活动及活动间的跃迁
注:活动图有利于识别并发活动
⑥时序图:按时间顺序描述对象之间的交互