uml详解及实例分析.ppt
《uml详解及实例分析.ppt》由会员分享,可在线阅读,更多相关《uml详解及实例分析.ppt(149页珍藏版)》请在三一办公上搜索。
1、第七章 统一建模语言UML,7.1 UML简介 7.2 用例建模 7.3 静态建模 7.4 动态建模 7.5 物理架构建模 7.6 基于UML的统一建模过程RUP,7.1 UML简介,Unified Modeling Language近十几年来OOSE最重要的成果贡献者:Grady Booch,James Rumbaugh,Ivar Jacobson于1996年6月推出中文网站http:/,参考书,美 G Booch,J Rumbaugh,I Jacobson.邵维忠等译.UML用户指南.北京:机械工业出版社,2001美 James Rumbaugh.姚淑珍,唐发根译.UML参考手册.北京:机
2、械工业出版社,2001 美 W Boggs等.邱仲潘等译.UML与Rational Rose2002从入门到精通.北京:电子工业出版社,2002,UML是一种可视化的图形符号建模语言,利用它可以进行需求分析、概要设计、详细设计、编程实现、项目计划、测试、原型迭代、产品发布、产品维护等。目前在软件工程里主要用于系统分析与系统设计。Rational Rose是UML的主要建模工具。Microsoft Visio是UML常见的建模工具。,模型是一个系统的完整的抽象,模型是对现实的简化。人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴涵在模型中。通常,开发一个计算机系统是为了解决某个领域
3、特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。,领域问题,概念模型,分析、抽取,系统需求,解决方案,分析、设计,提取,UML作为一种可视化的建模语言,提供了丰富的基于面向对象概念的模型元素及其图形表示元素。,什么是模型?为什么要建模?,UML的重要影响,软件生存周期:RUP(Rational Unified Process)软件建模方式:可视化的语言软件文档规范:文档由UML建模工具自动产生软件人员分工:岗位界线逐渐趋向模糊,UML的内容结构,UML模型中的图,UML共提供了九种图:第一类图是用例图。用例图(Use Case,用况、实例)从用户的角度描述系统功能,并指出各功能的操
4、作者。第二类图是静态图,包括类图(Class)、对象图(Object)。类图描述类的定义和类之间的关系(关联、继承、聚合等),对象是类的实例。包描述系统的分层结构。第三类图是行为图,包括状态图(Statechart)和活动图(Activity)。状态图描述对象的所有可能状态及事件发生时状态的转移条件。活动图描述了用例的活动行为以及活动时的约束关系。,第四类图是交互图,包括时序图(Sequence、循序、顺序、序列、轨迹)和协作图(Collaboration、合作图)。顺序图描述了对象间的动态协作关系,强调消息的时间排列;合作图同样描述了对象间的动态协作关系,但他强调消息发送和接收的对象的结构组
5、织(及连接关系)。第五类图是实现图,包括构件图(Component、组件、部件)和部署图(Deployment、配置、实施)。构件图描述了代码构件(模块)的物理结构和构件(模块)间的依赖关系;配置图定义了系统中软、硬件的体系结构。,UML模型中的图,UML五类九种图的符号体系1,UML五类九种图的符号体系2,UML五类九种图的符号体系3,UML五类九种图的符号体系4,UML五类九种图的符号体系5,UML是一种标准化的图形建模语言,它是面向对象分析与设计的一种标准表示。由:视图(views),图(Diagrams),模型元素(Model elements)通用机制(general mechani
6、sm)等几个部分构成。,UML的主要内容,一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图(view)。视图由多个图(Diagrams)构成,它不是一个图表(Graph),而是在某一个抽象层上,对系统的抽象表示。如果要为系统建立一个完整的模型图,需定义一定数量的视图,每个视图表示系统的一个特殊的方面。另外,视图还把建模语言和系统开发时选择的方法或过程连接起来。,UML的主要内容,视图(views),Use case View描述系统的外部特性、系统功能等。,Implementation View 表示系统的实现特征,常用构件图表示。,Design View 描述系统设计特征,
7、包括结构模型视图和行为模型视图,前者描述系统的静态结构(类图、对象图),后者描述系统的动态行为(交互图、状态图、活动图)。,Process View 表示系统内部的控制机制。常用类图描述过程结构,用交互图描述过程行为。,Deployment View 配置视图描述系统的物理配置特征。用配置图表示。,UML的主要内容,UML常用视图,UML语言定义了五种类型,9种不同的图,把它们有机的结合起来就可以描述系统的所有视图。用例图(Use case diagram)从用户角度描述系统功能,并指出各功能的操作者。静态图(Static diagram),表示系统的静态结构。包括类图、对象图、包图。行为图(
8、Behavior diagram),描述系统的动态模型和组成对象间的交互关系。包括状态图、活动图。交互图(Interactive diagram),描述对象间的交互关系。包括顺序图、合作图。实现图(Implementation diagram)用于描述系统的物理实现。包括构件图、部件图。,UML的主要内容,图(Diagrams),图,代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的元素。一个模型元素可以用在多个不同的图中,无论怎样使用,它总是具有相同的含义和相同的符号表示。通用机制(general mechanism)用于表示其他信息,比如注释,模型元素的语义等。另外,为了
9、适应用户的需求,它还提供了扩展机制(Extensibility mechanisms),包括构造型(Stereotype)、标记值(Tagged value)和约束(Constraint).使用UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。,UML的主要内容,模型元素(Model elements),UML在演变过程中还提出了一些新的概念。在UML标准中新加了模板(Stereotypes)、职责(Responsibilities)、扩展机制(Extensibility mechanisms)、线程(Threads)、过程(Processes)、分布式(Distributi
10、on)、并发(Concurrency)、模式(Patterns)、合作(Collaborations)、活动图(Activity diagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Components)等概念。,UML的主要内容,(1)统一标准UML统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。(2)面向对象UML还吸取了面向对象技术领域中其他流派的长处。UML符号表示考虑了各种方法的图形表示,删掉了大量
11、易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。(3)可视化、表示能力强系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。(4)独立于过程UML是系统建模语言,独立于开发过程。(5)易掌握、易用由于UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。,UML的特点,模型元素是UML构造系统的各种元素,是UML构建模型的基本单位。模型元素代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的概念。分为以下两类:1、基元素 是已由UML定义的模型元素。如:类、结点、构件、注释、关联、依赖和泛化等。2、构造型元素 在基元素的基础上构造
12、的新的模型元素,是由基元素增加了新的定义而构成的,如扩展基元素的语义(不能扩展语法结构),也允许用户自定义。构造型用括在双尖括号中的字符串表示。目前UML提供了40多个预定义的构造型元素。如使用Use、扩展 Extend。,通用模型元素,模型元素,可以在图中使用的概念统称为模型元素。模型元素在图中用其相应的视图元素(符号)表示,下图给出了常用的元素符号:类、对象、结点、包和组件等。,元素符号图,属性,用例,包,结点,状态,组件,类,操作,对象,属性,操作,注释,Name 名称,Attribute 属性,Operation 操作,接口,关联:连接(connect)模型元素及链接(link)实例。
13、依赖:表示一个元素以某种方式依赖于另一种元素。泛化:表示一般与特殊的关系,即“一般”元素是“特殊”关系的泛化。聚合:表示整体与部分的关系。除了上述的模型元素外,模型元素还包括消息,动作和版类(stereotype)等。组合聚集特殊聚合。,连接关系图,模型元素,关联,聚合(集),组合(成),依赖,实现,泛化(继承),模型元素与模型元素之间的连接关系也是模型元素,常见的关系有关联(association)、泛化(generalization)、依赖(dependency)和聚合(聚集、aggregation),其中聚合是关联的一种特殊形式。这些关系的图示符号如下图所示。,关联和链,关联(assoc
14、iation)是两个或多个类之间的一个关系。,关联的表示关联有二元关联(binary)、三元关联(ternary)、多元关联(higher order),如下图(a)(b)所示。,关联图,(a)二元关联,(b)三元关联,链(link)是关联的具体体现。也就是累之间的关联实例对象与对象的关联。在对象名下加下划线。,姚明,男,中锋,火箭队,专业,关联的表示,关联的重数重数(multiplicity)表示多少个对象与对方对象相连接(右图),常用的重数符号有:“0.1”表示零或1“0.*”或“*”表示零或多个“1.*”表示1或多个“1,3,7”表示1或3或7(枚举型)重数的默认值为1。,关联的表示,个
15、人,业余爱好,1*,委员会,个人,年龄,0.2,1.4,3.5,Post,带有多重性关联的图,有序关联与导航(导引)在关联的多端标注ordered指明这些对象是有序的(右图)。关联可以用箭头,表示该关联使用的方向(单向或双向),称为导引或导航(navigation)。,受限关联(qualified association)使用限定词对该关联的另一端的对象进行明确的标识和鉴别(下图所示)。,限定词,类1,类2,受限关联图,关联的表示,约束,UML中提供了一种简便、统一和一致的约束(constraint),是各种模型元素的一种语义条件或限制。一条约束只能应用于同一类的元素。,约束的表示如果约束应用
16、于一种具有相应视图元素的模型元素,它可以出现在它所约束元素视图元素的旁边。通常一个约束由一对花括号括起来(constraint),花括号中为约束内容(如下图所示)。,如果一条约束涉及同一种类的多个元素,则要用虚线把所有受约束的元素框起来,并把该约束显示在旁边(如或约束)。,约束关系图,约束,计本学生,软件工程,or,管理信息系统,约束,对泛化的约束的两种表示方法,约束可分为:对泛化的约束、关联的约束,对泛化的约束应用于泛化的约束,显示在大括号里,若有多个约束,用逗号隔开。如果没有共享,则用一条虚线通过所有继承线,并在虚线的旁边显示约束,如下图所示:,约束,constraint 1,对泛化有以下
17、常用的约束:1、完全(complete):说明泛化中所有子元素都已在模型中说明,不允许再增加其它子元素。2、互斥(disjoint):父类对象不能有多于一个型的子对象。3、不完全(incomplete):说明不是泛化中所有子元素都已说明,允许再增加其它子元素。4、重叠(overlapping):给定父类对象可有多于一个型的子对象,表示重载。,约束,对消息,链接角色和对象的约束 自定义约束,对象类的xor关联,关联的约束 对关联有以下常用的约束:1、隐式(implicit):该关联只是概念性的,在对模 型进行精化时不再用。2、有序(ordered):具有多重性的关联一端的对象是 有序的。3、可变
18、(changeable):关联对象之间的链(Link)是 可变的(添加、修改、删除)。4、只增(addonly):可在任意时刻增加新的链接。5、冻结(frozen):冻结已创建的对象,不能再添加、删除和修改它的链接。6、xor:“或约束”,某时刻只有一个当前的关联实例。,依赖,依赖关系描述的是两个模型元素(类,组合,用例等)之间的语义上的连接关系,其中一个模型元素是独立的,另一个模型元素是非独立的(或依赖的)。如下图表示类A依赖于类B的一个友元依赖关系。,类A,类 B,友元,依赖关系图,依赖的形式可能是多样的,针对不同的依赖的形式,依赖关系有不同的变体(varieties)。,抽象(abstr
19、action):从一个对象中提取一些特性,并用类方法表示。绑定(binding):为模板参数指定值,以定义一个新 的模板元素。组合(combination):对不同类或包进行性质相似融合。许可(permission):允许另一个对象对本对象的访问。使用(usage):声明使用一个模型元素需要用到已存 在的另一个模型元素,这样才能正确实现使用者的 功能(包括调用、实例化、参数、发送)。跟踪(trace):声明不同模型中元素的之间的存在一 些连接。访问或连接(access):允许一个包访问另一个包的 内容。调用(call):声明一个类调用其他类的操作的方法。,依赖关系的不同变体,导出(derive
20、):声明一个实例可从另一个实例 导出。友元(friend):允许一个元素访问另一个元 素,不管被访问的元素是否具有可见性。引入(import):允许一个包访问另一个包的内 容,并为被访问组成部分增加别名。实例(instantiation):关于一个类的方法创 建了另一个类的实例声明。参数(parameter):一个操作和它参数之间的 关系。实现(realize):说明和其实之间的关系。精化(refine):声明具有两个不同语义层次上 的元素之间的映射。发送(send):信号发送者和信号接收者之间的 关系。,实现,实现关系是一种模型元素(如类)与另外一种模型元素(如接口)连接起来其中接口只是行为
21、的说明而不是结构或者实现。真正的实现由前一个模型元素来完成。如下图(a)所示。,图(a),注释,注释用于对UML语言的元素或实体进行说明,解释和描述。通常用自然语言进行注释。如上图(b)所示。,这是一个类,人员,图(b),有效用户,验证,1992年由Jacobson提出了Use case 的概念及可视化的表示方法Use case图,受到了IT界的欢迎,被广泛应用到了面向对象的系统分析中。用例驱动的系统分析与设计方法已成为面向对象的系统分析与设计方法的主流。用例模型由Jacobson在开发AXE系统中首先使用,并加入由他所倡导的OOSE和Objectory方法中(Objectory过程逐渐进化为
22、Rational统一过程)。用例方法引起了面向对象领域的极大关注。自1994年Ivar Jacobson的著作出版后,面向对象领域已广泛接纳了用例这一概念,并认为它是第二代面向对象技术的标志。,7.2 用例建模,用例建模概述:用例建模技术,用于描述系统的功能需求。在宏观上给出模型的总体轮廓。通过对典型用例的分析,使开发者能够有效地了解用户的需求。,7.2 用例建模,用例图,用例模型(Use case model)用例模型描述的是外部执行者(Actor)所理解的系统功能。它描述了待开发系统的功能需求。它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和
23、检测所开发的系统,从而影响到开发工作的各个阶段和 UML 的各个模型。用例模型由若干个用例图构成,用例图中主要描述执行者和用例之间的关系。在UML中,构成用例图的主要元素是用例和执行者及其它们之间的联系。,7.2 用例建模,创建用例模型的工作包括:定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。,一、执行者(角色、Actor)执行者是指用户在系统中所扮演的角色。执行者在用例图中是用类似人的图形来表示,但执行者可以是人,也可以是一个外界系统。,注意:用例总是由执行者(角色)启动的。还应画出相应的执行者描述模板。,如何确定执行者:1、谁使用系统的主要功能(主执行者)?2、谁需要从
24、系统获得对日常工作的支持和服务?3、需要谁维护管理系统的日常运行(副执行者)?4、系统需要控制哪些硬件设备?5、系统需要与其它哪些系统交互?6、谁需要使用系统产生的结果(值)?,一、执行者,角色描述模板,二、用例,二、用例(use case)从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。在UML中,用例被定义成系统执行的一系列动作(功能)。用例有以下特点:用例捕获某些用户可见的需求,实现一个具体的用户目标。用例由执行者激活,并将结果值反馈给执行者。用例必须具有功能上的完整描述。,如何确定用例:1、与系统实现有关的主要问题是什么?2、系统需要哪些输入/输出?这些输入/输出从何而来?到
25、哪里去?3、执行者需要系统提供哪些功能?4、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?,二、用例,用例模型,供货,买饮料,取货款,客户,供货人,收银员,售货系统用例图,用例图的元素,用例图描述了系统的功能需求,它是从执行者的角度来理解系统,由“执行者”、“用例”和“用例之间的关系”3类模型元素构成。图中还有另外两种类型的连接,即使用和扩展关系,是两种不同形式的泛化关系。,Use表示一个用例使用另一个用例。Extend通过向被扩展的用例添加动作来扩展用例。,用例图,用例图实例,例1:用例图实例,应用生命周期用例图,金融贸易系统用例图,用例图实例,课堂练习,现有一医院病房监护系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- uml 详解 实例 分析
链接地址:https://www.31ppt.com/p-5451610.html