土地信息系统课件_第1页
土地信息系统课件_第2页
土地信息系统课件_第3页
土地信息系统课件_第4页
土地信息系统课件_第5页
已阅读5页,还剩167页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022-11-22华中农业大学土地管理学院1

土地信息系统

LandInformationSystem2022-10-10华中农业大学土地管理学院1土2022-11-22华中农业大学土地管理学院2第6章土地信息系统工程建设与评价内容提要本章在介绍了软件工程的基本概念后详细阐述了土地信息系统工程建设与评价方面的内容。

2022-10-10华中农业大学土地管理学院2第6章土地信2022-11-22华中农业大学土地管理学院3计算机软件工程是一类求解的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。其中,计算机科学、数学应用于构造模型与算法,工程科学用于制定规范、设计范型,评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。从学科角度来看,软件工程是一门指导计算机软件开发和维护的工程学科。软件工程的提出,是为了解决60年代出现的软件危机,当时在大型软件开发中存在着价格高,开发不容易控制,软件开发工作量估计困难,软件质量低,项目失败率高等许多问题,给软件行业带来了巨大的冲击。软件工程的研究,提出了一系列理论、原则、方法以及工具,试图解决软件危机。2022-10-10华中农业大学土地管理学院3计算机软件工程2022-11-22华中农业大学土地管理学院4土地信息系统是为某种目的而建立的。尽管由于数据源、数据类型、输出结果分析方法不同而取名为地籍管理信息系统、土地利用规划管理信息系统……,但它们都是以处理各种空间实体和空间关系为主要特征,都可称为空间信息系统。2022-10-10华中农业大学土地管理学院4土地信息系统是2022-11-22华中农业大学土地管理学院5随着计算机硬件技术的快速发展,新的操作系统的不断推出,GIS、RDBMS、Network等技术的发展,一个技术先进、功能完善、能应用于土地管理业务隐性的信息系统那个已经具备了开发和建设的条件。但由于系统建设缺乏经验,一些部门在系统建设中曾出现过很多问题,诸如如何开发始于土地管理业务的土地管理信息系统软件,数据的标准化,数据的质量控制方法,系统建设中文档的规范化和管理等。这些问题具体表现如下:2022-10-10华中农业大学土地管理学院5随着计算机硬件2022-11-22华中农业大学土地管理学院6(1)开发的软件与实际土地管理业务流程不相符。软件开发人员很多时候在对土地管理业务要求只有模糊的了解,甚至在对所要解决的问题还没有确切认识的情况下,就仓促上阵匆忙着手编写程序,软件开发人员与土地管理人员的信息交流往往不充分。(2)对系统建设的成本和进度的估计不是很准确。实际成本比估计成本又可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年。(3)开发出的软件质量和可靠性没有经过严格的审查、复审和测试,就匆忙进行数据库的建立,导致软件发生质量问题,系统建设进度慢,质量低。2022-10-10华中农业大学土地管理学院6(1)开发的软2022-11-22华中农业大学土地管理学院7(4)软件设计中,数据结构、编码没有规范化、标准化,缺乏考虑与其他技术的接口设计,以及缺乏考虑各个子系统之间的关系接口,影响系统软件的二次开发。(5)缺乏对系统建设中输入数据的质量控制的认识和措施,以及对海量数据和变更数据的存储、维护、管理的认识,在系统建设中出现数据管理混乱等问题。(6)系统建设中,文档资料管理混乱,缺乏必要的文档资料或文档资料不合格,对系统的二次开发和维护带来许多严重等问题和困难。2022-10-10华中农业大学土地管理学院7(4)软件设计2022-11-22华中农业大学土地管理学院8以上这些问题仅仅是系统建设中存在问题一些明显的标识,与系统建设有关的问题还远不止这些。在实际应用中,土地信息系统是一个实用化的计算机软硬件系统,这也是土地信息系统的真正价值所在。一个完整的LIS应用不是原理和技术方法的简单堆砌,而是基于系统化思想指导下的工程化建设过程。国内外的大量实践证明,那种认为只要具有先进的硬件设备和强大的LIS基础软件平台,就可以立即构成一个实用的LIS系统是十分错误的。2022-10-10华中农业大学土地管理学院8以上这些问题仅2022-11-22华中农业大学土地管理学院96.1软件工程6.1.1软件工程概述

1.软件工程的概念和原则计算机软件工程是一类求解的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。其中,计算机科学、数学应用于构造模型与算法,工程科学用于制定规范、设计范型,评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。从学科角度来看,软件工程是一门指导计算机软件开发和维护的工程学科。软件工程的提出,是为了解决20世纪60年代出现的软件危机,当时在大型软件开发中存在着价格高,开发不容易控制,软件开发工作量估计困难,软件质量低,项目失败率高等许多问题,给软件行业带来了巨大的冲击。软件工程的研究,提出了一系列理论、原则、方法以及工具,试图解决软件危机。2022-10-10华中农业大学土地管理学院96.1软件工2022-11-22华中农业大学土地管理学院101986年IBM的《软件工程手册》一书的定义如下:软件工程是应用于软件定义、开发和维护的一套方法、工具、文件、策略、标准和步骤。图6-1软件工程框架和其它工程一样,软件工程有其目标、活动和原则,其框架可以概括为图6-1所表示的内容。2022-10-10华中农业大学土地管理学院101986年I2022-11-22华中农业大学土地管理学院11软件工程框架2022-10-10华中农业大学土地管理学院11软件工程框架2022-11-22华中农业大学土地管理学院12这一软件工程框架告诉我们,软件工程的目标是可用性、正确性和合算性;实施一个软件工程要选取适宜的开发范型,要采用合适的设计方法,要提供高质量的工程支撑,要实行开发过程的有效管理;软件工程活动主要包括需求、设计、实现、确认和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方法、支持过程以及过程管理。根据软件工程这一框架,软件工程学科的研究内容主要包括:软件开发范型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE)及软件经济学等。2022-10-10华中农业大学土地管理学院12这一软件工程2022-11-22华中农业大学土地管理学院132.软件工程的七条基本原理(1)用分阶段的生命周期计划严格管理这一条是吸取前人的教训而提出来的。统计表明,50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。这条原理意味着,应该把软件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。Boehm认为,在整个软件生命周期中应指定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。2022-10-10华中农业大学土地管理学院132.软件工程2022-11-22华中农业大学土地管理学院14(2)坚持进行阶段评审统计结果显示,大部分错误是在编码之前造成的,大约占63%;错误发现的越晚,改正它要付出的代价就越大,要差2到3个数量级。因此,软件的质量保证工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。2022-10-10华中农业大学土地管理学院14(2)坚持进2022-11-22华中农业大学土地管理学院15(3)实行严格的产品控制开发人员最痛恨的事情之一就是改动需求。但是实践告诉我们,需求的改动往往是不可避免的。这就要求我们要采用科学的产品控制技术来顺应这种要求。也就是要采用变动控制,又叫基准配置管理。当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性。2022-10-10华中农业大学土地管理学院15(3)实行严2022-11-22华中农业大学土地管理学院16(4)采纳现代程序设计技术从20世纪60年代的结构化软件开发技术,到最近的面向对象技术,从第一、第二代语言,到第四代语言,人们已经充分认识到:方法大似气力。采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。2022-10-10华中农业大学土地管理学院16(4)采纳现2022-11-22华中农业大学土地管理学院17(5)结果应能清楚地审查软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。2022-10-10华中农业大学土地管理学院17(5)结果应2022-11-22华中农业大学土地管理学院18(6)开发小组的人员应少而精开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多;当开发小组为N人时,可能的通讯信道为N(N-1)/2,可见随着人数N的增大,通讯开销将急剧增大。2022-10-10华中农业大学土地管理学院18(6)开发小2022-11-22华中农业大学土地管理学院19(7)承认不断改进软件工程实践的必要性遵从上述七条基本原理,就能够较好地实现软件的工程化生产。但是,它们只是对现有的经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。因此,Boehm提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条原理。根据这条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。2022-10-10华中农业大学土地管理学院19(7)承认不2022-11-22华中农业大学土地管理学院206.1.2软件工程活动软件工程活动包括需求、设计、实现、确认及支持等,它们对应于软件开发活动的不同阶段,一般来说,软件开发都要经历从分析设计到实现确认的过程。在每个阶段按照相应的规范进行工作,并得到该阶段的成果,是保证整个开发活动成功的关键。2022-10-10华中农业大学土地管理学院206.1.2软2022-11-22华中农业大学土地管理学院211.需求分析

需求分析阶段处于软件开发的前期,其基本活动是准确定义未来系统的目标,确定为了满足用户的需求必须做什么。需求分析又划分为两个阶段,即需求获取和需求规约,前者是用自然语言清楚地描述用户的要求,而需求规约的目的是消除获取需求的二义性和不一致性。在软件生命周期中,一个错误发现得越晚,修复错误的费用也越高,所以,高质量的需求工程是软件项目得以正确、高效完成的前提。对于系统分析人员,建立需求面临着以下三个方面的困难:(1)问题空间的理解,系统开发人员通常是计算机专业人员,难以深入理解各种业务系统所要解决的问题空间;(2)人与人之间的通信,对于系统分析人员而言,通信主要包括同用户的通信以及同事之间的通信,由于自然语言的二义性,会给准确刻画需求造成障碍;(3)需求的不断变化,造成需求变化的原因很多,包括技术,用户方,市场等等,作为分析人员,必须采用一些策略以适应变化。面向对象的分析方法被认为是解决上述困难较好的技术,但是完整、准确的刻划问题空间始终是分析人员所面临的挑战。2022-10-10华中农业大学土地管理学院211.需求分析2022-11-22华中农业大学土地管理学院222.系统设计一般来说,需求分析阶段的主要任务是确定系统“做什么”,而设计阶段则要解决“怎么做”的问题。通常*设计阶段又划分为总体设计和详细设计,总体设计确定系统的总体结构框架;而详细设计要具体地描述如何具体地实现系统,通常可以依据详细设计的结果进行编码。详细设计包括:详细的算法;数据表示和数据结构;实施的功能和使用数据之间的关系。详细设计过程中,采用了一些工具,以便对数据、算法等进行描述,包括流程图,PAD(ProblemAnalysisDiagram),盒图(N-S图),伪码等等。

*这里实际上是指结构化的设计,在面向对象方法学中,各个阶段的分界已经被模糊化了。2022-10-10华中农业大学土地管理学院222.系统设计2022-11-22华中农业大学土地管理学院233.实现阶段在软件实现阶段,要将设计的结果变换成程序设计语言编写的程序。在实现阶段,首先要确定程序设计语言,其影响因素包括:开发人员对语言的熟悉程度,语言的可移植性,编译程序的效率,编译工具的支持等等。目前,C++语言是普遍被采用的构造系统软件的编程语言,而Java则更多地应用于编写网络程序。无论采用哪一种编程语言,都要求编写高质量的源程序代码,程序质量通常包含正确性、可读性、可移植性、程序效率等指标。考虑到系统的维护和演化,提高源程序的可读性是实现阶段的一个重要目标,其途径包括添加注释,规范书写格式,确定标识符命名原则*,采用结构化的程序设计(不用或减少使用goto语句)等等。*微软所采用的匈牙利命名法是一个较好的对标识符进行命名的方法。2022-10-10华中农业大学土地管理学院233.实现阶段2022-11-22华中农业大学土地管理学院244.确认活动

尽管确认活动贯穿于软件开发活动的始终,但是系统完成后的软件测试是主要的确认活动。软件测试是指按照特定规程,发现软件错误的过程。软件测试的技术大体上可以分为两类,即白盒测试技术和黑盒测试技术,前者依据的是程序逻辑结构,后者依据的是软件行为描述。根据测试的步骤,测试活动又可以划分为单元测试,集成测试,确认测试和系统测试,其中确认测试是为了检验软件的功能和性能是否与用户需求一致,而系统测试主要是测试软件同硬件、其它支持软件、数据等结合在一起,在实际的运行情况下,同用户需求的匹配程度。2022-10-10华中农业大学土地管理学院244.确认活动2022-11-22华中农业大学土地管理学院255.软件维护

当软件开发完成并交付用户使用后,就进入运行/维护阶段,在运行/维护阶段仍需要对软件进行修改,称为软件维护,软件维护活动可以分为以下几类:(1)改正性维护,其目的是为了纠正运行阶段发现的软件错误,性能上的缺陷以及排除实施中的误用。(2)适应性维护,随着计算机的发展,软件的外部环境或者数据环境发生变化,为了使之适应这种变化而对软件的修改称为适应性维护。(3)完善性维护,在使用过程中,用户往往会对软件提出新的功能和性能需求,为了满足这些需求,需要修改或再开发软件,称为完善性维护。(4)预防性维护,预防性维护的目的是为了提高软件的可维护性,可靠性等,为进一步的软件维护打下良好的基础。预防性维护一般由开发单位主动进行。2022-10-10华中农业大学土地管理学院255.软件维护2022-11-22华中农业大学土地管理学院266.1.3软件开发的基本策略人们都有自己的世界观和方法论,能自然而然地运用于生活和工作中。同样,程序员脑子里的软件工程观念会无形地支配其怎么去做事情。软件工程多年的发展,已经积累了相当多的方法,但这些方法不是严密的理论。实践人员不应该教条地套用方法,更重要的是学会“选择合适的方法”和“产生新方法”。有谋略才会有好的战术。几千年前,我们的祖先就在打闹之际写下了很多心得体会,被现代人很好地运用于工业和商业。本节讲述软件开发中的三种基本策略:“复用”、“分而治之”、“优化——折衷”。2022-10-10华中农业大学土地管理学院266.1.3软2022-11-22华中农业大学土地管理学院271.复用复用就是指“利用现成的东西”,文人称之为“拿来主义”。被复用的对象可以是有形的物体,也可以是无形的成果。复用不是人类懒惰的表现而是智慧的表现。因为人类总是在继承了前人的成果,不断加以利用、改进或创新后才会进步。所以当我们欢度国庆时,要搞清楚祖国远不止50岁,我们今天享用到的财富还有上下五千年人民的贡献。进步只是应该的,不进步则就可耻了。2022-10-10华中农业大学土地管理学院271.复用复用2022-11-22华中农业大学土地管理学院28复用的思想用于软件开发,称为软件复用。据统计,世上已有1000亿多行程序,无数功能被重写了成千上万次,真是浪费哪。面向对象(ObjectOriented)学者的口头禅就是“请不要再发明相同的车轮子了”。2022-10-10华中农业大学土地管理学院28复用的思想用2022-11-22华中农业大学土地管理学院292.分而治之分而治之是指把一个复杂的问题分解成若干个简单的问题,然后逐个解决。这种朴素的思想来源于人们生活与工作的经验,完全适合于技术领域。软件人员在执行分而治之的时候,应该着重考虑:复杂问题分解后,每个问题能否用程序实现?所有程序最终能否集成为一个软件系统并有效解决原始的复杂问题?2022-10-10华中农业大学土地管理学院292.分而治之2022-11-22华中农业大学土地管理学院303.优化——折衷软件的优化是指优化软件的各个质量因素,如提高运行速度,提高对内存资源的利用率,使用户界面更加友好,使三维图形的真实感更强等等。想做好优化工作,首先要让开发人员都有正确的认识:优化工作不是可有可无的事情,而是必须要做的事情。当优化工作成为一种责任时,程序员才会不断改进软件中的算法,数据结构和程序组织,从而提高软件质量。2022-10-10华中农业大学土地管理学院303.优化——2022-11-22华中农业大学土地管理学院31软件中的折衷策略是指通过协调各个质量因素,实现整体质量的最优。就象党支部副书记扮演和事佬的角色:“…为了使整个组织具有最好的战斗力,我们要重用几个人,照顾一些人,在万不得已的情况下委屈一批人”。软件折衷的重要原则是不能使某一方损失关键的职能,更不可以像“舍鱼而取熊掌”那样抛弃一方。例如3D动画软件的瓶颈通常是速度,但如果为了提高速度而在程序中取消光照明计算,那么场景就会丧失真实感,3D动画也就不再有意义了(如果人类全是色盲,计算机图形学将变得异常简单)。2022-10-10华中农业大学土地管理学院31软件中的折衷2022-11-22华中农业大学土地管理学院32

6.2土地信息系统工程的概念6.2.1系统工程系统工程系统建设并不是某种个体劳动的神秘技巧,而应该是一种组织良好,管理严格,各类人员协同配合,共同完成的工程项目。因此要节约系统建设中出现的问题,就要用系统工程的思想去指导系统建设,既要有技术措施(方法和工具),又要有必要的组织管理措施。系统工程是以大型复杂系统为研究对象,按一定的目的进行设计、开发、管理与控制,以期达到总体效果最有理论与方法。我们可以根据系统工程的思想,在土地管理信息系统建设中有目的地进行设计、开发、管理与控制。2022-10-10华中农业大学土地管理学院326.2土2022-11-22华中农业大学土地管理学院336.2.2土地信息系统工程1.定义土地信息系统工程就是应用系统原理和软件工程方法,针对特定的实际应用目的和要求,统筹设计、优化、建设、评价、维护实用LIS系统的全部过程和步骤的统称。2022-10-10华中农业大学土地管理学院336.2.2土2022-11-22华中农业大学土地管理学院342.特点LIS工程具有一定的广泛性。LIS工程又具有相对的针对性。LIS工程涵盖范围很广。LIS工程涉及因素众多。2022-10-10华中农业大学土地管理学院342.特点2022-11-22华中农业大学土地管理学院353.土地信息系统工程与一般管理信息系统工程的区别土地信息系统工程与一般管理信息系统工程的区别与一般信息系统相比,LIS是以管理具有定位特征的空间数据为其主要特征的计算机软硬件系统,其功能强大,种类繁多,数据种类多样,应用性强,结构复杂,主要表现为:(1)横跨多学科的边缘体系。LIS是由计算机科学、测绘遥感学、摄影测量学、地理学、地图制图学、人工智能、专家系统、信息学等组成的边缘学科。(2)以空间数据为主,数据类型多样。从内涵上说,LIS包含有图形数据、属性数据、拓扑数据。从形式上说,包含有文本数据、图形数据、统计数据、表格数据。所有数据皆以空间位置数据为主要核心,在图形数据库和属性数据库间相联系。(3)数据结构复杂。2022-10-10华中农业大学土地管理学院353.土地信息2022-11-22华中农业大学土地管理学院36(4)以应用为主,类型多样。LIS以应用为主要目标,针对不同领域,具有不同LIS,如土地利用规划管理信息系统、土地定级估价信息系统、地籍信息系统等。不同的LIS具有不同的复杂性、功能和要求。(5)以空间分析为主。上述情况决定了LIS工程是一项十分复杂的系统工程,投资大、周期长、风险大、涉及部分繁多。它具有一般工程所具有的共性,同时又存在着自己的特殊性。在一个具体的LIS开发建设过程中,需要领导层、技术人员、数据拥有单位、各用户单位与开发单位的相互协作合作,涉及到项目立项、系统调查、系统分析、系统设计、系统开发、系统运行和维护多阶段的逐步建设,需要进行资金调拨、人员配置、开发环境策划、开发进度控制等多方面的组织和管理。如何形成一套科学高效的方法,发展一套可行的开发工具,进行LIS的开发和建设,是获得理想LIS产品的关键和保证。2022-10-10华中农业大学土地管理学院36(4)以应用2022-11-22华中农业大学土地管理学院376.3土地信息系统工程建设按照系统工程和软件工程的思想,土地信息系统的开发研究分为五个阶段:系统调查与可行性研究、系统分析、系统设计、系统实施、系统评价及维护。系统分析阶段的需求功能分析、数据结构分析和数据流分析是系统设计的依据。系统分析阶段的工作是要解决“做什么”的问题,它的核心是对土地信息系统进行逻辑分析,解决需求功能的逻辑关系及数据支持系统的结构,以及数据与需求功能之间的关系;系统设计阶段的核心工作是要解决“怎么做”的问题,研究系统由逻辑设计向物理设计的过渡,为系统实施奠定基础。2022-10-10华中农业大学土地管理学院376.3土地2022-11-22华中农业大学土地管理学院386.3.1现行系统调查与可行性研究对现行系统调查是LIS工程开发和建设的第一步,由系统分析员承担完成。主要任务是通过用户调查发现系统存在的问题,完成可行性研究工作,确定建立LIS是否合理,是否可行。调查方法可采用访问、座谈、填表、抽样、查阅资料、深入现场、与用户一起工作等各种调查研究方法,获得现行状况的有用资料,解决以下几个问题:·确定对现行系统的调查范围;·发现现行系统存在的问题;·初步确定新建LIS的主要目标;·估计新建LIS可能带来的效益;·根据用户的资金和技术力量分析建立LIS是否可行。2022-10-10华中农业大学土地管理学院386.3.1现2022-11-22华中农业大学土地管理学院391.发现现行系统存在的问题通过对现行系统组织机构、组织分工、工作任务、职能范围、业务运作流程、信息处理方式、资料使用情况、工作负荷、人员配置、设备装置、费用开支等各方面的调查研究,指出现行工作状况在工作效率、费用支付、人力使用等方面存在的主要问题和薄弱环节,作为待建LIS的突破口。2022-10-10华中农业大学土地管理学院391.发现现行2022-11-22华中农业大学土地管理学院402.初步确定系统的主要目标系统目标规定了待建LIS建成后所要求达到的运行指标,是进行可行性分析、系统分析与设计、系统实施、系统测试、系统评价与维护的重要依据,对LIS生命周期起着重要的作用。通过对现行系统功能、现行系统存在的问题,用户多方面的意见和要求,系统建设软硬件环境、LIS发展水平,投资规模,建设周期等因素的分析,初步确定系统的目标。系统目标决定了将来建成的LIS的位置和水平:(1)建立数据库(图形和属性数据库),实现对有关数据的输入、存储、检索和查询统计,改进信息资源的管理和利用;(2)不仅实现对有关数据的有效管理,而且提供较强的空间分析功能,建立相应的应用模型,提供辅助决策功能,例如,土地评价系统,辅助规划系统等;(3)具有智能推断的高级LIS系统。一般来说,系统目标不可能在调查研究阶段就提得十分具体和确切,随着后续分析和设计工作的逐层深入,新建LIS系统目标也将逐步具体化和定量化。2022-10-10华中农业大学土地管理学院402.初步确定2022-11-22华中农业大学土地管理学院413.技术力量的调查分析LIS是一个横跨多个学科组成的一个边缘学科,在LIS建设的各个阶段,需要各种层次、各种专业的技术人员参加,例如系统分析人员、设计人员、程序员、操作员、软硬件维护人员、组织管理人员等。应对新建LIS的规模和应用领域,对从事这些工作的技术人员数量、结构和水平进行调查分析,如果不能投入足够数量的上述人员或者投入人员的技术水平不理想,则可以认为LIS建设在技术力量上是不可行的。2022-10-10华中农业大学土地管理学院413.技术力量2022-11-22华中农业大学土地管理学院424.资金财力的调查分析LIS工程建设需要有足够的资金才力做保证。根据拟建LIS的规模,要对LIS开发和运行维护过程中所需要的各种费用进行预测估算,包括软硬件资源、技术开发、人员培训、数据收集和录入、系统维护、材料消耗等各项支出,衡量能否有足够的资金保证进行LIS的工程建设。2022-10-10华中农业大学土地管理学院424.资金财力2022-11-22华中农业大学土地管理学院435.数据资料的调查分析数据是信息的载体,是系统运行的“血液”。LIS涉及的数据种类繁多,形式多样,结构复杂,往往同时包括图形数据、图象数据、表格数据、文字数据、统计数据等。要对有关部门所拥有和能够提供的数据在数据种类、完备性、准确性、精确性等方面进行深入的调查统计与分析,明确数据资料是否实用于LIS的有效管理,是否提供LIS的有效运行。尤其对于作为定位依据的地形图等基础数据,要给予认真的调查和统计。对数据资料的调查,还包括对相关技术规范的调查分析。应该说,这一步工作是十分重要的。2022-10-10华中农业大学土地管理学院435.数据资料2022-11-22华中农业大学土地管理学院446.系统效益调查分析一般说来,LIS建设投资大,短期内效益不明显。要对LIS建成后带来直接或间接的经济效益和社会效益进行估计,并与LIS建设各阶段的投入相比较,看看能够带来多少好处。可从投资回收期、效益/费用、节省人力、减轻劳动强度、改进薄弱环节、提高工作效率、提高数据处理的及时性和准确性,辅助决策和提供决策依据等各个方面进行分析预测。2022-10-10华中农业大学土地管理学院446.系统效益2022-11-22华中农业大学土地管理学院457.运行可行性的调查分析可行性研究主要是进行大量的现状调查,在调查的基础上论证土地信息系统的自动化程度、设计的技术范围、投资数量以及可能收到的效益等。可行性研究的目的不是具体实施系统建设,而是确定是否值得、是否可能去建设,也就是系统的建设不仅必要,而且可行。在任务初步可行的基础上,分析集中主要的可能解决方法的利弊,从而确定原定的系统目标和规模能否实现,若实现之,其成本/效益如何,进一步确定是否继续。在进行可行性研究时至少考虑以下几个方面的可行性:2022-10-10华中农业大学土地管理学院457.运行可行2022-11-22华中农业大学土地管理学院46(1)系统建设的数据条件。指数据的类型、完备程度和质量能否满足系统建设的需要,数据是系统的血液,不健全的数据必定导致系统瘫痪。(2)系统建设的技术条件。指根据系统建设的规模和目标,、系统应有的功能以及系统建设方案,分析现有的技术环境(包括软硬件环境和技术人员技术水平)能否满足系统建设的需要,并提出相应的技术方案。(3)系统建设的经济条件。若前两项均可行,就可根据系统建设方案进行经济可行性分析。系统分析员应该估计系统开发和运行费用,如:购买软硬件费用、开发应用软件费用、系统运行维护费等等,并且估计相对于现在的土地管理方式而言,这个系统可以节省的开支或增加的收入。在这些估计数据的基础上进行成本/效益分析,提供给土地管理部门进行决策。2022-10-10华中农业大学土地管理学院46(1)系统建2022-11-22华中农业大学土地管理学院47(4)成本/效益分析。一般来说,人们投资于一项工程的目的就是将来获取更大的效益,投资建设土地管理信息系统也不例外,LIS的建设是一项建设周期相对较长,投资较大、效益回收相对滞后缓慢的工程。所以在系统运行是必须注意系统的维护和系统的管理、注意在满足本土地部门信息管理以外还要大力开发数字化信息产品,以满足社会各方需要,同时也取得经济和社会效益双丰收。(5)项目进度计划。项目进度计划是系统建设项目管理者在进入系统设计和实施以前需要完成的,以后的系统设计和实施应当以此为本,在没有特殊情况下,依照进度完成整个系统建设。一个项目进度的安排是指从可行性研究开始,直至验收合格整个时期所有任务在实践和顺序上的安排。项目进度安排的方法较多,笔架常用的是直方图,他能直观地反映项目各项任务的先后顺序,但缺乏对项目之间相互影响的描述。现行系统调查研究要求系统分析员与LIS用户、新涉及的各部门甚至领导之间进行充分的交流和沟通,正确分析LIS建设带来的利弊,最后由系统分析员提交可行性报告。2022-10-10华中农业大学土地管理学院47(4)成本/2022-11-22华中农业大学土地管理学院486.3.2系统分析系统分析是LIS开发的关键工作阶段,通过对现行系统的深入分析,获取现行系统的具体逻辑模型,从功能上确定用户的需求,定义新建LIS的逻辑功能,解决系统“干什么”,而不顾及“怎么干”的物理实现,获取LIS的逻辑模型以反映用户的需求。系统分析的结果将产生用户需求分析报告,它作为LIS开发者与用户沟通的主要桥梁和成果,是对将建成系统的概略性描述,是进行系统设计、开发、测试和评价的依据。LIS作为一类规模庞大、复杂多样的系统,合理的分析方法对LIS建设是非常重要的。以“逐层分解”和“抽象”为思想精髓的结构化分析方法作为LIS建设中的分析手段是非常有益的,通过把LIS对象抽象为一个系统,然后采用自顶向下,逐层分解的手段,使复杂的LIS系统分解成足够简单,能够清楚地被理解和表达的若干子系统和功能模块,就可以分别理解LIS的每一个细节、前后顺序和相互关系,找出各部门间的接口,使LIS系统分析简单化、明确化,同时,结构化系统分析提供的表达工具,例如数据流程图、数据字典等,则更有助于对LIS表达。2022-10-10华中农业大学土地管理学院486.3.2系2022-11-22华中农业大学土地管理学院491.分析现行运行过程,获取现行系统流程图系统分析员在对用户现行工作流程深入调查的基础上,要对现行系统进行深入细致的分析和研究,明确现行系统的目标、规模、界限、主要功能、组织机构、业务流程、数据流程、数据存储、对外联系、日常事务处理与主要存在问题,获取对现行系统的充分认识与理解。按照现行系统的职能划分和业务范围,概括抽象出现行系统的业务框图或业务流程图,通过各业务职能的相互关系和可实现程度,初步界定出LIS建设可实现的业务内容和可改进的职能。例如,对于在空间数据库基础上提供空间分析功能的土地管理信息系统,我们可以实现对土地有关的各项指标的查询、统计以及进行土地资源的单一或多用途评级、评价,但不可能期望通过该级别LIS的建设实现对土地利用的自动规划。按照现行系统对数据的使用、加工和处理过程,获得现行系统的数据流程图,对于以空间数据处理为其对象的部门来说,它的运作需要涉及大量的图形、表格、文挡资料,数据流程图是其具体业务过程和作业过程的反映,代表了数据操作的逻辑模型。2022-10-10华中农业大学土地管理学院491.分析现行2022-11-22华中农业大学土地管理学院502.进行数据分析,获取数据字典对数据流程图中出现的所有空间数据、属性数据进行描述与定义,形成数据字典,列出有关数据流条目、文件条目、数据项条目、加工条目的名称、组成、组织方式、去值范围、数据类型、存储形式、存储长度等。数据流条目:组成、流量、来源、去向;文件条目:文件名、组成、存储方式、存取频率;数据项条目:数据项名、类型、长度、取值范围;处理条目:处理名、输入数据、输出数据、处理逻辑。2022-10-10华中农业大学土地管理学院502.进行数据2022-11-22华中农业大学土地管理学院513.数据结构框架设计在进行完工作流程和数据流程调查分析以后,系统分析员就可进行数据结构框架设计。数据结构框架设计通常包括系统软件功能模块图,系统的数据结构框架和系统的软、硬件配置框图。这里介绍三种常用的图形工具。2022-10-10华中农业大学土地管理学院513.数据结构2022-11-22华中农业大学土地管理学院52(1)层次方框图层次方框图用属性结构的一系列多层次的矩形框描绘数据或功能的层次结构,属性结构的顶层是一个单独的矩形框,它代表完整的数据结构或功能结构,下面的矩形框表示这个数据的子集或系统的子系统,最低层的各个框代表组成这个数据的实际数据因素或组成系统的操作模块。例如,土地详查系统数据库的数据结构可用层次方框图表示。这种模式非常适于需求分析阶段的需要。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结构的全部细节为止。2022-10-10华中农业大学土地管理学院52(1)层次方2022-11-22华中农业大学土地管理学院53……图形库属性库文档库地类边界公路权属性质沟渠权属协议书…………土地详查系统数据库土地利用类型2022-10-10华中农业大学土地管理学院53……图形库属2022-11-22华中农业大学土地管理学院54(2)Warnier图法国计算机科学家Warnier提出了表示信息层次结构的另外一种图形工具。和层次方框图类似,Warnier图也用树形结构描绘信息。下图是用Warnier图描绘土地管理信息系统软件的例子,它说明了这种图形工具的用法。图中花括号用来区分数据结构层次,在一个花括号内的所有名字都属于同一类信息。2022-10-10华中农业大学土地管理学院54(2)War2022-11-22华中农业大学土地管理学院55土地管理信息系统软件系统软件:Windows、UNIX等操作系统GIS软件RDBMS软件图像扫描管理软件……图形数据输入编辑模块数据查询模块……属性数据录入模块属性数据查询模块……2022-10-10华中农业大学土地管理学院55土系统软件:2022-11-22华中农业大学土地管理学院56(3)IPO图IPO图是输入/处理/输出图的建成,它是美国IBM发展完善起来的一种图形工具,能够方便的描绘输入数据、对数据的处理和输出数据之间的关系。输入处理输出旧的属性数据库文件土地变更数据文件1.校验主记录2.检验变更数据记录3.更新主记录有效的主记录有效的变更记录更新后的属性数据库文件图6—4IPO图一个例子IPO图使用的基本符号既少又简单,一次很容易学会使用这种图形工具。他的基本形式是在左边的框中列出有关的输入数据,在中间框内列出主要地处理,在右边的框内列出产生的输出数据,处理框中列出处理的次序暗示了执行的顺序。在IPO图中还用类似向量符号的粗大箭头清楚地指出数据通信的情况。图6—4是一个土地变更调查属性数据库文件更新的例子,通过这个例子不难了解IPO图的用法。2022-10-10华中农业大学土地管理学院56(3)IPO2022-11-22华中农业大学土地管理学院57输入处理输出旧的属性数据库文件土地变更数据文件1.校验主记录2.检验变更数据记录3.更新主记录有效的主记录有效的变更记录更新后的属性数据库文件2022-10-10华中农业大学土地管理学院57输入处理输出2022-11-22华中农业大学土地管理学院584.导出现行系统的逻辑模型在理解现行系统“怎样做”的基础上,明确其本质是“做什么”,对现行系统的具体模型进行抽象,去掉那些具体的、非本质的、在进一步深入分析中造成不必要负担的东西,获取反映系统本质的逻辑模型,作为待建LIS逻辑模型的依据。例如,对图6—5(a)所示非本质的因素进行抽象,可得图6—5(b)所示的逻辑模型。2022-10-10华中农业大学土地管理学院584.导出现行2022-11-22华中农业大学土地管理学院595.进行用户需求分析与描述申请书意见书选址书红线图客户规划处地政处设计处客户设计要点(a)申请书客户合理性审查划地设计要点规定客户红线图同意意见书选址书(b)图6-5逻辑模型在对现行系统深入分析的基础上,找出现行系统存在的问题和弊端,对用户提出的要求进行综合抽象和提炼,形成对待建LIS需求的文字描述,包括有功能需求、性能需求、数据管理能力需求、可靠性需求、安全保密需求、用户接口需求、联网需求、软硬件需求、运行环境需求等的文字描述。2022-10-10华中农业大学土地管理学院595.进行用户2022-11-22华中农业大学土地管理学院60申请书

选址书红线图客户规划处地政处设计处客户设计要点意见书申请书客户合理性审查划地设计要点规定客户红线图同意意见书选址书2022-10-10华中农业大学土地管理学院60申请书客规2022-11-22华中农业大学土地管理学院616.明确待建LIS的目标对可行性分析中的目标进行进一步深化明确,获得待建LIS更加明确具体的目标。2022-10-10华中农业大学土地管理学院616.明确待建2022-11-22华中农业大学土地管理学院627.导出待建LIS的逻辑模型这是系统分析中实质性的一步。将待建系统的逻辑模型与待建LIS的目标相比较,找出逻辑上的差别,决定出变化的范围,明确待建LIS“做什么”;将变化的部分看作新的处理步骤或模块,对现有数据流程图进行调整;由外向内逐层分析,获得待建LIS的逻辑模型。2022-10-10华中农业大学土地管理学院627.导出待建2022-11-22华中农业大学土地管理学院638.制定设计实施的初步计划对工作任务进行分解,确定各子系统(或模块)开发的先后顺序,分配工作任务,落实到具体的组织和人;对LIS建设的时间进度进行安排;对LIS建设费用进行评估。系统分析的最后阶段由分析员提交用户需求分析报告,用户需求分析报告一般应经过用户主管部门的批准,在经过用户和开发者双方认可后,具有合同的作用,是LIS建设中进行开发设计和验收的依据。2022-10-10华中农业大学土地管理学院638.制定设计2022-11-22华中农业大学土地管理学院646.3.3系统设计的原则LIS建设中的系统设计是新建LIS的物理设计过程,在需求分析规定的“干什么”的基础上解决系统如何干的问题。也即按照对建设LIS的逻辑功能要求,考虑具体的应用领域和实际条件,进行各种具体设计,确定LIS建设的实施方案。按照LIS规模的大小,可将设计任务划分为两个阶段。第一个阶段是总体设计,用来确定LIS的总体结构,即LIS各子系统或各模块的划分,以及各组成部分(子系统或模块)之间的相互关系。第二阶段是详细设计,在总体设计的基础上,将各组成部分进一步细化,给出各子系统或模块的足够详细的过程性描述。LIS工程建设的设计可采用结构化设计方法,这是一种面向数据流的设计方法,指用一组标准的准则和图表工具(如数据流图,DFD,DataFlowDiagram)确定系统有那些组成部分,用什么方法联系在一起,从而构成最好的系统结构,在此基础上,进行各种输入、输出、处理和数据存储的详细设计。从逻辑模型到物理模型的设计是一个由抽象到具体的过程,有时没有明确的界限,甚至可能有反复。经过系统设计,设计人员应该能为程序员提供经过评审的完整、清楚、准确、规范的系统设计文档,且对设计规范中不清楚的地方做出解释。系统设计总的原则是保证系统设计目标的实现,并在此基础上使技术资源的运用达到最佳。在进行系统设计过程中,应遵循以下原则。2022-10-10华中农业大学土地管理学院646.3.3系2022-11-22华中农业大学土地管理学院65(1)系统性原则。系统是作为一个有机整体而存在的。因此,在系统设计中,要从整个系统的角度进行考虑,使系统有统一的信息代码、统一的数据组织方法、统一的设计规范和标准,以提高系统的设计质量。2022-10-10华中农业大学土地管理学院65(1)系统性2022-11-22华中农业大学土地管理学院66(2)经济性原则。经济性原则是指在满足系统要求的前提下,尽可能减少系统的费用支出。一方面,在系统硬件投资上不能盲目追求技术上的先进,而应以满足系统应用需要为前提。另一方面,系统设计应避免不必要的复杂化,各模块应尽可能简洁,以便缩短处理流程,减少处理时间。2022-10-10华中农业大学土地管理学院66(2)经济性2022-11-22华中农业大学土地管理学院67(3)可靠性原则。可靠性既是评价系统设计质量的一个重要指标,又是系统设计的一个基本出发点。只有设计出的系统是安全可靠的,才能在实际中发挥它应有的作用。一个成功的管理信息系统必须具有较高的可靠性,如安全保密性、检错及纠错能力、抗病毒能力、系统恢复能力等。(4)简单性原则。在系统达到预定目标、完成规定功能的前提下,应该尽量简单。具体来说,在设计过程中,要设法减少数据输入的次数和数量,提高系统中数据的共享性;要使操作简单化,使用户容易理解操作的步骤和要求,确保用户的主动地位;系统结构清晰合理,易于理解和维护。(5)灵活性原则。系统对外界环境的变化要有很强的适应能力,系统容易修改和维护。因此系统设计人员要有一定的预见性,要从通用的角度考虑系统设计。2022-10-10华中农业大学土地管理学院67(3)可靠性2022-11-22华中农业大学土地管理学院686.3.4LIS总体设计总体设计的任务主要有:系统的目的、目标及属性的确定,系统的目的是系统建成后应达到的水平标志,或称系统预期达到的水平。LIS系统必须提出明确的系统目的,以指导工作的展开。系统目标是实现目的过程中的努力方向,LIS工程中提出的系统目标因具体问题而变化,比如:·投资规模(大、中、小)·建设周期(一年、二年,……)·数据准备(半年,一年,……)·数据采集(半年,一年,……)·旧有设备的利用·效益预计·系统被接纳和使用度(或满意度)估计……2022-10-10华中农业大学土地管理学院686.3.4L2022-11-22华中农业大学土地管理学院69系统属性是指对目标的量度。由于LIS工程建设的多样性及不易量测的特点,衡量LIS工程的属性通常采用:·直接经济和社会效益·间接经济和社会效益·系统对原有工作模式改进程度·对使用者的满意度调查……在处理实际问题时,常常遇到系统目标不只一个,而是多个,它们共同构成目标集合。对目标集合的处理,往往把目标分解,按子集、分层次画成树状结构,称其为目标树,如图6-6。2022-10-10华中农业大学土地管理学院69系统属性是指2022-11-22华中农业大学土地管理学院70X2022-10-10华中农业大学土地管理学院70X2022-11-22华中农业大学土地管理学院71图6-6目标树示意图X构造目标树的原则是:第一,目标子集按目标的性质进行分类,把同一类目标划分在一个目标子集内;第二,目标分解,直至可量度为止。把目标结构画成树状结构的优点是,目标集合的构成与分类比较清晰、直观;更为重要的是,按目标性质分为子集,便于进行目标间的价值权衡,也就是说,在确定目标的权重系数过程中,能够明确地表明应该和那些层次、那些部门的决策者对话。2022-10-10华中农业大学土地管理学院71图6-6目2022-11-22华中农业大学土地管理学院721.进行各子系统或模块的划分与功能描述按照LIS各功能的聚散程度和耦合程度、用户职能部门的划分、处理过程的相似形、数据资源的共享程度将LIS划分为若干子系统或若干功能模块,构成系统总体结构图,并对各系统或模块的功能进行描述。在进行软件功能结构设计中须遵循以下基本原理:(1)模块化原理。模块化就是把程序分成若干模块,每个模块具有一定的功能。功能模块向下可以调用完成功能模块中某一具体操作的操作模块,若干功能模块集成在一起组成一个整体,完成功能模块上一层即子系统的功能,各个子系统集成完整系统的功能。采用模块化原理可以使软件结构清晰,不仅容易设计,而且易于阅读和理解。由于程序错误常局限于模块内或模块间接口处,所以程序调适和测试变得容易。2022-10-10华中农业大学土地管理学院721.进行各子2022-11-22华中农业大学土地管理学院73(2)抽象。功能模块化也正好体现了抽象。因为面对复杂的系统设计,不可能从一开始就将具体问题考虑进去,而是逐步由抽象到具体进行的。与模块化解法相对应的各个层次而言,最顶层最抽象,使用问题环境语言以概化的方式叙述问题解法;在较低抽象层采用面向问题术语和面向实现的术语共同叙述问题的解法;在最低抽象层,则完全可采用面向实现的方式叙述。(3)信息隐蔽原理和局部化。信息隐蔽原理是指在设计和确定模块时,要使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问。所谓局部化是指把一些关系紧密的软件元素物理地放得彼此靠近。(4)模块独立。开发具有独立功能而且和其他模块之间没有过多相互作用的模块,就可以做到模块独立。模块的独立程度可以由两个定性标准度量,即内聚和耦合。耦合衡量不同模块彼此间相互依赖的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。2022-10-10华中农业大学土地管理学院73(2)抽象。2022-11-22华中农业大学土地管理学院742.模块或子系统间的接口设计各子系统或模块作为整个LIS的一部分,相互间在功能调用、信息共享、信息传递方面都存在着或多或少的联系,故应对其接口方式、权限设置进行设计。例如,土地信息系统可划分为基础信息、规划信息、房地产管理、地籍管理、土地利用管理等子系统。相互间都要共享有关基础数据,同时存在相互的调用,应对调用方式、数据共享权限等作出严格规定与设计。2022-10-10华中农业大学土地管理学院742.模块或子2022-11-22华中农业大学土地管理学院753.硬件配置设计计算机各种类型的硬件是土地信息系统硬件配置的基础,其主要包括:·计算机——工作站、微机、便携式计算机;·数据输入设备——数字化仪、扫描仪等;·数据输出设备——图形终端、绘图仪、打印机、硬拷贝设备等;·存贮设备——磁带机、光盘机等。直到20世纪70年代末期,各种信息系统的计算机硬件配置系统还很简单,主要是基于集中式(Centralizedscheme)的配置,其数据存贮和处理功能都集中于主机(Ahostmainframeormini—computer)上,其各种外围设备,如终端、图形工作站和绘图仪等也都连接在主机上,其所能实现的功能非常有限。2022-10-10华中农业大学土地管理学院753.硬件配置2022-11-22华中农业大学土地管理学院7620世纪80年代后期,计算机硬件和软件技术突飞猛进的发展,为计算机系统的配置提供了许多新的机会和选择。使一台计算机主机上的计算机处理功能与数据相分离的分布式系统(Distributedsystem)概念,已经对有关地理数据管理系统的设计和配置产生了重要影响。图6-7土地信息系统硬件系统的配置

这里,将从用户应用的角度,给出地理信息系统硬件系统的配置。如图6—7,我们可以通过局域网将地理信息系统输入设备、存贮设备、输出设备、计算机以及服务器等连接起来。计算机通过局域网向服务器发出数据查询、数据分析以及控制输出设备的请求,服务器则响应请求提供服务。2022-10-10华中农业大学土地管理学院7620世纪802022-11-22华中农业大学土地管理学院772022-10-10华中农业大学土地管理学院772022-11-22华中农业大学土地管理学院784.软件设计软件设计必须根据建立LIS的目的、任务和今后的研究方向进行。就其任务而言,可以抽象为四方面的内容;空间信息获取与管理;空间特征量测与分析;空间过程模拟与预测;时空规律的总结与应用。从这些任务出发,进行通用的LIS软件工具系统的设计、使其具有适应性强、易于掌握、便于推广和应用开发、汉化等特点。(1)结构化设计这里的“结构化”含义指的是“严格的、可重复的、可度量的”。结构化方法是从数据流的角度将问题分解为可管理的、相互关联的子问题,然后再将这些子问题的解综合成为整个业务问题解的一系列技术的总称。结构化的实质是“自顶向下,逐步求精,分而治之”。结构化系统设计的基本思想是:①将一个复杂的系统分解成一个多层次的模块化结构结构化设计认为,任何一个系统都具有两个特征:过程特征:任何一个系统都可以分解成若干个有序的过程;2022-10-10华中农业大学土地管理学院784.软件设计2022-11-22华中农业大学土地管理学院79层次特征:组成系统的各部分之间存在着一种上下级的隶属关系、管辖关系。按照这种思想,可以将一个无论多么复杂的系统,逐步分解成若干个十分简单的模块的集合:首先将系统按照过程的特征分解成几个模块,再按照层次特征将上述模块中的每一个模块分解成更小的模块,这种分解可以进行多次,使得最底层的模块变得非常简单。这样就将一个原来十分复杂的系统分解成一个多层次的模块化结构,如图6-8所示。

②每一个模块尽可能独立待开发的信息系统子系统1子系统3子系统2模块1.1模块1.2模块2.1模块2.2模块3.1模块3.2图6-8信息系统的模块化开发即尽量使每个模块成为一个独立的组成单元,使模块之间的联系降到最低程度。2022-10-10华中农业大学土地管理学院79层次特征:组2022-11-22华中农业大学土地管理学院80待开发的信息系统

子系统1

子系统3

子系统2

模块1.1

模块1.2 模块2.1 模块2.2 模块3.1 模块3.2 2022-10-10华中农业大学土地管理学院80待开发的信息2022-11-22华中农业大学土地管理学院81③可用直观的工具来表达系统的结构结构化方法为系统开发人员提供了一套简明的图形表达工具,如数据流图、数据字典、数据存储规范化、数据立即存取图以及功能分析的表达方法,包括决策树、决策表和结构式语言等。采用结构化方法,可以自顶向下进行分析和设计,得到一系列的独立模块,然后对这些模块进行实现,依次组装、调试得到上层的模块,从而得到自底向上实现的结果。2022-10-10华中农业大学土地管理学院81③可用直观的2022-11-22华中农业大学土地管理学院82(2)面向对象的软件设计所谓面向对象技术,顾名思义,就是以对象观点来分析现实世界中的问题。从普通人认识世界的观点出发,把事物归类、综合,提取共性并加以描述。在面向对象的系统中,世界被看成是独立对象的集合,对象之间通过过程(在面向对象术语中称之为“消息”)相互通信。面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送和多态性等概念来构造系统的软件开发方法。面向对象的设计方法是近年来发展起来的一种新的程序设计技术,其基本思想是将软件系统所面对的问题,按其自然属性进行分割,按人们通常的思维方式进行描述,建立每个对象的模型和联系,设计尽可能直接、自然地表现问题求解的软件,整个软件系统只由对象组成,对象间联系通过消息进行。用类和继承来描述对象,并建立求解模型,描述软件系统。对象是事物的抽象单位,具有内部状态、性质、知识和处理能力,通过消息传递与其它对象相联系,是构成系统的元素。面向对象方法涉及一些重要概念,对其理解掌握是面向对象分析设计的基础。2022-10-10华中农业大学土地管理学院82(2)面向对2022-11-22华中农业大学土地管理学院83①对象面向对象方法就是以对象为中心、以对象为出发点的方法,所以对象的概念相当重要。在应用领域中有意义的、与所要解决的问题有关系的任何人或事物(即我们说的实体)都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的事物或东西。在面向对象方法中,对象是一组数据(属性)和施加于这些数据上的一组操作代码(操作)构成的独立类体。换言之,对象是一个有着各种特殊属性(数据)和行为方式(方法)的逻辑实体。对象是一个封闭体,它向外界提供一组接口界面,外界通过这些接口与对象进行交互,这样对象就具有较强的独立性、自治性和模块性,从而为软件的重用奠定了坚实的基础。2022-10-10华中农业大学土地管理学院83①对象2022-11-22华中农业大学土地管理学院84从传统的结构化编程观点来看,数据和处理它们的代码(操作过程)是两个不同的独立实体,它们之间的正确联系、选择与匹配需要应用系统的设计者时刻考虑、操心和进行统一。而在OOP中,一个对象则是由私有数据和其上的一组操作代码组成的一个统一体,如图6-9。其中SP中的数据和代码是两个分离的独立实体;OOP中的数据和代码被集中统一为一实体,如同“软件集成块”。2022-10-10华中农业大学土地管理学院84从传统的结构2022-11-22华中农业大学土地管理学院85

OOP观点

对象

代码

数据

SP观点

代码

数据

2022-10-10华中农业大学土地管理学院85OOP2022-11-22华中农业大学土地管理学院86从传统的结构化编程观点来看,数据和处理它们的代码(操作过程)是两个不同的独立实体,它们之间的正确联系、选择与匹配需要应用系统的设计者时刻考虑、操心和进行统一。而在OOP中,一个对象则是由私有数据和其上的一组操作代码组成的一个统一体,如图6-9。其中SP中的数据和代码是两个分离的独立实体;OOP中的数据和代码被集中统一为一实体,如同“软件集成块”。2022-10-10华中农业大学土地管理学院86从传统的结构2022-11-22华中农业大学土地管理学院87对象的动作取决于发送给该对象的消息表达式,消息告诉对象要求完成的功能(whattodo),并激活该功能,这意味着对象具有自动“知道”如何完成相应操作代码(howtodo)的“智能”选择机制,正是这一选择机制把结构化设计(SP)中应用系统程序员或用户做出的选择操作数与相应操作函数代码匹配的负担转移给了系统设计员,正是这一与传统SP风格有本质区别的对消息请求自动选择操作的小小变化,蕴涵了OOP技术的全部威力。②消息对象通过对外提供服务发挥自身作用,对象之间的相互服务是通过消息来连接实现的。消息是为了实现某一功能而要求某个对象执行其中某个功能操作的规格说明。它一般含有下述信息:提供服务的对象标识、服务标识、输入信息和响应信息。对象接收消息,根据消息及消息参数调用自己的服务,处理并予以响应,从而实现系统功能。2022-10-10华中农业大学土地管理学院87对象的动作取2022-11-22华中农业大学土地管理学院88消息是对象之间相互作用和相互协作的一种机制,更通俗地讲,OOP中的术语“消息”只不过是现实世界中的“请求”、“命令”等日常生活用语的同义词。③方法“方法”对应于对象的能力,它是实现对象所具有的功能操作代码段,是响应消息的“方法”。在C++中,方法即是类中定义的成员函数,它只不过是该类对象所能执行的操作的算法实现。方法与消息是一一对应的,每当对象收到一个消息,它除了能用其“智能化”的选择机制知道和决定应该去做什么(whattodo)外,还要知道和决定该怎样做(howtodo)。而方法正是与对象相连决定怎么做的操作执行代码。所以方法是实现每条消息具体功能的手段。2022-10-10华中农业大学土地管理学院882022-11-22华中农业大学土地管理学院89④类在面向对象的软件技术中,类可以定义为由数据结构及相关操作所形成的集合,或所有相似对象的状态变量和行为构成的模板。类是对一组对象的抽象归纳与概括,更确切地说,类是对一组具有相同数据成员和相同操作成员的对象的定义或说明。而每个对象都是某个类的一个具体实例。在OOP中,每个对象由一个类来定义或说明,类可以看作生产具有相同属性和行为方式对象的模板。与成语“物以类聚,人以群分”的意思一样,“类”就是具有相似性质的事物的同类特征的集中。在面向对象系统中,我们一般就是根据对象的相似性(包括相似的存储特征和相似的操作特征)来组织类的。简而言之,按照对象的相似性,我们把对象分成一些类和子类,将相似对象的集合即称为“类”。对C++程序员而言,类实际只是一种对象类型、它描述属于该类型的具有相同结构和功能的对象的一般性质。2022-10-10华中农业大学土地管理学院89④类2022-11-22华中农业大学土地管理学院90⑤继承继承是对象类间的一种相关关系,指对象继承它所在类的结构、操作和约束,也指一个类继承另外一个类的结构、操作和约束。继承体现了一种共享机制。继承机制既是一个对象类获得另一对象类特征的过程,也是一个以分层分级结构组织、构造和重用类的工具。它是解决客观对象“相似但又不同”的妙法。继承机制具有能清晰体现相似类间的层次结构关系;能减小代码和数据的重复冗余度,大大增强程序的重用性;能通过增强一致性来减少模块间的接口和界面,大大增强程序的易维护性等特点。如果没有继承概念的支持,则OOP中所有的类就象一盘各自为阵、彼此独立的散沙,每次软件开发都要从“一无所有”开始。2022-10-10华中农业大学土地管理学院90⑤继承2022-11-22华中农业大学土地管理学院91⑥封装封装(encapsulation)即信息隐藏。它保证软件部件具有较好的模块性,可以说封装是所有主流信息系统方法学中的共同特征,它对于提高软件清晰度和可维护性,以及软件的分工有重要的意义。我们从两个方面来理解封装的含义:第一,当设计一个程序的总体结构时,程序的每个成分应该封装或隐藏为一个独立的模块,定义每一模块时应主要考虑其实现的功能,而尽可能少地显露其内部处理逻辑。第二,封装表现在对象概念上。对象是一个很好的封装体,它把数据和服务封装于一个内在的整体。对象向外提供某种界面(接口),可能包括一组数据(属性)和一组操作(服务),而把内部的实现细节(如函数体)隐藏起来,外部需要该对象时,只需要了解它的界面就可以,即只能通过特定方式才能使用对象的属性或对象。这样既提供了服务,又保护自己不轻易受外界的影响。2022-10-10华中农业大学土地管理学院91⑥封装2022-11-22华中农业大学土地管理学院92⑦多态性多态性(polymorphism)指相同的操作(或函数,过程)可作用于多种类型的对象并获得不同的结果。在面向对象方法中,可给不同类型的对象发送相同的消息,而不同的对象分别做出不同的处理。例如给整数对象和复数对象定义不同的数据结构和加法运算,但可以给它们发送相同的消息“做加法运算”,整数对象接收此消息后做整数加法运算,复数对象则做复数加法运算,产生不同的结果。多态性增强了软件的灵活性、重用性、可理解性。按设计思想来分,传统的软件系统开发可分为自顶向下和自底向上两种。流行的结构化方法采用自顶向下的设计思想。自顶向下的方法总是首先从问题的大的方面入手来寻找解决办法,避免了为具体的细节所缠绕,降低了难度,而直到恰当的时机,才去过问实现的细节;而自底向上与此正好相反,它总是从解决基本的、简单的问题开始,在此基础上逐步建立解决复杂问题的能力,直到整个问题的解决。2022-10-10华中农业大学土地管理学院92⑦多态性2022-11-22华中农业大学土地管理学院93总的来看,面向对象方法既不是自顶向下方法也不是自底向上方法。尽管它兼有这两者的一些特点。一方面,面向对象方法鼓励人们从问题的基本的、简单的方面入手,用对象来考虑如何描述问题的解决,然后抽象并确定类,得到具有一般性的解决问题的方法,这正是自底向上的本质;而另一方面,面向对象的方法又要求人们面向目标,考虑为达到这一目标如何建立这些基本的对象,这正体现了自顶向下的思想。面向对象方法从一开始就强调结构与代码的共享与重用。因而在解决复杂问题时,它总是从问题的基本方面入手,力求寻找构成解决不同复杂问题的基本方法,因为这些基本方法在一些功能细节上是相似或相同的,这些方法不仅能解决当前问题,而且可以帮助解决未来的问题。因而,对方法的划分(或类的认定)既要考虑其特殊性,又要考虑其一般性。在面向对象的方法中,可重用的软件对象正是抓住了问题的基本方面这一关键点,因而它所建立的过程方法和自顶向下所创建的低层模块不同,自顶向下方法中所得到的模块是为支持其特定的上层目标而开发的;它同自底向上方法开始时所建立的过程也不同,那些过程是被临时建立、不可重用的。2022-10-10华中农业大学土地管理学院93总的来看,面2022-11-22华中农业大学土地管理学院94面向对象方法与传统的结构化设计思想比起来,有着明显的优点。首先,代码的可重用性好。随着开发平台以及应用要求越来越复杂,应用程序的规模变得越来越庞大,代码重用成了提高程序设计效率的关键。采用传统的结构化设计模式,程序员每次进行一个新系统的开发,几乎都要从零开始,这中间当然有着大量重复、繁琐的工作。在这种情况下,如果要进行代码重用,就只能采用当今大多数程序员所采用的比较笨的方式――拷贝。其次,可维护性和可扩充性好。用传统的面向过程语言开发出来的软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论