江西师范大学商学院电子商务教研室
陈建 副教授
E-mail,jxnu8-02ba@yahoo.com.cn
个人主页, http://asp5.6to23.com/c64
第八章 面向对象的系统开发方法
面向对象有关概念
面向对象的基本特征
面向对象技术的发展历史
面向对象技术是当前软件开发、系统
开发的主流技术,它起源于 20世纪 60年代,
它的理论在 70年代逐渐发展起来,然后在
1980年推出一种面向对象的语言标志着这
门技术从幼稚走向成熟,80年代后期在国
外成为软件开发的主流技术,90年代在我
国得以大量普及,逐渐取代了传统的结构
化技术,90年代后期和本世纪之交,面向
对象技术又取得了长足的发展。
什么是面向对象技术
面向对象技术是运用 对象、类、
继承、封装、聚合、关联、消息、
多态 这样一些概念来开发系统的方
法。
面向对象的基本思想
? 把现实世界中的客观事物抽象
成系统中的对象,用这些对象
来构成我们的系统。
? 与日常生活中思考问题的方法
非常接近。
什么是对象
操作
抽 象
忽略事物的非本质特征,只
注意那些与当前目标有关的本质
特征,从而找出事物的共性。

类是具有相同属性和相同操
作的一组对象的集合
举例:在学校教学管
理系统中,"学生 "是
一个类,其属性具有
姓名、性别、年龄等,
可以定义 "入学注册 "、
"选课 "等操作。一个
具体的学生 "王平 "是
一个对象,也是 "学生
"类的一个实例。
一般类和特殊类
A和 B两个类,如果 A类具有 B
类的全部属性和全部操作,A类就
叫 B类的特殊类(子类),B类称
为 A类的一般类(父类)。
一般类
特殊

继承
特殊类拥有一般类的全部属
性和操作,这叫做特殊类继承了
一般类。
由一组具有继承关系的类所构成的结构叫一般与特殊结构
封 装
? 封装是把对象的属性和操作结合成一
个独立的系统单位,并且对外尽可能
的隐蔽细节。
? 封装有两层意思,一是属性和操作的
结合,另一层意思对外要屏蔽内部的
细节。
消息
消息是向对象发出的服务请求
聚合
一个比较复杂的对象由
一些比较简单的对象来构成
关联
是两个类之间的一种关系,它
提供了一组对用户的业务有意义的信
息。
多态
一个命名可以具有不同的语意, 在面
向对象中是指在一般与特殊结构中, 一
般类的属性和操作被特殊类继承后可以
表现出不同的数据类型或者不同的算法 。
面向对象方法包含的内容
面向对象的技术是面向对象方法在
系统开发领域的全面运用,涉及到从面
向对象分析 ( OOA),面向对象设计
( OOD),面向对象编程 ( OOP),面
向对象测试 ( Object Oriented Testing,
OOT) 到面向对象维护 ( Object Oriented
Software Maintenance,OOSM) 的全过
程。
面向对象的分析
面向对象的分析( OOA) 就是运用面
向对象的方法进行需求分析,其主要任
务是分析和理解问题域,找出描述问题
域和系统责任所需的类及对象,分析它
们的内部构成和外部关系,建立 OOA模型。
面向对象的设计
面向对象的设计( OOD) 就是根据已建立的
分析模型,运用面向对象技术进行系统软件设计。
它将 OOA模型直接变成 OOD模型,并且补充与一些
实现有关的部分,如人机界面、数据存储、任务
管理等。
OOA与 OOD采用一致的表示法,使得从 OOA到
OOD不存在转换,只有局部的修改或调整,并增
加了与实现有关的独立部分,因此,OOA与 OOD之
间不存在传统方法中分析与设计之间的鸿沟,成
为面向对象方法的主要优势。
面向对象的编程
面向对象的编程( OOP) 就是用一种
面向对象的编程语言将 OOD模型中的各个
成分编写成程序,从 OOA→OOD→OOP 的无
缝连接和平滑过渡,提高了开发工作的
效率和质量。
面向对象的测试
面向对象的测试( OOT) 是指对于运
用 OO技术开发的软件,在测试过程中继
续运用 OO技术进行以对象概念为中心的
软件测试。它以类作为基本测试单位,
集中检查在类定义之内的属性、服务和
有限的对外接口,大大减少了错误的影
响范围。
第八章 面向对象的系统开发方法
面向对象有关概念
面向对象的基本特征
面向对象方法的优点
? 按照人类的自然思维方式,面对客观世界
建立软件系统模型,有利于对问题域和系
统责任的理解,有利于人员交流。
? 在整个开发过程中采用统一的概念和模型
表示,填平了语言之间的鸿沟,使得开发
活动之间平滑过渡,下图显示了传统的开
发方法与面向对象方法的比较。
传统的开发方法与面向对象的开发方法
面向对象方法的优点(续)
? 对象所具有的封装性和信息隐蔽等特性,使其容易
实现软件复用。对象类可以派生出新类,类可以产
生实例对象,从而实现了对象类的数据结构和操作
代码的软构件的复用。另外,面向对象程序设计语
言的开发环境一般预定义了系统动态连接库,提供
大量公用程序代码,避免重复编写,提高了开发效
率和质量。
? 在面向对象的方法中,系统由对象构成,对象是一
个包含属性和操作两方面的独立单元,对象之间通
过消息联系。这样的系统一旦出错,容易定位和修
改,系统的可维护性好。