GIS工程1GIS软件工程概述.ppt
GIS软件工程,教学安排 总学时:48学时 授课方式:多媒体讲授 考核方式:书面考核 参考书:(1)毕硕本等,GIS软件工程的原理与方法,科学出版社(2)吴信才等,GIS软件工程设计与实现,科学出版社(3)郭庆胜等,GIS工程设计与管理,武汉大学出版社,教学内容:第一章 GIS软件工程概述第二章 GIS软件工程的可行性分析第三章 GIS软件工程的系统分析第四章 GIS软件工程的总体设计第五章 GIS软件工程的详细设计第六章 GIS软件数据工程第七章 GIS软件工程的实施与测试第八章 GIS软件维护工程第九章 GIS软件工程管理与标准化,前言,关于教科书和课程地理信息系统软件工程的原理与方法毕硕本 科学出版社 地理信息系统工程(GIS Engineering)教育部规定的GIS本科专业核心课程,GIS工程的特点涉及内容广泛以软件工程为主线,前言 cont.,学习方法课堂学习多读一些关于GIS,IT书和杂志软件工程GIS技术IT技术.注意平时,丰富知识和阅历注意观察你周围的现实世界注意看看你接触的软件,尤其是GIS,思考它们如何运作,如何实现常去GIS论坛上看看,注意GIS发展,实际工程中的问题但是眼光不要仅仅限于狭义的GIS一些忠告积累很重要获得技术、方法和经验,为以后的实际工作打下基础发展迅速,GIS工程是一种实践,没有固定的模式,没有绝对的正确和所有的工程过程一样,“没有最好,只有更好”,“痛,并快乐着”,0.1GIS工程需求,GIS再认识信息系统(Information System,IS)为对某种信息流进行控制,组织、管理、充分利用,就需要建立某种信息系统可以是非计算机的系统基于计算机的信息系统事务处理系统、管理信息系统决策支持系统人工智能、专家系统地理信息系统,0.1GIS工程需求,地理信息系统(Geographic Information System,GIS)GIS是对地理环境有关问题进行分析和研究的一门学科,它将地理环境的各种要素,包括它们的空间位置形状及分布特征和与之有关的社会、经济等专题信息以及这些信息之间的联系等进行获取、组织、存储、检索、分析,并在管理、规划与决策中应用。为了获取、存储、检索、分析和显示空间定位数据而建立的计算机化的数据库管理系统。(美国国家地理信息与分析中心)。是在计算机软硬件支持下,以采集、存储、管理、检索、分析和描述空间物体的定位分布及与之相关的属性数据,并回答用户问题为主要任务的计算机系统。GIS是一种获取、存储、检索、操作、分析和显示地球空间数据的计算机系统。(英国教育部),0.1GIS工程需求,GIS应用领域,0.1GIS工程需求,GIS软件系统的分类传统平台型GIS软件提供构建GIS系统的基础专业模块型GIS软件提供面向某一领域的GIS模块行业/企业应用型GIS软件基于GIS,深入到企业、应用领域,满足日常的业务运行公众服务性GIS软件Google Map,Baidu地图,0.1GIS工程需求,GIS应用系统,如何获得一个GIS?,什么是工程问题,思考问题:怎么把一头大象放到冰箱里?目标步骤结果,0.1GIS工程需求,工程学科有组织、有步骤、有计划使用恰当的理论、方法、工具,有选择的加以利用,在没有有效的理论方法、工具时也力求找到问题的解决办法。在确定的时间、预算内,保证质量的达到预定目标。工程案例:建筑史上:长城、金字塔;科技史上的:曼哈顿计划、阿波罗登月。,0.1GIS工程需求,为什么需要GIS工程?1.GIS应用系统建设是一个长期的过程南京数字房产的一期工程建设花费了三年时间。,0.1GIS工程需求,为什么需要GIS工程?GIS是一个复杂系统GIS本身的复杂性空间数据GIS应用开发模式软件体系越来越庞大,涉及数据库、中间件、用户界面几乎没有“纯GIS”,它处在一个开放的复杂环境中深入到行业领域,与其他系统进行集成,比如OA、SCADA,是部门信息化建设的一个环节接口复杂要求开放,GIS应用系统实例,0.1GIS工程需求,为什么需要GIS工程?GIS的获得是一项需要成本的活动软件开发成本经济成本人力资源成本时间成本硬件成本计算机网络绘图仪基础软件成本数据库GIS平台开发工具数据成本,0.1GIS工程需求,为什么需要GIS工程?GIS工程实施面临的问题沟通配合不力,开发人员与客户认识差异国家政策、体制改革导致的业务变化新系统与原有系统的整合客户单位条、线分割对系统建设的影响客户单位工作人员对新系统的自然抵触情绪对GIS应用期望值过高,忽视配套实施措施系统开发完成后,缺乏具体推进计划缺乏后期的系统维护,不能适应变化,0.2 GIS工程框架,GIS四要素,0.2 GIS工程框架,GIS的开发建设和应用是一项系统工程,涉及到系统的分析、设计、实施,以及人、财、物等资源的合理投入、配置、组织和管理等诸多问题。需要运用系统工程、软件工程等的原理和方法,结合空间信息系统的特点进行实施建设。,0.2 GIS工程框架,GIS工程包含的内容工程实施GIS软件工程GIS数据工程GIS网络工程技术与方法需求、分析、设计方法成本估算方法、风险识别、分析管理工程管理工程监理人才培养,0.2 GIS工程框架,工程实施GIS硬件与网络工程按照GIS项目的需求和特性,综合分析成本和效益,获取需求的硬件和组建系统的硬件环境,支撑整个GIS系统的运行GIS硬件计算机及其辅助设备数据采集设备数据通信设备计算机网络IntranetInternetExtranet内部网络外部网络无线通信网络GMSGPRSCDMA无线专用网络无线局域网,0.2 GIS工程框架,工程实施 GIS软件工程获得GIS软件的工程生产活动,是整个GIS工程的驱动力量,其系统分析、设计直接影响硬件和数据工程。GIS软件工程的系统分析GIS软件工程的总体设计GIS软件工程的详细设计详细设计用户界面设计标准化设计GIS软件工程的实施与测试GIS软件维护工程,软件工程基本过程,0.2 GIS工程框架,工程实施GIS数据工程数据采集数据处理 数据整合数据建库 数据质量控制 数据管理 数据共享,客户,咨询单位,开发单位,监理单位,0.2 GIS工程框架,GIS工程管理框架,0.2 GIS工程框架,简单的工程管理组织框架示例,0.3 GIS工程过程,GIS系统的获得方式通过购买委托软件开发商来开发委托开发招投标组织内部的人员开发,0.3 GIS工程过程,GIS系统获得流程,GIS工程过程,GIS工程过程不同描述,其侧重点各不相同问题定义-可行性研究-需求分析-总体设计-详细设计-编码和单元测试-综合测试-软件维护策略规划-项目合同-实施规划(软硬件配置)-子项目划分和进度安排-开发和数据管理前期工程(工程调研-可行性研究和项目开发计划-需求分析)-设计工程(总体设计-数据库设计-应用模型设计-详细设计)-数据工程(数据预处理-数据采集-数据处理)-工程实施(程序编制-测试-试运行)-维护工程(数据库维护-软件维护和硬件维护),第一章 GIS软件工程概述,第一节 GIS软件工程第二节 软件生存周期模型第三节 GIS软件工程生存周期第四节 GIS软件工程主要过程,第一节 GIS软件工程一 GIS软件的主要特点 1、传统GIS的存储技术采用空间数据库和属性数据库的分离;2、数据组织与处理模式方面沿用地图处理的模式;,将空间数据组织成实体(点、线、面)、图层、地图和图库几个层次 以图层作为处理的基本单元 以比例尺作为基本依据 基本上是面向过程的,3 在网络和分布式环境下系统组成方面,传统的GIS支持树型的系统结构和主从工作模式,上下级的数据交换基本上以图层为单位进行。4 在空间数据管理范围方面,目前的GIS可以有效地处理二维空间数据,并能较好地处理DEM数据,实现三维实体的表面显示。5 在数据共享方面,已经解决了不同格式空间数据之间的转换问题,可以实现有缝的数据共享,但是互操作问题还没有得到解决。,二 GIS软件开发中的主要问题,时间和经费方面的问题开发的软件不能满足用户的要求开发的软件可维护性差开发的软件可靠性差数据采集的工作量大软件需求与软件生产的矛盾软件可重用性差,三 GIS软件开发存在问题的原因,软件规模越来越大,结构越来越复杂软件开发的管理困难软件开发费用不断增加软件开发技术落后生产方式落后开发工具落后,生产力提高缓慢通用GIS发展更新过程中的衔接问题,四 GIS软件工程1、软件工程的定义 软件工程是运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。软件工程是开发、运行、维护和修复软件的系统方法,是用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程是计算机科学的一个分支,其主要思想是在软件生产中用工程化的方法代替传统手工方法。,2 软件工程的性质 软件工程是涉及计算机科学、工程科学以及数学等领域的交叉学科,要用工程科学中的观点来进行费用估算、制定进度、制定计划和方案;用管理科学中的方法和原理进行软件生产的管理;用数学的方法建立软件开发中的各种模型和算法。GIS软件工程涉及的学科包括地理学、测量学、地图制图学、摄影测量与遥感、计算机科学、数学、统计学以及与处理和分析空间数据有关的学科。,3 软件工程的目标,低开发成本,易维护,按时交付,可靠性高,高性能,互斥关系,互补关系,4 软件工程的内容,软件工程研究的主要内容,五 GIS软件工程的特色 GIS与其他信息系统的最大区别是它能够处理具有空间特征的对象,GIS软件工程特点:,系统复杂度大数据在系统中具有特别的地位系统表达方式复杂系统更新速度快系统维护工作量大易操作性要求高,第二节 软件生存周期模型,一 概述 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调以及各类人员的有效通信,有利于活动管理。常见的有瀑布模型、增量模型、螺旋模型、喷泉模型以及基于知识的智能模型等。,二 瀑布模型 瀑布模型是将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、总体设计、详细设计、编码、测试和维护,规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型是一种有效的管理模型,以项目的阶段评审和文档控制为手段对整个开发过程进行指导,是以文档作为驱动、适合于需求很明确的软件项目开发的模型。,1 模型表示,要求定义确认,设计确认,编码确认,测试确认,维护确认,需求说明书,设计说明书,源程序清单,测试报告,软件维护报告,2 瀑布模型的特点 瀑布模型严格按照生存周期各个阶段的目标、任务、文档和要求进行开发。在这种严格定义的模型中,开发人员试图在每一活动过程结束后,通过严格的阶段性复审与确认,得到该阶段的一致、完整和无二义性的良好文档,作为下一阶段活动的唯一基础。瀑布模型是以文档形式驱动的,为合同双方最终确认产品规定了蓝本,为管理者进行项目开发提供了基础,为开发过程施加了纪律限制。,瀑布模型是一种整体开发模型,在开发过程中,用户看不见系统样子,只有开发完成向用户提交整个系统时,用户才能看到完整的系统。瀑布模型适用于功能和性能明确、完整、无重大变化的软件开发。大部分的系统软件都有这些特征,如编译系统、数据管理系统和操作系统等,在开发前均可以完整、准确、一致和无二义性地定义其目标、功能和性能等。,3 瀑布模型的局限性 很多软件项目在开发前期用户一般很难明确确定和表达对系统的全面要求,要保证每个阶段特别是定义阶段的正确和完整很难做到。用户在开发过程中会有新的要求,开发人员在开发过程中的实际困难,都是严格线性开发的重大障碍。作为整体开发的瀑布模型,只有在最终产品运行时才能发现一些错误,缺乏应付变化的机制,最终产品难以维护。,第三节 GIS软件工程的生存周期,GIS软件工程生存周期是指一个GIS软件从提出开发要求开始直到该软件报废为止的整个时期。按照工程化的思想进行划分,GIS软件工程整个生存周期划分为五个阶段:前期工程、设计工程、数据工程、工程实施、维护工程。,一 前期工程 GIS软件前期工程阶段包括工程调研、可行性研究、制定项目计划、需求分析等子阶段。(1)工程调研 根据软件开发的基本目标和技术要求,对国内外相关项目进行调研,确定该领域GIS软件的发展现状、存在的问题等。(2)可行性研究和项目开发计划(3)需求分析 需求分析阶段需要准确地确定软件系统必须具备的功能,最后给出软件需求说明书。,二 设计工程 此阶段又可以分为总体设计、数据库设计、模型设计、详细设计等过程。(1)总体设计 将确定的各项功能需求转换成需要的体系结构,每个成分都是意义明确的模块,每个模块和功能需求相对应。(1)数据库设计 对于给定的应用环境,提供确定的最优数据模型、处理模式、数据存储结构、存取方法,有效存取空间数据的数据库。,(3)应用模型设计 GIS应用领域广泛,针对不同领域的特殊的技术要求,运用并分析该领域的应用模型,设计实现该应用模型的技术方法。(4)详细设计 为每个模块完成的功能进行具体描述,如该模块的控制结构如何,先做什么,后做什么,有什么样的条件判定,有些什么重要处理等,并用相应的工具把这些控制结构表达出来。,三 数据工程 包括数据预处理、数据采集、数据处理等。(1)数据预处理 消除数据之间的不一致、不统一、不匹配等,使采集的数据符合规范化标准。(2)数据采集 野外数据采集、图形数据采集、属性数据采集、图形数据与属性数据的联结。(3)数据处理 格式转换、图形单元的修改与增删、图幅拼接、坐标转换、几何纠正、数据编辑处理等。,四 工程实施 包括程序编制、测试、试运行等阶段。(1)程序编制 把每个模块的控制结构转换为计算机可以接受的程序代码。(2)测试 在设计测试用例的基础上检验软件的各个组成部分。(3)试运行,五 维护工程 包括数据库维护和软硬件维护。1 数据库维护 GIS软件中的数据随着应用规模的扩大迅速变化,包括基础地理信息与专题信息的维护和更新。2 软件维护和硬件维护 软件维护是软件生存周期中时间最长的阶段,包括对修改、变更和扩充增加功能等。,第四节 GIS软件工程建设的主要过程,与一般信息系统不同,GIS以地理数据为管理内容,具有以下特点:(1)综合性强,横跨多个学科(2)数据组织以空间数据为主(3)面向应用,以空间分析为主 如土地管理信息系统、资源与环境信息系统、市政规划信息系统、商业销售管理信息系统等。,一 GIS软件开发的工程化方法,1 制定开发计划 确定产品的总体目标,给出功能、性能、可靠性及接口方面的要求,并对可利用的资源、成本、可取得的效益、开发的进度作出评估,制定初开发任务的实施计划和可行性报告。2 GIS需求分析 对待开发的GIS产品的需求进行分析并给出详细定义,编写出GIS需求说明书或系统功能说明书及初步的GIS用户手册。,3 GIS系统设计 是GIS工程的技术核心,包括总体设计、数据库设计和详细设计三个过程。4 GIS程序编码 5 GIS产品测试 6 GIS运行及维护,二 GIS软件工程的系统分析1 GIS软件工程系统分析的目标 GIS软件工程项目的主要目标有较低的开发成本、符合要求的功能、较好的性能和可靠性、较好的移植性和较低的维护费用,按时完成及时交付使用。进行GIS软件工程系统分析的步骤:(1)识别用户要求;(2)评价可行性;(3)经济分析与技术分析;(4)把功能分配给GIS软硬件、人、其他系统元素;(5)成本和进度;(6)生成GIS规格说明,2 GIS软件工程的可行性研究 可行性研究主要集中在经济可行性、技术可行性、法律可行性、不同开发方案的比较评估。可行性报告形式多样,主要内容有:(1)GIS项目背景;(2)候选方案;(3)GIS系统描述;(4)经济可行性;(5)技术可行性;(6)法律可行性;(7)GIS用户使用可行性,3 GIS开发成本效益分析4 GIS开发技术分析 主要包括:需要什么技术,哪些设备、方法、算法或过程,有什么风险,这些技术对成本的影响等。5 分配与权衡 对各候选的系统配置方案进行评估,并将每一个GIS功能,与其必要的一些性能和接口特征,一起分配给一个或多个系统元素(软硬件、数据库、人员、文档等)。,三 GIS软件工程的需求分析 通过GIS软件需求分析,把GIS的功能和性能的总体概念描述为具体的GIS产品需求规格说明,从而奠定GIS开发的基础。需求分析的主要内容:1、问题识别,包括功能需求、性能需求、环境需求、可靠性分析、安全保密要求、用户界面需求等;2、问题分析与方案综合 3、编制需求分析文档,四 GIS软件工程的系统设计 GIS软件工程的系统设计主要内容包括数据设计、系统结构设计和过程设计。数据设计侧重于空间数据结构和属性数据库结构的定义;系统结构设计定义GIS各主要成分之间的关系;过程设计是把结构成分转换成GIS的过程性描述。,五 GIS软件工程的编码设计 六 GIS软件工程建设过程中的文档(1)立项报告;(2)可行性研究报告;(3)系统设计任务书;(4)用户需求分析报告;(5)系统总体设计方案和各子系统设计方案;(6)系统实施总结报告;(7)系统测试报告;(8)用户使用报告;(9)系统验收报告;(10)系统建设总结报告。,本章小结 1、GIS软件工程的主要特点和软件开发过程中的问题,GIS软件的问题及其原因,GIS软件工程的概念,GIS软件工程的特色;2、软件生存周期模型,瀑布模型 3、GIS软件工程的生存周期,包括前期工程、设计工程、数据工程、工程实施和工程维护;4、GIS软件工程建设的主要过程,包括GIS软件工程的系统分析、需求分析、系统设计、编码设计、文档编写等。,END,