- 1、本文档共192页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GIS工程讲义 第五讲面向对象设计方法
第五讲 GIS工程面向对象设计方法 一、发展经过 20世纪60年代初期流行的计算机语言有FORTRANⅡ,COBOL及ALGOL 60 在算法(处理)上是把整个程序分为若干个子程序,而在数据组织方面,只有全局数据(globaldata)。这样,各个子程序就通过共用数据联系起来。因而,一处有 错,就会涉及其他,造成致命的“水波”影响。程序经过几次修改,就可能会面貌全非,控关系也会变成所谓“老鼠窝”式的,如入迷宫。这样的程序最后就会变成完全不能满足其使用要求,几乎根本无法进行维护修改,终致废弃。 20世纪60年代中叶到70年代初,程序模块化逐渐成为程序设计的一个重要原则。 结构化程序设计也在这时期开始逐渐形成起来。模块化是软件和信息系统工程中分而治之原则的一个体现,它包含抽象化与信息隐藏(infonnationhiding)两个概念,模块的某种结 构构成整个系统,其中层次结构是最常见及最有用的。 60年代末先有模拟语言SIMULA67的出现,其中体现了类和对象等两个基本观念,到丁70年代,乃有Smalltalk等正式面向对象的语言的出现。在面向对象程序设计和语言的影响下,80年代初乃有面向对象设计的正式形成与发展。最后,到了80年代底与90年代初,正式出现了面向对象分析。 整个发展过程中贯穿的一条线索,是程序模块化的发展,以及由此而发展起来的抽象数据型(abstract data type--简称ADT),从模块化和ADT产生了对象概念以及面向对象的程序设计和语言,随后乃有面向对象的设计与分析的兴起与发展,直至今日,仍在演进之中 面向对象语言的出现以及面向对象程序设计的正式形成后,到了20世纪80年代,才有面向对象设计的出现。首先在1983年,Booch发表其著作,提出面向对象设计这个名词。当时他是用基于对象语言Ada,来讲如何进行面向对象设计的,,1991年他发表新著,从面向对象观点,讲述系统研制的分析、设计、演进(包括编程、测试及合成)以及修改等四阶段,重点是讲设计,标志面向对象技术进入新的阶段 现代软件工程模式 现代软件工程是在传统软件工程模式的基础上,为了强调人在系统开发中的作用,同时为了适应面向对象新技术的发展趋势而提出的。其基本要点是:软件开发过程是以人为主,利用软件开发方法及工具进行的各种活动的有序过程。其中,开发人员的组织管理是软件开发成功的重要因素。基于软件组件的软件开发过程是在设计好系统体系结构后,利用软件组件的构造或重构的过程。 现代软件工程模式的内容如图所示。 1.1系统分析 在系统分析阶段,系统的逻辑结构应从信息、行为与表示三方面全面反映系统的功能与性能。如图所示。 1.2 系统构造 系统构造包括系统设计与实现。系统设计是分析结果的细化,在系统设计阶段,第一步就是考虑具体的实现环境,即将系统分析空间扩展为系统设计空间,如图所示。 设计软件组件的主要内容是定义组件的结构、功能和外部接口,以及组件之间的相互关系和通信方式。 1.3系统测试 1.4 软件组件 将软件组件作为一个单独的过程,目的是将组件作为构造软件的“零部件”。在符合国际或工业标准与规范的前提下,应具有一定程度的通用性和可重用性,同一个组件可能应用到不同的应用中,同时易于修改与维护,可以在不同的应用中进行裁剪后使用。 1.5 系统开发人员的组织管理 现代软件工程不仅包括软件开发方法、工具和过程,更强调人在开发过程中的作用。系统开发人员的组织管理是现代软件工程中的主要方法。系统开发人员的组织管理方法有以下几个要点: 1) 明确系统开发人员与用户之间的责任与义务。 2) 明确各类人员的主要工作及责任。 3) 制定或选择工程开发规范。 二、面向对象的系统分析与设计方法 基本概念 软件工程中的数据抽象和信息隐藏的思想、概念模型化研究领域中的语义数据模型和知识表示、CAD领域中的复杂对象模型等研究成果都包含了面向对象的基本思想。 采用面向对象的方法,不论什么样问题与系统,我们都可以将其视为许多对象及其相互作用,例如,我们的环境是以人、树、汽车、房子、街道等及其相互作用为主要内容的。 1、对象(Object) 对象可以定义为客观世界中具体的或客观的事物。在计算机领域中,对象可视为是由一组数据(信息)和施加于该组数据上的一组操作(行为)组成的集合体。 对象具有如下特征; 1) 有一个标识符,如同人的身份证,该标识符在所研究的问题域中必须是一的,用以区别于其它对象。 2) 有一个状态,由一组数据或由数据与其它对象的组合来描述,,该组数据称为对象的属性。 3) 有一组操作,每一个操作决定对象的一种行为,对象的操作可分成两类,一类是自身所承受的操作,用来改变自身的状态。一类是施加于其它对象的操作
文档评论(0)