软件工程理论在GIS工程活动中的作用
- 格式:pdf
- 大小:258.89 KB
- 文档页数:5
面向对象软件工程技术在GIS中的应用作者:王玉新来源:《电子技术与软件工程》2015年第19期摘要随着我国国民经济和社会科技的不断进步与发展,我们国家的卫生医疗水平、工程建设水平、居民物质生活水平等重要经济指标都得到了很大程度的提升。
随着经济全球化潮流的迅速到来,我们国家的经济、科技、文化领域都受到了不同程度的影响。
就我国科技水平而言,在近些年来的发展中取得了相当优异的成绩,备受世界各国的瞩目。
我国的现代化水平逐渐提高,科学技术领域的创新和发展带领着我们国家逐渐走向更高层次的信息化时代!【关键词】面向对象软件工程技术 GIS 应用随着信息化潮流的迅速到来,我们国家以GIS(地理信息系统)为代表的信息科技领域也在发生着巨大的改变。
GIS信息技术系统从最初的社会地理实践逐渐拓展到如今的国民生产、生活、交通运输、航天航空等重要领域中来。
GIS信息技术系统的进步与开发需要有与之相匹的计算机系统技术来实现,也就是如今炙手可热的面向对象软件工程技术,因此,面向对象软件工程技术在GIS中的应用分析就显得刻不容缓了!1 面向对象软件工程技术与GIS系统概念及发展历程阐述GIS信息技术系统在最初开发使用的时候是作为地理领域信息开发拓展的空间系统出现在群众视线里的。
而随着社会经济和科学技术的不断进步,GIS信息技术系统已经逐渐被运用于我国生产生活等各个重要领域,它主要是通过计算机内部软件和硬件相互配合支持进行相关信息数据的提取和展示,除此之外,在近些年的开发创新中,逐步实现与各项计算机新型软件、技术相配合使用的目标。
面向对象软件工程技术作为近些年来运用较为广泛的计算机软件工程技术之一,可以通过变抽象为具体的运算方法将有效的信息数据紧密结合起来,真正实现信息多元化、辨别化,而不是传统数据模型带来的信息繁冗,能够与GIS技术相配合,充分发挥软件工程技术的优势。
2 目前我国GIS系统技术存在的问题和不足2.1 传统数据系统的文档设置功能不够固定和完善文档设置对于GIS信息技术系统的作用之大想必每一个专业人士都非常了解。
软件工程:将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。
软件工程研究的主要内容是指软件开发技术和软件开发管理两个方面。
软件开发技术包括软件开发方法,软件开发过程,软件工具和软件工程环境。
GIS软件工程:在GIS软件的整个开发过程中,遵循一般软件开发的工程化原理和方法,并照顾到GIS软件开发的特殊规律和要求,对GIS软件建设的各个阶段进行工程化规范的一门技术。
软件生存周期(Software Life Cycle):一个软件从开始计划,到废弃不用为止的整个时期。
一般来讲,软件生存周期包括软件定义、软件开发与运行维护3个时期。
每一时期又可细分为若干更小的阶段。
定义时期:包括问题定义、可行性研究、需求分析;开发时期:包括总体设计、详细设计、编码和单元测试、综合测试;运行维护时期。
问题:把整个软件生存周期划分为更小的阶段有何好处?给每个阶段赋予确定而有限的任务,就能够简化软件建设过程中每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理,降低大规模软件的复杂度。
软件生存周期模型:软件生存周期模型规定了把生存周期划分成哪些阶段及各个阶段的执行顺序,也称为过程模型。
作用:描述软件开发过程中各种活动如何执行的模型;它确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则。
常用模型:瀑布模型(文档驱动)、快速原型模型(用户驱动)、增量模型、螺旋模型(风险驱动)、喷泉模型。
可行性分析:是对建立系统的必要性和实现目标的可能性,从技术因素、理论因素、经济因素和社会因素四大方面进行分析。
可行性分析的任务:1需要进一步分析和澄清问题定义;并列举出对目标系统约束和限制;2分析员应该导出系统的逻辑模型;3从逻辑模型出发,探索出若干种可供选择的主要解法,对每种解决方法都要研究它的可行性;。
理论可行性分析:系统数据结构、数据模型与应用涉及到的专业数据的特征和结构的合适性分析。
地理信息系统软件工程的原理与方法
地理信息系统(Geographic Information System,缩写为GIS)是一种用于收集、存储、分析和展示地理数据的技术。
GIS软件是实现GIS功能的关键,因此GIS软件工程的原理与方法非常重要。
GIS软件工程的原理是指设计和开发GIS软件的基本思想和理论。
其中包括GIS软件架构、组件化设计、模块化开发、软件工程方法论、面向对象设计等。
这些原理是GIS软件开发必须遵循的基本规则,可以保证GIS软件质量和稳定性。
GIS软件工程的方法是指实现GIS软件开发的具体步骤和流程。
其中包括需求分析、设计、编码、测试、部署和维护等。
这些方法可以使GIS软件开发过程更加系统化和规范化,可以确保GIS软件按照预期的要求顺利完成并长期稳定运行。
在GIS软件工程中,还需要注意以下几个方面:
1.数据管理:GIS软件需要对各种地理数据进行管理和处理,如地图、影像、文本等。
因此,要设计数据模型和存储结构,确保数据的准确性和完整性。
2.算法优化:GIS软件需要进行各种空间分析和地理计算,因此需要
针对不同的算法进行优化,以提高计算效率和速度。
3.界面设计:GIS软件需要提供友好的用户界面,以方便用户进行操作和查询。
因此,需要进行用户体验设计和界面美化。
4.安全保障:GIS软件需要保证数据的安全性和隐私性,如身份验证、数据加密等。
因此,需要进行安全设计和加密算法的开发。
总之,GIS软件工程是一项高度专业化的工作,需要开发人员掌握一定的GIS理论知识和软件工程技能,才能开发出高质量、稳定性强的GIS软件。
94收稿日期:2020-06-04作者简介:刘佳(1984—),女,湖南益阳人,硕士,高级政工师、讲师,研究方向:软件工程。
0 引言软件工程是一门研究如何通过系统、规范、量化的方式对软件进行开发与维护的一门学科技术,他包含了两个方面的内容,一个是软件开发、另一个是软件项目管理。
软件开发技术的学科内容包括软件开发方式、工具、工程环境等。
软件项目管理的内容包括有软件的度量、估算、进度管理、结构组织、资源配置等。
1 GIS软件概述地理信息系统,简称为GIS,它还有一个名称“地学信息系统”,它是一种特定的并且十分重要的空间信息测定系统。
它的支撑基础是计算机硬件与软件系统,它可以对地球表面整个或者部分的空间地理数据分布情况进行采集,储存与管理等。
位置与地理信息不仅是LBS的核心内容,同时也是LBS技术的一个重要基础。
一个单词的经纬度坐标信息只能在一个特定的地理信息中。
GIS涉及的学科内容有很多,在地理学与地图学以及计算机等学科领域方面的知识都有不同程度的应用。
GIS可以对地理信息进行输入、查找、储存与分析,随着GIS技术研究的不断深入以发展,也有人将GIS称之为“地理信息科学”。
2 面向对象的软件工程技术面向对象的软件工程技术,也就是指通过对象的指定,将抽象的数据与现实世界之间联系起来,抽象有多种归纳方式,有特殊的,也有传统的。
将几个对象的共同点或者属性进行抽象化处理与归纳处理,这种处理方式属于一般方式。
在对这些对象进行定义时,就不需要对它们之间重合的部分进行二次描述了,这种代码编辑方式可以有效节省储存空间[1]。
继承功能的演绎手段从一般到特殊有很多种,基类可以为所有的子类提供它们供油的特征与行为描述,通过层层递进的方式实现从抽象数据到实体的转变[2]。
如果在进行软件工程设计的早期或者全程中都使用面向对象技术,那么该技术在实践过程中发挥的作用是十分大的。
但是如果要使用面向对象技术,那么一定要事先对该技术的影响力进行评估,如果只是使用面向对象技术进行软件程序的设计,那么起到面向对象技术的优势将得不到发挥,软件工程师在使用面型对象技术时,还需要对软件的需求结构以及数据库等进行分析,这样才能是面向对象技术的应用优势得到发挥。
工欲善其事,必先利其器。
孔子第十六章地理信息系统软件工程技术导读:本章介绍了软件工程的基本概念,软件开发活动,过程模型以及两种重要的开发方法:结构化方法和面向对象的方法。
在GIS开发过程中应用软件工程技术,可以提高软件开发效率和质量。
本章讲述了软件工程技术在GIS系统开发中的几个应用方面:GIS软件构件和构架需求分析数据管理设计用户界面设计设计模式在GIS软件开发中的应用应用配置管理来实现空间过程支持这些方面涉及了GIS开发过程中不同的阶段以及不同的层次,有些方法之间是互斥的,如UML和Code方法,但是软件工程技术最重要的是实用,开发者可以根据具体的情况选用不同的技术。
1.软件工程简介1.1基本概念计算机软件工程是一类求解的工程。
它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。
其中,计算机科学、数学应用于构造模型与算法,工程科学用于制定规范、设计范型,评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
从学科角度来看,软件工程是一门指导计算机软件开发和维护的工程学科。
软件工程的提出,是为了解决60年代出现的软件危机,当时在大型软件开发中存在着价格高,开发不容易控制,软件开发工作量估计困难,软件质量低,项目失败率高等许多问题,给软件行业带来了巨大的冲击。
软件工程的研究,提出了一系列理论、原则、方法以及工具,试图解决软件危机。
和其它工程一样,软件工程有其目标、活动和原则,其框架可以概括为图16-1所表示的内容。
图16-1:软件工程框架[王立福]软件工程的目标可以概括为“生产具有正确性、可用性以及开销合宜的产品”,其活动包括需求、设计、实现、确认以及支持等活动,围绕工程设计、支持以及管理,有以下的四条基本原则:1)选取适宜的开发模型,可以认识需求易变性,并加以控制,以保证软件产品满足用户的需求;2)采用合适的设计方法,通常要考虑实现软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征;3)提供高质量的工程支持,在软件工程中,软件工具与环境对软件过程的支持颇为重要;4)重视开发过程的管理,软件工程的管理,直接影响可用资源的有效利用、生产满足目标的软件产品,提高软件组织的生产能力等问题。
GIS面向对象软件工程技术应用
GIS面向对象软件工程技术是一种广泛应用于GIS系统开发的技术,其主要思想是将GIS系统建模成对象,通过面向对象的编程方式来实现系统的设计、开发和维护。
以下是GIS面向对象软件工程技术的主要应用:
1. 建模和设计:GIS面向对象软件工程技术提倡面向对象的建模方法和设计模式,让系统开发者明确系统的功能和结构,并实现良好的模块化和可重用性。
2. 技术平台:GIS面向对象软件工程技术推崇使用基于对象的技术平台,例如JAVA、C#等编程语言、UML建模工具和面向对象的数据库管理系统。
3. 架构实现:GIS面向对象软件工程技术对系统的架构实现提出了很高的要求,包括可伸缩性、可维护性、可靠性、安全性等严格要求。
4. 数据库管理:GIS面向对象软件工程技术采用面向对象的数据库管理系统,提供数据的可视化编辑和分析,使系统可扩展性更好。
5. 用户接口:GIS面向对象软件工程技术需要将用户接口设计成符合人类习惯的交互体验,提高用户的使用体验。
6. WEB平台:GIS面向对象软件工程技术采用WEB服务和客户端技术,将GIS系统发展成为一个网络化、分布式、云端化的GIS 应用平台。
GIS面向对象软件工程技术的应用,需面对很多挑战,如复杂的系统设计、数据管理和空间分析等问题,需要开发者具备深厚的GIS技术和面向对象编程的熟练掌握。
关于GIS软件工程的探究GIS的软件开发是一项庞大的系统工程,进行工程项目的开发人员大多数都具有地理信息相关专业背景,文章从不同角度对目前的GIS系统进行了分析和研究。
标签:GIS系统需求变更模块化GIS即地理信息系统(Geographic Information System),经过了40年的发展,到今天已经逐渐成为一门相当成熟的技术,并且得到了極广泛的应用。
从应用的角度,GIS系统由硬件、软件、数据、人员和方法五部分组成。
硬件和软件为地理信息系统建设提供环境;数据是GIS的重要内容;方法为GIS建设提供解决方案;人员是系统建设中的关键和能动性因素,直接影响和协调其它几个组成部分。
一、GIS系统的发展现状由于各个部门对GIS的应用有不同的需求,目前没有一个GIS软件可以同时满足各个行业的需要,所以在实际工作中对于特定行业的GIS应用,一般都需要进行或多或少的软件开发工作。
但无论是GIS基础软件的开发还是在基础软件基础之上的应用开发,无论是大至几百上千万的项目还是几万的小项目,GIS的开发目前在我国都存在一些问题。
最主要的原因就是没有遵循软件工程学的科学方法,如:没有足够的分析和设计、代码不规范和文档不完备等。
二、GIS系统存在的问题人们的生产和生活中百分之八十以上的信息和地理空间位置有关。
GIS系统作为获取、整理、分析和管理地理空间数据的重要工具、技术和学科,近年来得到了广泛关注和迅猛发展。
由于信息技术的发展,数字时代的来临,理论上来说,GIS可以运用于现阶段任何行业。
由于GIS工程项目的专业性和复杂性,用户的需求在系统开发的整个过程中都在不断变更。
如果没有一个完整的需求变更管理方案就贸然进入设计和开发阶段,所埋下的隐患是:一旦用户的需求发生较大变化,对开发中的系统将可能是毁灭性的打击。
这种情况在实践中屡见不鲜。
软件项目的目标超出原始计划,业界通常称为项目目标范围蔓延.这是软件开发中的固有矛盾。
软件工程理论在GIS工程活动中的作用许康(江苏省测绘工程院,南京市北京西路75号,210000)E-mail:kk.ots@摘要:随着信息化进程的加快,GIS工程的建设正出现一个热潮,然而GIS工程的建设在我国却存在不少问题。
本文通过对存在问题的分析,提出GIS工程中往往缺乏软件工程支持的现状,并从不同角度分析运用软件工程的方法来进行GIS工程开发的意义。
关键词: 软件工程;地理信息系统;GIS工程1.引言地理信息系统(Geographical Information System,简称GIS)作为地理信息学的重要组成部分,通常被定义为在计算机软、硬件支持下,运用系统工程和信息科学的理论与方法,综合地、动态地获取、存储、管理、分析和描述整个或部分地球表面与地理空间分布有关的数据的空间信息系统(黄杏元,1989,李德仁,1995)。
它起源于20世纪60年代,随后立即成为地理研究的新工具。
目前,GIS的应用领域已经突破地理界,以迅猛的发展速度向各行业渗透,在商业、市政、交通、水利、环保、资源开发与利用、城市规划与管理等方面都有它的应用。
随着计算机的普及和“数字地球”的提出,地理信息系统(GIS)正受到越来越广泛的重视。
由于各行各业应用目的和所要解决的问题不同,通常不同行业的用户都要在基础软件之上做相应的二次开发,以扩展本部门所需的GIS功能,则在GIS的应用中需要做大量的开发工作。
从本质上讲,GIS开发的核心就是软件开发,软件是GIS系统的大脑,没有软件就根本谈不上GIS技术。
目前,GIS软件开发手段不断进步,然而在GIS软件工程方面的进步却并不明显。
无论是GIS基础软件的开发还是在基础软件基础之上的应用开发,GIS的开发都存在着一些问题,GIS产业的危机不容忽视。
因此,将软件工程理论与方法用于GIS工程活动就显得相当重要。
2.GIS与软件工程的紧密关系如今,我们处在信息时代之中,许多学科已经快速地互相渗透,形成了一些新的边缘学科。
这些学科常常是你中有我、我中有你,相互补充、支持与发展,同样GIS技术作为信息技术的组成部分,它也不是孤立存在的。
GIS从其诞生之日起,就不断与最新的计算机技术进行融合,如COM组件技术、WEB技术、可视化技术、虚拟现实技术、数据库技术、面向对象技术等等都融入了GIS领域。
软件工程理论也不例外,目前,已经有了不少关于将软件工程理论和方法用于GIS工程开发的研究和实践,GIS与软件工程之间已经存在着紧密的关系。
- 1 -下面我们就以一个应用型GIS软件的发展过程为例,结合软件工程的发展历程,来简单分析GIS与软件工程之间的紧密关系。
一个应用型的GIS软件是以应用为目的、以业务需求为导向、以空间数据为驱动的,它可以分为项目GIS、部门GIS、企业化GIS和社会化GIS,四种类型的GIS软件就反映了GIS应用的发展历程。
其中,项目GIS一般在开始就有特定的实现目标,着重解决实际工作种的某个具体问题;部门GIS应用于一个机构的某个部门,它诣在建立一个长期稳定运行的系统以处理日常事务;企业化GIS应用于一个机构的多个或各个部门,它以建立一个长期稳定运行的分布式系统,实现资源共享为目的;社会化GIS则完全基于Internet,用户可通过网络获取自己所需的地理信息,它使得GIS飞入寻常百姓家,成为现代信息基础设施的重要组成部分。
由于它们的应用范围不同,则对软件体系的要求也不同,下面可以由图1看出其与软件工程的关系。
图1:GIS与软件工程的关系小结:从图中可以发现,企业化GIS和社会化GIS的开发都必须以强大的软件工程理论作为其支持,只有利用软件工程理论与方法作为指导,才能使得GIS工程的开发效率和软件质量得到保障。
3.GIS工程活动中存在的问题3.1 地理信息工程(GIS工程)GIS工程是运用系统工程的原理、方法研究地理信息系统建设开发的方法、工具和管理的一门工程技术。
它的目标在于研究一套可行的工具系统,解决GIS建设中的最优问题,即解决GIS系统的最优设计、最优控制和最优管理问题,力求通过最小的投入,最合理地- 2 -配置资金人力物力而获得最佳的GIS产品。
GIS工程自身遵循着一套科学的设计原理和方法,是系统工程普遍原理的具体应用。
以空间信息作为其管理对象的GIS,与一般的信息系统相比,有其特殊性。
GIS工程跨越了多种学科,不仅仅涉及到工程学领域,还涉及社会、经济等领域。
为了解决这些领域的问题,除了需要纵向技术之外(如空间分析、计算管理、人工智能等技术),还要有一种技术从横向把它们组织起来,这种技术就是GIS工程,也即研制GIS所需要的思想、技术、方法和理论等体系化的总称。
3.2 GIS工程开发现状及其存在的问题随着信息化进程的加快,GIS工程的建设正出现一个热潮,建设中的组织管理技术已逐步引起开发单位和开发人员的广泛关注。
然而,目前GIS工程的建设在我国存在一些问题,其主要体现如下:1.没有足够的分析和设计GIS开发人员往往在拿到项目后没有进行足够的分析和设计,就急于设计数据模型、数据结构和进行编码,常常在开发进行到一半的时候才发现数据结构或者数据模型设计不合理、系统设计不合理等问题,不得不对数据结构或数据模型进行调整,从而影响了整个工程的进度。
原因是多方面的:一方面是由于资金、开发时间以及开发人员水平的限制;更多的是由于缺少详细充分的客户需求分析、系统结构分析、系统设计和功能设计。
2.代码不规范代码可以说是GIS软件的主体,而在GIS工程开发中却常常存在代码不规范问题。
这主要表现在以下几个方面:1)在代码编写的过程中没有对变量(属性)或函数(方法)的命名进行统一的约定;2)开发过程中缺少必要的程序注释;3)某些类中的方法过多或函数(方法)语句过长;4)软件的界面不统一,软件各个子模块风格不一致,影响软件的整体性和美观;5)菜单操作不易理解。
3.文档不完备文档是优秀软件不可或缺的重要部分,它包括客户需求分析、系统设计说明、系统开发计划、程序设计说明、系统帮助文件以及详细的用户手册。
目前不仅仅是GIS工程的开发人员往往对文档重视不够,常常是所有开发工作都结束了才开始编制文档,在时间紧迫的情况下,有的软件干脆没有文档。
然而,在实际应用中,大多数使用GIS的用户是没有专业背景的,如果没有明了的帮助文件和详细的用户手册,用户难以理解和掌握软件的使用方法,从而对软件失去兴趣。
这不仅降低了软件的可用性,而且也增加了软件开发商对用户培训的工作量。
小结:造成以上这些问题的原因是多种多样的,主要是由于缺乏软件工程的支持。
这样,一方面造成了国产的大多数GIS软件产品性能不稳定、运行平台单一、缺乏后续维护,另一方面也限制了我国GIS软件业的规模化发展。
- 3 -4.将软件工程用于GIS工程活动的作用GIS工程活动的发展以及存在的种种困难,使得我们有必要也必须在GIS工程活动中应用软件工程理论与方法。
目前已经有越来越多的GIS管理和开发人员开始重视应用软件工程学方法开发GIS工程,其作用在很多方面都有所体现:1.各种研究表明软件系统中的错误主要产生于软件开发的早期,即分析或设计阶段,这类错误的影响将是持久的,而且在开发后期才发现和修改这类错误则要比在前期付出高10倍到100倍的代价。
所以,将软件工程理论运用于GIS工程后,经过详细、充分地分析和设计就能避免这类问题。
2.在实际工作中,用户的需求常常随外部条件或内在因素的变动而呈现易变的特点。
将软件工程理论运用于GIS工程后,充分的需求分析及系统分析可以最大限度地消除用户与软件人员之间的不一致;详细的系统设计和代码设计可以提高软件的质量,增强系统的可移植性,提高工作效率。
3.利用软件工程理论,采用规范的代码能让开发者和维护者的工作更易实施。
4.利用软件工程理论,采用固定的文档格式。
详实的文档不仅有利于软件的系统升级、代码重用、小组交流、用户使用以及后期维护,而且对于GIS开发者来说也是一种资本和经验的积累。
5.结论与展望要实现GIS对空间数据进行的各项操作,都必须有相应的软件作为支持。
运用软件工程的方法来进行GIS工程开发,对于保证GIS工程的进度和质量,降低GIS工程的开发成本,都是十分必要的。
GIS的软件开发是一项庞大的工程,应用软件工程理论与方法进行开发是工程顺利完成的保障。
遵循软件工程理论与方法进行软件的开发将会是规范软件市场,适应国际潮流,提高软件企业市场竞争力的需要。
参考文献[1] 艾廷华,郭仁忠关于地理信息系统工程测绘信息与工程 1997,No.1:16~20[2] 樊宜宾关于我国GIS工程发展问题的研究广西师范学报 1997,Vol.14,No.2:1~8[3] 李忠,李爱光必须应用软件工程的方法开发GIS软件测绘学院学报 2001,Vol.18,No.1:47~49[4] 晁怡,李清泉应用软件工程学方法开发GIS工程的必要性探讨测绘通报 2003,No.4:47~49[5] 李爱光,王卉等面向对象软件工程技术在GIS中的应用测绘学院学报 2001,No.4:287~289[6] 张家重,徐家福需求工程研究新进展计算机研究与发展 1998,No.1:1~5[7] 吴景勤地理信息系统热点问题综述国外铀金地质 2002,Vol.19,No.2:98~103[8] 刘正高,龚波等软件工程化发展回顾与热点综述软件工程 2002,No.3:25~29[9] 周炎坤应用型GIS软件工程的初步研究与实践南京大学硕士论文 2001.5- 4 -The Significance of developing GIS project with SoftwareEngineering TheoryXu KangJiangsu Surveying and Mapping Engineering Institute, Nanjing, 210000, ChinaAbstractWith the rapid development of informatization, the construction of GIS project surges up. However, there are still some problems in the construction in China. Based on the analysis of these problems, this paper presents the present status of lack of the support of software engineering in GIS project, and analyse the significance of developing GIS project with software engineering method from different aspects.Keywords:software engineering; GIS, GIS project- 5 -。