软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx

上传人:b****1 文档编号:10304851 上传时间:2023-05-24 格式:DOCX 页数:7 大小:21.14KB
下载 相关 举报
软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx_第1页
第1页 / 共7页
软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx_第2页
第2页 / 共7页
软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx_第3页
第3页 / 共7页
软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx_第4页
第4页 / 共7页
软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx_第5页
第5页 / 共7页
软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx_第6页
第6页 / 共7页
软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx

《软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx》由会员分享,可在线阅读,更多相关《软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx(7页珍藏版)》请在冰点文库上搜索。

软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响.docx

软件论文关于软件论文软件开发论文搭建式GIS软件开发及其对软件工程的影响

软件论文关于软件论文软件开发论文:

搭建式GIS软件开发及其对软件工程的影响

【摘 要】搭建式GIS软件开发是一种新的软件开发技术,这种软件开发技术有一套与之相匹配的软件工程方法。

本文首先介绍了基于搭建的软件开发过程及特点,然后阐述了搭建式GIS软件开发的基本原理,最后结合MapGIS软件的开发实践,举例说明功能搭建的过程。

【关键词】GIS;搭建式开发;可视化开发   

1引言

我国从20世纪80年代开始了GIS的建设,GIS的建设经历了项目型GIS、管理型GIS、社会型GIS等几个阶段,其技术发生了翻天覆地的变化,其发展可以说与计算机技术完全同步了。

但这也导致了GIS用户在建立GIS系统时面临一个复杂环境,往往一个系统刚刚建设完毕,整个系统就不能满足当前需要了,从而导致大面积的投资失败与浪费[1]。

人们已经认识到了这个问题,指出了在GIS软件设计中必须采用先进的软件工程方法[2]。

尽管人们对于软件工程的研究使得软件开发从各个方面有了提高,但是软件的质量仍然达不到人们的期望,软件仍然面临着需求和环境的不断改变[3]。

GIS的应用日趋广泛,但由于基于GIS的软件开发专业性强、开发难度大、开发周期长、系统维护困难,而且由于社会变革的不断加剧,用户业务变化更加频繁,系统越来越难以适应业务的不断变化,因此程序员发现他们越来越忙,开发GIS应用越来越困难[4,5]。

为了促进GIS在更多行业中得到深入应用,使更多的人能够用GIS构建应用,探索新的GIS软件开发方法及新的软件工程方法已经势在必行。

文献[6]在面向服务的搭建式软件开发方面进行了一些技术探讨,但没有论述搭建式开发对GIS软件工程的影响。

针对以上问题,本文介绍了搭建式软件开发过程并论述了搭建式软件开发原理,给出了一个基于搭建的实例。

基于搭建的GIS软件开发,实现了搭建式构建GIS应用,有效地降低了GIS的开发难度。

基于搭建的GIS软件工程方法,实现了适应业务快速变化的GIS应用系统的快速搭建。

搭建技术更能够满足用户业务的变化、更注重软件的结构、注重软件的重用。

2基于搭建的软件开发过程

搭建式软件开发是一个崭新的软件开发方法,基于搭建式软件开发的实践形成了一套更适合搭建式软件开发的GIS软件开发过程。

2·1 传统GIS软件开发过程及问题

软件工程的方法、思想已经应用到GIS工程项目,已经为GIS应用项目的开发提供了行之有效的解决方案。

但传统GIS软件开发流程中一般存在下列问题:

1)需求、设计、开发的脱节

从总体上看,软件工程过程分为:

需求分析、设计(包体括总体设计、详细设计、数据库设计等)、软件开发、测试、部署等环节的不断迭代的过程[1]。

实际应用开发中经常发现需求、设计、开发的分离,需求是由一批人完成、设计是由另一批人完成、开发是由开发人员完成,造成了不同环节之间的衔接问题。

由于需求、设计、开发几个环节由不同的人完成,信息的传递往往会有损失,理解上有差别,因此容易造成环节上的脱节。

1)需求变化成为常态,软件难以应对

现在社会变革越来越快,在系统的建设及使用过程中导致需求变化的原因有:

①国家政策、用户业务可能发生变化而导致系统需要改变;②随着用户的见多识广,用户在使用系统的过程中随时都有可能提出新的操作过程改进(而这在系统建设初期是不可能提出的)而导致系统需要改变;③系统在使用过程中由于某种原因可能要求增加新功能而导致系统需要改变,等等。

这些不断变化的业务需求给应用系统提出了更高的挑战。

2)项目组队伍结构的优化

项目组基本上是由开发设计人员、技术支持人员、甲方用户等组成,在项目开发的最紧张阶段,往往开发人员昼夜加班,而周围的人却帮不上忙,况且开发人员是比较珍贵的,培养周期较长,一旦开发人员出现不稳定的情况将会给项目带来比较大的影响,因此项目组一般都会投入比较多的开发人员。

而基于搭建的软件开发,队伍结构随着业务的不断深入开发人员将越来越少,它需要的是少而精的开发人员,但它需要更多的技术支持人员。

3)系统的测试和部署

传统软件开发中任何通过修改代码而改正的问题都必须重新测试才能上线运行,对已经上线且在使用中的系统更新将是一个痛苦的过程,针对反馈回来的问题进行修改,修改完毕之后、进行测试,又担心引入新的问题,任何更新都可能对使用中的系统造成瘫痪而导致用户办公的停滞,测绘科学                    第35卷因此上线前的紧张测试是不可少的。

而基于搭建的系统,由于支持插件的热插拔,模块之间耦合度低,这个过程将会更迅速简洁。

4)系统的维护

传统软件开发中通过修改代码来改进系统功能是程序员的职责,这是天经地义的,一旦系统有任何的改动都需要程序员修改代码,这样的软件将是非常难以适应业务的变化的。

而基于搭建开发的系统将具有更大的柔性,由于它是由各种构件组装而成,对于业务的变化首先考虑通过对构件的重新组装,而最后才是对构件的修改。

维护的过程更多的由技术支持人员或由甲方用户完成。

2·2 基于搭建的软件开发过程

基于搭建的软件开发方法有效地避免了上述的软件开发中出现的问题,由于开发方法的变化导致了开发过程的改变。

1)基于搭建的软件需求调研方法

搭建式软件开发开创了独特的软件需求调研方法即“三表一图”需求调研法,这种调研方法需求调研目标明确,针对性强,从多个角度对业务进行描述全面、系统、规范地分析业务流程;“三表一图”主要指:

①业务属性表;②业务/活动表;③业务/岗位/角色表;“一图”指:

业务流程图。

在需求调研的时候直接使用搭建平台提供的工作流可视化工具,角色权限管理工具,表单工具直接与用户进行交互式的讨论,最终确定的调研结果将直接可以用作系统构建。

这增强了需求调研的有效性,而避免了洋洋洒洒的辞藻华丽的需求调研报告对软件开发指导的乏力。

2)基于搭建的软件设计方法

由于搭建更关注用户的业务,基于搭建的软件设计更强调对用户业务的分析,主要设计业务数据库,及相关功能插件。

运行框架提供了一个运行时环境,由搭建平台统一提供,这样可以减少每个系统都去构建一个平台,降低了构建的难度。

3)基于搭建的软件开发搭建中需要开发的部分就是业务功能插件,将开发好的插件配置到运行框架中即可。

页面则更多地通过表单绘制完成,这个工作一般的技术支持人员可以独立完成而不需要专门的开发人员的支持,极大降低了软件开发的难度、地减少了软件的开发量。

2·3 基于搭建的软件工程的特点

搭建式软件开发对整个软件生命周期都有影响,搭建理念注重对整个软件的开发过程进行优化,倡导将更多的精力集中于业务而非技术细节,它具有以下特点:

①减少每个环节之间的脱节,尽量使上一个环节的输出能够被下一个环节使用;②更多的人能够参与实施,降低开发难度,系统开发过程中技术支持人员进行系统的搭建,开发人员进行系统插件的开发,用户方人员也同样可以参与系统的构建;在系统维护期间用户同样可以通过搭建方式对系统进行改造以更好地适应业务;③功能构件可以积累,并能够快速重用;④搭建的系统,维护、部署、移植方便,部署更加容易,耦合度低,支持热插拔(即修改流程或功能时不需要停止服务器,即刻修改、即刻测试);⑤减少了软件的开发量,增加软件的开发质量。

由于构件的不断积累和重用,对于不同的业务,需要开发的往往只有业务插件;⑥更专注于业务,能够集中项目组成员(甲乙双方)专注于业务,而不是更多地专注于技术,由于搭建降低了难度,甲方人员同样可以参与系统搭建,为系统后期的维护也做了很好的铺垫;⑦提供良好的业务敏捷性:

系统更能够适应业务的变化,用户业务变化,用户自己就可以调整;搭建的业务可以逐期动态部署,不影响已经上线使用的业务;灵活的权限分配,人员变化用户自己可以调整;对业务流程、模型的变化能够当场修改、即时反映出来,提高了客户的满意度;⑧在实施上更加灵活,根据项目进度和人员的情况,对于用户业务流程可以逐个流程实施及部署,也可以同时并行启动多个业务;⑨搭建平台系统强调搭建、也提供二次开发能力,支持B/S、C/S,支持通用的开发语言。

3搭建式GIS软件开发

3·1 搭建式软件开发的基本原理

GIS搭建的实现是采用了一套全新的GIS构件仓库,并实现了一个能够驱动构件仓库运行的工作流引擎,利用改进了的工作流可视化编辑器进行可视化搭建。

基于软件构件开发一直被视为软件复用利器和解决软件危机、实现软件工业化生产的重要途径[7]。

文献[8]对工作流和构件仓库进行了深入的研究,提出了一种有效的可视化搭建手段,提出了用工作流驱动构件仓库运行的一种新的可视化软件开发手段,扩展了工作流的驱动能力,提出了构件仓库模型。

GIS构件仓库与工作流的结合实现了构件的可视化复合,由工作流引擎驱动GIS构件仓库中的构件运行。

充分利用工作流的可视化建模能力,做到了构件的可视化复合,做到积木式搭建(注意不是开发)软件系统。

搭建式软件开发着力于从整体结构上优化软件工程,整体结构在广义上包括:

程序结构、项目组队伍结构、成员的知识结构等等;狭义上主要指:

软件的程序结构。

它注重软件功能的积累与复用、致力于提供简单易用的方式给开发人员、它使整个项目团队专注于业务。

搭建式更强调可视化快速构建应用,但搭建式软件开发并不排斥代码式的软件开发。

在一定程度上代码式软件开发出来的构件正好供搭建式软件开发所使用。

搭建的目的:

快速构建业务、降低开发门槛,在我们的应用程序中快速嵌入GIS功能,拖放式开发GIS功能;GIS搭建技术改变人们必须通过编码实现GIS功能的为难情绪。

3·2 GIS功能的搭建

GIS功能的搭建依赖于GIS构件仓库,基于工作流与GIS构件仓库实现了GIS的搭建式软件开发。

GIS构件仓库是对GIS构件进行管理并对外提供构件服务的管理系统,它自身支持分布式部署,支持用户扩展,它提供了构158        吴信才等 搭建式GIS软件开发及其对软件工程的影响件的分类存储查询,负责调度构件的运行,它是一个能够独立运行的系统。

GIS构件仓库是构件仓库技术在GIS领域中的应用。

GIS构件仓库首先是一个存放构件的库,其作用类似于存放数据的数据库,但更重要的是构件仓库也是一个独立运行的系统,它是支撑GIS应用系统运行的组成部分,就像数据库已经成为各种应用系统必不可少的支撑一样,GIS构件仓库也是构成软件应用系统的组成部分;GIS构件仓库是维护GIS构件的运行环境,对外界的调度提供统一的调用接口,响应用户的请求,为用户提供功能服务。

GIS构件仓库与工作流的结合,充分地利用了工作流的可视化建模能力,实现了基于构件的软件可视化开发,做到积木式搭建软件系统。

3·3 搭建应用实例

下面通过具体的搭建实例来说明功能搭建过程。

具体题目:

通过开发手段完成一个空间提取功能,输入图层为“居民点”、“县乡道”、“县面”,请按工作范围(“区域0·shp”)对上述图层分别进行提取操作(完全包含在工作区域范围内,不剪切),形成新图层“居民点1”、“县乡道1”、“县面1”并分别统计所提取的对象数。

 

 1)用传统的软件开发方法,需要基于GIS基础平台进行写代码完成,具体的代码(略)。

2)用搭建式软件开发方法来实现这个功能的步骤为:

①从已经分类好的MapGIS构件仓库中选取相应的功能构件,通过拖放的方式放入工作流面板,形成可以运行的流程;②逐个设置每个流程节点的参数信息;③参数都设置完毕之后,进行调试,调试通过后可以正式运行。

所示的通过搭建开发的空间提取功能流程是可以在工作流环境下运行,也可以提供给外界调用的功能单元。

经过实验证明,通过搭建式开发的功能同手工编写代码开发功能同样可以在C/S、B/S模式下调用,但通过搭建式开发的功能更容易维护,而且不用编程代码,全部过程都通过可视化过程完成,随着构件仓库的逐渐完备,手工编写代码将越来越少。

4结束语

在将搭建式软件开发模式应用到实际的软件开发过程中,笔者发现开发模式的改变对软件工程有深刻的影响,结合自己对软件工程的研究及软件开发的实际情况形成了有自己特色的软件开发模式———基于搭建的软件开发,而且基于搭建理念开发了MapGIS7·0搭建平台。

搭建式GIS软件工程不是对原有的软件工程方法的抛弃,相反在很大程度上可以认为是对原有软件工程的演化和升级。

搭建式软件开发目的是使软件开发商可以快速构建行业应用、快速构建GIS功能、不必再为软件项目心力憔悴、不必再为软件开发望而却步,是一个非常有前途,值得倡导的开发方法。

参考文献

[1]毕硕本,王桥,徐秀华·地理信息系统软件工程的原理与方法[M]·北京:

科学出版社,2003·

[2]李忠,李爱光·必须应用软件工程的方法开发GIS软件[J]·测绘学院学报,2001,18

(1)·

[3]惠长江,吴江·软件进化研究综述[J]·计算机技术与发展,2007,17(4)·

[4]罗荣章,李勃,侯至群·组合搭建式GIS快速二次开发框架[J]·昆明理工大学学报(理工版),2008,33(3)·

[5]赵敬东,等·一种适合于GIS开发的软件工程方法[J]·计算机工程与设计,2005,26

(1)·

[6]迟文学,等·面向服务的搭建式软件开发技术研究[J]·计算机应用研究,2008,25(6)·

[7]赵俊峰·软件构件标准概述[J]·信息技术与标准化,2006,(6)·

[8]张成,等·基于构件库/工作流的可视化软件开发[J]·计算机工程与应用,2008,44(10)·

Building-blockorientedprogrammingforGISanditsinfluenceonsoftwareengineering

Abstract:

Building-blockorientedprogramming(BBOP)isanewtechnologyofsoftwaredevelopment,andtheremustbeasoft-wareengineeringmethodincorrespondencewithBBOP·First,theprocessandcharacteristicsofBBOPwasintroduced·Second,thebasetheoriesofbuilding-blockorientedsoftwaredevelopmentwereexpounded·Atlast,withtheexperimentsBBOP’sideaandtheprocessofthedevelopmentofMapGISweredescribedindetail

Keywords:

GIS;building-blockorientedprogramming(BBOP);visualdevelopment

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2