gis开发中的软件工程方法学问题_第1页
gis开发中的软件工程方法学问题_第2页
gis开发中的软件工程方法学问题_第3页
gis开发中的软件工程方法学问题_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

gis开发中的软件工程方法学问题

gis的开发可以通过相对成熟的工具信息系统进行两次开发,或从低级别的开始。GIS工程项目的开发面临一般软件开发过程中的问题。因此,运用软件工程的理论和方法来指导GIS工程的开发,对于保证GIS工程的进度和质量、降低GIS工程的开发成本,是十分必要的。国内的GIS软件工程通用的行业规范和标准正在研究和形成之中。无论是底层的工具型GIS的开发还是二次开发,软件工程的思想正逐步被完整科学地纳入开发周期。1根据开发工作人员进行工作,可分为三大阶段。根据中心软件工程方法规范了从分析阶段到设计阶段的各个步骤,每个阶段都明确了开发工作人员进行的工作,采用的方法,需要得到的成果等。但GIS工程项目一般规模都比较大,常存在4个方面问题。1.1需求变更管理方案由于GIS工程项目的专业性和复杂性,用户的需求在系统开发的整个过程中都在不断变更。如果没有一个完整的需求变更管理方案就贸然进入设计和开发阶段,所埋下的隐患是:一旦用户的需求发生较大变化,对开发中的系统将可能是毁灭性的打击。这种情况在实践中屡见不鲜。1.2gis项目现状软件项目的目标超出原始计划,业界通常称为项目目标范围蔓延,这是软件开发中的固有矛盾。GIS项目目标定义困难,而且由于开发周期内项目必然会面临改进,这就极易导致项目目标的蔓延。如果处理不当将成为项目失败的主要原因。因此,必须采取一些措施控制对项目目标的蔓延,并确保开发者们不会受到这些改进带来的负面影响。1.3软件模块化开发难度小,有利于提高软件成本,提高产品的周模块化是解决软件复杂性问题的良好措施,开发大的GIS软件工程项目,将软件的功能进行适当的分解,不但可以降低软件的复杂性,还可以减少开发工作量。从而降低成本,提高软件生产率。但是软件的模块化流行的今天,很多开发者没有处理好模块的内聚和耦合两个关键因素,对模块的划分不尽科学。模块分的太细,模块开发难度降低了,但是模块之间的接口开发代价却大大提高了;模块分的太粗,解决不了简化程序,减少开发成本和提高软件重用度的作用。科学地划分模块一直很难取得标准。1.4设计规范管理不仅是GIS工程的开发人员,很多一般软件开发人员都没有对文档赋予足够的重视程度。开发过程中的一系列文档,包括需求分析、可行性分析、总体设计、详细设计、数据库设计、数据规范和用户使用说明等,往往得不到统一规范的管理。每个开发阶段若没有明确的文档作为指导和参考,就会出现诸如开发各自为政、风格不统一、项目目标迷失、开发者和用户交流出现分歧等一系列致命的问题。2解决gis软件活动中的问题2.1基于reque东南角的需求管理GIS系统复杂和专业性的特点决定了用户需求的多样性和易变性,而且由于用户和工程人员知识背景的不一致,必然会导致对需求的描述和理解的不一致。那么我们就必须使得初期需求分析充分完整,最大限度满足用户的需求,消除隐患。对于GIS工程项目中不断变更的需求,我们使用IBM的RationalRequisitePro软件来进行需求管理。RequisitePro集成了MicrosoftWord,以及一个数据库来提供强大而易使用的框架,可以用它来对产品需求进行管理。RequisitePro在需求文档中逐条标记用户的需求,然后通过数据库对它们进行管理。在此基础之上,开发者们可以不断跟踪和处理变动的需求。RequisitePro需求管理流程如下:2.2项目目目化和前以前三阶段为必须让参与项目的所有人都清楚GIS项目目标,建立统一的意识,这对项目的成功具有很大的正面意义,也能确保项目不致迷失和蔓延。明确项目目标,要注意以下几点:1)确保项目参加者都明白项目的范围,定义项目总体发布目标;2)整理需求。把经过开发方和用户讨论的项目目标细化成具体的工作要求;3)阶段化项目实施过程,编写一个大概的项目时间表或者甘特图,以指导开发工作。见表1。以往如果出现项目目标蔓延,整个开发计划就会发生改变。如果制定一个详细的实施计划,确定每个阶段的具体工作,就可将整个开发工作纵向上分为若干块。这样一旦出现目标蔓延,就可以准确将其定位在某一个小的阶段中,这样会减少其对整个项目实施的影响。而且可根据实施计划量化项目目标范围改变(扩展)的投资成本。这样管理者或用户方在提出改变(扩展)项目目标要求的时候,就必须考虑到投资的增加。这是防止因盲目而引起项目目标蔓延的有效途经。2.3科学划分功能,控制接口成本工作流程模块化就GIS系统而言:是将GIS工程项目中的空间数据管理层和应用层中的各个部分相对独立地划分为程序模块,即可以独立于系统之外运行,也可以根据GIS的规模组合为一个有机整体。如:在某城市管理GIS服务系统中,我们划分了空间数据管理功能、三维显示功能、网上审批功能、制图与输出功能、空间查询功能、数据库维护功能、数据浏览功能(Internet/Intranet)、GPS执法车辆调度监控功能等。划分这些模块的标准是:简化程序、减少工作量、降低开发成本、减少接口代价,提高模块独立性。系统开发的总成本是与模块开发成本和接口成本相关的,但并不是一个简单的求和过程。科学的划分模块应该将总成本控制在M区域内。见图2。控制的方法是根据系统建设的投资预算和人力等因素,填写模块划分成本预算表格,根据表格中的数据,可以定位出最小投资成本区域。从表中数据可以看出,当M=25时的划分方案最接近图2中两条曲线的交叉点,即为最佳模块化方案。2.4数据库设计阶段软件工程对于文档的要求是全面而细致的,不论项目的大小和侧重方向,软件文档管理的原则是一致的。文档记载着软件开发的整个生命周期中所发生的所有动作。对于GIS工程项目,不仅具有一般软件各阶段的文档,在空间数据规范等方面还要超出一般文档规范的要求。详细的文档资料对工程项目起到无可替代的作用。1)加强开发人员之间的交流。几乎所有的大型软件系统都是将整个项目划分为若干个单独的模块或任务。纵向来说,学术专家建立项目,系统分析员整理需求,设计员指定总体设计,程序员编制代码,质量评审员保证系统的性能和完整性,测试人员保证系统的稳定性等。每个阶段的工作都需要前面阶段的文档作为指导和参考;横向来说,同一个阶段,不同的开发人员有不同的任务,对问题具有不同的理解。这个阶段的文档就可以起到消除理解分歧从而获得一致观念的作用。2)保证文档质量。重视对软件质量的评估,制定一系列的程序规格说明、数据规格说明和各种质量标准。这些文档既是指导质量评估的指南,又是评估的对象。高质量的文档是项目成功的关键和质量的保证,应当体现在以下方面:(1)针对性:文档编制以前应分清读者对象,按不同的类型、不同层次的读者,决定怎样适应他们的需要。例如,管理文档主要是面向管理人员的,用户文档主要是面向用户的,这两类文档不应像开发文档(面向软件开发人员)那样过多地使用软件的专业术语;(2)连贯性:一个大型的GIS项目从立项开始至项目的交付使用,整个过程均有不同的文档来描述开发的活动,我们需要把这些文档统一管理,如进行系统编号,等;(3)图文并茂:文档编写应力求简明,如有可能,配以适当的图表,以增强其清晰性;(4)完整性:任何一个文档都应当是完整的、独立的,它应自成体系。同一项目的几个文档之间可能有些部分相同,如GIS工程项目中,我们必须在数据规范文档和数据库详细设计文档中描述空间数据的一些规范和具体设计,这其中必会有重叠,这些重复是必要的。应当少出现“参考××文档××节”之类的文字,这将给文档使用者带来不必要的麻烦;(5)灵活性:各个不同的软件项目,其规模和复杂程度有着许多实际差别,不能一律看待。对于较小的或比较简单的项目,可做适当调整或合并。但是对于一般比较庞大的GIS软件系统,一般不能减少其中任何一个环节,相反有时候需要把一个文档分成两个文档来写;(6)可追溯性:由于各开发阶段编制的文档与各阶段完成的工作有着紧密的关系,前后两个阶段生成的文档,随着开发工作的逐步扩展,具有一定的继承关系。在一个项目各开发阶段之间提供的文档必定存在着可追溯的关系。3)加大对后期文档的重视程度。一个项目做到最后,在接近成功的时候,开发者们往往会忽视后期文档的制作和管理。这种情况在国内业界是非常普遍的,诸如用户使用指南和帮助文件的编写,一般都是简单介绍界面、菜单怎么使用等。在GIS软件中,必须改变这种情况,这些文档是开发者们的产品直接面向用户的交流窗口。GIS专业术语太多,不同于一般通用软件,详细的介绍可以使用户从复杂的专业术语中摆脱出来。对于某些功能,还需要详细的示例,这样才能使用户快速掌握软件系统的用法。3相关技术培训进行GIS工程项目的开发人员,大多数都具有GIS专业背景,而在理解软件工程的指导方面则显不足。因此,迫切需要对GIS工程的研究人员、开发人员和管理人员进行软件工程方面的培训。当这些从事GIS工程项目的主力军在软件工程上有了较深层次的理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论