基于软件工程思想,简要介绍了GIS软件基本概况,并详细探讨了软件开发模型及方法在GIS软件开发中的具体应用,最后展望了GIS软件开发方法的未来发展。
GIS工程学源自系统工程学,是软件工程学与地理信息科学两者的结合。GIS工程学的理论根基在于系统学、软件工程学以及系统工程学等。GIS开发设计,用运用软件工程理念,结合GIS软件开发特征及目标,设计GIS软件开发计划,并分析软件实际用户需求及可行性,从而得到软件开发的技术方案,用以实施、维护软件。
一、GIS软件系统简介
地理信息系统(GIS),是输入、查询和管理空间地理数据的综合技术,其应用范围十分广阔。两千年前,人类就学会用地图来表达空间数据,但空间数据只有通过GIS才能发挥其相应的作用。GIS不仅能定量分析数据,还能将分析结果转换为图形,并支持空间与数据思维,与传统地图上的数据统计与分析,有很大进步。要使GIS能对空间数据展开操作,离不开相应的软件支持。软件,被誉为GIS系统的大脑,离开了软件,GIS技术也就无从谈起。
在GIS基础软件中,均包含数据输入、数据输出及空间分析这3大功能软件。这是因为,不管什么用户,上述3种功能均可实现通用,而应用模块则为某种特定目标GIS模块,在基础软件中通常没有。
为更好地应用GIS,就应在GIS软件开发基础上,添加某种应用模块+工具软件,以适应用户的基本需求。例如,城市规划与水资源调查的应用模块,在功能设计上完全不同。GIS的应用模块带有某种辅助决策功能,并直接服务于用户的事务性工作。
二、软件过程模型在GIS开发中的应用
(一)瀑布模型
瀑布模型,又叫做生存周期模型,由WRoyce首次提出(1970年)。它的核心思想在于:根据工序简化问题,运用结构化分析及设计方法,区分逻辑与物理实现。瀑布模型,通常以文档为驱动,它具有下列特征:阶段间有一定的序列性与依赖性;能有效区分逻辑与物理设计,延缓程序的物理实现;能保证质量保证;能清晰呈现软件开发的主要框架。
瀑布模型通常可用于开发功能全面、性能良好且变化较小的GIS软件系统。值得注意的是,倘若过早地实现瀑布模型程序,往往会引发返工;其阶段间的依赖性会使得工作中出现“阻塞”状态。如在软件生存周期末才发现错误,还将造成严重的后果;瀑布模型开发方法需要大量规范化文档与评审,这无疑增加了项目工作量,降低了灵活性。因此,在未能全面分析软件需求的前提下,不建议使用该方法开发GIS软件。
(二)快速原型模型
快速原型模型,主要在用户无法提供确切的需求说明,或开发者无法明确算法的有效性及适用性等状态下,按照用户的特殊需求,迅速建造可运行软件,并对其展开评估;它能让开发者更好地把握预期目标,并精化和调整原型,以适应其应用需求。
快速原型模型的应用,有助于系统维护与用户交互,它比生存周期法好很多,便于开发商与用户交流,以对原有系统加以改进。快速原型模型,通常可用于风险小、柔性偏大的GIS软件系统开发。需要指出的是,开发者应避免将其不了解的领域作为主要框架(模型效应);它不适宜用于嵌入式、实时控制以及科技数值计算软件的开发。
(三)面向对象的软件过程模型
1.构件复用模型
面向对象技术,将事物实体转变为含数据与数据处理方法的对象。构件/组件在软件系统中有着不可替代的作用,它通过合理的定义体系结构来适应某种服务功能,可借助其他接口访问各项服务。在以构件为基础的软件开发中,软件大多由构件组成。
构件复用模型传承了螺旋模型的本质特征,支持软件开发的迭代方法,并根据预先装包的软件构件复用,来为驱动构造设计程序。
第一,标识候选类,根据检查程序涉及的数据与算法,将具体算法与数据封装在同类中;便于用户按照标识的类便能搜索类库。假如该类存在,还可从类库中提取和复用;如该类不存在,便可应用面向对象方法来开发GIS软件。后续,可通过提取库中的类,来适应应用程序的特殊要求并设计新类。
2.统一过程模型
统一过程模型(RUP)知名度相对较高,是现行应用效率最高的软件开发过程模型。在软件生命周期中,统一过程模型可分为4个顺序阶段,各阶段由某个里程碑为结束。RUP各阶段可细分为一次迭代。
对比瀑布模型,RUP具有下列优势:规避增量上的开支风险;加快GIS软件开发进度;迭代过程的该种模式能更好地适应变化需求;迭代模型结构清晰,为GIS软件开发带来各种通用与便捷。
三、GIS开发方法的未来展望
20世纪90年代初,GIS开始进入产业化领域。时至今日,GIS已演变为开发人员近10万、注入资金达10亿的全球产业链。全球各国已开发出多款实用性较强、可行性高的地理信息系统,较常使用的GIS软件已有400余种。现阶段,国内外GIS软件开发的发展走向,是将地理信息系统与国家信息化、知识经济融合起来,通过先进技术方式,创造新的经济增长点,以增强国家的安全能力。
因此,未来需加大对业务化GIS软件系统的开发力度,全面提升GIS的应用程度及效益。GIS软件与一般程序不同,其特点在于规模庞大,程序相对复杂,且程序规模越多,其复杂指数也会相应增加。
所以,当前的计算机软件工程方法对GIS开发设计并不完全适用。未来,工程师与系统分析人员还应在GIS软件工程开发过程中不断展开研究,探索适用性较强的GIS软件开发方法。
四、结束语
GIS软件在国民经济发展与国防建设中有重要作用,不管是从商业利益还是国家安全方面考虑,我国发展都不能过于依赖进口商业软件。为此,国家及政府部门应针对性地扶持潜力较大的GIS软件开发项目,探讨适应性强的软件开发方法,以尽早获取有自主版权的GIS软件产品。
作者:何嘉伟 来源:消费电子·下半月 2014年12期