第2章 面向对象软件开发方法_第1页
第2章 面向对象软件开发方法_第2页
第2章 面向对象软件开发方法_第3页
第2章 面向对象软件开发方法_第4页
第2章 面向对象软件开发方法_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章第二章 面向对象软件开发方法面向对象软件开发方法2.1 面向对象基本思想2.2 面向对象基本概念2.3 面向对象方法2.4 面向对象开发统一过程2.5 本章小结2.1 面向对象基本思想面向对象基本思想2.1.2 面向对象方法的基本思想面向对象方法的基本思想n在系统的构造中运用人类的自然思维方式在系统的构造中运用人类的自然思维方式 首先是从现实世界的客观事物出发,所以所构造的系统的基本元素就是对象;并且在构造过程中,使用人类最自然的思维方式来构造。2.1.1 什什么是面向对象方法么是面向对象方法 面向对象软件开发方法是从现实世界的客观对象入手解决问题,尽量运用人类的自然思维方式从多个方面来

2、构造软件系统。2.1 面向对象基本思想面向对象基本思想n以对象以及对象间关系为中心以对象以及对象间关系为中心 客观世界中的事物都是对象,对象间存在一定的关系。面向对象软件开发方法强调直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。n抽象抽象 忽略事物中与当前目标无关的非本质特征,更充分地注意与当前目标有关的本质特征。从而找出事物的共性,并把具有共性的事物划为一类,得到一个抽象的概念。2.1 面向对象基本思想面向对象基本思想n一个抽象的例子一个抽象的例子2.2 面向对象基本概念面向对象基本概念2.2.1

3、 对对象(象(Object) 在面向对象的软件系统模型中,对象是用来描述观事物的实体,它是组成一个系统的基本逻辑单元。一个对象由一组属性和对这组属性进行操纵的一组操作构成。 属性是用来描述对象静态特征的一个数据项,行为是用来描述对象动态特征的一个操作,操作又称为服务,在面向对象编程语言中称为方法。对象是包含客观事物特征的抽象实体,是属性和操作的封装体,可以用“对象属性十操作”这一公式来表达。2.2 面向对象基本概念面向对象基本概念2.2.2 类(类(Class) 类是具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和操作两个主要部分,类是对象集合的

4、再抽象。类的作用是创建对象,对象是类的一个实例。 一个具体的“学生”对象就是“学生”类的一个实例。同一个类所产生的对象之间一般有着不同点,因为每个对象的属性值可能是不同的。2.2 面向对象基本概念面向对象基本概念2.2.3 封装(封装(Encapsulation) 在面向对象方法中,封装就是把对象的属性与操纵这些属性的操作包装起来,形成一个独立的实体单位。封装使对象能够集中而完整地描述并对应一个具体的事物,体现了事物的相对独立性。 通过封装,对象的内部信息对外是隐蔽的,外界不能直接存取对象的内部信息(属性)以及隐藏起来的内部操作,只能通过有限的接口与对象发生联系。封装机制将对象的使用者与设计者

5、分开,使用者不必知道对象行为实现的细节,只需要知道如何使用设计者设计的对象外部接口。2.2 面向对象基本概念面向对象基本概念2.2.4 继承(继承(Inheritance) 继承是指特殊类自动拥有或隐含复制其一般类的全部属性与操作,这种机制也称作一般类对特殊类的泛化。 在类的继承层次中,位于上层的类称为一般类,而位于下层的则称为特殊类。 一个类可以同时继承两个或两个以上的一般类的属性和操作,这种允许一个特殊类具有一个以上一般类的继承模式称为多继承。2.2 面向对象基本概念面向对象基本概念2.2.5 消息(消息(Message) 对象可以通过它对外提供的操作在系统中发挥作用。当系统中其它对象或系

6、统请求这个对象执行某个操作时,该对象就响应这个请求,完成该操作。在面向对象方法中,把向对象发出的操作请求称为消息。2.2 面向对象本概基念面向对象本概基念2.2.6 多态(多态(Polymorphism) 面向对象方法借鉴了客观世界的多态性,体现在不同的对象收到相同的消息时产生多种不同的行为方式。具体来说,多态性是指类中同一方法名对应多个具有相似功能的不同方法,可以使用相同的调用方式来调用这些具有不同功能的同名方法。 继承性和多态性的结合,可以生成一系列虽类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征;由于多态性,针对相同的消息,不同对象可以有独特的表现方式,实现特性化的设计。2

7、.2 面向对象基本概念面向对象基本概念2.2.7 关联与聚合关联与聚合 关联是两个或者两个以上类之间的一种静态关系。一个较复杂的对象由其它若干较简单的对象作为其构成部分,把这种对象间的关系称为组合或聚合关系。聚合关系刻画了现实世界事物之间的构成关系,例如圆心与圆之间的关系,计算机与内存间的关系。聚合是具有“整体与部分”语义的关联关系;也就是说,聚合是关联的一种,只是它还具有明显的“整体与部分”含义。2.3 面向对象方法面向对象方法2.3.1 面向对象方法简介面向对象方法简介 所有的面向对象方法都遵守相同的基本观点,即“面向对象对象类继承通信”。n现实世界是由对象组成的。任何客观事物和实体都是对

8、象,复杂对象可以由简单对象组成。n具有相同数据和操作的对象可以归并为一个类。对象具有封装性,它可以对数据和操作形成一个包装。对象是类的一个实例,一个类可以产生若干对象。n类可以派生子类,继承能避免共同数据和操作的重复。n对象之间通过传递消息进行联系。2.3 面向对象方法面向对象方法2.3.2 几种典型的面向对象方法几种典型的面向对象方法nBooch面向对象方法nJacobson面向对象方法nCoad-Yourdon面向对象方法nOMT面向对象方法2.3 面向对象方法面向对象方法2.3.3 面向对象方法主要优点面向对象方法主要优点n面向对象方法改变了开发软件的方式n面向对象语言使客观世界到计算机

9、语言鸿沟变窄n面向对象方法使分析与设计的鸿沟变窄n面向对象方法能很好地适应需求变化n面向对象方法容易实现软件复用n面向对象方法易于进行系统维护和修改2.4 面向对象开发统一过程面向对象开发统一过程2.4.1 统一过程简介统一过程简介 UML的创始者在创建UML的同时,在1998年提出了与UML配套的面向对象软件开发的统一过程UP(Unified Process),将核心过程模型化。UML与UP相结合进行软件系统开发是面向对象系统开发的最佳途径。 UP的主要特征是以用例驱动为主,以系统体系结构为中心,以质量控制和风险管理为目标,采用反复(循环迭代)、渐增式的螺旋上升开发过程。2.4 面向对象开发

10、统一过程面向对象开发统一过程2.4.2 统一过程开发阶段统一过程开发阶段 面向对象的软件开发统一过程从时间轴看是一个迭代渐增式的开发过程。每一次迭代都包含了开始、规划、系统构建、过渡四个阶段。1)开始阶段开始阶段 开始阶段主要是确定软件项目的范围和目标,并进行可行性分析。主要工作包括:n理解问题域的各种业务过程及其之间的关系。n考虑和分析项目的成本以及可能得到的效益和风险。n明确待开发软件项目的意义和价值。n确定是否开发此项目。2)详细规划阶段详细规划阶段 详细规划阶段的主要任务是在开始阶段工作基础上,收集详细的系统需求,进行高层次的系统分析和系统设计。n对要开发的软件项目的问题域和功能做详细

11、分析,给出用例图。n建立系统的基础体系结构。n进行风险分析,并制定相应的对策。n制定开发计划。2.4 面向对象开发统一过程面向对象开发统一过程3)系统构建阶段系统构建阶段 系统构建阶段是迭代、渐增地建造系统的过程,通过若干次迭代、循环、重复的工作具体建造软件系统。每次迭代都可以看作开发一个小项目,它应该包含分析、设计、实现、测试等全过程。n渐增式开发:每次迭代都是在前次迭代的基础上增加另外一些新用例的开发。n集成测试:新用例开发完成后要与前次迭代结果集成,进行系统测试。2.4 面向对象开发统一过程面向对象开发统一过程4)过渡阶段过渡阶段 过渡阶段是系统正式投入运行前的阶段,主要工作包括系统Be

12、ta测试、系统性能调整以及人员培训等。n测试演示:向用户演示测试结果与过程,以表明相关用例已被正确实现。n保存测试案例:所用测试案例都应保存,以便在以后的迭代中进行回归测试。2.4 面向对象开发统一过程面向对象开发统一过程2.4.3 统一过程成分统一过程成分1)业务建模业务建模 采用UML的对象图和类图表示目标软件系统所基于的应用领域中的概念和概念间的关系,这些相互关联的概念构成了领域模型。2)需求分析需求分析 通过识别位于系统边界之外的参与者以及参与者的目标,来确定系统要为用户提供哪些功能,并用用例进行描述。2.4 面向对象开发统一过程面向对象开发统一过程3)系统设计系统设计 把分析阶段的结

13、果扩展成技术解决方案,包括软件体系结构设计和用例实现的设计。4)系统实现系统实现 把设计得到的类转换成某种面向对象程序设计语言的代码。5)系统测试系统测试 单元测试使用类图和类的规格说明,集成测试使用组件图和协作图,而确认测试则使用用例图和用例文本描述来确认系统行为是否符合这些图中的定义。2.4 面向对象开发统一过程面向对象开发统一过程6 6)系统配置系统配置 系统配置是在系统建模阶段后期和过渡阶段进行的,主要是根据系统工作环境的硬件设备,将组成系统体系结构的软件组件分配到相应的计算机上。在UML中,使用组件图和配置图进行描述。2.4 面向对象开发统一过程面向对象开发统一过程2.5 本章小结本章小结 面向对象软件开发方法

温馨提示

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

评论

0/150

提交评论