第二章 GIS软件工程概述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

GIS设计与应用第二章GIS软件工程概述第一节GIS软件工程一、GIS软件的主要特点(1)在存储技术上,传统的GIS采用两库结构,即空间数据库和属性数据库的分离。(2)在数据组织与处理模式上,传统的GIS仍然沿袭地图处理的模式。在实现上,将空间数据组织成物理实体(点、线、面等)、图层、地图和图库几个层次。(3)在网络和分布式环境下系统组成方面,传统的GIS支持树型的系统结构和主-从工作模式,上下级数据交换基本上以图层为单位进行。(4)在空间数据管理范围方面,目前的GIS可以比较有效地处理二维空间数据,并能较好地处理DEM数据、实现三维实体的表面显示。(5)在数据共享和功能共享方面,虽然目前开始注意元数据问题,已经解决了不同格式空间数据之间转换问题,可以实现有缝的数据共享。但是GIS功能共享和互操作问题尚未得到解决。以系统为中心的问题没有得到根本克服。因此,传统的GIS软件的特点可以简要地归纳为:以系统为中心,以地图为基础,二维处理,静态管理,尺度割裂,数据集中。二、GIS软件开发过程中的问题(1)经费预算经常突破,完成时间一再拖延。由于缺乏GIS软件开发的经验和GIS软件开发数据的积累,使得软件开发计划很难制定。主观盲目制定的计划,执行起来和实际情况有很大的差距,使得开发经费一再突破。由于对工作量和开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。(2)开发的软件不能满足用户的要求。开发的初期对用户的要求了解不够明确,未能得到明确表达。开发工作开始后,软件人员和用户未能及时交换意见,使得一些问题不能及时解决,导致开发软件不能满足用户的要求,使得开发工作失败。(3)开发的软件可维护性差。软件开发人员按各自的风格工作,各行其是。程序结构不好,运行维护时发现错误也很难修改,导致维护性差。统计数据表明,软件的维护费用占整个软件系统费用的2/3,而软件开发费用只占1/3。软件维护之所以有如此大的花费,是因为已经运行的软件还需排除隐含的错误,新增加的功能要加入进去,维护工作又是非常困难的,效率是非常低下的。因此,如何提高软件的可维护性,减少软件维护的工作量,也是软件工程面临的主要问题之一。(4)开发的软件可靠性差。在软件开发过程中,若在测试时,没有严格的、完整的测试,那么提交给用户的软件质量差,在运行中就会暴露出大量的问题。这种不可靠的软件,经常会影响系统正常工作,甚至会发生事故,造成生命财产的重大损失。在软件开发中,通常要花费40%的代价进行测试和排错,即使这样还不能保证以后不再发生错误,为了提高软件可靠性,就要付出足够的代价。(5)数据工程量特别大,特别是数据采集工作量十分大。而由数据工程又带来一系列问题,如可靠性差、周期延长、费用增长等等。(6)软件需求与软件生产的矛盾日益加剧,突出表现在软件生产率低。软件是知识高度密集的综合产物,计算机的广泛应用使得软件的需求量大幅度上升,软件的发展远远不能适应社会对迅速增长的要求,而软件的生产又牌手工开发的状态,软件生产率低下,使得各国都感到软件开发人员的不足,所以,如何提高软件生产率,是软件工程的又一重要问题。(7)软件可重用性差。提高软件的重用性,对于提高软件生产率、降低软件成本有差重要意义。当前的软件开发存在着大量的、重复的劳动,耗费了不少人力资源。软件的重用有各种级别,软件规格说明、软件模块、软件代码、软件文档等都可以是软件重用的单位。软件重用是软件工程中的一个重要研究课题,软件重用的理论和技术至今尚未彻底解决。三、GIS软件开发存在问题的原因分析(1)软件的规模越来越大,结构越来越复杂。随着计算机应用的日益广泛,需要开发的软件规模日益庞大,软件结构也日益复杂。1968年美国航空公司订票系统达到30万条指令;IBM360OS第16版达到100万条指令,花了5000个人年;1973年美国阿波罗计划达到1000万条指令。这些庞大软件的功能非常复杂,体现在处理功能的多样性和运行环境的多样性。有人曾估计,软件设计与硬件设计相比,其逻辑量要多达10~100倍。对于这种庞大规模的软件,其调用关系、接口信息复杂,数据结构也复杂,这种复杂程度超过了人所能接受的程度。(2)软件开发的管理困难。由于软件规模大,结构复杂又具有无形性,导致管理困难,进度控制困难,可靠性无法保证。(3)软件开发费用不断增加。软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。(4)软件开发技术落后。在20世纪60年代,人们注重一些计算机理论问题的研究,如编译原理、操作系统原理、数据库原理、人工智能原理、形式语言理论等,不注重软件开发技术的研究,用户要求的软件复杂性与软件技术解决复杂性的能力不相适应,它们之间的差距越来越大。(5)生产方式落后。软件仍然采用个体手工方式开发,根据个人习惯爱好,无章可循、无规范可依据,工作靠言传身教方式,缺乏工程化思想方法的指导。(6)开发工具落后,生产率提高缓慢。软件开发工具过于原始,没有出现高效率的开发工具,因而软件生产率低下。在1960~1980年期间,计算机硬件的生产由于采用计算机辅助设计、自动生产线等先进工具,使硬件生产提高了100万倍,而软件生产率只提高了2倍,相差十分悬殊。(7)通用GIS软件处在快速上升分化发展过程中,更新变化很快,不可避免存在不少发展过程中的衔接问题。四、GIS软件工程1.软件工程的定义软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。其主要思想是在软件生产中用工程化的方法代替传统手工方法。GIS软件工程就是在GIS软件的开发整个过程中,遵循一般软件开发的工程化原理和方法,并照顾到GIS软件开发的特殊规律和要求,对GIS软件从可行性研究、需求分析、总体设计、详细设计、软件编制、软件测试,直到软件维护的各个阶段进行工程化规范的一门技术。2.工程的性质软件工程是涉及计算机科学、工程科学、数学等领域的一门综合性的交叉学科。计算机科学中的研究成果均可用于软件工程,但是计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。GIS软件工程涉及的学科门类更为繁多,包括地理学、测量学、地图制图学、摄影测量与遥感学、计算机科学、数学、统计学、以及一切与处理和分析空间数据有关的学科。GIS软件工程明显地具有多学科交叉的特征,它既要吸收诸多相关学科的精华和营养,又将被多个相关学科所运用。3.工程的目标软件工程是一门性学科,目的是从技术上和管理上采取了多项措施,组织实施软件工程项目来建造一个大型系统,并最终希望得到项目的成功。所谓成功,是要达到以下几个目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。这里提到的几个目标很自然地成为判断软件开发管理方法优劣的衡量尺度。实际上,实施软件开发项目就是力图在以上目标的冲突取得一定程度的平衡。4.软件工程的内容软件工程研究的主要内容是指软件开发技术和软件开发管理两个方面。在软件开发技术中,它主要研究软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,它主要是研究软件管理学、软件经济学和软件心理学。软件工程包括三个要素:方法、工具和过程。软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等。软件工程方法常采用某一种特殊的语言或图形的表达方法及一套质量保证标准。软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑。软件工程就是包含上述方法、工具及过程在内的一些步骤。GIS软件工程的内容按照软件开发过程的先后顺序,包括前期工程、设计工程、数据工程、工程实施和维护工程等五个阶段,每个阶段都以工程化原理作指导,以工程化方法做手段,并以质量控制、工程标准和工程管理作为保障,确保GIS软件的开发成功。五、GIS工程的特色GIS与其他信息系统的最大区别是它能够处理具有空间特性的对象,与一般制图系统相比较,它不仅能够进行空间数据的存储、显示、绘制、输出,而且能够对空间数据进行查询、分析。也就是说,GIS处理的对象不仅包括文本、表格、多媒体等数据,而且要处理大量的空间数据,是基于空间数据的信息系统。GIS软件工程具有如下特点:1.系统复杂度大软件的复杂度与如下几个因素密切相关:(1)交付文档的质量和数量。交付的的文档都包括软件需求说明、系统设计书、用户手册、程序清单、测试报告等(2)软件的微观复杂度。即理解和处理单个程序或子程序内部结构与操作的难易程度。(3)软件的宏观复杂性。指理解和处理整个程序的结构与功能的难易程序。从GIS软件工程系统结构上分析,在上面几个方面都增长较大,如图所示。不难发现,功能规划相似的信息系统,GIS的复杂度可能比一般信息系统高数个级别,这也是我国GIS建设费用与建设周期高居不下的实质性因素,如果对此估计不足,就容易导致系统建设的失败。2.数据在系统中具有特别地位GIS的另一个特色在于支持导质海量数据处理,可以说,多数GIS本身就是一个强大的数据处理系统,数据甚至被称为GIS的“核心”和“血液”,所以数据库建设在GIS建设中占有非常重要的地位。根据有关专家统计,系统投资的三个主要部分——数据、硬件、软件的比例一般高达8:1:1,可见数据在系统中有重要的地位。在系统开发过程中,在数据准备方面需要注意如下各方面:(1)数据的质量。(2)数据的现势性。(3)合理的数据组织结构。3.系统表达方式复杂(1)表达的内容复杂。GIS同时能够处理文本数据、空间数据、多媒体数据等,甚至也能够接受遥感遥测的实时数据,这是其他信息系统无法比拟的,相应地它的表达方式的组成上也是非常复杂的,如输出方面包括专题图、报表、业务表格等。(2)表达的对象具有时空特性。GIS处理的主要对象为城市地理对象,它具有鲜明的空间特性,系统必须能够将这些对象的空间性直观地表达给用户;同时许多地理现象是具有一定时间序列的,系统需要模拟地理现象的时空演化,如土地利用现状图,它需要系统能够追溯到历史上的一定时刻,以支持地籍管理。所以,目前3DGIS、虚拟现实(VR)等技术在GIS的应用中发展十分迅速。4.系统更新速度更快我国从20世纪80年代开始了GIS的建设,经历了项目型GIS、管理型GIS、社会型GIS等几个阶段,其技术和认识发生了翻天覆地的改变,其发展可以说与计算机技术完全同步了,这也导致GIS用户在建立相应系统时,所面临的一个复杂环境,往往系统刚刚建设完毕,整个系统就不能够满足当前需要了,从而导致大面积的投资失误与浪费,这也是GIS建设周期长的一个后果,也反映了GIS技术和用户需求的发展速度。所以在开展用户调查、系统设计、系统维护等阶段必须对这种状况进行认真考虑,才能积极预防。5.系统维护工作量大由于系统变化速度快,而且对外部数据依赖大,需要不断输入数据,所以系统本身的建设是一个长期的过程,其系统的开发工作可以说是“万时长征的第一步”,目前一些用户没有意识到这一点,有一种急功近利的思想,特别是国家政府部门领导把它当作一段时期的一件工作来抓,当时投资大,但是后继无力,致使系统不能够正常运转。一方面要求长期的投资,另一方面在系统设计开发过程中,要坚持“总体规划、分步实施、灵活调整、急用先行”的设计思想,最后,要注意逐步发挥系统的效益,争取系统能够产生社会效益的同时,产生一定的经济效益,来确保系统长期的发展。6.易操作性要求高正如前面所述,一个GIS中具有多个用户层次:专业维护人员、领导决策人员、一般业务人员,后两类用户并不是GIS专业人士,往往仅仅具备一般计算机操作能力,而GIS功能复杂,这两者之间需要通过良好的界面设计来协调,系统应该引导用户来完成操作,同时必须保证数据的安全性。由于处理对象的功能的复杂性

1 / 95
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功