资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第八章 地理信息系统工程,1,GIS的开发建设和应用是一项系统工程,涉及到系统的最优设计、最优控制运行、最优管理,以及人、财、物资源的合理投入、配置和组织等诸多复杂问题。需要运用系统工程、软件工程等的原理和方法,结合空间信息系统的特点进行实施建设。,2,GIS工程设计综述,地理信息系统的开发研究分为四个阶段:系统分析、系统设计、系统实施、系统评价及维护。系统分析阶段的需求功能分析、数据结构分析和数据流分析是系统设计的依据。系统分析阶段的工作是要解决“做什么”的问题,它的核心是对地理信息系统进行逻辑分析,解决需求功能的逻辑关系及数据支持系统的结构,以及数据与需求功能之间的关系;系统设计阶段的核心工作是要解决“怎么做”的问题,研究系统由逻辑设计向物理设计的过渡,为系统实施奠定基础。,3,GIS软件危机与GIS工程危机,西方计算机科学家把软件开发和维护过程中遇到的一系列严重问题统称为“软件危机”,GIS软件开发同样存在危机,GIS工程危机,4,软件危机,1968年北大西洋公约组织的计算机科学家在联邦德国如开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生。,5,什么是GIS工程危机,概括地说, GIS工程危机包含下述两方面的问题,如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的软件与数据。,(1)对软件开发成本和进度的估计常常很不准确,(2)用户对“已完成的”软件系统不满意的现象经常发生。,(3) 软件产品的质量往往靠不住。,(4)软件常常是不可维护的。,(5) 软件与数据通常没有适当的文档资料。,(6)软件与数据成本在计算机系统总成本中所占的比例逐年上升。,6,产生GIS工程危机的原因,在工程开发和维护的过程中存在许多多严重问题,一方面与软件本身的特点有关,另一方面也和工程开发与维护的方法不正确有关。,GIS工程是系统软硬件、数据以及系统开发、集成、使用和维护需要的所有文档。,根据美国一些软件公司的统计资料,在后期引入一个变动比在早期引入相同变动所需付出的代价高23个数据量级。图1定性地描绘了在不同时期引入一变动需要付出代价的变化趋势。图2是美贝尔实验室编统计得出的定量结果。,7,1,图1,8,9,解决GIS工程危机的途径,GIS工程学正是从管理和技术方面研究如何更好地开发和维护GIS工程的一门新兴学科。,10,GIS工程设计的基本原则,11,(一)计划管理原则,用分阶段的生命周期计划严格管理,Boehm认为,在工程的整个生命周期应该制定并严格执行六类计划,它们是项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划。,12,(二)坚持进行阶段评审原则,第一,大部分错误是在编码之前造成的,Boehm等人的统计,设计错误占软件错误的63%,编码错误仅占37%;第二,错误发现与改正行越晚,所需付出的代价也越高(参见图1和图2),13,(三)严格的产品控制原则,为了保持系统各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称为基线配置,它们是经过阶段评审后的系统配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制:一切有关修改系统的建议,特别是涉及到对基准配置的个性建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改。,14,采用现代程序设计技术原则,结果应能清楚地审查原则,开发小组的人员应该少而精原则,当开发小组人员数为N时,可能的通信路径有N (N-1)/2条。,承认不断改进工程实践的必要性原则,按照这条原则,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验,例如,收集进度和资源耗费数据,收集出错类型和问题报告数据等等。,15,GIS工程的生命周期方法学,GIS工程采用的生命周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生成的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。,16,瀑布模型,传统的生命周期方法学可以用瀑布型(Waterfall model)来模拟,如图3所示,几个特点:,(1),阶段间具有顺序性和依赖性,(2),推迟实现的观点,清楚区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的旨导思想。,(3),质量保证的观点,第一,,每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。,第二,,第个阶段结束前都要对所完成的文档进行评审。,17,18,技术审查和管理复审,进行审查和复审的必要性,技术审查也是降低软件成本的一个重要措施。,技术审查的标准和方法,成立一个由技术专家组成的审查小组来承担技术审查的工作,审查小组的基本成员有四个人组长、作者和两名评审员。,完整的技术审查过程一般由下述六个步骤组成;准备,简要介绍情况,阅读被审查的文档,开审查会,返工,复查。,复查会的目的是发现错误而不是改正错误。,19,20,生命周期各阶段的基本任务,21,1、问题定义,问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”,问题定义阶段的工作,系统分析员应该提出关于问题性质、工程目标和规模的书面报告。,问题定义阶段是生命周期中最简短的阶段,一般只需要一天甚至更少的时间。,22,2、可行性研究,这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有可行的解决办法或值得做吗?可行性研究比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。,在问题定义阶段提出的对工程目标和规模的报告通常比较含糊。可行性研究应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益,对建议的系统进行仔细的成本/效益分析是这个阶段的主要任务之一。,可行性研究的结果是使用部门负责人决定是否进行这项工程的重要依据。,23,这一阶段的工作主要包括:,1、用户需求调查。从上至下调查目前和将来发展业务上需要些什么信息及今后的设想与建议;从下自上调查所需要的数据和所采用的处理手段。,2、系统目的和任务:空间信息管理与制图;空间指标量算;空间分析与综合评价;空间过程模拟。,3、数据源调查和评估。分析研究什么样的数据能变换成所需要的信息,数据是否齐全,然后对现有数据形式、精度、流通程度等作进一步分析,并确定它们的可用性和所缺数据的收集方法等。,4、评价地理信息系统的年处理工作量、数据库结构和大小、GIS的服务范围、输出形式和质量等。,5、系统的支持状况。部门管理者、工作人员对建立GIS的支持情况;人力状况;财力支持情况。根据上述调查结果确定GIS的可行性及GIS的结构形式和规模,估算建立GIS所需投资和人员编制等。,24,3、需求分析,这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。,系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。,25,可能碰到以下三类用户:,1、能明确提出要求。这类用户希望用GIS来实现现有工作业务的现代化,改善数据采集、分析、表示方法及过程,并用以对工作领域的前景进行评估,以及对现有技术方法更新改造等。,2、不十分明确提出要求,提出要求不合理,或者要求与投入矛盾极大。,3、不能提出具体要求,只是跟风炒作。,26,4、总体设计,这个阶段必须回答的关键问题是:“概括地说,应该如何解决这个问题”,首先,应该考虑几种可能的解决方案。,(1),低成本的解决方案;,(2),中等成本的解决方案。,(3),高成本的“十全十美”的系统。,系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种方案的成本和效益,还应该在充分权衡各种方案的利弊的基础上,推荐一个较好的系统(最佳方案),并且制定实现所推荐的系统的详细计划。如果用户接受分析员推荐的系统,则可以着手完成本阶段的另一项主要工作。,27,上面的工作确定了解决问题的策略以及目标系统需要哪些程序,但是,怎样设计这些程序呢?结构设计的一条基本原理就是程序应该模块化,也就是一个大程序应该由许多规模适中的模块按合理的层次结构组织而成。总体设计阶段的第二项主要任务就是设计软件的结构,也就是确定程序由哪些模块组成以及模块间的关系。通常用层次图或结构图描绘软件的结构。,28,结构化的系统设计模式,29,5、详细设计,总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化,也就是回答下面这个关键问题:“应该怎样具体地实现这个系统呢?”,这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,程序员可以根据它们写出实际的程序代码。,通常用HIPO图(层次加输入/处理/输出图)或PDL语言(过程设计语言)描述详细设计的结果。,30,6、编码和单元测试,这个阶段的关键任务是写出正确的容易理解、容易维护的系统模块。,31,7、综合测试,这个阶段的关键任务是通过各种类型的测试(相应的调试)使系统达到预定的要求。,最基本的测试是集成测试和验收测试。应该用正式的文档资料把测试计划、详细测试方案以及实际测试结果保存下来,做为系统配置的一个组成部分。,32,结构化的程序评价模式,33,8、软件维护,维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。,四类维护活动:改正性维护、适应性维护、完善性维护、预防性维护。,实际上每一项维护活动都应该经过提出维护要求(或报告问题),分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收等一系列步骤,因此是经历了一次压缩和简化了的系统定义和开发的全过程。,每一项维护活动都应该准确地记录下来,做为正式的文档资料加以保存。,34,硬件配置,35,人员配置,36,地理信息系统评价,主要对下列各项进行考查:,系统效率,地理信息系统的各种职能指标、技术指标和经济指标是系统效率的反映。例如系统能否及时地向用户提供有用信息,所提供信息的地理精度和几何精度如何,系统操作是否方便,系统出错如何,以及资源的使用效率如何等等。,系统可靠性,系统可靠性是指系统在运行时的稳定性,还包括系统有关的数据文件和程序是否妥善保存,以及系统是否有后备体系等。,可扩展性,一个系统建成后,要使在现行系统上不做大改动或不影响整个系统结构,就可在现行系统上增加功能模块。,可移植性,系统必须按国家规范标准设计,包括数据表示、专业分类、编码标准、记录格式等,都要按照统一的规定,以保证软件和数据的匹配、交换和共享。,系统的效益,系统的效益包括经济效益和社会效益。,37,地理信息系统标准化,1、地理信息内容和层次,1)地理知识、地理信息、地理数据,地理知识是有关地理现象以及地理过程发展规律的正确认识的集合。地理信息是地理知识的一种,它强调对于地理知识的规范化及其结构化的描述形式,地理数据是地理信息的数字化载体。,2)地理信息的构成和信息结构,地理信息是对地理实体特征的描述,地理实体特征一般分为四类:空间特征属性特征关系特征动态特征,38,地理信息系统标准化,2、地理信息的分类与编码,1)地理信息的分类,作为地学编码基础的分类体系,主要是由分类与分级方法形成的。分类是把研究对象划分为若干个类组,分级则是对同一类组对象再按某一方面量上的差别进行分级。分类和分级,共同描述了地物之间的分类关系、隶属关系和等级关系。,2)地理信息的编码,对地理信息的代码设计是在分类体系基础上进行的,一般地在编码过程中所用的码有多种类型,例如顺序码、数值化字母顺序码、层次码、复合码、简码等。我国所编制的地理信息代码中,以层次码为主。,39,地理信息系统标准化,3、地理信息的记录格式与转换,1)数据交换格式,不同空间数据模型下空间目标的记录完整性及转换完整性,例如由不同简单空间目标之间的逻辑关系形成的复杂空间目标,在转换后其逻辑关系不应被改变;,各种参考信息的记录及转换格式,例如坐标信息、投影信息、数据保密信息、高程系统等;,数据显示信息,包括标准的符号系统、颜色系统显示;,属性数据的标准定义及值域的记录及转换;,地理实体的定义及转换;,元数据(Metadata)的记录格式及转换等。,40,地理信息系统标准化,4、地理信息规范及标准的制定,1)制定地理信息技术标准的主要对象,软件工具:例如软件工程、文档编写、软件设计、产品验收、软件评测等;,数据:数据模型、数据质量、数据产品、数据交换、数据产品评测、数据显示、空间坐标投影等;,系统开发:例如系统设计、数据工艺工程、标准建库工艺等;,其它:例如名词术语、管理办法等。,2)制定地理信息技术标准的一般要求,符合国家有关的法律、法规;,要注意与国际接轨,既能适合于现在,还能面向未来;,编写格式要规范化。,3)编制标准体系表,围绕着地理信息技术的发展,所需要的技术标准可能有多个,各技术标准之间具有一定内在的联系,相互联系的地理信息技术标准形成地理信息技术标准体系。信息技术标准体系具有目标性、集合性、可分解性、相关性、适应性和整体性等特征,是实施编制整个地理信息技术标准的指南和基础。,41,
展开阅读全文