面向对象技术基础篇课件.ppt
《面向对象技术基础篇课件.ppt》由会员分享,可在线阅读,更多相关《面向对象技术基础篇课件.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象技术基础面向对象技术基础篇篇第1页,此课件共51页哦课程特点课程特点面向对象是一种全新的思考方式面向对象是一种全新的思考方式该课程以概念为基础该课程以概念为基础,为主线为主线注重建模和视图注重建模和视图提供统一建模语言提供统一建模语言UML2第2页,此课件共51页哦课程简介课程简介面向对象技术概述面面向向对对象象的的软软件件开开发发 面向对象的设计 需求与用况技术面向对象的分析 面向对象的编程 面向对象的测试UML建建模模统一建模语言UML3第3页,此课件共51页哦l 深入理解面向对象的概念深入理解面向对象的概念;l 掌握面向对象的建模过程掌握面向对象的建模过程;l 掌握建模语言掌握建
2、模语言UML;l 设计健壮的、可扩展的、可复用的、设计健壮的、可扩展的、可复用的、可维护的软件系统。可维护的软件系统。课程目的课程目的4第4页,此课件共51页哦1.1.单词背诵系统单词背诵系统2.2.企业人事管理系统企业人事管理系统3.3.教学管理系统教学管理系统4.4.基于图像的试卷识别系统基于图像的试卷识别系统5.5.网上售书平台网上售书平台6.6.公寓管理系统公寓管理系统7.7.桌面搜索引擎桌面搜索引擎8.8.学生成绩综合分析系统学生成绩综合分析系统实践作业实践作业 分析和设计下列问题之一分析和设计下列问题之一,并写出文档并写出文档。5第5页,此课件共51页哦9.9.城市停车管理系统城市
3、停车管理系统10.10.超市销售管理系统超市销售管理系统11.11.医药超市管理系统医药超市管理系统12.12.幼儿预防管理系统幼儿预防管理系统13.13.教学网站学生管理系统教学网站学生管理系统14.14.高校智能排课管理系统高校智能排课管理系统15.15.基于搜索引擎的网络图片爬虫系统基于搜索引擎的网络图片爬虫系统16.16.自选(先提交老师审题!)自选(先提交老师审题!)实践作业实践作业6第6页,此课件共51页哦正文内容正文内容:1.需求分析需求分析文字描述文字描述 (1)功能性需求功能性需求关于系统做什么的描述;关于系统做什么的描述;(2)非功能性需求非功能性需求关于系统约束的描述;关
4、于系统约束的描述;(性能、可靠性、环境等性能、可靠性、环境等)(3)用例的文字描述用例的文字描述#用例名称;用例名称;#用例的简要说明:该用例的作用;用例的简要说明:该用例的作用;如如,买车票用例供客户浏览客户航班信息、查询买车票用例供客户浏览客户航班信息、查询 和用信用卡买票和用信用卡买票面向对象文档内容7第7页,此课件共51页哦#前提条件:前提条件:用例开始前必须满足的条件用例开始前必须满足的条件,可能是另一个可能是另一个 己执行的用例己执行的用例,或用户具有运行当前使用用例权限;或用户具有运行当前使用用例权限;#主流事件和其他事件流:主流事件和其他事件流:从用户角度关注做什么从用户角度关
5、注做什么,事件事件 流描述执行用例;流描述执行用例;#事后条件事后条件(也可缺省也可缺省):用例结束后执行的动作。用例结束后执行的动作。如如,一个用例结束后一个用例结束后,必须运行另一个用例。必须运行另一个用例。2.需求分析建模需求分析建模 (1)领域模型领域模型可用活动图描述可用活动图描述 (2)定义系统的外部行为定义系统的外部行为use case图图 参与者、用例、边界、参与者与用例通信参与者、用例、边界、参与者与用例通信 面向对象文档内容8第8页,此课件共51页哦 3.建立包图建立包图,用用例进行分组,用用例进行分组 4.建立初始建立初始类图类图:确定属性和关联:确定属性和关联,常规操作
6、常规操作 5.建立动态模型建立动态模型:确定类中的复杂操作:确定类中的复杂操作 6.建立完整的类图建立完整的类图 7.建立组件和展开图建立组件和展开图面向对象的设计面向对象的设计 8.进行数据存储设计进行数据存储设计 9.进行人机交互设计进行人机交互设计 10.写出伪码写出伪码 11.结论结论 12.参考文献参考文献 (打印,装订好,打印,装订好,学期末提交学期末提交)面向对象文档内容9第9页,此课件共51页哦第一部分:基础篇第一部分:基础篇10第10页,此课件共51页哦l 什么是面向对象什么是面向对象l 面向对象方法的形成面向对象方法的形成l 面向对象方法的概念面向对象方法的概念l 面向对象
7、软件开发特点面向对象软件开发特点l 面向对象软件开发模型面向对象软件开发模型第第1 1章章 面向对象技术概述面向对象技术概述11第11页,此课件共51页哦1.1 1.1 什么是面向对象什么是面向对象从从程程序序设设计计方方法法的的角角度度看看,面面向向对对象象是是一一种种新新的的程程序序设设计计范范型型(Paradigm)(Paradigm),其其基基本本思思想想是是使使用用对对象象、类类、继继承承、封封装装、聚聚合合、关关联联、消消息息、多多态态性性等等基基本本概概念念来来进行程序设计。进行程序设计。自自2020世纪世纪8080年代以来,面向对象方法已深入到计算机软件领域的几乎所有分支。它不
8、仅年代以来,面向对象方法已深入到计算机软件领域的几乎所有分支。它不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,用什么观点来研究问题并进行问题求解,以及如何进行系统构造的软件方法学。关系,用什么观点来研究问题并进行问题求解,以及如何进行系统构造的软件方法学。从从这这个个意意义义上上讲讲:面面向向对对象象方方法法是是一一种种运运用用对对象象、类类、继继承承、封封装装、聚聚合合、关关联联、消消息息、多多态态性性等等概概念念来来构构造造系系统统的的软软件件开开发发方法。方法。12第12页
9、,此课件共51页哦面向对象方法的基本思想:面向对象方法的基本思想:一、从现实世界中客观存在的事物出发来构造系统一、从现实世界中客观存在的事物出发来构造系统强强调调直直接接以以问问题题域域(现现实实世世界界)中中的的事事物物为为中中心心来来思思考考问问题题、认认识识问问题题,并并根根据据这这些些事事物物的的本本质质特特征征,把把它它们们抽抽象象为为系系统统中中的的对对象象,作作为为系系统统的的基基本本构构成成单单位位。这这可可以以使使系系统统直直接接映映射射问问题题域域,保保持持问问题题域域中中事事物物及及其其相相互互关关系系的本来面貌。的本来面貌。二、充分运用人类日常的思维方法二、充分运用人类
10、日常的思维方法强强调调运运用用人人类类在在日日常常的的逻逻辑辑思思维维中中经经常常采采用用的的思思想想方方法法与与原原则则,例例如如抽抽象象、分分类类、继继承承、聚聚合合、封封装装、关关联联等等等等。这这使使得得软软件件开开发发者者能能更更有有效效地地思思考考问问题题,并并以以其其他他人人也也能能看看得得懂懂的的方方式式把把自自己己的的认认识识表表达达出出来。来。13第13页,此课件共51页哦用用类类和和对对象象作作为为系系统统的的基基本本构构成成单单位位。对对象象对对应应问问题题域域中中的的事事物物,其其属属性性和和操操作作刻刻画画了了事事物物的的静静态态特特征征和和动动态态特特征征,它它们
11、们之之间间的的继继承承关关系系、聚聚合合关关系系、关关联联和和消消息息如实地表达了问题域中事物之间实际存在的各种关系。如实地表达了问题域中事物之间实际存在的各种关系。因因此此,无无论论系系统统的的构构成成成成分分,还还是是通通过过这这些些成成分分之之间间的关系而体现的系统结构,都可直接地映射问题域。的关系而体现的系统结构,都可直接地映射问题域。面向对象方法的主要特点:面向对象方法的主要特点:14第14页,此课件共51页哦1.2 1.2 面向对象方法的形成面向对象方法的形成软件开发:对事物的认识和描述,从认识论看面向软件开发:对事物的认识和描述,从认识论看面向对象方法的形成。对象方法的形成。15
12、第15页,此课件共51页哦1.2.1 1.2.1 传统软件开发方法的问题传统软件开发方法的问题模型阶段性模型阶段性 模型的顺序性模型的顺序性以功能为主的方法,功能易变以功能为主的方法,功能易变 模块的封装性、可重用性差模块的封装性、可重用性差,接口易变接口易变 没有很好解决软件开发中的两个经典问题没有很好解决软件开发中的两个经典问题16第16页,此课件共51页哦大峡谷大峡谷北端北端大峡谷大峡谷南端南端数据模型数据模型处理模型处理模型科罗拉科罗拉多河多河传统方法,传统方法,数据和功能各自描述系统的一部分,两种模型数据和功能各自描述系统的一部分,两种模型表示角度不同,若合起来,对一致性、精确性难以
13、验证。表示角度不同,若合起来,对一致性、精确性难以验证。OO的对象模型解决了此问题。的对象模型解决了此问题。两个经典问题两个经典问题:问题问题“1”1”图图1-1 1-1 经典问题经典问题“1”1”17第17页,此课件共51页哦两个经典问题两个经典问题:问题问题“2”2”分析模型分析模型设计模型设计模型大峡谷大峡谷北端北端科罗拉科罗拉多河多河大峡谷大峡谷南端南端传统方法,传统方法,分析和设计两个阶段描述工具不同,需要转换,重分析和设计两个阶段描述工具不同,需要转换,重新建立模型,向程序员解释编程要求。新建立模型,向程序员解释编程要求。OO方法的设计是对方法的设计是对OOA的扩展。的扩展。图图1
14、-2 1-2 经典问题经典问题“2”2”18第18页,此课件共51页哦面向对象的程序设计语言面向对象的程序设计语言面向对象的设计面向对象的设计 面向对象的分析面向对象的分析 面面向向对对象象的的发发展展过过程程1.2.2 1.2.2 面向对象方法的由来面向对象方法的由来解解决决问问题题的的过过程程图图1-3 1-3 面向对象方法的发展面向对象方法的发展19第19页,此课件共51页哦l Simula(Dahl and Nygaad)模拟现实世界对象的行为。模拟现实世界对象的行为。60年代末,挪威奥斯陆大学和挪威计算中心研制的创建了 第一个OO系统。l Ada(G.Booch)具有对象的特征,是一
15、个基于对象的语言。具有对象的特征,是一个基于对象的语言。70年代,G.Booch在研究Ada软件开发中,提出了OO思想,创建了Ada的程序包。l Smalltalk(美国美国Xerox Parc研究中心研究中心A.Key研制研制)72年,推出Smalltalk72-有对象的概念;76年,推出Smalltalk76-有类的概念;81年,推出Smalltalk80和环境-全面体现了OO程序设计语 言的特征。1.2.2 1.2.2 面向对象方法的由来面向对象方法的由来20第20页,此课件共51页哦l Objective-C(Cox 1986,Cox and Novobilski 1991)。支持多态
16、、信息隐敝。l C+(1980,贝尔实验室的,贝尔实验室的Bjarne Strousrup)支持抽象、继承、自动引用、动态绑定、操作符重载等,但维护困难。l Eiffel(Myeer 1990)有断言,解决正确性、健壮性、可移植性、效率等。l Java(Sun 公司公司 James Gosling 1990)在Sun World95年会上公布。Java=C+-复杂性和奇异性+安全性和可移植性。211.2.2 1.2.2 面向对象方法的由来面向对象方法的由来第21页,此课件共51页哦1.3 1.3 面向对象方法的概念面向对象方法的概念面向对象概念的提出面向对象概念的提出:使描述问题的问题空间和解
17、决问题的方法空间一致使描述问题的问题空间和解决问题的方法空间一致(概念上、处理行为上概念上、处理行为上一致一致)按问题领域的按问题领域的基本事物基本事物实现自然分割实现自然分割 按人们按人们思维方式思维方式建立问题域模型建立问题域模型 演绎思维演绎思维(从一般到特殊从一般到特殊)归纳思维归纳思维(从特殊到一般从特殊到一般)为此,必须建立直接表现为此,必须建立直接表现组成问题域的事物,及这些事物间相组成问题域的事物,及这些事物间相互联系的概念互联系的概念,建立适应人们一般思维方式的描述范式。,建立适应人们一般思维方式的描述范式。CoadCoad和和YourdonYourdon给出了面向对象的定义
18、:给出了面向对象的定义:面向对象面向对象=对象对象+类类+继承继承+通信通信 22第22页,此课件共51页哦问题空间的对象问题空间的对象:现实世界中任何实际存在的事物都是对现实世界中任何实际存在的事物都是对象象(是对实体概念的一种描述是对实体概念的一种描述)。物理实体物理实体软件实体软件实体概念实体概念实体1.3.1 1.3.1 对象对象(Object)图图1-4 1-4 对象对象23第23页,此课件共51页哦 对象是一个具有封装了的数据结构和操作的实体,这对象是一个具有封装了的数据结构和操作的实体,这 个实体有一个标识它的名字,对外通过相应的接口,个实体有一个标识它的名字,对外通过相应的接口
19、,提供相应的服务。计算机程序中的对象是具有三个特提供相应的服务。计算机程序中的对象是具有三个特 征的实体征的实体:标识、状态、行为。标识、状态、行为。方法空间方法空间的对象的对象:是对某个事物的抽象描述。是对某个事物的抽象描述。Object:=(OID,DS,OS,MI)1.3.1 1.3.1 对象对象(Object)24第24页,此课件共51页哦对象特征对象特征 (对象的属性和行为对象的属性和行为)属性属性 Atribute 描述对象描述对象“静态静态”(结构结构)特征的一个数据项;特征的一个数据项;属性是对象知道的事情;描述对象的当前状态。属性是对象知道的事情;描述对象的当前状态。操作操作
20、Operation描述对象描述对象“动态动态”(行为行为)特征的一个操作序列特征的一个操作序列;操作是调用对象执行的转换或查询的规格说明;操作是调用对象执行的转换或查询的规格说明;有可能改变对象的状态;有可能改变对象的状态;操作操作是方法的抽象说明。是方法的抽象说明。说明对象在什么条件下是可行的说明对象在什么条件下是可行的。方法方法Method对象完成的事情。是操作的实现或执行操作的函数对象完成的事情。是操作的实现或执行操作的函数或过程。是实现类的行为的过程抽象。或过程。是实现类的行为的过程抽象。规格规格25第25页,此课件共51页哦思考思考:l 属性完全相同的两个事物属性完全相同的两个事物,
21、是否是同一个对象是否是同一个对象?举例。举例。两个教师姓名和职称都相同两个教师姓名和职称都相同,但但它们却是两个不同的对象。它们却是两个不同的对象。l所有的对象都是独立的实体所有的对象都是独立的实体,都有其唯一的标识。对象都有其唯一的标识。对象 之间的区别是由它们之间的区别是由它们固有的存在性所决定的固有的存在性所决定的,而与它们而与它们 的特征是否相同无关。的特征是否相同无关。26第26页,此课件共51页哦 类是具有相同属性和服务的一组对象的集合,它为属于该类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。类的全部对象提供了统一的抽象描述。1.3.2 1.3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 技术 基础 课件
限制150内