面向对象建模-UML建模语言.ppt
《面向对象建模-UML建模语言.ppt》由会员分享,可在线阅读,更多相关《面向对象建模-UML建模语言.ppt(103页珍藏版)》请在三一办公上搜索。
1、UML建模语言,第五章,UML建模语言目录,5.1 UML概述,5.2 通用模型元素,5.3 用例建模,5.4静态建模,5.5 动态建模,5.6 实现模型,UML建模语言,概 述,软件工程领域在1995年至1997年取得了前所未有的进展,其成果超过软件工程领域过去15年来的成就总和。其中最重要的、具有划时代重大意义的成果之一就是统一建模语言 UML(Unified Modeling Language)的出现。在世界范围内,至少在近10年内,UML将是面向对象技术领域内占主导地位的标准建模语言。,概 述,5.1 UML概述,5.1 UML概述,UML(Unified Modeling Langu
2、age)是软件界第一个统一的建模语言,该方法结合了Booch,OMT,和OOSE方法的优点,统一了符号体系,并从其它的方法和工程实践中吸收了许多经过实际检验的概念和技术。它是一种标准的表示,已成为国际软件界广泛承认的标准。它是第三代面向对象的开发方法,是一种基于面向对象的可视化的通用(General)建模语言。为不同领域的用户提供了统一的交流标准 UML图。UML应用领域很广泛,可用于软件开发建模的各个阶段,商业建模(Business Modeling),也可用于其它类型的系统。,什么是模型?为什么要建模?,什么是模型?,模型是一个系统的完整的抽象。人们对某个领域特定问题的求解及解决方案,对它
3、们的理解和认识都蕴涵在模型中。通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。,领域问题,概念模型,分析、抽取,系统需求,解决方案,分析、设计,提取,UML作为一种可视化的建模语言,提供了丰富的基于面向对象概念的模型元素及其图形表示元素。,5.1.1 UML的形成,九十年代中,面向对象方法已经成为软件分析和设计方法的主流。1994年10月Jim Rumbaugh和Grady Booch共同合作把他们的OMT和Booch方法统一起来,到1995年成为“统一方法”(Unified Method)版本0.8。随后,Ivar Jacobson加入,
4、并采用他的用例(User case)思想,到1996年,成为“统一建模语言”版本0.9。1997年1月,UML版本1.0被提交给OMG组织,作为软件建模语言标准的候选。其后的半年多时间里,一些重要的软件开发商和系统集成商都成为“UML伙伴”,如IBM,Mircrosoft,HP等.1997年11月7日被正式采纳作为业界标准。,5.1.1 UML的形成,图5.1,5.1.1 UML的形成,5.1.2 UML的主要内容,UML的定义包括UML语义和UML表示法两个部分。(1)UML语义 描述基于UML的精确元模型(meta-model)定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、
5、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的表达方法所造成的影响。此外UML还支持对元模型的扩展定义。UML支持各种类型的语义。如布尔、表达式、列表、阶、名字、坐标、这字符串和时间等,还允许用户自定义类型。(2)UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准.。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。,5.1.2 UML的主要内容,5.1.2 UML的主要构成,UML是一种标准化的图形建模语言,它是面向对象分析与设计的一种标准表示。由:视图(views),图(Diagrams),模型元素(
6、Model elements)通用机制(general mechanism)等几个部分构成。,UML的主要构成,UML的主要内容,一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图(view)。视图由多个图(Diagrams)构成,它不是一个图表(Graph),而是在某一个抽象层上,对系统的抽象表示。如果要为系统建立一个完整的模型图,需定义一定数量的视图,每个视图表示系统的一个特殊的方面。另外,视图还把建模语言和系统开发时选择的方法或过程连接起来。,5.1.2 UML的主要内容,视图(views),Use case View描述系统的外部特性、系统功能等。,Implementa
7、tion View 表示系统的实现特征,常用构件图表示。,Design View 描述系统设计特征,包括结构模型视图和行为模型视图,前者描述系统的静态结构(类图、对象图),后者描述系统的动态行为(交互图、状态图、活动图)。,Process View 表示系统内部的控制机制。常用类图描述过程结构,用交互图描述过程行为。,Deployment View 配置视图描述系统的物理配置特征。用配置图表示。,5.1.2 UML的主要内容,UML常用视图,UML语言定义了五种类型,9种不同的图,把它们有机的结合起来就可以描述系统的所有视图。用例图(Use case diagram)从用户角度描述系统功能,并
8、指出各功能的操作者。静态图(Static diagram),表示系统的静态结构。包括类图、对象图、包图。行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。包括状态图、活动图。交互图(Interactive diagram),描述对象间的交互关系。包括顺序图、合作图。实现图(Implementation diagram)用于描述系统的物理实现。包括构件图、部件图。,5.1.2 UML的主要内容,图(Diagrams),图,代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的元素。一个模型元素可以用在多个不同的图中,无论怎样使用,它总是具有相同的
9、含义和相同的符号表示。通用机制(general mechanism)用于表示其他信息,比如注释,模型元素的语义等。另外,为了适应用户的需求,它还提供了扩展机制(Extensibility mechanisms),包括构造型(Stereotype)、标记值(Tagged value)和约束(Constraint).使用UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。,5.1.2 UML的主要内容,模型元素(Model elements),UML在演变过程中还提出了一些新的概念。在UML标准中新加了模板(Stereotypes)、职责(Responsibilities)、扩展机
10、制(Extensibility mechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns)、合作(Collaborations)、活动图(Activity diagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Components)等概念。,5.1.2 UML的主要内容,(1)统一标准UML统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标
11、准的面向对象的模型元素的定义和表示。(2)面向对象UML还吸取了面向对象技术领域中其他流派的长处。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。(3)可视化、表示能力强系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。(4)独立于过程UML是系统建模语言,独立于开发过程。(5)易掌握、易用由于UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。,5.1.3 UML的特点,5.1.3 UML的特点,5.2 通用模型元素,5.2 通用模型元素,模型元素是UML构造系统的各种元素,是UML构建模型
12、的基本单位。模型元素代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的概念。分为以下两类:1、基元素 是已由UML定义的模型元素。如:类、结点、构件、注释、关联、依赖和泛化等。2、构造型元素 在基元素的基础上构造的新的模型元素,是由基元素增加了新的定义而构成的,如扩展基元素的语义(不能扩展语法结构),也允许用户自定义。构造型用括在双尖括号中的字符串表示。目前UML提供了40多个预定义的构造型元素。如使用Use、扩展 Extend。,5.2.1 模型元素,5.2.1 模型元素,图5.2,可以在图中使用的概念统称为模型元素。模型元素在图中用其相应的视图元素(符号)表示,图3.2给
13、出了常用的元素符号:类、对象、结点、包和组件等。,模型元素,关联:连接(connect)模型元素及链接(link)实例。依赖:表示一个元素以某种方式依赖于另一种元素。泛化:表示一般与特殊的关系,即“一般”元素是“特殊”关系的泛化。聚合:表示整体与部分的关系。除了上述的模型元素外,模型元素还包括消息,动作和版类(stereotype)等。,图5.3,3.2.1 模型元素,模型元素与模型元素之间的连接关系也是模型元素,常见的关系有关联(association)、泛化(generalization)、依赖(dependency)和聚合(aggregation),其中聚合是关联的一种特殊形式。这些关系
14、的图示符号如图3.3所示。,5.2.2 关联和链,关联(association)是两个或多个类之间的一个关系。链(link)是关联的具体体现。,5.2.2 关联和链,关联的表示如图3.(a)(b)所示,关联有二元关联(binary)、三元关联(ternary)、多元关联(higher order)。,图5.,(a)二元关联,(b)三元关联,3.2.3 关联的表示,关联的重数重数(multiplicity)表示多少个对象与对方对象相连接(图3.5),常用的重数符号有:“0.1”表示零或1“0.*”或“*”表示零或多个“1.*”表示1或多个“1,3,7”表示1或3或7(枚举型)重数的默认值为1。,
15、5.2.3 关联的表示,图5.5 带有多重性关联,有序关联与导航(导引)在关联的多端标注ordered指明这些对象是有序的(图3.6)。关联可以用箭头,表示该关联使用的方向(单向或双向),称为导引或导航(navigation)。,受限关联(qualified association)使用限定词对该关联的另一端的对象进行明确的标识和鉴别(图5.7)。,图5.7 受限关联,5.3.1 关联的表示5,关联的表示,5.2.4 约束,UML中提供了一种简便、统一和一致的约束(constraint),是各种模型元素的一种语义条件或限制。一条约束只能应用于同一类的元素。,约束的表示如果约束应用于一种具有相应
16、视图元素的模型元素,它可以出现在它所约束元素视图元素的旁边。通常一个约束由一对花括号括起来(constraint),花括号中为约束内容(图5.8)。,如果一条约束涉及同一种类的多个元素,则要用虚线把所有受约束的元素框起来,并把该约束显示在旁边(如或约束)。,图5.8,5.2.4 约束,约束,图5.9 对泛化的约束的两种表示方法,约束可分为:对泛化的约束、关联的约束,对泛化的约束应用于泛化的约束,显示在大括号里,若有多个约束,用逗号隔开。如果没有共享,则用一条虚线通过所有继承线,并在虚线的旁边显示约束,如图5.9所示:,5.3.2 约束,对泛化有以下常用的约束:1、complete:说明泛化中所
17、有子元素都已在模型中说明,不允许再增加其它子元素。2、disjoint:父类对象不能有多于一个型的子对象。3、incomplete:说明不是泛化中所有子元素都已说明,允许再增加其它子元素。4、overlapping:给定父类对象可有多于一个型的子对象,表示重载。,5.3.2 约束,返回,对消息,链接角色和对象的约束 自定义约束,图5.10 对象类的xor关联,5.3.2 约束,关联的约束 对关联有以下常用的约束:1、implicit:该关联只是概念性的,在对模型进行精化时不再用。2、ordered:具有多重性的关联一端的对象是有序的。3、changeable:关联对象之间的链(Link)是可变
18、的(添加、修改、删除)。4、addonly:可在任意时刻增加新的链接。5、frozen:冻结已创建的对象,不能再添加、删除和修改它的链接。6、xor:“或约束”,某时刻只有一个当前的关联实例。,5.2.6 依赖,依赖关系描述的是两个模型元素(类,组合,用例等)之间的语义上的连接关系,其中一个模型元素是独立的,另一个模型元素是非独立的(或依赖的)。如图5.11表示类A依赖于类B的一个友元依赖关系。,类A,类 B,友元,5.2.6 依赖,图5.11,依赖的形式可能是多样的,针对不同的依赖的形式,依赖关系有不同的变体(varieties):,依赖的形式可能是多样的,针对不同的依赖的形式,依赖关系有不
19、同的变体(varieties):抽象(abstraction):从一个对象中提取一些特性,并用类方法表示。绑定(binding):为模板参数指定值,以定义一个新的模板元素。组合(combination):对不同类或包进行性质相似融合。许可(permission):允许另一个对象对本对象的访问。使用(usage):声明使用一个模型元素需要用到已存在的另一个模型元素,这样才能正确实现使用者的功能(包括调用、实例化、参数、发送)。跟踪(trace):声明不同模型中元素的之间的存在一些连接。访问或连接(access):允许一个包访问另一个包的内容。调用(call):声明一个类调用其他类的操作的方法。,
20、5.2.6 依赖,导出(derive):声明一个实例可从另一个实例导出。友元(friend):允许一个元素访问另一个元素,不管被访问的元素是否具有可见性。引入(import):允许一个包访问另一个包的内容并被访问组成部分增加别名。实例(instantiation):关于一个类的方法创建了另一个类的实例声明。参数(parameter):一个操作和它参数之间的关系。实现(realize):说明和其实之间的关系。精化(refine):声明具有两个不同语义层次上的元素之间的映射。发送(send):信号发送者和信号接收者之间的关系。,5.2.6 依赖,5.2.7 细化,有两个元素A和B,若B元素是A元素
21、的详细描述,则称B,A元素之间的关系为B元素细化A元素。细化与类的抽象层次有密切的关系,在构造模型时要经过逐步细化,逐步求精的过程。如图3.9所示,类B是类A细化的结果。,5.2.7 细化,5.2.8 注释,注释用于对UML语言的元素或实体进行说明,解释和描述。通常用自然语言进行注释。,5.3 用例建模,1992年由Jacobson提出了Use case 的概念及可视化的表示方法Use case图,受到了IT界的欢迎,被广泛应用到了面向对象的系统分析中。用例驱动的系统分析与设计方法已成为面向对象的系统分析与设计方法的主流。用例模型由Jacobson在开发AXE系统中首先使用,并加入由他所倡导的
22、OOSE和Objectory方法中。用例方法引起了面向对象领域的极大关注。自1994年Ivar Jacobson的著作出版后,面向对象领域已广泛接纳了用例这一概念,并认为它是第二代面向对象技术的标志。,5.3 用例建模,用例建模技术,用于描述系统的功能需求。在宏观上给出模型的总体轮廓。通过对典型用例的分析,使开发者能够有效地了解用户的需求。,5.3.1 用例建模概述,5.3.1 用例建模概述,图3.14,3.3.2 用例模型(Use case model)用例模型描述的是外部执行者(Actor)所理解的系统功能。它描述了待开发系统的功能需求。它驱动了需求分析之后各阶段的开发工作,不仅在开发过程
23、中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和 UML 的各个模型。用例模型由若干个用例图构成,用例图中主要描述执行者和用例之间的关系。在UML中,构成用例图的主要元素是用例和执行者及其它们之间的联系。,3.3.2 用例模型,创建用例模型的工作包括:定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。,一、执行者(Actor)执行者是指用户在系统中所扮演的角色。执行者在用例图中是用类似人的图形来表示,但执行者可以是人,也可以是一个外界系统。,注意:用例总是由执行者启动的。,如何确定执行者:1、谁使用系统的主要功能(主执行者)?2、谁需
24、要从系统获得对日常工作的支持和服务?3、需要谁维护管理系统的日常运行(副执行者)?4、系统需要控制哪些硬件设备?5、系统需要与其它哪些系统交互?6、谁需要使用系统产生的结果(值)?,一、执行者,5.3.2 用例模型,供货,买饮料,取货款,客户,供货人,收银员,图5.15自动售货系统,回例1,二、用例,二、用例(use case)从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。在UML中,用例被定义成系统执行的一系列动作(功能)。用例有以下特点:用例捕获某些用户可见的需求,实现一个具体的用户目标。用例由执行者激活,并将结果值反馈给执行者。用例必须具有功能上的完整描述。,如何确定用例:1
25、、与系统实现有关的主要问题是什么?2、系统需要哪些输入/输出?这些输入/输出从何而来?到哪里去?3、执行者需要系统提供哪些功能?4、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?,二、用例,5.3.2 用例模型,回例1,用例图,图3.16 用例图的元素,用例图,用例图描述了系统的功能需求,它是从执行者的角度来理解系统,用于捕获系统的需求,规划和控制项目;描述了系统外部的执行者与系统提供的用例之间的某种联系。图中还有另外两种类型的连接,即使用和扩展关系,是两种不同形式的泛化关系。,Use表示一个用例使用另一个用例。Extend通过向被扩展的用例添加动作来扩展用例。,用例图实例,用例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 建模 UML 语言
链接地址:https://www.31ppt.com/p-6435948.html