面向对象概述_第1页
面向对象概述_第2页
面向对象概述_第3页
面向对象概述_第4页
面向对象概述_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象概述第1页,共40页,2023年,2月20日,星期二姓名:李丽萍博士,副教授,美国内布拉加斯州大学奥马哈分校访问学者研究方向:软件工程,软件测试Tel:50214252E-mail:liliping@教师简介第2页,共40页,2023年,2月20日,星期二教师讲课与学生练习相辅相成授课方式考核方式理论考试+平时成绩+课程练习第3页,共40页,2023年,2月20日,星期二ApplyingUMLandPatterns-AnIntroductiontoObject-OrientedAnalysisandDesignUML和模式应用-面向对象分析与设计导论THEBESTObjectOrientatedAnalysisandDesigntutorialbook(A)在OOA/D、迭代式开发和UML方面是全球最畅销的书籍之一,已被翻译成多种语言并在业界和院校中被广泛使用参考文献第4页,共40页,2023年,2月20日,星期二参考文献第5页,共40页,2023年,2月20日,星期二ReferencesCraigLarman“PeopleoftenaskmewhichisthebestbooktointroducethemtotheworldofOOdesign.EversinceIcameacrossit,ApplyingUMLandPatternshasbeenmyunreservedchoice.”--MartinFlower,author,UMLDistilledandRefactoring第6页,共40页,2023年,2月20日,星期二软件方法-业务建模和需求潘加宇著TheUnifiedModelingLanguageUserGuide(UML用户指南)TheUnifiedModelingLanguageReferenceManual(UML参考手册)GradyBoochJamesRumbaughIvarJacobson参考文献第7页,共40页,2023年,2月20日,星期二WebResources/software/rational//uml/////网络资源第8页,共40页,2023年,2月20日,星期二目标:能够较熟练地使用UML表达设计思想运用面向对象设计的一般原则进行应用系统的分析和设计掌握RationalRose环境与使用、UML图的画法课程内容第9页,共40页,2023年,2月20日,星期二

是软件工程方向的重要内容之一;是软件工程方向学生必须掌握的基本技能之一。课程地位第10页,共40页,2023年,2月20日,星期二

第1章面向对象概述第11页,共40页,2023年,2月20日,星期二1.什么叫面向对象面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。

1.1面向对象基本概念第12页,共40页,2023年,2月20日,星期二2.对象对象(object)是面向对象(Object-Oriented,OO)系统的基本构造块,是一些相关的变量和方法的软件集。对象是现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。物理对象:某种可被人感知的事物。如:学生、书籍等;概念性对象。如:国家、民族对象具有属性(静态特征)和操作(动态特征) 例如:汽车都有一些共同的属性:品牌、型号和载重等。它们都有一些共同的行为:加速、减速、载客和运货。面向对象基本概念第13页,共40页,2023年,2月20日,星期二3.类类(Class)是具有相同属性和操作的一组对象的组合,也就是说,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。例如名为“学生”的类被用于描述为“学生管理系统”中的学生对象。类的定义要包含以下的要素第一,定义该类对象的数据结构(属性的名称和类型)第二,定义对象所要执行的操作。面向对象基本概念第14页,共40页,2023年,2月20日,星期二4.消息与事件所谓消息(Message)是指描述事件发生的信息,是对象间相互联系和相互作用的方式。一个消息主要由5部分组成:消息的发送对象、消息的接收对象、消息传递方式、消息内容(参数)、消息的返回。所谓事件通常是指一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。对象通过对外提供的方法在系统中发挥自己的作用,当系统中的其它对象请求这个对象执行某个方法时,就向该对象发送一个消息,对象响应这个请求,完成指定的操作。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。面向对象基本概念第15页,共40页,2023年,2月20日,星期二1.抽象(P6)将需要的事物进行简化;将事物特征进行概括;将抽象模型组织为层次结构;使软件重用得以保证。1.2面向对象的基本特征第16页,共40页,2023年,2月20日,星期二2.封装封装(Encapsulation)是把对象的状态和行为绑到一起的机制,把对象形成一个独立的整体,并且尽可能的隐藏对象的内部细节。封装有两个含义:一是把对象的全部状态和行为结合一起,形成一个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取。二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。封装的信息屏蔽作用反映了事物的相对独立性,我们可以只关心它对外所提供的接口,即能够提供什么样的服务,而不用去关注其内部的细节问题。比如说使用手机,我们关注的通常是这个手机能实现什么功能,而不太会去关心这个手机的是怎么一步步制造出来的。1.2面向对象的基本特征第17页,共40页,2023年,2月20日,星期二3.继承继承(Inheritance)是一种连接类与类的之间的层次模型。继承是指特殊类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中所定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。继承对类的重用性,提供了一种明确表述共性的方法。即一个特殊类既有自己定义的属性和行为,又有继承下来的属性和行为。面向对象的的基本特征第18页,共40页,2023年,2月20日,星期二4.多态多态性(Polymorphism)是指在两个或多个属于不同类中同一函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。面向对象的的基本特征第19页,共40页,2023年,2月20日,星期二多态性分为两种:编译时的多态性:通过方法重载来实现。运行时的多态性:通过方法覆盖来实现。多态性的实现方式:通过接口实现多态性通过继承实现多态性通过抽象类实现的多态性多态第20页,共40页,2023年,2月20日,星期二多态第21页,共40页,2023年,2月20日,星期二1.3面向对象的开发方法的一般过程

OO方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。面向对象分析面向对象设计实现测试图1.3OO方法的步骤第22页,共40页,2023年,2月20日,星期二

OO方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。获取需求,建立需求模型。分析的典型活动:

1、获取领域(问题域)知识;

2、定义系统功能(用例图);

3、确定合适的类;

4、建立类的静态模型(类图);

5、描述对象的动态行为(状态图、协作图、时序图、活动图);

6、验证(专家对模型作静态验证);

7、给出基本的用户界面原型(整体结构的原型:主窗口的内容、窗口之间的导航等)。面向对象分析面向对象设计实现测试1.3面向对象的开发方法的一般过程第23页,共40页,2023年,2月20日,星期二

OO方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。

设计是分析结果在技术上的扩充和修改,重点是如何实现该系统。设计中的典型活动:1、将分析所得的类划分为功能包,并从技术层面(用户界面、数据库处理、通信等)增加新包,建立包之间的通信联系。2、标识并发需求并建模。3、指出系统输出的详细格式:如用户界面,报告,向其它系统发送的事务等。4、数据管理(建立类与表单的对应关系,对数据库的访问机制)。5、异常处理6、分配类和构件(构件图、配置图)。还应用伪代码或者文字给出类的规约。面向对象分析面向对象设计实现测试1.3面向对象的开发方法的一般过程第24页,共40页,2023年,2月20日,星期二面向对象设计准则面向对象设计的准则包括模块化、抽象、信息隐藏、低耦合和高内聚等特征,见书P13。系统设计一般是先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。

1.3面向对象的开发方法的一般过程第25页,共40页,2023年,2月20日,星期二1.3面向对象的开发方法的一般过程

OO方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。实现活动实际上就是编写程序代码,包括反复的编译、连结、排错等。并应遵循传统的编程准则。

面向对象分析面向对象设计实现测试第26页,共40页,2023年,2月20日,星期二

OO方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。测试的目的是发现代码中的错误,测试的关键是确定高效的测试用例。测试的主要步骤有:1、面向对象的单元测试测试单元为封装的类和对象,但不能孤立地测试单个操作,应把操作作为类的一部分来测试。2、面向对象的集成测试

3、面向对象的确认测试类似传统的确认测试和系统测试,根据动态模型和描述系统行为的脚本来设计测试用例,可用黑盒法。1.3面向对象的开发方法的一般过程面向对象分析面向对象设计实现测试第27页,共40页,2023年,2月20日,星期二什么是模型模型应具有的特征为何要建立模型建模的意义1.4面向对象建模第28页,共40页,2023年,2月20日,星期二什么是模型如果把现实世界中的某些事物看作是一种现实原型,那么模型就算对这种现实原型的一种抽象和模拟,以反映事物的本质特征。模型既反映原型,又不等于原型。模型是实际系统或过程的代表或描述,它是实际系统的一部分属性的抽象和模仿,而不是全部属性的复制。模型的实质是在一组简化的假设条件下,描述一个实体活动的最本质的属性。第29页,共40页,2023年,2月20日,星期二抽象性:突出重点方面,忽略无关紧要的细节。可理解性:易于使用者理解模型所表达的系统(建模的目标对象)。精确性:应该准确地表达系统。确定性:能正确地推导出与系统有关的各种结论。廉价性:对于构造和研究而言,比直接使用系统本身更加便宜。模型应具有的特征第30页,共40页,2023年,2月20日,星期二模型是对系统的一种抽象。抽象是人们处理复杂事务的一种基本手段之一。抽象有助于了解系统的本质。在构造一个复杂的系统时,必须从不同的角度来抽象系统,使用准确的符号,用模型来表示这种抽象。然后检查这些模型是否符合系统的需求,并逐步添加细节,从而将这些模型转化为实现方案。为何要建立模型第31页,共40页,2023年,2月20日,星期二模型是对现实的简化,建模是为了更好地理解系统。建模的使用是软件成功的一个基本因素.常见的模型展示相关:建筑物模型、沙盘、公司总部的3D复制品…数据分析相关:条形图、饼状图…业务分析相关:组织结构图、跨职能流程图……设计相关:建筑平面图、管线图、电路板设计图建模的意义第32页,共40页,2023年,2月20日,星期二模型的实质

模型是对现实的简化第33页,共40页,2023年,2月20日,星期二模型的实质

模型是对现实的简化第34页,共40页,2023年,2月20日,星期二通过建模,要实现以下4个目标:(1)便于开发人员展现系统。

——可视化visualization(2)允许开发人员指定系统的结构或行为。

——详述specification(3)提供指导开发人员构造系统的模板。

——构造construction(4)记录开发人员的决策。

——文档化documentation建模的目标第35页,共40页,2023年,2月20日,星期二具体到软件所涉及的人员,包括用户、软件开发团队、软件的维护和技术支持者,系统建模有不同的作用。见书P16.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论