软件工程课件之第9章_面向对象方法学引论(第6版)(张海潘编著)讲述.pptx
文本预览下载声明
第9章 面向对象方法学引论
面向对象方法学概述
面向对象概念
面向对象建模
对象模型
动态模型
功能模型
三种模型之间的关系
引入
软件工程发展的两个重要阶段
传统软件工程
面向对象软件的工程
传统软件工程
以面向过程的结构化程序设计为基础;
遵循“程序=数据结构+算法”的思路;
缺点:
不太适应规模大、特别复杂的项目;
难以解决软件重用的问题;
难以适应需求的变化;
难以彻底解决维护问题。
面向对象软件工程
按人类习惯的思维方法,以现实世界中客观存在的事物(即对象)为中心来思考和认识问题。
采用的思想方法与原则:抽象、分类、继承、聚合、封装等。
以易于理解的方式表达软件系统,建立问题域模型,使设计出的软件尽可能直接地描述现实世界,具有更好的可维护性
面向对象软件工程
软件工程学家Codd 和Yourdon认为:
面向对象=对象+类+继承+通信
如果一个软件系统采用这些概念来建立模型并予以实现,那么它就是面向对象的。
面向对象技术发展概述
初始阶段:上世纪 60 年代,挪威奥斯陆大学和挪威计算中心开发的 Simula67 的语言;
70 年代中期, Xerox 研究中心开发的 Smallta Ik 语言,具备了面向对象语言的各种特征。
发展阶段:涌现大批面向对象编程语言(OOPL )。如 C ++、 objective-C 、 ob j ect Pascal 、 Eiffel 、 Actor 等。
成熟阶段:面向对象分析(OOA )和面向对象设计( OOD )的研究。出现各种著名的面向对象分析设计的方法,如: Coad/ Yourdon 的方法、 Booch 的方法、 OMT方法、 wirtf-Brock 的 RDD 方法、 Jacobson 的 OOSE 方法 … … 等。
面向对象技术的基本观点
① 任何客观的事物或实体都是对象。对象组成客观世界,复杂的对象可以由简单的对象组成。
② 具有相同数据和操作的对象可以归并为一个类(class ) ,对象是对象类的一个实例。
③ 类可以派生出子类,子类继承父类的全部特性(数据和操作),又可以有自己的新特性。子类与父类形成类的层次结构。
④ 对象之间通过消息传递相互联系。
面向对象方法学的优点
与人类习惯的思维方法一致
稳定性好
可重用性好
较易开发大型软件产品
可维护性好
面向对象的概念
对象( object )
在现实世界中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,包括具体的物理实体的抽象、人为的概念、任何有明确边界和意义的东西。
如:一名职工、一本图书、贷款、生产计划、一场演出等。
对象既有静态的属性,又有动态的行为(操作)。
面向对象的概念
从软件开发的角度定义对象
系统中用来描述客观事物的实体,是构成系统的基本单位。
由一组属性和相关操作组成的服务组成。
属性:用来描述对象静态特征的一个数据项;
服务:用来描述对象动态特征(行为)的一个操作序列。
对象的属性和所有操作封装在一起,构成一个统一体。
属性一般只能通过执行对象的操作来改变。
面向对象的概念
表示内部状态的数据、实现各操作的代码及局部数据,被隐藏,无法从外面看见、访问或修改;
使用对象的时候,只能通过对象与外界的界面来操作;
操作时,只需知道该操作的名字和所需要的参数,不需要知道这些操作是如何实现的;
简单、方便,安全性和可靠性高。
面向对象的概念
类( Class )
具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。
“类”好比是一个对象模板,用它可以产生多个对象。
学生对象1
类名
学生对象2
姓名:张三
属性
姓名:李四
年龄24
年龄20
性别:男
性别:女
选课
服务
选课
考试
考试
面向对象的概念
实例是某个特定类所描述的一个具体对象。
如:“张三”“李四”是类“学生”的实例。
对象:可以是一个具体的对象,也可以泛指一般的对象。
实例:必然是指一个在客观世界中存在的具体对象。
面向对象的概念
消息(message)
对象之间通信的手段,是一个对象要求另一对象执行类中定义的某个操作的规格说明。
通常一个消息由三部分组成:
接收消息的对象
消息标识符(即消息名)
零个或多个变元
例如: MyCircle.Show (Green )
MyCircle是接收消息的对象的名字, Show 是消息名,Green是消息的变元。
面向对象的概念
方法(method)
对象所能执行的操作称为方法,也就是类中所定义的服务。方法描述了对象执行的功能、响应消息的操作。
在 C + +中称为成员函数。
面向对象的概念
属性(attribute)
属性是对客观世界实体所具有的性质的抽象,是类中所定义的数据。
如:学生类属性有姓名、年龄、性别等。
不同对象的同一
显示全部