




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1地理信息系统工程设计
GIS工程设计是针对软件开发自身的特点,制定出符合GIS工程的软件开发管理模式与相应的软件开发管理规范,以便最终开发出高质量GIS的规划设计过程。GIS工程设计必须遵循软件工程的方法和原理,它主要包括系统需求分析、系统总体设计和详细设计三个阶段。1地理信息系统工程设计
其中在系统需求分析阶段是要完全弄清楚系统的各种需求,较好地解决所开发的系统“做什么”的问题,并在系统需求说明书和数据要求说明书中详尽和充分地阐述这些需求,而系统的总体设计和详细设计是要解决“怎么做”的问题。
1.1需求分析需求分析阶段的主要任务是确定系统的目标和总体功能,需求分析是软件开发活动的第一步,获得正确的需求分析结果和描述性文档是软件开发成功的前提。地理信息系统软件的需求分析包括用户对系统的功能和系统的性能的需求。地理信息系统包括的功能很多,但必须根据用户的需要进行选择。
1.1需求分析地理信息系统软件的需求分析的考虑因素有:输入功能地理数据管理地理数据查询方式地理信息输出系统性能1.1需求分析可行性分析的主要步骤如下:分析现有地理信息系统软件的优缺点;分析所开发的地理信息系统软件的使用对象的要求;选择需要开发的所有模块,并分析已有算法的实用性地理空间数据管理模式的选择;估计开发成本和时间;提交可行性分析报告。
1.1需求分析目前有许多方法用于支持需求规约,如:
功能分解方法数据流方法信息模型方法(实体关系模型)面向对象方法1.2总体设计总体设计是确定系统的总体框架。不同系统的总体设计方案不尽相同,但是主要内容框架相近,其主要涉及的内容如下:
1)制定系统的目标和规范:包括所开发系统的近期目标、中期目标和长远目标;所涉及的一些规范,如国家和行业的标准规范等,系统软硬件接日规约、系统开发过程中的编码规范和命名规则,设计和开发文档编写规范等。1.2总体设计
2)系统结构的总体设计:包括系统的总体架构、子系统的划分、总体网络和硬件组成、软件系统(包括操作系统、数据库和应用软件等)组成、数据库组成、空间数据组织与存储方法等。
3)处理方式设计:实现系统某些功能,如空间分析、统计和查询等所涉及的一些算法以及评估这些算法性能的方式等,如响应时间、精度、误差、吞吐量等。
1.2总体设计
4)数据结构设计:确定系统所涉及的文件系统的组织方式和结构,数据库的模式、子模式,数据的完整性和完全性设计等。
5)数据库初步设计:包括一致性设计、冗余性设计和防卫性设计。
6)界面初步设计:包括系统整体风格,如登录、图形表现、属性表现、查询统计表现等界面。
1.2总体设计
7)可靠性设计:确定系统可靠性以及质量指标,设计和考虑相应的措施,以使得系统易于修改和维护。最后形成数据库设计说明书、总体设计规格说明书、用户手册和初步的测试计划等。在完成上述工作后,应当组织对总体设计工作的评审,并由用户和开发商双方对最后形成的数据库设计说明书、总体设计规格说明书签字确认。
1.3详细设计详细设计是在总体设计基础之上进一步细化的结果,其主要内容包括:详细的算法数据结构和数据模型面向对象方法实施的功能和使用数据之间的关系详细的界面设计1.3详细设计功能模块之间的接口关系数据库详细设计数据字典测试用例形成详细设计规格说明书和测试规格说明书。在完成详细设计后,要组织评审,并由用户和开发商双方对最后形成的详细设计规格说明书和测试规格说明书签字确认。2地理信息系统工程的开发
系统功能实现系统测试系统使用和维护2.1系统功能实现系统功能实现就是将“系统需求”和“系统设计”变换成程序设计语言编写的程序。在系统功能实现阶段,首先要确定程序设计语言,其影响因素包括:系统的应用范围、算法和计算复杂性、数据结构的复杂性、开发人员对计算机语言熟练的程度、语言的可移植性、运行效率、系统架构(系统应用模式,如B/S或C/S模式)等。目前,在GIS工程开发中,VC、VB、Java以及.net等都是较普遍的编程语言。
2.2系统测试在系统开发过程中和系统交付使用之前,必须进行严格的测试。系统测试包括两个阶段:单元测试系统测试2.2系统测试开发阶段的单元测试也就是在编写出每一个模块之后就对它做必要的测试,编码与单元测试属于软件生存周期中的同一个阶段;2.2系统测试在单元测试之后,对软件系统要进行各种综合测试,也就是系统测试,即集成测试。系统测试包括功能测试和运行调试。功能测试是使用测试用例或示范区数据测试软件各项功能涎行侧试是在装载了整个工程的空间数据以后,按运行要求进行调试,确定是否满足功能与效率要求。2.3系统使用和维护
为了保证软件的质量和可靠性,应力求在需求分析、系统设计(包括总体设计和详细设计)等各个阶段结束前,对各种文档进行严格的技术评审。系统功能实现后在交付使用前必须进行严格的软件测试,软件测试是指按照特定的规程和流程,发现软件错误的过程。软件测试是根据软件开发各阶段规格说明书和程序的内部结构而精心设计一批测试用例,并用这些测试用例去运行程序,以发现程序的错误。3地理信息系统工程的开发模式
GIS工程的开发通常有三种模式:独立开发单纯二次开发集成二次开发3.1独立开发独立开发是指不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如VisualC++,Delphi,C++Builder,VJ+等,在一定的操作系统平台上编辑实现。3.1独立开发独立开发的特点:无需依赖任何商业GIS工具软件,减少了开发成本综合程度和操作效率最高。但由于地理信息系统的复杂性,开发的工作量是十分庞大的,开发周期长。开发上投资的财力比较大。3.2单纯二次开发单纯二次开发指完全借助于地理信息系统工具软件提供的二次开发语言进行应用系统开发。目前,商业化的地理信息系统工具软件已经相当成热,它们大多提供了可供用户进行二次开发的宏语言,如ESRI的ArcView提供了Avenue语言,Maplnfo公司研制的MaplnfoProfessional提供了MapBasic语言等。用户可以利用这些宏语言,以原GIS工具软件为开发平台,针对不同应用对象,开发出自己的应用程序。3.2单纯二次开发单纯二次开的特点:这种开发方式省时省心。二次开发宏语言中调用此动态链接库,从而充分利用二次开发语言操纵地图对象的强大功能。二次开发的宏语言作为编程语言只能算是二流,功能极弱,用它们开发出的应用程序界面不美观,仍然不尽如人意。3.3集成二次开发集成二次开发是指利用专业GIS工具软件如ESRI公司的MapObjects、ArcObjects、MapInfo公司的MapX或其提供的组件来实现GIS的基本功能,同时,采用通用软件开发工具,尤其是可视化开发工具,如Delphi,VisualC++,VisualBasic,PowerBuilder等作为开发平台,进行二者的集成开发。3.3集成二次开发组件GIS开发方法是把GIS的功能模块划分成多个控件,每个控件完成不同的功能,各个GIS控件之间以及GIS控件与其他非GIS控件之间,通过可视化的软件开发工具,根据需要把实现各种功能的“积木”搭建起来,实现地理信息系统的各种功能以及应用系统。
GIS组件一般都包含若干功能单元,诸如空间数据获取、坐标转换、图形编辑、数据存储、数据查询、数据分析、制图表示等。3.3集成二次开发根据其实现的功能,GIS组件可分为如下3级结构:
1)基础组件
面向空间数据管理,提供墓本的交互过程,并以灵活的方式与数据库系统连接。
2)高级通用组件由基础组件构造而成,面向通用功能,简化用户开发过程,如显示工具组件、选择工具组件、编辑工具组件、属性浏览器组件等。它们之问的协同控制消息都被封装起来。这级组件经过封装后,使二次开发更为简单。3.3集成二次开发
3)行业性组件抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程。以GPS监控为例,对于GPS应用,除了需要地图显示、信息查询等一般的GIS功能外,还需要特定的应用功能,如动态目标显示、目标锁定、轨迹显示等。这些GPS行业性应用功能组件被封装起来后,开发者的工作就可简化为设置显示目标的图例、轨迹显示的颜色、锁定的目标以及调用、接收数据的方法等。3.3集成二次开发集成二次开发的特点:可以充分利用GIS工具软件完备的空间数据管理、分析功能,又可以利用其他面向对象可视化开发语言具有的高效、方便等编程优点,集二者之所长,不仅能大大地提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果,更强大的数据库功能,可靠性好,易于移植,便于维护,尤其是利用GIS组件进行集成开发,更能体现出这些优势。4开发方法示例
国内外一些著名地理信息系统软件厂商先后推出了各自组件产品(如ESRI公司的ArcObjects)和基于COM的GIS控件,如ESRI公司的MapObjects与Maplnfo公司的MapX等,国内有武汉吉奥技术有限公司的Geomap。组件产品功能强大,使得开发出的应用系统具有很好的灵活性、开放性和可扩展。选择控件产品进行二次开发,用户可以根据开发的需要,选择一种自己熟悉的二次开发语言来进行开发,开发周期短、难度小。
本节将以ESRI公司的控件产品——MapObjects为例,简单讲述地理信息系统的开发方法。4.1在VB中使用MapObjects
1)装入MapObjects控件4.1在VB中使用MapObjects
2)加入地图控件并设置图层
在窗体中加入地图控件。可以通过在工具箱中拖曳地图控件到窗体中加入地图控件,然后根据需要再适当调整地图控件的大小和位置。加入地图控件后,还需要加入在地图中显示的数据。可以通过地图控件的属性对话框来选择地图中显示的数据。4.1在VB中使用MapObjects
2)加入地图控件并设置图层
4.1在VB中使用MapObjects
3)运行工程
按运行菜单下的启动命令,运行程序,将显示如下图所示的结果。
4.2在VC中使用MapObjects
1)使用应用程序向导来创建一个基于SDI的可执行工程。
只需讲它的视图基类改成CformView就可以了。
4.2在VC中使用MapObjects
2)在应用程序中加入MapObjects控件
同VisualBasic一样,如果要使用MapObjects控件,就必须将该控件加入到工程中。选择Project菜单的AddToProject命令的ComponentsandControls子命令,打开其对话框。4.2在VC中使用MapObjects
3)在地图中加入数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑项目合同范本:勘察与设计
- 山地旅游资源开发承包合同
- 钢材采购合同样本格式
- 餐饮服务与厨师雇佣合同范文
- 涂料供应与采购合同范本
- 合同档案寄存确认书
- 贷款合同模板:个人贷款标准合同范本
- 银行与公司短期贷款合同范例
- 气动系统培训课件
- 海豚培训课件下载
- 2025年中国CAR-T免疫细胞治疗行业市场发展前景研究报告-智研咨询发布
- 妊娠期用药安全课件
- 月子会所护理人员礼仪
- GB/T 44958-2024化工设备安全管理规范
- 无人机行业调查研究报告
- 2025年轧钢原料工技能考试题库
- 大学生考研规划
- 2022版艺术新课标解读心得(课件)小学美术
- 四川政采评审专家入库考试基础题复习试题
- 车辆采购论证方案
- 《ZARA服装品牌策划》课件
评论
0/150
提交评论