UML语言学习教程.pptx
《UML语言学习教程.pptx》由会员分享,可在线阅读,更多相关《UML语言学习教程.pptx(135页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习目标:l深刻理解面向对象分析方法的内涵,理解面向对象分析的基本概念,包括对象、类、消息、继承、多态和封装,掌握面向对象分析方法的任务和具体过程。l理解统一建模语言(UML),了解其产生及特点;理解UML的构成,理解视图、图、模型元素和通用机制的作用及应用场合。l熟练掌握统一过程下UML建模的具体过程,了解UML分析建模的机制。l灵活应用UML建模工具,能熟练使用Visio和Rational Rose工具绘制分析图表。2023/4/141第五章第五章 面向对象分析与建面向对象分析与建模模第1页/共135页2023/4/1425.1 5.1 面向对象分析面向对象分析 5.1.1 面向对象方法的
2、基本概念和过程1.面向对象的基本概念(1)对象 所谓对象,即客观世界中所存在的实体。一张桌子,一个人或一本书都可被认为是一个对象。为用计算机解决客观世界中的问题,软件系统将它们映射为程序中的部件,并继续称之为对象。第2页/共135页2023/4/1435.1 5.1 面向对象分析面向对象分析 (1)对象 对象在面向对象系统中具有双重含义。对象首先是构成程序的基本要素,即程序系统中一个模块,它包括所解决问题的数据类型(数据的属性和数据结构)和这些数据所具有的行为(对这些数据施加的操作)。对象是所求解的问题空间中某个事物的化身(即抽象),对象中的数据部分用以刻画该事物的静态属性,对象中的行为部分用
3、以描述该事物的动态特征,即对问题的处理过程。对象的行为特征(即操作过程)在面向对象程序设计中被称作方法(Method),就像传统程序设计中的函数、过程等。通过对象,一个事物的属性和行为被封装成一个整体,形成一个构造部件。第3页/共135页2023/4/1445.1 5.1 面向对象分析面向对象分析 (1)对象 从另一层含义来看,对象是类的实例(Instance),即是一个有特定状态的具体化的类,它可以被理解为程序运行时内存空间的一个基本运行实体,即按相应定义所占用的一块内存空间,就像传统程序设计中变量被定义后在内存中占据相应的空间一样。第4页/共135页2023/4/145 (2)类 类是对象
4、的抽象。一个类定义了大体上相似的一组对象。类是对象的定义和描述。一个类所包含的方法和数据是用来描述一组对象的共同行为和属性。通过类来抽象对象的共同特点、描述对象的相似属性,存储对象的一致行为,是面向对象技术最重要的特征。从形式和定义说明上看,类很像传统程序设计中的结构,同时包含了传统程序设计中数据定义和功能实现的构造。5.1 5.1 面向对象分析面向对象分析 第5页/共135页2023/4/146(3)消息 消息是对象之间的通信机制,是访问类中所定义的行为的手段。当一个消息发送给某一个对象时,即要求该对象产生某些行为。所要求产生的行为包含在发送的消息中。对象接收到消息后,给予解释并产生响应。这
5、种通信过程叫消息传递(Message Passing)。5.1 5.1 面向对象分析面向对象分析 第6页/共135页2023/4/147 (4)继承性 继承性是不同类层次之间共享数据和方法的手段,是软件重用的一种机制,可使软件开发不必都从头开始。对一个新类的定义和实现,可以建立在已有类的基础上。把已经存在类中的数据和方法作为自己的内容,并加入自己特有的新内容。类的层次结构在概念分析上源于对事物不同层次的抽象,而在具体实现上却依赖继承机制。5.1 5.1 面向对象分析面向对象分析 第7页/共135页2023/4/148(4)继承性 当 两 个 类 产 生 继 承 关 系 后,原 有 的 类 被
6、称 为 父 类(Parent Class),新定义的类被称作子类(Children Class)。若子类只继承一个父类,则称为“单重继承”(Single Inheritance);若一个子类继承多个父类,则称为“多重继承”(Multiple Inheritance)。继承性是面向对象语言区别于与其它语言最主要的特点。5.1 5.1 面向对象分析面向对象分析 第8页/共135页2023/4/149 (5)多态 多态是指具有多种形式。不同对象在收到同一消息后产生不同的结果,这一现象叫多态。在使用多态时,系统发出一个通用消息,而实现的细节由收到消息的对象自行决定。这样,同一消息就可产生不同的调用方法
7、。5.1 5.1 面向对象分析面向对象分析 第9页/共135页2023/4/1410 (5)多态 多态的实现受到继承性和动态联编的支持,利用类继承的层次关系,把具有通用功能的消息放在高层次,而不同的实现这一功能行为放在较低的层次,在这些层次上生成的对象能够给通用消息以不同的响应。5.1 5.1 面向对象分析面向对象分析 第10页/共135页2023/4/1411 (6)封装 封装是指对象可以拥有内部变量和处理,并将内部实现细节隐藏起来的能力。封装将对象封闭起来,管理着对象的内部状态。因而封装的实质是信息隐藏,它的基本单位是对象。封装和抽象是处理对象的两个相反的方面。抽象一般用来描述对象所具有的
8、外部特征,包括对象的外部接口和外部功能等;外部接口将对象的封装与抽象联系起来;在一般的面向对象系统中,封装是通过类的定义说明来实现的。5.1 5.1 面向对象分析面向对象分析 第11页/共135页2023/4/14122、面向对象的系统开发过程面向对象的软件系统开发及生命周期与传统软件生命周期基本上一致,也可分为分析、设计、实现、测试和维护几个过程。当然,每个阶段所使用的方法和产生的结果与传统方法是不同的。各阶段的工作以类为核心,对对象、类进行分析和设计,各阶段的区别就在于对类的细化程度不同。同时,在面向对象的开发过程中,往往采用统一过程(RUP)作为过程管理的模型。5.1 5.1 面向对象分
9、析面向对象分析 第12页/共135页2023/4/14135.1.2 5.1.2 面向对象分析的任务面向对象分析的任务 1、面向对象分析的内容 面向对象分析(Object-Oriented Analysis,OOA)是在系统开发过程中完成了系统业务调查以后,按照面向对象的思想来分析问题。面向对象的分析是面向对象的系统开发的重要环节。OOA的主要任务是:通过对问题空间的分析,识别并确定其中(问题空间)的对象和属性,建立其中对象之间的类别联系和层次关系。第13页/共135页2023/4/14145.1.2 5.1.2 面向对象分析的任务面向对象分析的任务使用面向对象的分析方法进行分析大致应完成如下
10、五个方面的基本内容(1)确定对象和类(2)确定结构(3)确定主题(4)确定属性(5)确定方法和消息关联第14页/共135页2023/4/14152、面向对象分析的原则(P181)(1)抽象 (6)关联(2)封装(7)消息传递(3)继承(8)粒度控制(4)分类(9)行为分析(5)聚合5.1.2 5.1.2 面向对象分析的任务面向对象分析的任务第15页/共135页2023/4/14165.1.3 5.1.3 面向对象分析的方法面向对象分析的方法20世纪80年代末至90年代中期,面向对象分析和设计方法出现了一个蓬勃发展的时期,主要的面向对象分析和设计建模语言都出现在这个时期。在10年左右的时间内,其
11、数量达到50多种,其中最引人注目的是Booch 1993、OOSE和OMT-2等。第16页/共135页2023/4/14175.1.3 5.1.3 面向对象分析的方法面向对象分析的方法Grady Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。1993年,Booch将面向Ada的工作扩展到面向对象设计领域。Booch 1993比较适合于系统的设计和构造。第17页/共135页2023/4/14185.1.3 5.1.3 面向对象分析的方法面向对象分析的方法Jim Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示
12、符。这种方法用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。OMT-2特别适用于分析和描述以数据为中心的信息系统。第18页/共135页2023/4/14195.1.3 5.1.3 面向对象分析的方法面向对象分析的方法Ivar Jacobson于1994年提出了OOSE方法,其最大特点是面向用例(Use case),并在用例的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,但用例贯穿于整个开发过程,包括对系统的测试和验证。OOSE比较适合支持商
13、业工程和需求分析。第19页/共135页2023/4/14205.2 5.2 统一建模语言(统一建模语言(UMLUML)5.2.1 UML的产生及特点 1、统一建模语言的产生 在面向对象方法的应用中,多种建模方法的存在带来了一些问题。用户无法区别不同语言间的差别,难于找到适合其应用特点的语言;此外,各种建模语言之间的差别妨碍了应用间的交流。因此,有必要在不同建模语言上,建立一种通用的建模语言,统一建模语言(UML,Unified Modeling Language)正是这一要求的产物。第20页/共135页2023/4/14215.2 5.2 统一建模语言(统一建模语言(UMLUML)2、UML的
14、特点 作为基于面向对象开发的通用图形化建模语言,UML定义良好、易于表达、功能强大且普遍适用,它不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。第21页/共135页2023/4/14225.2.2 UML5.2.2 UML的构成的构成1.视图2.图3.模型元素4.通用机制第22页/共135页2023/4/14231.1.视图视图一个系统可从不同的角度进行描述,从一个角度观察到的系统称为一个视图(Views)。在UML中,通过不同视图从某个角度对系统进行观察和描述,从而表达系统各个方面的特征。视图由一个或者多个图组成,它是在某一个层次上对系统的抽象表示。在建立一个系统模型时
15、,通过定义多个反映系统不同方面的视图,从而对系统做出完整的观察和描述。第23页/共135页2.图视图由图组成,UML通常提供9种基本的图,这些图是用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图和部署图。这些基本的图从不同方面描述所分析系统的细节特征。其中,状态图和活动图合称为行为图,时序图和协作图合称为交互图。为了组织以上的图,还可使用包图将以上的基本图形组成一个组,表达对尺度为一个子系统规模的问题所进行的分析和设计。2023/4/1424第24页/共135页2023/4/14253.3.模型元素模型元素在UML中,通过模型元素(Model elements)反映事物和事物之间的
16、联系。其中,事物是指一般的面向对象概念,如类、对象、接口、消息和构件等。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。常见的联系包括关联关系、依赖关系、泛化关系、实现关系和聚合关系。同一个模型元素可以在不同的UML图中使用,并在所有这些图中具有相同的意义和表示符号。第25页/共135页2023/4/14264.4.通用机制通用机制通用机制(General mechanism)可以为模型元素提供额外的注释、信息或语义。这些通用机制同时提供扩展能力,以允许用户对UML进行扩展,从而适应对某些特定的方法、过程、组织或用户建模的需要。第26页/共135页2023/4/14275.2.3 5
17、.2.3 视图视图 1、UML 模型描述系统的角度 (1)系统的使用实例:使用实例从系统外部参与者的角度描述系统的功能。(2)系统的逻辑结构和功能:逻辑结构和功能描述系统内部的静态结构和动态行为,即从内部描述如何设计实现系统功能。(3)系统的物理结构:描述系统由哪些构件组成。(4)系统的处理过程和并发特性:描述系统执行过程中的控制机制和并发性,解决执行过程中存在的各种通信和同步问题。(5)系统的部署:描述系统的软件和硬件设备之间的部署关系。第27页/共135页2023/4/14285.2.3 5.2.3 视图视图逻辑视图实现视图过程视图部署视图用例视图图图5-1 UML中的视图中的视图第28页
18、/共135页2023/4/1429用例视图用例视图用例视图从系统的外部参与者角度描述系统应具有的功能,即被称为参与者的外部用户所能观察到的功能。用例是系统中的一个功能单元,可以认为是参与者与系统之间的一次交互作用。参与者可以是一个用户或者是另一个系统。客户需求被作为多个用例进行描述,一个用例就是客户的一项功能需求。用例模型列出系统中的用例和参与者,并说明哪个参与者参与了哪个用例的执行。第29页/共135页2023/4/1430逻辑视图逻辑视图逻辑视图描述用例视图中提出的系统功能的逻辑实现,它在逻辑层次上(即不考虑系统具体的代码层的实现方法),通过描述系统的静态结构和动态行为说明系统应具有结构和
19、功能细节。第30页/共135页2023/4/1431过程视图过程视图过程视图表示系统内部的控制机制,它主要考虑资源的利用、代码的执行以及系统环境中异步事件的处理,并处理线程之间的通信和间步。常用类图描述过程结构,用状态图、协作图,以及活动图描述过程行为。第31页/共135页2023/4/1432构件视图构件视图构件视图通过模块的组织结构说明系统的实现特征。构件是不同类型的代码模块,它是构造应用的软件单元。构件视图描述系统的实现模块以及它们之间的依赖关系。构件视图中也可以添加构件的其他附加的信息。第32页/共135页2023/4/1433部署视图部署视图部署是指将系统配置到由计算机和设备组成的物
20、理结构上。部署视图显示系统的物理部署,它描述位于节点上的运行实例的部署情况。例如一个程序或对象在哪台计算机上执行,执行程序的各节点设备之间是如何连接的。第33页/共135页2023/4/14345.2.4 5.2.4 图(图(P186P186)UML通过9种图形符号来表示分析、设计的结果,这些图形符号和相应的定义性文字说明一起构成面向对象分析和设计的模型表示。1.用例图 6.时序图 2.类图 7.协作图 3.对象图 8.构件图 4.状态图 9.部署图 5.活动图第34页/共135页2023/4/14355.2.5 5.2.5 模型元素模型元素 UML中的模型元素包括事物和事物之间的联系。在UM
21、L中,事物代表任何可以定义的东西。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。每一个模型元素都有一个与之相对应的图形元素。第35页/共135页2023/4/14361.1.事物事物 UML中的事物可分为结构事物、动作事物、分组事物和注释事物4类。这些事物是UML面向对象建模的基本要素,在模型中属于静态部分,代表物理上或概念上的元素。第36页/共135页2023/4/14371.事物 结构事物结构事物共有7种,它们是类、接口、协作、用例、活动类、构件和节点。第37页/共135页2023/4/14381.事物动作事物 动作事物是UML模型中的动态部分,代表某个时间和空间上的发生的动作
22、。其中,交互和状态机是UML模型中两个最基本的动作事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。第38页/共135页2023/4/14391.1.事务事务分组事物分组表示模型中事物的组织部分,分组事物用包来表示。包是一种将有组织的元素分组的机制,结构事物、动作事物和其他的分组事物都可以放在一个包中。与构件不同,包只存在于开发阶段,不能存在于运行阶段。第39页/共135页2023/4/14401.事务注释事物注释(Note)事物是UML模型的解释部分,用于对建模元素进行附加说明。注释采用自由文本的形式,UML不对注释进行解释。第40页/共135页2023/4/14412.事物间的
23、关系 UML中事物间的关系有关联关系、依赖关系、泛化关系、实现关系和聚合关系。第41页/共135页(1)关联关系2023/4/1442关联关系关联关系连接元素和链接实例,用连接两个模关联关系连接元素和链接实例,用连接两个模型元素的实线表示,在关联的两端可以标注关型元素的实线表示,在关联的两端可以标注关联双方的角色和多重性标记,如图联双方的角色和多重性标记,如图5-12所示。所示。图图5-12 关联关系关联关系第42页/共135页(2)依赖关系2023/4/1443依赖关系依赖关系 依赖关系描述一个元素对另一个元素的依附。依依赖关系描述一个元素对另一个元素的依附。依赖关系用源模型指向目标模型的带
24、箭头的虚线表赖关系用源模型指向目标模型的带箭头的虚线表示,如图示,如图5-13所示。所示。图图5-13 依赖关系依赖关系第43页/共135页(3)泛化关系2023/4/1444泛化关系泛化关系 泛化关系也称为继承关系,它表示一个元素是另泛化关系也称为继承关系,它表示一个元素是另一个元素的特例。泛化用一条实线表示,该实线一个元素的特例。泛化用一条实线表示,该实线的箭头是空心的。箭头的方向由特殊性事物的模的箭头是空心的。箭头的方向由特殊性事物的模型元素指向一般性事物的模型元素,如图型元素指向一般性事物的模型元素,如图5-14所所示。示。图图5-14 泛化关系泛化关系第44页/共135页(4)实现关
25、系2023/4/1445实现关系实现关系 实现关系表示一个元素实现另一个元素。实现关实现关系表示一个元素实现另一个元素。实现关系用一条带空心三角箭头的虚线表示,箭头从源系用一条带空心三角箭头的虚线表示,箭头从源模型指向目标模型,表示源模型元素实现目标元模型指向目标模型,表示源模型元素实现目标元素模型,如图素模型,如图5-15所示。所示。图图5-15 实现关系实现关系第45页/共135页(5)聚合关系2023/4/1446聚合关系聚合关系 聚合关系描述元素之聚合关系描述元素之间部分与整体的关系,间部分与整体的关系,即一个模型元素由几即一个模型元素由几个表示部分的模型元个表示部分的模型元素聚合而成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 语言 学习 教程
限制150内