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