文档详情

第9章面向对象详解.ppt

发布:2016-05-14约1.53万字共85页下载文档
文本预览下载声明
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型 9.6 功能模型 9.7 3种模型之间的关系 9.8 小结 习题 学习目标 掌握面向对象方法学的要点和面向对象的基本概念 理解对象、动态、功能三种模型的作用 掌握UML中用例图、类图、顺序图的画法 9.1 面向对象方法学概述 9.1.1 面向对象方法学的要点 定义: 面向对象=对象+类+继承+通信。 OO=objects+classes+inheritance+communication with messages 如果一个软件系统是使用这样4个概念设计和实现的,则可以认为这个软件系统是面向对象的。 这就是面向对象方法的4个要点。 9.1.2 面向对象方法学的优点 与人类习惯的思维方法一致 传统的程序设计技术是面向过程的设计方法,这种方法把数据和过程作为相互独立的部分,忽略了数据和操作之间的内在联系。 面向对象的软件开发过程从始至终都围绕着建立问题领域的对象模型来进行。 面向对象方法学中普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;通过建立类等级而获得的继承特性,支持从一般到特殊的演绎思维过程。从而按照人们习惯的思维方式建立起问题领域的模型,模拟客观世界。 2.稳定性好 面向对象的软件系统的结构是根据问题领域的模型建立起来的,而不是基于对系统应完成的功能的分解,所以,当对系统的功能需求变化时并不会引起软件结构的整体变化,往往仅需要作一些局部性的修改。 3. 可重用性好 用已有的零部件装配新的产品,是典型的重用技术,例如,可以用已有的预制件建筑一幢结构和外形都不同于从前的新大楼。重用是提高生产率的最主要的方法。 4. 较易开发大型软件产品 用面向对象方法学开发软件时,构成软件系统的每个对象就像一个微型程序,有自己的数据、操作、功能和用途,因此,可以把一个大型软件产品分解成一系列本质上相互独立的小产品来处理,这就不仅降低了开发的技术难度,而且也使得对开发工作的管理变得容易多了。 5. 可维护性好 (1) 面向对象的软件稳定性比较好。 (2) 面向对象的软件比较容易修改。 (3) 面向对象的软件比较容易理解。 (4) 易于测试和调试。 9.1.3 喷泉模型 迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代,在面向对象范型中比在结构化范型中更常见。 图9.1所示的喷泉模型,是典型的面向对象的软件过程模型。 图9.1 喷泉模型 “喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。 图中代表不同阶段的圆圈相互重叠,这明确表示两个活动之间存在交迭;而面向对象方法在概念和表示方法上的一致性,保证了在各项开发活动之间的无缝过渡,事实上,用面向对象方法开发软件时,在分析、设计和编码等项开发活动之间并不存在明显的边界。图中在一个阶段内的向下箭头代表该阶段内的迭代(或求精)。图中较小的圆圈代表维护,圆圈较小象征着采用了面向对象范型之后维护时间缩短了。 9.2 面向对象的概念 9.2.1对象(object) 面向对象开发模式认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。 按照这种观点,可以认为整个世界就是一个最复杂的对象。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。 由此可见,面向对象方法用对象分解取代了传统方法的功能分解。 一、对象的主要类型: 1)有型实体: 如计算机、机房、工件(某些零件)等。 2)作用: 指人或组织起的作用,如:医生、教师、学生、公司、部门等。 3)事件: 如:飞行、演出、开会等。 4)性能说明: 如产品名字、型号、各种性能指标等。 以上类型可以看出,对象不仅能表示结构化数据,而且能表示描象的事件规律,复杂的工程实体等。因此对象具有很强的表达能力和描述功能。 二、对象的状态和行为 对象具有状态,一个对象用数值来描述它的状态,如某个具体的学生张三,他的姓名、年龄、性别等,用具体数据值来表示着个具体的学生的情况。 对象还有操作
显示全部
相似文档