资源描述
参考资料v参考书参考书 美美Josephschmuller 著著,UML基础、案例与应用基础、案例与应用(第第三版三版),人民邮电出版社人民邮电出版社,2004王少锋王少锋,面向对象技术面向对象技术UML教程教程,清华大学出版社清华大学出版社,2004刘晓华刘晓华,UML基础及基础及Visio建模建模,电子工业出版社电子工业出版社,2004v建模工具建模工具 1.Visio 2.Rational Rose 3.Together 4.Visual UML内容安排 第一章第一章:UML:UML概述概述 第二章第二章:用例和用例图用例和用例图 第三章第三章:类图和对象图类图和对象图 第四章第四章:顺序图和协作图顺序图和协作图内容安排(续)第五章第五章:状态图和活动图状态图和活动图 第六章第六章:构件图和部署图构件图和部署图 第七章第七章:包图包图 第八章第八章:学习案例学习案例第一章第一章 UML概述概述统一建模语言统一建模语言Unified Modeling Language第一章第一章 UML概述概述v面向对象技术基本概念面向对象技术基本概念vUML定义定义vUML历史历史vUML组成组成vUML的应用的应用vUML常用建模工具常用建模工具面向对象技术基本概念 面向对象技术的设计思想模拟自然界认识和处面向对象技术的设计思想模拟自然界认识和处理事物的方法理事物的方法,将数据和对数据的操作方法放在一起将数据和对数据的操作方法放在一起,形成一个相对独立的整体形成一个相对独立的整体-对象对象(Object),对同类型对同类型对象抽象出共性对象抽象出共性,形成类形成类(Class).任何一个类中的数据任何一个类中的数据都只能用本类自有的方法进行处理都只能用本类自有的方法进行处理,并通过简单的接并通过简单的接口与外部联系口与外部联系.对象之间通过消息对象之间通过消息(Message)进行通进行通信信.面向对象技术基本概念(续)v面向对象技术的基本概念面向对象技术的基本概念:对象和实例对象和实例(object&instance)类类(class)封装封装(encapsulation)继承继承(inheritance)多态多态(polymorphism)消息消息(message)面向对象技术基本概念(续)v对象模型基本元素的标识对象模型基本元素的标识1)类、属性、方法)类、属性、方法 类类是具有相同属性和操作的对象集合的总称。它是面向是具有相同属性和操作的对象集合的总称。它是面向对象的一个基本概念,类封装了客观世界中对象实体的特征对象的一个基本概念,类封装了客观世界中对象实体的特征与行为,即与行为,即属性属性与与方法方法。其表示法是一个矩形,由带有类名、。其表示法是一个矩形,由带有类名、属性和方法(操作)的分格框组成。如下图所示。属性和方法(操作)的分格框组成。如下图所示。面向对象技术基本概念面向对象技术基本概念(续续)v属性属性 属性属性是指类的特性,它是指类的特性,它描述类所具有的一系列特性描述类所具有的一系列特性值。一个类可以有多个属性,值。一个类可以有多个属性,也可以没有属性。在类图中也可以没有属性。在类图中属性只要写上名字就可以了。属性只要写上名字就可以了。如右上图如右上图.也也可可以以在在属属性性名名后后跟跟上上类类型型甚甚至至缺缺省省取取值值,如如右右下下图:图:面向对象技术基本概念面向对象技术基本概念(续续)v方法方法 方法方法是指类所能提供的服务或可执行的是指类所能提供的服务或可执行的操作。它表现类的动态特征。操作。它表现类的动态特征。面向对象技术基本概念面向对象技术基本概念(续续)2)继承)继承 继承继承,也称,也称泛化泛化,它是面向,它是面向对象描述类之间相似性的一个重对象描述类之间相似性的一个重要机制。面向对象利用继承来表要机制。面向对象利用继承来表达这种相似性,这使得可以利用达这种相似性,这使得可以利用继承来管理类,同时也使得在定继承来管理类,同时也使得在定义一个相似类时能简化类的定义义一个相似类时能简化类的定义工作。工作。面向对象技术基本概念(续)继承(泛化)关系面向对象技术基本概念面向对象技术基本概念(续续)3)超类、父类、子类)超类、父类、子类 一个类可以继承其他类的属性和方法。继承了其它类属性一个类可以继承其他类的属性和方法。继承了其它类属性和方法的类称为和方法的类称为子类子类,被继承的类称为,被继承的类称为父类父类或或超类超类。它们的关。它们的关系如下图所示。子类复用父类属性和方法的过程,称为系如下图所示。子类复用父类属性和方法的过程,称为继承继承或或泛化泛化。没有父类的类被称为没有父类的类被称为基类基类或或根类根类;没有子类的类被称为;没有子类的类被称为叶叶类类。如果一个类恰好只有一个父类,这样的继承关系叫如果一个类恰好只有一个父类,这样的继承关系叫单继承单继承。如果一个类有多个父类,这样的继承就是如果一个类有多个父类,这样的继承就是多继承多继承。面向对象技术基本概念面向对象技术基本概念(续续)4)抽象类)抽象类 抽象类抽象类(Abstract Class)是一种不能直)是一种不能直接产生实例的类,它的接产生实例的类,它的作用仅仅是为了其他的作用仅仅是为了其他的非抽象类继承和重用。非抽象类继承和重用。面向对象技术基本概念面向对象技术基本概念(续续)上图表示了抽象类的应用。其中文本编辑器独上图表示了抽象类的应用。其中文本编辑器独立于平台,为此定义了一个独立于平台的窗口对象立于平台,为此定义了一个独立于平台的窗口对象类类“Window”,它是一个抽象类,在类名,它是一个抽象类,在类名“Window”下标有约束下标有约束abstract。类。类“Window”包包含有两个方法的名称含有两个方法的名称“toFront()”和和“toBack()”,但是没有方法实现。类,但是没有方法实现。类“Window”本身不能有实本身不能有实例,但它有两个特化的子类例,但它有两个特化的子类“Windows Window”和和“Mac Window”,它们包含了方法,它们包含了方法“toFront()()”和和“toBack()()”在不同平台上的实在不同平台上的实现。在本例中,类现。在本例中,类“Window”的作用是作为文本编的作用是作为文本编辑器类辑器类“Text Editor”的一个接口。的一个接口。面向对象技术基本概念面向对象技术基本概念(续续)5)多态)多态多态多态是指在不同类中具有相同名称的方法(操作)。是指在不同类中具有相同名称的方法(操作)。面向对象技术基本概念面向对象技术基本概念(续续)6)依赖)依赖(dependency)依赖依赖是指一个类中的元素使用了另一个类。是指一个类中的元素使用了另一个类。依赖关系描述类之间的使用关系。依赖关系描述类之间的使用关系。面向对象技术基本概念面向对象技术基本概念(续续)7)关联)关联 关联(关联(Association)是指对象类之间具有是指对象类之间具有的语义联系。其基本表示如下。的语义联系。其基本表示如下。应用于关联的应用于关联的4种修饰:种修饰:关联名关联名角色名角色名多重性多重性限定符与约束符限定符与约束符面向对象技术基本概念面向对象技术基本概念(续续)8)聚合与组合)聚合与组合 聚合(聚合(Aggregation)是一种描述类之间的整是一种描述类之间的整体与部分的组成关系。体与部分的组成关系。面向对象技术基本概念面向对象技术基本概念(续续)组合(组合(Composition)是一种特殊的聚是一种特殊的聚合,它的每个部分体都是必须的。如下图合,它的每个部分体都是必须的。如下图所示。所示。面向对象技术基本概念面向对象技术基本概念(续续)9)类图)类图类图表达了一组类和它们之间的联系。类图表达了一组类和它们之间的联系。类图示意类图示意面向对象技术基本概念面向对象技术基本概念(续续)10)对象)对象 对象对象是类的具体实例,即类在某时刻的一个快是类的具体实例,即类在某时刻的一个快照。照。面向对象技术基本概念面向对象技术基本概念(续续)类图示意类图示意11)对象图)对象图 对象图对象图是类图的一个实例,它表示在某一时刻是类图的一个实例,它表示在某一时刻系统对象的状态、对象之间的联系状态。系统对象的状态、对象之间的联系状态。面向对象技术基本概念(续)对象图示意面向对象技术基本概念面向对象技术基本概念(续续)12)消息)消息 消息消息是从一个对象(发送者)向另一个或几个是从一个对象(发送者)向另一个或几个其他对象(接收者)发送的信号,或由一个对象(发其他对象(接收者)发送的信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。送者或调用者)调用另一个对象(接收者)的操作。面向对象技术基本概念面向对象技术基本概念(续续)13)接口)接口(Interface)接口接口 是一组外部可访问的操作方法,它用于一是一组外部可访问的操作方法,它用于一个类为其他类提供服务。接口可以看作为一种特殊的个类为其他类提供服务。接口可以看作为一种特殊的抽象类,抽象类,它不含属性,只有方法它不含属性,只有方法。接口代表系统中的。接口代表系统中的接缝,接口两端的对象或组件可以独立变更,只要它接缝,接口两端的对象或组件可以独立变更,只要它们遵守和实现接口的规定,通过接口相联系即可。们遵守和实现接口的规定,通过接口相联系即可。第一章第一章 UML概述概述v面向对象技术基本概念面向对象技术基本概念vUML定义定义vUML历史历史vUML组成组成vUML的应用的应用vUML常用建模工具常用建模工具UML定义定义 UML(Unified Modeling Language)统一建模语言,是一种面向对象的建模语言,统一建模语言,是一种面向对象的建模语言,它的主要作用是帮助用户对软件系统进行面它的主要作用是帮助用户对软件系统进行面向对象的描述和建模(建模是通过将用户的向对象的描述和建模(建模是通过将用户的业务需求映射为代码,保证代码满足这些需业务需求映射为代码,保证代码满足这些需求,并能方便地回溯需求的过程),它可以求,并能方便地回溯需求的过程),它可以描述这个软件开发过程从需求分析直到实现描述这个软件开发过程从需求分析直到实现和测试的全过程。和测试的全过程。UML定义定义 UML是一个实用的建模标准是一个实用的建模标准,建模者不建模者不用针对不同的开发环境、编程语言和应用用针对不同的开发环境、编程语言和应用修改符号修改符号,就可以创建就可以创建UML图图.UML模型可以做的非常精确模型可以做的非常精确,以至于能以至于能用它生成代码甚至整个应用程序用它生成代码甚至整个应用程序.第一章第一章 UML概述概述v面向对象技术基本概念面向对象技术基本概念vUML定义定义vUML历史历史vUML组成组成vUML的应用的应用vUML常用建模工具常用建模工具UML历史历史 UML是由世界著名的面向对象技术专家是由世界著名的面向对象技术专家G.Booh、J.Rumbaugh和和I.Jacobson发起,发起,在在Booh方法、方法、OMT方法和方法和OOSE方法的基础方法的基础上,汲取其他面向对象方法的优点,广泛征上,汲取其他面向对象方法的优点,广泛征求意见,几经修改而成的。目前求意见,几经修改而成的。目前UML得到了得到了诸多大公司的支持,如诸多大公司的支持,如IBM、HP、Oracle、Microsoft等,已成为面向对象技术领域内占等,已成为面向对象技术领域内占主导地位的标准建模语言。主导地位的标准建模语言。UML历史(续)历史(续)第一章第一章 UML概述概述v面向对象技术基本概念面向对象技术基本概念vUML定义定义vUML历史历史vUML组成组成vUML的应用的应用vUML常用建模工具常用建模工具UML组成组成UMLUML由下列由下列5 5类图组成类图组成:第第1 1类,用例图,从用户角度描述系统功能,并类,用例图,从用户角度描述系统功能,并指出各功能的操作者。指出各功能的操作者。第第2 2类,静态图类,静态图,包括类图、对象图和包图。包括类图、对象图和包图。第第3 3类,行为图类,行为图,描述系统的动态模型和组成对描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。象间的交互关系,包括状态图和活动图。第第4 4类,交互图类,交互图,描述对象间的交互关系,包括描述对象间的交互关系,包括顺序图和协作图。顺序图和协作图。第第5 5类,实现图类,实现图,包括构件图和部署图。包括构件图和部署图。UML组成组成(续续)第一章第一章 UML概述概述v面向对象技术基本概念面向对象技术基本概念vUML定义定义vUML历史历史vUML组成组成vUML的应用的应用vUML常用建模工具常用建模工具UMLUML的应用的应用 UML的目标是以面向对象方式来描述任何类型的的目标是以面向对象方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工复杂数据的信息系统、具有实时要求的工业系统或工业过程等。业过程等。总之,总之,UML是一个通用的标准建模语言,可以对是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。任何具有静态结构和动态行为的系统进行建模。UMLUML的应用的应用(续续)UML是一个完整的建模语言,支持系统开发的是一个完整的建模语言,支持系统开发的不同阶段:不同阶段:在需求描述阶段在需求描述阶段,可以用用例来捕获用户需求。,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。其对系统(用例)的功能要求。在系统分析阶段在系统分析阶段主要关心问题域中的主要概念主要关心问题域中的主要概念(如类和对象等)和机制,需要识别这些类以及(如类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用它们相互间的关系,并用UML类图来描述。为实类图来描述。为实现用例,类之间需要协作,这可以用现用例,类之间需要协作,这可以用UML动态模动态模型来描述。型来描述。UMLUML的应用的应用(续续)在系统设计阶段在系统设计阶段,使用(类图、对象图、活动图、,使用(类图、对象图、活动图、状态图、序列图、协作图状态图、序列图、协作图、包图、组件图、部署、包图、组件图、部署图),定义软件系统的技术细节。图),定义软件系统的技术细节。在系统实现(构造)阶段在系统实现(构造)阶段,其任务是用面向对象,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。编程语言将来自设计阶段的类转换成实际的代码。在系统测试阶段在系统测试阶段,UML模型还可作为测试阶段的模型还可作为测试阶段的依据。如单元测试使用类图和类规格说明;集成依据。如单元测试使用类图和类规格说明;集成测试使用组件图和协作图;系统测试用例图来验测试使用组件图和协作图;系统测试用例图来验证系统的行为;验收测试由用户进行,以验证系证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。统测试的结果是否满足在分析阶段确定的需求。第一章第一章 UML概述概述v面向对象技术基本概念面向对象技术基本概念vUML定义定义vUML历史历史vUML组成组成vUML的应用的应用vUML常用建模工具常用建模工具常用建模工具常用建模工具 vVisiovRational RosevSelect Component Architectv Visual UMLv Poseidon CEv等等等等
展开阅读全文