9 GIS软件工程技术

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

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

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

资源描述

GIS的开发建设和应用是一项系统工程,涉及到系统的最优设计、最优控制运行、最优管理,以及人、财、物资源的合理投入、配置和组织等诸多复杂问题。需要运用系统工程、软件工程等的原理和方法,结合空间信息系统的特点进行实施建设。1.软件工程简介计算机软件工程是一类求解的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。其中,计算机科学、数学应用于构造模型与算法,工程科学用于制定规范、设计范型,评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。从学科角度来看,软件工程是一门指导计算机软件开发和维护的工程学科。一、基本概念软件工程框架[王立福]软件工程的目标可概括为:“生产具有正确性、可用性以及开销合宜的产品”,其活动包括需求、设计、实现、确认以及支持等活动,围绕工程设计、支持以及管理。•程序、软件与软件产品独唱--小合唱--合唱--万人大合唱|||简单程序较复杂程序软件•软件包括程序:按事先设计的功能和性能需求执行的指令序列。数据:是程序能正常操纵信息的数据结构。文档:与程序开发、维护和使用有关的图文材料。计算机应用发展软件数量多规模大软件成本高质量低个体化软件开发方法软件维护困难软件危机软件工程•软件开发的发展过程二、软件危机软件工程的提出,是为了解决60年代出现的软件危机。软件工程的研究,提出了一系列理论、原则、方法以及工具,试图解决软件危机。软件危机的定义计算机软件的开发和维护过程所遇到的一系列严重问题。表现–对软件开发成本和进度的估算很不准确–用户很不满意–质量很不可靠–没有适当的文档–软件成本比重上升–供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势•软件危机产生的原因–客观:软件本身特点•逻辑部件•规模庞大–主观:不正确的开发方法•忽视需求分析•软件开发=程序编写•轻视软件维护•软件危机的解决途径–组织管理•工程项目管理方法–技术措施•软件开发技术与方法•软件工具•软件工程1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生。概括地说,GIS工程危机包含两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的软件与数据。(1)对软件开发成本和进度的估计常常很不准确。(2)用户对“已完成的”软件系统不满意的现象经常发生。(3)软件产品的质量往往靠不住。(4)软件常常是不可维护的。(5)软件与数据通常没有适当的文档资料。(6)软件与数据成本在计算机系统总成本中所占的比例逐年上升。三、软件工程活动软件工程活动包括需求、设计、实现、确认及支持等,它们对应于软件开发活动的不同阶段,一般来说,软件开发都要经历从分析设计到实现确认的过程。在每个阶段按照相应的规范进行工作,并得到该阶段的成果,是保证整个开发活动成功的关键。(1)需求分析主要工作包括:用户需求调查系统目的和任务数据源调查和评估评价地理信息系统的年处理工作量、数据库结构和大小、GIS的服务范围、输出形式和质量等。系统的支持状况(2)系统设计系统设计的任务是将系统分析阶段提出的逻辑模型转化为相应的物理模型,其设计的内容随系统的目标、数据的性质和系统的不同而有很大的差异。一般而言,首先应根据系统研制的目标,确定系统必须具备的空间操作功能,称为功能设计;其次是数据分类和编码,完成空间数据的存储和管理,称为数据设计;最后是系统的建模和产品的输出,称为应用设计。系统设计是地理信息系统整个研制工作的核心。不但要完成逻辑模型所规定的任务,而且要使所设计的系统达到优化。(3)实现阶段在软件实现阶段,要将设计的结果变换成程序设计语言编写的程序。在实现阶段,首先要确定程序设计语言,其影响因素包括:开发人员对语言的熟悉程度,语言的可移植性,编译程序的效率,编译工具的支持等等。(4)确认活动确认活动贯穿于软件开发活动的时钟,但系统完成后的软件测试是主要的确认活动。软件测试是指按照特定规程,发现软件错误的过程。结合用户要求完成的任务,选择小块实验区(或者用模拟数据)对系统的各个部分、各种功能进行全面试验。实验阶段不仅进一步测试各部分的工作性能,同时还要测试各部分之间数据传送性能、处理速度和精度,保证所建立的系统正常工作,且各部分运行状况良好。如果发现不正常状况,则应查清问题的原因,然后通知硬件或软件提供者进行适当处理。(5)软件维护当软件开发完成并交付用户使用后,就进入运行/维护阶段,在运行/维护阶段仍需要对软件进行修改,称为软件维护,软件维护活动可分为:1)改正性维护2)适应性维护3)完善性维护4)预防性维护四、地理信息系统的硬件配置包括:•计算机—工作站、微机、便携式计算机;•数据输入设备—数字化仪、扫描仪等;•数据输出设备—图形终端、绘图仪、打印机、硬拷贝设备等;•存贮设备—磁带机、光盘机等。•直到70年代末,各种信息系统的计算机硬件配置系统还很简单,主要是基于集中式的配置,其数据存贮和处理功能都集中于主机上。•80年代末,提出计算机主机上的处理功能与数据相分离的分布式概念。光盘读写器磁带机大容量硬盘扫描仪数字测图仪数字化仪投影设备媒体制作其他设备绘图仪打印机胶片记录仪网络网络工作站1工作站2工作站3……微机便携式计算机…………处理设备存贮设备输入设备输出设备服务器地理信息系统硬件系统的配置(据边馥苓)•操作系统软件是地理信息系统软件开发的基础平台。•数据输入软件,包括:基于矢量的地图数字化和编辑软件,基于栅格的地图/影像扫描软件。•数据查询和分析软件。•图像处理软件。•网络管理软件。•信息输出软件。五、地理信息系统的软件配置六、地理信息系统的人员配置•地理信息系统项目经理/技术组•数据库经理•数字化操作员•系统操作员•应用分析软件经理•程序编写员七、地理信息系统工程成功的关键缺乏远见失败的GIS缺少用户的介入缺少决策者的有效支持缺少专业知识缺乏长期规划缺少系统分析个人冲突没有协作精神没有总体目标没有任务目标没有应用目标没有软件版本升级没有数据的更新没有模型的改进没有使用系统方法没有反复试验修改没有培训没有手册没有用户的参与错误的选择错误的使用没有进行咨询地理信息系统开发成功的要素构成图八、开发过程模型软件开发模型是软件开发全部过程、活动和任务的结构框架。软件开发模型能够清晰、直观的表达软件开发过程,明确规定要完成的主要活动和任务,可以作为软件项目工作的基础。瀑布模型瀑布模型具有几个特点:(1)阶段间具有顺序性和依赖性(2)推迟实现的观点清楚区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的旨导思想。(3)质量保证的观点第一,每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。第二,第个阶段结束前都要对所完成的文档进行评审。瀑布模型八、开发过程模型系统需求软件需求需求分析设计编码测试运行演化模型:主要针对事先不能完整定义需求的软件开发。用户可以先给出核心需求,当开发人员将核心需求实现后,用户提出反馈意见,以支持系统的最终设计和实现。螺旋模型:是在瀑布模型以及演化模型的基础上,加入风险分析所建立的模型。喷泉模型:体现了软件开发过程中所固有的迭代和无间隙的特征。表明了软件开发活动需要多次重复。喷泉模型演化维护确认实现设计分析2.GIS工程设计的基本原则(一)计划管理原则:用分阶段的生命周期计划严格管理。Boehm认为,在工程的整个生命周期应该制定并严格执行六类计划,它们是项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划。(二)坚持进行阶段评审原则:第一,大部分错误是在编码之前造成的,Boehm等人的统计,设计错误占软件错误的63%,编码错误仅占37%;第二,错误发现与改正行越晚,所需付出的代价也越高。(三)严格的产品控制原则:为了保持系统各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称为基线配置,它们是经过阶段评审后的系统配置成分(各个阶段产生的文档或程序代码)。(三)严格的产品控制原则o采用现代程序设计技术原则o结果应能清楚地审查原则o开发小组的人员应该少而精原则o承认不断改进工程实践的必要性原则3.GIS领域的体系结构和构件按照应用目的,地理信息系统可以分为区域地理信息系统、专题地理信息系统以及地理信息系统工具,它们共同组成了GIS领域(Domain)。所谓领域,是指共享某种功能性的系统或应用程序的集合,换言之,领域表现了一组应用系统共性的方面。操作系统地理信息系统工具区域GIS专题GIS领域应用系统具体,专用抽象,通用GIS领域GIS领域体系结构:一个工作流视图对于领域,实施领域工程,得到领域模型,并建立领域特定的软件体系结构(DSSA,Domain-SpecificSoftwareArchitecture)。地理信息系统的核心功能包括空间数据的输入、管理、分析以及表现,并且这些功能形成了一个比较完全的数据处理流程,考虑到与遥感以及全球定位系统的结合,形成如上的系统结构(如上图)。构件技术标准:OMG(对象管理组织)的CORBA(公共请求对象代理体系结构-Commonobjectrequestbrokerarchitecture)和Microsoft的OLE/COM/DCOM技术。COBRA定义了一个带有开放软总线的分布式结构,在这一结构中,来自不同厂商、运行于不同操作系统上的对象,能够进行互操作。CORBA对象的互相通信通过对象请求代理(ORB,ObjectRequestBroker)为中介,可以在多种流行网络通信协议上实现。接口描述语言(IDL,InterfaceDescriptionLanguage)用于描述对象接口,它与语言无关,使得所有CORBA对象以一致的方式被描述。Microsoft的DCOM(分布式对象构件模型,DistributedComponentObjectModel)技术是对原有的COM技术的扩展,以支持在网络上不同计算机的对象之间的通信。COM定义了接口的二进制标准,包括接口交互、管理对象及其资源等等。而DCOM通过增加网络协议的支持,使得对象可以通过网络互操作。DCOM技术很好的支持复用,位置独立,可扩展等,并且其执行性能较好,目前被基于Windows平台的软件开发商所广泛支持。4.GIS工程的生命周期方法学GIS工程采用的生命周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生成的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。详细设计编码与单元测试综合测试软件测试软件错误的积累和放大效应瀑布模型软件维护问题定义可行性研究需求分析总体设计(1)问题定义问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”问题定义阶段的工作,系统分析员应该提出关于问题性质、工程目标和规模的书面报告。问题定义阶段是生命周期中最简短的阶段一般只需要一天甚至更少的时间。(2)可行性研究这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有可行的解决办法或值得做吗?可行性研究比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。在问题定义阶段提出的对工程目标和规模的报告通常比较含糊。可行性研究应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益,对建议的系统进行仔细的成本/效益分析是这个阶段的主要任务之一。可行性研究的结果是使用部门负责人决定是否进行这项工程的重要依据。可行性研究阶段的工作主要包括:1、用户需求调查。从上至下调查目前和将来发展业务上需要些什么信息及今后的设想与建议;从下自上调查所需要的数据和所采用的处理手段。2、系统目的和任务:①空间信息管理与制图;②空间指标量算;③空间分析与综合评价;④空间过程模拟。

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

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

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

×
保存成功