设置主页 加入收藏 保存到桌面
当前位置首页论文计算机论文基于产品线模式的GIS业务系统快速构建技术研究

基于产品线模式的GIS业务系统快速构建技术研究

盛华双杰围观:℉更新时间:2021-12-18 09:17:25

基于产品线模式的GIS业务系统快速构建技术研究

第 1章 绪论

1.1 选题背景及意义

1.1.1 GIS 应用发展迅猛,市场空间大

地理信息系统(Geographic Information System,GIS),又称地理信息科学(Geographic Information Science)是一门获取、处理和分析地理空间信息的科学技术领域(陈述彭,1991),是用于地理空间数据采集、存储、管理、分析与可视化表述的一种计算机系统,是处理、分析地理空间数据的一般性技术(陈述彭等,1999)。

GIS 由加拿大测量学家 R.F.Tomlinson 于 1963 年提出,并建成了世界上第一个实用型地理信息系统 CGIS。自此之后,世界各国开始投入大量的研究工作,进行 GIS 技术的研究和应用系统开发。20 世纪 70 年代以后,美国、加拿大、英国、德国、瑞典、日本等发达国家先后建立了许多不同专题、不同规模、不同类型的各具特色的地理信息系统,这期间许多大学和研究机构也开始重视 GIS 设计及应用的研究。20 世纪 80 年代以后,随着 GIS 与卫星遥感技术的结合,GIS已用于全球变化(如全球沙漠化、厄尔尼诺现象等)的研究与监测。这一时期,GIS 技术取得了突破性的进展,出现了 ArcGIS、MapInfo、Microstation、SICAD、GENAMAP 等一批具有代表性的 GIS 产品。

经过三十多年的发展,我国 GIS 科学与技术取得了长足的发展,GIS 科学理论与方法不断深化,GIS 基础平台软件与应用系统软件蓬勃发展。我国的 GIS 应用最早应用在资源环境领域,发展至今,资源与环境信息系统趋于成熟稳重,全国水资源信息系统、土壤环境质量信息系统、国土资源一张图;工程等,均进入了业务化运行服务的阶段。此外,面向各行各业和区域的基础设施管理需要,开发了适宜专业设施管理的 GIS 应用软件,并实现了推广应用。比如,以GROW 软件为基础,建立的山西省电力公司电网管理分布式服务器系统(长治、临汾、晋城)、输电地理信息平台,实现 WebGIS 功能开发。以海尔物流系统为基础,已建成一个具有自主知识产权、基于空间信息移动服务技术的物流监控调度系统,为物流企业提供货运车辆定位、跟踪、调度和业务管理的应用示范系统。GIS 在基础测绘、国土资源、智慧城市、交通、公共卫生、经济统计、公共安全与国防安全、电信资源管理、电力资源管理、煤炭矿井测量与安全生产、石油勘探、水土保持管理等领域发挥了主力军的作用。

由于人类活动相关的大部分信息都与空间位置关于,所以,作为地球科学研究和人类认识自然的有力武器,GIS已被应用到人们生产和生活的方方面面。政府、企业和公众是我国地理信息产业市场的3大主体,全社会对地理信息及应用服务的需求日益增长,极大促进了我国地理信息产业的发展(叶嘉安等,1996)。2021 年我国 GIS 产业年产值近 1000 亿元,十一五;期间年均增长率超过 20%,预计2021年产值可达2000亿元(徐德明,2021)。

1.2 国内外研究现状

1.2.1 GIS 软件开发技术研究现状

GIS 技术的发展很大程度上依赖于计算机技术的发展,计算机应用软件的开发方法在过去的40年里,经历了很多次的重大变化:面向过程的开发方法、面向对象的开发方法、面向组件的开发方法以及现在流行的面向服务的开发方法(赵航,2007)。GIS 软件开发技术也随之发生了巨大的变化,从早期的用FORTRAN、Pascal、C等语言编写GIS软件,到采用Smallword等面向对象技术,再到利用Visual Studio、ava 等集成开发环境进行开发。总体来说 GIS 软件的开发方式越来越简易,GIS 软件的功能越来越强大。纵观近 30年来,主流的GIS软件开发技术,大致经历了组件式GIS软件开发、插件式GIS软件开发、搭建式 GIS 软件开发和服务式 GIS 软件开发等几个阶段,下面分别对其现状进行分析。

(1)组件式 GIS软件开发

组件式 GIS 是基于组件技术的 GIS 软件系统,采用这种方式开发的 GIS 软件,其各个组件之间不仅能够自由、灵活的重组,而且具有可视化的界面和方便调用的标准接口(钟耳顺等,1998),是GIS与组件技术相结合的新一代地理信息系统。组件式 GIS 应用的基础是标准,没有统一的接口描述、没有规范的组件通信、没有标准的对象请求和远程调用,就没有组件式 GIS 应用。目前主流的组件标准包括:CORBA(国际通用)、EB(Enterprise ava Beans)、COM 和CLR(Microsoft 的 Windows 和.NET)(han S A et al.,2008)。组件式 GIS 顺应了计算机软件技术的发展潮流,方便了 GIS 应用和系统集成。与之前的 GIS 比较,组件式GIS的特点主要包括( Goodchild et al.,2000):高效无缝的系统集成;无须专门GIS开发语言;大众化的GIS和成本低等。

为抢占 GIS 软件的制高点,国际上主流的 GIS 软件公司都把组件式 GIS 软件开发作为其重要的发展战略。20世纪90年代,随着 Windows NT的出现,美国InterGraph 公司,第一个在GIS领域采用了组件式技术和数据库存储技术,在丰富的面向对象编程环境中,采用核心的组件技术,开发出了全新一代的 GIS产品GeoMedia,引领了 GIS的组件化发展潮流(C. Harlow et al.,2003)。1996年,ESRI 公司在组件式GIS方面也作了新的探索,推出了以MapObjects 为代表的组件式 GIS,1997 年,ESRI 计划采用微软的 COM 组件技术,对已有的 GIS产品进行重组,之后投入了大量的物力和人力进行组件式 GIS 研发,1999 年的12 月,发布了 ArcInfo 8,形成了完善的组件式 GIS 解决方案( Rebolj D et al.,2005)。MapInfo 公司推出的 MapX 产品,提供了用于二次开发的组件,可以在编程环境中无缝集成和开发组件式GIS应用系统(Maritato T et al.,2006)。

第 2章 软件产品线基础理论

2.1 软件产品线定义

软件产品线起源于软件生产应用,理论研究方面相对滞后。软件产品线在软件生产领域成功应用之后,在软件资产复用和软件开发质量提高、效率提升等方面的作用显著,引起了学术界的广泛关注,并进行了重点研究。纵观近年来学术界对软件产品线的研究成果,其代表性的定义主要包括:

(1)程序族(Program Families)是软件产品线的前身。David Parnas 1976年将程序族定义为:一组具有着广泛公共属性的程序集,它们的公共属性值应当优先研究和重点分析(Parnas D,1976)。

(2)DAPRA(Defense Advanced Projects Research Agency)1996年在STARS(Software Technology for Adaptable and Reliable Systems)项目中给出了软件产品线的定义:软件产品线是由一组相似或相同系统组成的软件系统族,这些系统的组成元素和功能具有公共性和变化性。软件产品线可以是一系列不同的复合产品;也可以是一个具有多年生命周期、多种配置、多种版本的单个产品(STARS,1996)。

(3)Bass(L.Bass et al.,1997)等指出,软件产品线是由产品线体系结构、可重用构件集合和源于共享资源的产品集合组成,是一组相关的软件产品开发和组织的方式。

(4)卡内基·梅隆大学(Carnegie Mellon University ,CMU)的软件工程研究所(Software Engineering Institute,SEL)(Paul Clements et al.,2001),借鉴瑞典CelsiusTech System公司在轮船软件系统开发上的经验,将软件产品线定义为:软件产品线是一组具有公共的、可管理的特征集的软件密集系统的集合。这些系统能够满足特定的市场或者任务领域的应用需求;这些系统是在公共核心资源(如需求、设计、构件、测试等)的基础上,遵循一种预定义的方式开发的。其特点是维护一套公共软件核心资产库,并在软件开发过程中复用这些资产。属于某一领域的一系列应用系统构成了该领域的软件产品家族(Software Product Family,SDF)。

(5)rueger 将软件产品线定义为:一种软件工程技术,使用通用的软件产品构建方法,基于一组共享的、可复用的软件资产,构建相似的软件应用系统。该定义强调了软件产品线的工程性和工业化生产方式(SPL,2021)。

(6)Wiipedia 百科中软件产品线的定义为:软件产品线是指基于一组共享的软件资产,使用一些相同或相似的生产手段,生产一类软件系统的方法、工具和技术(Wiipedia,2021)。

(7)Baidu 百科中软件产品线的定义为:具有可管理的一组公共特性的软件密集性系统的合集,这些系统能够满足特定的市场需求或任务需求,并且按预定义的方式从一个公共的核心资产集开发得到(百度百科,2021)。

不同的定义其侧重点各不相同,但是通过对当前比较流行的软件产品线的定义进行分析,其基本概念可以表示为如图2-1所示(Software Product Lines,2021)。

2.2 软件产品线模型

2.2.1 STARS 软件产品线过程模型

软件产品线过程模型包括领域工程和应用工程两个不同的阶段,其任务、功能、职责、特征也各不相同。

领域工程的主要任务是识别特定领域或相似产品的公共结构和特征,开发和维护软件产品线核心公共资源。核心公共资源包括软件体系架构、可重用构件,文档模板、需求规格说明,测试用例等。领域工程可分为领域分析、领域设计、领域实现等三个阶段。

(1)领域分析阶段,首先分析和确定软件产品线的范围,即定义和确定哪些产品和特征属于该产品线。然后分析软件产品线内软件产品需求和特征的公共性和变化性,建立领域模型。

(2)领域设计阶段,根据领域模型设计软件产品线的体系结构。

(3)领域实现阶段,设计和开发可重用构件等软件产品线的公共资源。 应用工程是基于领域工程开发和维护的公共资源,开发定制特定的软件产品。在产品线环境的软件开发中,不仅要考虑客户一方的应用需求,也要考虑产品线公共资源约束性。应用工程三个阶段为:需求分析、系统设计、系统实现。

STARS 双生命周期模型定义了典型的软件产品线开发过程的基本活动,各活动任务、结果以及产品线的升级演化方式。这种方法融合了软件体系结构和软件复用的概念,在模型中定义了软件工程化、工业化开发过程,目的在于提高软件生产效率、可靠性、可维护性和产品质量,降低开发成本,缩短开发部署周期等。当前,大多数软件产品线过程模型都是在 STARS 模型的基础上发展、演化而来的(David et al.,1995 Margaret et al.,1995 Fred A et al.,1998)。

在 STARS 模型中,产品线体系结构具有重要的作用,是产品线核心资产的轴心,是产品线开发成败的关键。一方面,可复用的构件资源是基于产品线体系结构设计和开发的;另一方面,通过定制和实例化产品线体系结构,以形成产品线内部各个组成部分的体系结构和最终的软件产品。对产品线体系结构描述、组装、精化、分析等技术进行研究,能够提高和改进产品线体系结构设计质量,是软件产品线技术重要研究方向之一。

第3章 GIS软件产品线模型 .................. 34

3.1 GIS 产品线过程模型 ................ 34

3.2 GIS 产品线概念模型.................... 35

3.3 GIS 产品线核心资产 ................... 36

第4章 GIS构件资源复用及调度模型 ........... 44

4.1 构件库概念模型........................ 44

4.2 构件管理机制.............................. 45

第5章 GIS业务逻辑柔性控制模式 ..................... 56

5.1 工作流原理...................... 56

5.1.1 引言.................... 56

第 7章 GIS 业务系统构建流程及验证

7.1 产品线模式

GIS 系统开发优势 基于产品线模式的 GIS 业务系统开发方式,重心在于 GIS 核心资产的生产和消费,难点在于 GIS 核心资产的开发和维护,而对于 GIS 业务系统开发人员的要求大大降低,让用户从关心技术、实现细节功能,转向关心业务,注重专业流程分析,而不是把大量的时间花在编码方面。与传统开发模式相比较,基于产品线模式的 GIS 业务系统开发方式革新了 GIS 软件生产的流程,降低了技术开发难度,提高了开发效率等,下面从三个方面进行分析比较。

(1)开发难度

传统的软件开发技术是基于面向过程、面向对象组件化等形式的开发方式,对计算机程序员编程技术要求高,大量手工重复作业,不能机械化生产(系统靠程序员编程与调试),针对具体行业应用不能进行规模化生产;,必须依靠程序员手工编程来进行调试,因此技术开发难度大。

基于产品线模式的 GIS 业务系统开发方式,具有对技术掌握要求低(实现零编程或微编程),可重用性高,开发质量高等众多优点,这是GIS二次开发模式的一次重大提升。系统开发可以实现整体部署、局部部署、实时部署、注重从各种视角解决问题,立竿见影;耦合度低、热插拔部署更加容易,实施更方便;可以实现零编程,减少软件的开发量,提升软件的开发质量;由于能使更多的人能够参与开发,可降低开发难度,这样凡具有一定计算机应用基础,且属相关专业的人员,只要通过一周左右的时间,就能掌握系统的使用方法,让开发商从重视技术转向重视业务。

(2)开发效率

传统的开发模式遇到软件需求变化(如政策调整,业务调整、用户认识的提高)时,需要以具有一定编程技术的专业人员为主导,通过与用户沟通对变更进行需求分析、风险分析、总体设计、详细设计等一系列流程处理,再由专业编程技术人员根据分析设计具体实现变更,这个流程严重降低了开发效率,同时还会存在沟通方面的风险。另外,软件开发如果超出维护期,用户或者付费修改,或者委屈自己继续使用破旧的工具,即从根本上没有保护软件的投资。

第 8章 总结与展望

8.1 论文总结

本文针对GIS业务系统开发过程中存在的业务系统复杂度高、开发难度大,软件资产难以复用、开发效率低等问题,研究并提出了一种基于软件产品线模式的 GIS 业务系统构建技术和方法,对 GIS 业务系统快速开发,以及适应不断增长的应用需求具有重要的理论和实践意义。

本文的研究工作围绕 GIS 产品线模型、GIS 产品线核心资产开发与维护、GIS 产品开发等方面开展,主要研究工作如下:

(1)研究分析主流的GIS软件开发技术,如组件式GIS软件开发、插件式GIS 软件开发、搭建式 GIS 软件开发和服务式 GIS 软件开发等;研究主要的 GIS软件重用技术,如构件复用、设计模式复用和软件产品线复用等。对当前 GIS业务系统快速构建存在的问题进行分析和研究。

(2)分析流行的软件产品线的定义,概括软件产品线特征。研究主流软件产品线模型,如STARS软件产品线过程模型、SEI 软件产品线框架模型、Pohl 软件产品线框架模型等。从软件产品复用性、产品关联性、产品开发速度、市场响应速度等方面,对传统软件开发与基于产品线的软件开发进行比较分析。

(3)研究GIS软件开发的特征,提出GIS产品线过程模型和GIS产品线概念模型,并对 GIS 产品线核心资产和 GIS 产品开发维护工具进行重点研究,将GIS 产品线核心资产划分为:体系结构、标准资源、构件资源、地图数据可视化资源等;将 GIS 产品开发维护工具划分为:框架界面设计工具、资源目录设计工具、权限资源绑定工具、GIS中间件扩展管理工具、工作流聚合工具等。

(4)研究并提出用于大规模可复用 GIS构件管理的GIS构件库的概念,并对其概念模型和实现机理进行研究,包括构件管理形态、入库管理、目录管理、查询与提取、重构与聚合等,重点研究了构件管理机制、构件调度机制和构件库扩展机制,实现了多源异质构件资源的集成管理和调度。

(5)研究工作流技术原理及方法,根据国际流行的工作流参考模型,设计了 GIS 业务逻辑控制系统,提供工作流引擎、工作流设计器、过程定义工具和管理与监控工具等功能,实现GIS业务流程和系统流程的自动化流转。

(6)研究基于产品线模式的 GIS 业务系统集成构建环境进行研究。对 GIS业务系统可视化搭建工具及其特征进行研究和实现,如工作空间工具、界面设计工具和权限管理工具等。

(7)研究了基于产品线模式的GIS业务系统开发优势,基于GIS产品线核心资产和开发维护工具,设计了基于产品线模式的 GIS 业务系统构建流程和构建步骤。最后依托 GIS 产品线理念,进行园林绿化 GIS 业务系统快速构建,并对其构建流程进行阐述。

参考文献(略)