预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共54页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第8章面向对象的系统开发方法 【本章导读】 本章将介绍面向对象的系统开发方法,供读者理解和学习面向对象系统开发过程与方法。本章首先介绍了面向对象方法和统一建模语言基础知识;其次,介绍面向对象系统开发的过程、模型与技术;接着,结合高校公修课选课系统的例子,进行业务事件分析、建立用例模型、类图和交互图,实现面向对象的系统建模与设计。 【本章要点】 面向对象方法与统一建模语言概述 面向对象系统开发过程、模型与技术 业务事件分析原理与方法 用例建模 类图的构建 交互模型的构建 面向对象方法(OOM,Object-OrientedMethod)是由面向对象程序设计(OOP,ObjectOrientedProgramming)方法发展起来的。1967年挪威计算中心的KistenNygaard和OleJohanDahl开发了Simula67语言,它提供了比子程序更高一级的抽象和封装,引入了数据抽象和类的概念,它被认为是第一个面向对象语言。真正的面向对象程序设计还是由AlanKeyz主持设计的Smalltalk语言奠定基础的,“面向对象”词语也是在Smalltalk语言中最先提出的。20世纪70年代初,PaloAlto研究中心的AlanKay所在的研究小组开发出Smalltalk语言,“面向对象”词语也是在Smalltalk语言中最先提出的,,如:C++,Object-C,CLOS,Eiffel等。20世纪80年代起,人们基于以往巳提出的有关信息隐蔽和抽象数据类型等概念,以及由Modula2、Ada和Smalltalk等语言所奠定的基础,再加上客观需求的推动,进行了大量的理论研究和实践探索,不同类型的面向对象语言(如:Object-C、Eiffel、Smalltalk-80、CLOS、Object-Pascal、C++、等)发展起来。SunMicrosystems公司于1995年推出面向对象的程序设计语言Java,伴随着互联网的迅猛发展,Java逐渐成为重要的网络编程语言。微软公司于2000年推出C#,它支持windows、Web和数据库应用程序开发。 8.1面向对象方法概述 随着面向对象语言的出现,面向对象程序设计也就应运而生且得到迅速发展。之后,面向对象不断向其他阶段渗透,1980年,GradyBooch提出了面向对象设计的概念,之后面向对象分析开始。1985年,第一个商用面向对象数据库问世。1990年以来,面向对象分析、设计、测试、度量和管理等研究都得到长足发展。面向对象不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。面向对象技术在计算机学科产生了巨大的影响,在产业界有着广泛应用。它已经渗透到计算机科学技术的几乎每一个分支领域,如编程语言、系统分析与设计、数据库、人机界面、知识工程、操作系统、计算机体系结构等等。此外,新兴的基于构件开发、面向服务计算、Agent和面向方面开发等技术也以面向对象技术作为基础。 8.1.1面向对象领域中的基本概念 什么是面向对象?Coad和Yourdon给出的定义是: 面向对象(ObjectOriented)=对象(Objects)+分类(Classification)+继承(Inheritance)+通信(Communication) 面向对象中使用了对象、类、封装、继承、消息和多态等基本概念。 1.对象 对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。对象可以用来描述要研究的任何事物。从一本书到一家图书馆,单的整数到整数列庞大的数据库、极其复杂的自动化工厂、航天飞机都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。在对内的操作通常称为方法。 2.类 类(Class)是对象的模板。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类可有其子类,也可有其它类,形成类层次结构。 如图8-1所示是类的例子,其中类的名字是Employee,该类有5个属性和4个方法。 图8-1类Employee 3.封装 封装(Encapsulation)是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现