使用UML进行面向对象分析和建模课件.ppt
《使用UML进行面向对象分析和建模课件.ppt》由会员分享,可在线阅读,更多相关《使用UML进行面向对象分析和建模课件.ppt(116页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、使用使用使用使用UMLUML进行面向进行面向进行面向进行面向对象分析和建模对象分析和建模对象分析和建模对象分析和建模第第6 6章章Chapter 6Chapter 6OBJECT-ORIENTED ANALYSIS AND MODELING USING THE UML本章内容本章内容6.1 6.1 面向对象建模方法概述面向对象建模方法概述6.2 6.2 面向对象建模的基本概念面向对象建模的基本概念6.3 6.3 统一建模语言统一建模语言UMLUML6.4 6.4 使用用例建模系统需求使用用例建模系统需求6.5 6.5 对象分析建模过程对象分析建模过程6.1 6.1 面向对象建模方法概述面向对象
2、建模方法概述n面向对象方法学面向对象方法学 采用面向对象的概念及其抽象机制建立应用系采用面向对象的概念及其抽象机制建立应用系统模型,将系统开发视为对象模型的转换和不统模型,将系统开发视为对象模型的转换和不断细化过程断细化过程n对象建模对象建模 是一种用于辨识系统环境中的对象和这些对象是一种用于辨识系统环境中的对象和这些对象关系的技术关系的技术面向对象的方法学面向对象的方法学n分析与设计的鸿沟分析与设计的鸿沟 面向对象的方法学面向对象的方法学n问题求解问题求解p面向对象设计方法:实现问题空间和问题求面向对象设计方法:实现问题空间和问题求解空间的近似和直接模拟。解空间的近似和直接模拟。意识部分教室
3、物质部分303教室抽象部分教室类具体部分一个对象:教室实例现实问题空间解空间面向对象的软件开发方法n顺应人类思维习惯,让软件开发人员在解空间中直接模顺应人类思维习惯,让软件开发人员在解空间中直接模拟问题空间中的对象及其行为拟问题空间中的对象及其行为n支持增量式开发,支持大型软件开发支持增量式开发,支持大型软件开发n支持软件重用支持软件重用n改善软件结构改善软件结构(模块化与封装模块化与封装),提高软件灵活性,提高软件灵活性s 抽象抽象软件工程的原则软件工程的原则s 可验证性可验证性s 完全性完全性s 一致性一致性s 模块化模块化(高内聚,低耦合高内聚,低耦合)s 信息隐藏信息隐藏 (局部化局部
4、化)面向对象的软件开发方法面向对象建模方法概述n面向对象分析(面向对象分析(Object-Oriented AnalysisObject-Oriented Analysis,OOA)OOA)技术用于技术用于 1.1.研究现有对象,看它们是否能够被复用或者研究现有对象,看它们是否能够被复用或者被调整用于新的用途;被调整用于新的用途;2.2.定义各种新对象和修改后的对象,它们将于定义各种新对象和修改后的对象,它们将于现有对象一起组合成一个有用的企业计算应现有对象一起组合成一个有用的企业计算应用系统用系统n面向对象方法的核心是对象建模技术面向对象方法的核心是对象建模技术面向对象分析设计的基本思路面向
5、对象分析设计的基本思路n识别对象和类识别对象和类n通过一组互相关联的模型详细表示类之间的关系通过一组互相关联的模型详细表示类之间的关系和对象的行为,并最终描述系统的信息、功能和和对象的行为,并最终描述系统的信息、功能和行为行为p静态逻辑模型静态逻辑模型p动态逻辑模型动态逻辑模型把系统的开发工作分为两个部分:微观过程和宏观过程。微观过程宏观过程Booch方法Jocobson方法(OOSE方法)用户标识标识系统的用户和他们的整体责任建造需求模型定义参与者和他们的责任;为每个参与者标识用例;准备系统对象和关系的初步视图;应用用例作为场景去复审模型以确定有效性建造系统模型使用参与者交互的信息来标识界面
6、对象;创建界面对象的结构视图;表示对象行为;分离出每个对象的子系统和模型;使用用例作为场景去复审模型以确定合法性用例(use case)驱动,它建立的所有模型都是以用例模型为基础的。用例用以描述用户和系统间如何交互的场景 Rambaugh方法(OMT方法)对问题范围的陈述建造对象模型标识和问题相关的类;定义属性和关联;定义对象链接;用继承来组织对象类开发动态模型准备场景;定义事件并为每个场景开发一个事件轨迹;构造事件流图;开发状态图;复审行为的一致性和完整性构造系统的功能模型标识输入和输出;使用数据流图表示流变换;为每个功能开发PSPEC;规定约束和优化标准创建三个模型:对象模型(对象类、层次
7、和关系的表示)、动态模型(对象和系统行为的表示)和功能模型(高层的类似DFD的系统信息流的表示)主要分为分析、设计和实现三个阶段。主要分为分析、设计和实现三个阶段。分析阶段:确定分析阶段:确定对象模型、动态模型和功能模型对象模型、动态模型和功能模型设计阶段:设计阶段:系统设计和对象设计系统设计和对象设计实现阶段的细节和具体的实现环境有关实现阶段的细节和具体的实现环境有关OMTOMT方法突出的特点是在分析阶段,它可以较为方法突出的特点是在分析阶段,它可以较为全面地描述系统的静态结构,所以全面地描述系统的静态结构,所以0MT0MT方法适合方法适合于数据密集型的信息系统的开发。于数据密集型的信息系统
8、的开发。Rambaugh方法(OMT方法)统一建模语言(UML)统统 一一 建建 模模 语语 言言(UML)(UML)是是一一套套建建模模规规则则,它它使使用用对对象象说说明明或或描描述述软软件系统件系统UMLUML 并并未未规规定定一一种种系系统统开开发发方方法法,它它只只是是一一种种广广泛泛接接受受的的对对象象建建模模标标准的符号体系。准的符号体系。统统一一建建模模语语言言的的发发展展过过程程本章内容本章内容6.1 6.1 面向对象建模方法概述面向对象建模方法概述6.2 6.2 面向对象建模的基本概念面向对象建模的基本概念6.3 6.3 统一建模语言统一建模语言UMLUML6.4 6.4
9、使用用例建模系统需求使用用例建模系统需求6.5 6.5 对象分析建模过程对象分析建模过程6.2 6.2 面向对象的基本概念面向对象的基本概念n基本概念与特点基本概念与特点对象对象(Object)(Object)消息消息(Message)(Message)类类(Class)(Class)实例实例(Instance)(Instance)继承继承(Inheritance)(Inheritance)封装封装(Encapsulation)(Encapsulation)多态多态(Polymorphism)(Polymorphism)面向对象的世界观面向对象的世界观n把客观世界从概念上看成是一个由相互配合而
10、把客观世界从概念上看成是一个由相互配合而协作的对象所组成的系统协作的对象所组成的系统n面向对象面向对象=对象对象+分类分类+继承继承+通信通信n一个实例一个实例椅子椅子对象:桌子价格尺寸重量位置颜色类:家具对象:椅子一个面向对象的实例椅子价格尺寸重量位置颜色买卖移动买卖移动买卖移动价格尺寸重量位置颜色对象对象n对象对象(Object)(Object)对象是用来描述客观存在的事物,它是构成系统的对象是用来描述客观存在的事物,它是构成系统的基本单位,是对客观世界中事物的抽象描述。基本单位,是对客观世界中事物的抽象描述。对象对象 行为(功能、方法、服务)行为(功能、方法、服务)属性(数据)属性(数据
11、)属性属性行为行为接口接口对象对象对象对象对象对象6.2面向对象的基本概念n对象是由私有数据(属性)及作用于其上的一组操作对象是由私有数据(属性)及作用于其上的一组操作(行为)所构成的一个封闭整体(行为)所构成的一个封闭整体p由于对象的数据是私有的,所以要想访问其数据的由于对象的数据是私有的,所以要想访问其数据的正确方法是向该对象发送消息,让对象自身选择其正确方法是向该对象发送消息,让对象自身选择其内部相应的操作以完成对该项数据的访问内部相应的操作以完成对该项数据的访问p对象的动作取决于外界给对象的刺激,这就是消息,对象的动作取决于外界给对象的刺激,这就是消息,消息告诉对象所要求它完成的功能。
12、对象具有一定消息告诉对象所要求它完成的功能。对象具有一定的智能功能,即的智能功能,即“知道知道”如何选择相应的操作来处如何选择相应的操作来处理对象所接收的消息理对象所接收的消息n从设计人员的角度看,对象是一个完成特定功能的程从设计人员的角度看,对象是一个完成特定功能的程序块序块n从用户的角度看,对象为他们提供了所希望的行为从用户的角度看,对象为他们提供了所希望的行为6.2 面向对象的基本概念n对象(Object)p对象标识p对象生命周期p对象的分类一般对象主动对象永久对象6.2 面向对象的基本概念n类类(Class)(Class)p一个对象类描述具有相似性质(属性)的一组一个对象类描述具有相似
13、性质(属性)的一组对象,这组对象具有一般行为(操作),一般对象,这组对象具有一般行为(操作),一般的关系(对象之间)及一般语义。的关系(对象之间)及一般语义。p类是对象类的缩写,类中的对象有着相同的属类是对象类的缩写,类中的对象有着相同的属性、行为模式。性、行为模式。将事物进行归纳划分成不同的一些类是人们认识客观世界的基本思维方法。这种方法依据的原则是抽象,它忽略了客观事物非本质特性,将客观事物所具有的共同点,即本质特性划分为一类,形成对事物的本质认识,得出事物的抽象结果。6.2面向对象的基本概念n类(Class)结构化程序设计面向对象的程序设计6.2 6.2 面向对象的基本概念面向对象的基本
14、概念6.2面向对象的基本概念n消息消息(Message)(Message)p对象之间的联系是通过传递消息来实现的。对象之间的联系是通过传递消息来实现的。p是对象之间进行通讯的一种数据结构。是对象之间进行通讯的一种数据结构。p消息统一了消息统一了“数据流数据流”和和“控制流控制流”。数据方法消息到达6.2面向对象的基本概念n消息消息 -消息传送与函数调用的区别消息传送与函数调用的区别函数调用可以带或不带参数,但是消息至少带函数调用可以带或不带参数,但是消息至少带一个参数,它表明接收该消息的对象,消息中一个参数,它表明接收该消息的对象,消息中告诉对象做什么的部分称为消息操作;告诉对象做什么的部分称
15、为消息操作;消息操作名类似于函数名,其本质区别在于:消息操作名类似于函数名,其本质区别在于:函数名代表一段可执行的代码,但消息操作名函数名代表一段可执行的代码,但消息操作名具体功能的选定还取决于接收消息的对象本身具体功能的选定还取决于接收消息的对象本身函数调用是过程式的(如何做),消息传送是函数调用是过程式的(如何做),消息传送是说明式的(做什么),具体如何做,由对象根说明式的(做什么),具体如何做,由对象根据收到的消息自行确定。据收到的消息自行确定。n实例实例(Instance)(Instance)属于某类的具体对象就是该类的实例。一个属于某类的具体对象就是该类的实例。一个类的不同实例必定具
16、有:类的不同实例必定具有:p相同的操作(或行为)的集合相同的操作(或行为)的集合p相同的信息结构或属性定义,但可以有不同相同的信息结构或属性定义,但可以有不同的属性值的属性值p不同的对象标识不同的对象标识6.2面向对象的基本概念6.2面向对象的基本概念n实例(Instance)6.2面向对象的基本概念n继承继承(Inheritance)(Inheritance)p是自动共享类、子类和对象中的方法和数据的机制。是自动共享类、子类和对象中的方法和数据的机制。是实现从可重用成分构造系统的最有效的特性是实现从可重用成分构造系统的最有效的特性n封装封装(Encapsulation)(Encapsulat
17、ion)p封封装装是是一一种种信信息息隐隐蔽蔽技技术术,就就是是把把对对象象的的属属性性和和行行为为相相结结合合构构成成一一个个独独立立的的基基本本单单位位,用用户户只只能能见见到到对对象象封封装装界界面面上上的的信信息息,对对象象内部对用户是隐蔽的。内部对用户是隐蔽的。p封封装装的的目目的的在在于于将将对对象象的的使使用用者者和和对对象象的的设设计计者者分分开开,使使用用者者不不必必知知道道行行为为实实现现的的细细节节,只需使用设计者提供的消息访问对象只需使用设计者提供的消息访问对象6.2面向对象的基本概念PosPosColorColor 公有公有消息消息私有私有消息消息存储结构存储结构方法
18、方法协协.议议一个对象一个对象6.2 6.2 面向对象的基本概念面向对象的基本概念6.2面向对象的基本概念n多态多态(Polymorphism)(Polymorphism)即一个即一个名字具有多种语义名字具有多种语义。p同一对象接收到不同消息采用不同的行为方式同一对象接收到不同消息采用不同的行为方式p不同对象收到相同消息时产生不同的动作不同对象收到相同消息时产生不同的动作p重载(重载(overloadoverload)p动态绑定动态绑定p类属类属本章内容本章内容6.1 6.1 面向对象建模方法概述面向对象建模方法概述6.2 6.2 面向对象建模的基本概念面向对象建模的基本概念6.3 6.3 统
19、一建模语言统一建模语言UMLUML6.4 6.4 使用用例建模系统需求使用用例建模系统需求6.5 6.5 对象分析建模过程对象分析建模过程p UnifiedModelingLanguage(UML)UnifiedModelingLanguage(UML)是是一套建模一套建模规则规则,它使用,它使用对对象象说说明或描述明或描述软软件系件系统统。p UMLUML并未并未规规定一种系定一种系统统开开发发方法,它只方法,它只是一种广泛接受的是一种广泛接受的对对象建模象建模标标准的符号准的符号体系。体系。pOMGOMG于于19971997年采年采纳为纳为国国际标际标准。准。6.3 统一建模语言UML对象
20、、属性和实例表表示示一一个个对对象象实实例例,对对象象实实例例的的名名称称为为:412209;分分类类为为:Customer。表表示示一一个个对对象象实实例例的的属属性性。对对象象实实例例的的名名称称是是唯唯一一表表示示该该对对象象的属性值。的属性值。对象类表表示示一一个个对对象象类类,主主要要包包含含三三部部分分:对对象象类类的的名名称称、属属性性名名称称、方法名称。方法名称。继承InheritanceInheritance the concept wherein methods and/or attributes defined in an object class can be inhe
21、rited or reused by another object class.继承(cont.)概化、特化概化概化/特化特化 是一种技术,其中几类对象类的公共属性是一种技术,其中几类对象类的公共属性和行为被组合成类,称为超类,超类的属性和方法可被和行为被组合成类,称为超类,超类的属性和方法可被子类(即上述对象类)继承。子类(即上述对象类)继承。超类超类 是包含一个或多个对象子类的公共属性和行为是包含一个或多个对象子类的公共属性和行为的实体,也称为抽象类或父类。的实体,也称为抽象类或父类。子类子类 是一个对象类,它从一个超类继承属性和行为,是一个对象类,它从一个超类继承属性和行为,并可能包含自
22、身所特有的属性和行为。如果它位于继承并可能包含自身所特有的属性和行为。如果它位于继承层次的最底层,也称为实类层次的最底层,也称为实类.UML Representation of Generalization/Specialization对象对象/类的关联关系类的关联关系 对象对象/类的关联关系类的关联关系 是一种存在于一个或多个对象/类之间的自然业务联系。连连线线表表示示类类之之间间的的关关联联关关系系:places 关联关系是双向的关联关系是双向的 一个客户提交零一个客户提交零个或多个订单个或多个订单 一个订单由一个一个订单由一个且仅有一个客户提且仅有一个客户提交交重数重数:定义重数:定义一
23、个对象一个对象/类类对应相关对对应相关对象类的一个象类的一个实例关联可实例关联可能的最小出能的最小出现次数和最现次数和最大出现次数大出现次数.聚合关系聚合关系聚合关系:是一个较大的聚合关系:是一个较大的“整体整体”类饱含一个或多个较小的类饱含一个或多个较小的“部分部分”类之间的关系。类之间的关系。合成关系合成关系合成关系:是合成关系:是一种特殊的聚一种特殊的聚合关系,其中合关系,其中“整体整体”负责负责其其“部分部分”的的创建和销毁,创建和销毁,如果整体不存如果整体不存在,部分也不在,部分也不存在存在.消息消消息息请请求求:包包括括请请求求行行为为名名称称和和对对象象所所需需属性名称属性名称多
24、态多态:不同对象可多态:不同对象可以以不同的形式响以以不同的形式响应同样的消息应同样的消息.重载:是一种技术,重载:是一种技术,其中子类使用它自其中子类使用它自己的属性或行为,己的属性或行为,而不是从父类继承而不是从父类继承属性或行为。属性或行为。UML Diagramsn用例模型图(用例模型图(Use-Case Model DiagramsUse-Case Model Diagrams)n静态结构图(静态结构图(Static Structure DiagramsStatic Structure Diagrams)p类图(类图(Class diagramsClass diagrams)p对象图
25、(对象图(Object diagramsObject diagrams)n交互图(交互图(Interaction DiagramsInteraction Diagrams)p顺序图(顺序图(Sequence diagramsSequence diagrams)p协作图(协作图(Collaboration diagramsCollaboration diagrams)n状态图(状态图(State DiagramsState Diagrams)p状态图(状态图(StatechartStatechart diagrams diagrams)p活动图(活动图(Activity diagramsActi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 UML 进行 面向 对象 分析 建模 课件
限制150内