uml 基础教程 第一章--uml与面向对象

上传人:xiao****1972 文档编号:73164413 上传时间:2019-01-24 格式:PPT 页数:28 大小:884.81KB
返回 下载 相关 举报
uml 基础教程 第一章--uml与面向对象_第1页
第1页 / 共28页
uml 基础教程 第一章--uml与面向对象_第2页
第2页 / 共28页
uml 基础教程 第一章--uml与面向对象_第3页
第3页 / 共28页
uml 基础教程 第一章--uml与面向对象_第4页
第4页 / 共28页
uml 基础教程 第一章--uml与面向对象_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《uml 基础教程 第一章--uml与面向对象》由会员分享,可在线阅读,更多相关《uml 基础教程 第一章--uml与面向对象(28页珍藏版)》请在金锄头文库上搜索。

1、第一章 UML与面向对象,基础内容:类和对象的关系 重点掌握:面向对象的四个特征 一般了解:面向对象项目的设计,1.1 面向对象开发,1.1.1 理解面向对象 一、对象 面向对象认为客观世界是由各种各样的对象组成,每个对象都有自己的数据和操作,对象和对象之间是通过对象暴露在外的接口进行调用的,不同对象之间的相互作用和联系构成了各种系统。 因此对象是组成系统的基本单元,是一个有组织的含有信息的实体,它由状态和行为构成。其中,状态用来描述对象的静态特征,行为描述对象的动态特征,对象是包含客观事物特征的抽象实体,封装了状态和行为。 对象=数据+数据的操作。,二、类 类是创建对象的模板,在整体上可代表

2、一组对象,它是具有相同属性和操作的一组对象的组合。 类的定义包含以下要素: 属性即定义该类对象的数据结构。一个类可以具有零个到多个属性。 操作即对象要执行的操作,也就是类的对象被调用执行哪些操作,以及执行这些操作时对象要执行哪些操作。或者说是类能够做的事情抑或是其它类能对类做的事情。,对象和类的关系: 对象是类的一个实例。 如,创建了“人”这个类,现在有一个名字叫“小明”的人,就表示小明是“人”这个类的一个实体对象。我们还可以使用这个类来表达更多其它具体的对象,如“小张”、“小王”等。,三、消息和事件 消息 消息是指描述事件发生的信息,是对象间相互联系和相互作用的方式。 消息主要由五部分组成:

3、 消息的发送对象 消息的接收对象 消息的传递方式 消息内容(参数) 消息返回,事件 通常是指一种由系统预先定义而由用户或系统发出的动作。 事件作用于对象,对象识别事件并作出相应的反应。事件的集合通常是固定的,用户不能随便定义新的事件。例如,用鼠标左键单击对象时发生的Click事件和界面被加载到内存时发生的Load事件。,四、面向过程 面向过程的结构化程序设计方法把相互依赖的数据和对数据的操作相互分离,这种实质上的依赖而形式上的分离使得大型程序的编写比较困难,代码的重用也变得十分困难,因而产生了面向对象的程序设计方法。它往往是从问题的一部分着手,一点一点地构建出整个程序。 面向对象设计是以数据为

4、中心,使用类做为表现数据的工具,类是划分程序的基本单位。而函数在面向对象设计中成为了类的接口。 相对来说,以数据为中心而不是以功能为中心来描述系统,更能使程序具有稳定性。,1.1 面向对象开发,1.1.2 面向对象的特征 一、抽象 简单地说,抽象的意思是过滤掉对象的一部分特征和操作直到剩下你所需要的属性和操作。 通过抽象我们可以做到以下几点: 将需要的事物进行简化 将事物特征进行概括 将抽象模型组织为层次结构 将软件重用得以保证,二、封装 封装就是把对象的状态和行为绑到一起,形成一个独立的整体,并尽可能地隐藏对象内部的细节。 封装有两个含义: (1)把对象的全部状态和行为结合在一起,形成一个不

5、可分割的整体,对象的私有属性只能由对象的行为来修改和读取。 (2)尽可能隐藏对象的内部细节,与外界的联系只能通过外部接口来实现。,在讨论封装这个主题时,还牵扯到另一个相关概念。封装意味着对象对其他对象和外部世界隐藏了自己要做什么,因此它也被称为信息隐藏。 但是对象总是要给外部世界提供一个“接口”,用来初始化这些操作。例如,电视机上一般都有一组按钮或者提供带有按钮的遥控器。电视机的按钮的按键称为接口。,三、继承 例如,洗衣机、电冰箱、微波炉等都可看成是一个一般的类家用电器类(appliance)类的成员。在面向对象的世界中,我们可以说上述的每一种都是Appliance的子类。 Appliance

6、类具有的属性有onOffSwitch ,具有turnOn( )和turnOff( )操作。因此,当你知道某物是家用电器的话,那么你就立即知道它具有Appliance类的属性和操作。,面向对象概念中,这种关系叫继承。每个Appliance的子类都继承了Appliance的特征。同时,要重点注意下,每个子类都增加了自己的属性和操作。 因此,继承是一种连接类与类之间的层次模型,是指特殊类的对象拥有其一般类的属性和行为。特殊类中不必重新对已经在一般类中所定义的属性和行为进行定义。特殊类自动地、隐含地拥有其一般类的属性和行为。,四、多态 在面向对象中,每个类都能够自己“知道”如何执行自己的打开操作。这就

7、是“多态性”。多态是指两个或多个属于不同类的对象,对于同一个消息或方法调用所做出不同相应的能力。 多态性是指在两个或多个属于不同类中同一函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。,1.1 面向对象开发,1.1.3 面向对象的项目设计 一、面向对象设计的准则 1、模块化 2、抽象 3、信息隐藏 4、低耦合 5、高内聚,二、面向对象设计的规则 1、设计的结果应该清晰易懂 2、一般到具体结构的深度应当适当 3、尽量设计小而简单的类 4、使用简单的消息协议 5、使用简单的函数或方法 6、把设计变动减至最小,三、系统设计 1、系统分解 2、确定并发性

8、3、处理器及任务分配 4、数据存储管理 5、全局资源的处理 6、选择软件控制机制 7、人机交互接口设计,四、面向对象开发的优点 1、简单性 2、重用性高,开发效率高 3、容易修改和维护 4、结构明晰,可读性强 5、安全性,1.2 UML简介,1.2.1 对系统建模的必要性 UML具体有哪些作用: (1)对于软件系统用户,软件的开发模型向他们描述了软件开发者对于软件系统需求的理解。 (2)对于软件开发团队,软件的对象模型有助于帮助他们对软件的需求以及系统的架构和功能进行沟通。 (3)对于软件的维护和技术支持者,在软件系统开始运行后的相当长的一段时间内,软件的对象模型能够帮助他们理解程序的架构和功

9、能,迅速对软件所出现的问题进行修复。,1.2.2 系统建模的目标和原则 通过建模,要实现以下4个目标: 便于开发人员展现系统 允许开发人员制定系统的结构或行为 提供指导开发人员构造系统的模板 记录开发人员的决策,1.2.3 UML的定义 UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。它: 不是一种可视化的程序设计语言,而是一种可视化的建模语言; 不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准; 不是过程,也不是方法,但允许任何一种过程和方法使用它。,1.2.4 UML的优势 UML主要优势有以下三点: (1)UML统一了Booch 、OMT、

10、OOSE等方法中的基本概念; (2)UML吸取了面向对象技术领域中其他流派的长处; (3)UML在演变过程中还提出了一些新的概念。,1.2.5 在何种场合需要UML UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。 在需求分析阶段,可以用用例来捕获用户需求,通过用例图建模,描述对系统感兴趣的外部角色及其对系统的功能的要求。 分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及他们相互之间的关系,并用类图来描述。 为了实现用例,类之间需要协作,这可以用UML动态模型来描述。,在设计阶段,要考虑的是定义软件系统中技术细节的类(如处理用户接口、数据库

11、、通信和并行性等问题的类),把分析阶段的结果扩展成技术解决方案。 构造阶段,把设计阶段的类转换成某种面向对象程序设计语言的的代码(工具可以完成)。 测试阶段,系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试使用构件图和协作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。,UML在更多的被经常使用在需求分析和设计工作中。 UML用于需求分析:,1.2.6 多种UML建模类型 可将常见的软件开发模式分为如下的几种类型: (1)在第一代软件开发过程模式中,软件需求是要求完全确定的,如瀑布型等; (2)对于第一代软件开发过程模式的改进催生了在开始阶段只提供基本需求的渐进式开发模型,如喷泉模型和演化模型; (3)以体系结构为基础或以构件为基础的开发模型,如基于构件的开发模型和基于体系结构的开发模型等; (4)轻量级开发模型,这种开发模型强调适应性而非预测性,强调以人为中心而不是以流程为中心,强调对变化的适应和对人性的关注。,简答题,什么是对象? 对象之间如何协同工作? 两个对象之间能够以多种方式关联吗? 什么是继承? 什么是封装?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号