1 / 54
文档名称:

面向对象的系统开发方法.doc

格式:doc   大小:541KB   页数:54页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

面向对象的系统开发方法.doc

上传人:q1188830 2020/1/8 文件大小:541 KB

下载得到文件列表

面向对象的系统开发方法.doc

文档介绍

文档介绍:第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和数据库应用程序开发。,面向对象程序设计也就应运而生且得到迅速发展。之后,面向对象不断向其他阶段渗透,1980年,GradyBooch提出了面向对象设计的概念,之后面向对象分析开始。1985年,第一个商用面向对象数据库问世。1990年以来,面向对象分析、设计、测试、度量和管理等研究都得到长足发展。面向对象不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。面向对象技术在计算机学科产生了巨大的影响,在产业界有着广泛应用。它已经渗透到计算机科学技术的几乎每一个分支领域,如编程语言、系统分析与设计、数据库、人机界面、知识工程、操作系统、计算机体系结构等等。此外,新兴的基于构件开发、面向服务计算、Agent和面向方面开发等技术也以面向对象技术作为基础。?Coad和Yourdon给出的定义是:面向对象(ObjectOriented)=对象(Objects)+分类(Classification)+继承(Inheritance)+munication)面向对象中使用了对象、类、封装、继承、消息和多态等基本概念。(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。对象可以用来描述要研究的任何事物。从一本书到一家图书馆,单的整数到整数列庞大的数据库、极其复杂的自动化工厂、航天飞机都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。在对内的操作通常称为方法。(Class)是对象的模板。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类可有其子类,也可有其它类,形成类层次结构。如图8-1所示是类的例子,其中类的名字是Employee,该类有5个属性和4个方法。图8-(Encapsulation)是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装使一个对象形成两个部分:接口部分和