三个法国士兵打不过两个马穆鲁克人,100个法国士兵可以与100个马穆鲁克人站成平手,200个法国士兵则绝对可以战胜300个马穆鲁克人. 拿破仑 第十五章 地理信息系统应用项目组织和管理 导读:本章首先简单概括了GIS应用项目,提出了GIS应用的三元划分,然后介绍了几种GIS应用的建立途径以及项目周期。在项目开始之前,需要进行策略性规划和实施规划,如果要进行项目承包,则要签订合同;在GIS项目进行过程中,要进行人员管理,数据管理以及质量控制,本章根据GIS具体技术特点,提出了相应的建议。在最后,介绍了软件研制和开发的质量控制的两个标准,ISO9000系列标准和CMM模型,作为项目开发机构的指导。 本章和地理信息系统软件工程技术一章讲述的内容是互相依赖的,后者重点在于技术,而本章则侧重于组织和管理,往往组织管理对项目成败的影响比所采用的技术更大。 1.GIS应用项目简介 1.1GIS应用模式与分类 地理信息系统可以区分为通用地理信息系统平台和面向特定专题或地区的GIS应用,前者提供了基本的空间信息处理方案,可以应用于各个领域,一般由专门的软件开发商完成,其开发过程类同于普通软件系统(如数据库管理系统、桌面出版系统等等)的开发;而后者往往针对某个用户单位提供特定的技术手段。具体而言,GIS应用按照其应用模式又可以分为两类,即科学研究工具和办公服务系统两种。 1)科学研究工具 将GIS作为科学研究工具的应用模式,强调对于科学计算结果的获得和分析,把GIS作为科学研究的辅助手段。它主要应用于有关地学领域的科研项目研究中。它不仅需要用到地理信息系统通用软件所提供的功能,而且还要用到各种专业分析模型。 2)办公服务系统 办公服务系统应用于涉及空间数据的政府部门以及企业,以提高管理效率、制定好的决策和实现组织目标。 办公服务系统按照其应用层次的高低,又可以分为空间事务处理系统(STPS-Spatial Transaction Process System),空间信息管理系统(SMIS-Spatial Management Information System),空间决策支持系统(SDSS-Spatial Decision Support System)和专家系统(Expert System)。 事务处理系统的目标是迅速、及时、准确地处理大量空间信息,能够有效地进行日常事务的自动化处理。它注重于空间数据的收集,处理和存储,以供将来使用在各种大型应用地理信息系统的数据采集部门和具体事务部门都有着广泛的应用,包括测绘、资源调查、地籍管理、地图出版等领域。 空间管理信息系统是基于空间事务处理系统发展起来的,除了提供高效率的信息处理以外,还对决策者提供辅助决策信息,包括数据的查询和统计以及专业模型的分析功能。SMIS运用专业模型来处理和分析数据,以实现对业务工作中确定性问题的处理和管理,提供决策服务。 SDSS为决策者提供了一个模拟决策过程,并提供了选择方案的决策支持环境,强调系统推理的有效性,更多地应用于宏观决策过程。 专家系统是能够模仿人工决策处理过程的基于计算机的信息系统,它由知识库、推理机、解释系统、用户接口和知识获得系统组成。它扩大了计算机的应用范围,使其从传统的资料处理领域发展到智能推理上来。SMIS能够提供信息帮助制定决策,SDSS帮助能够改善决策质量,只有专家系统能够应用智能推理制作决策并解释决策理由。 上述应用模式之间的界限并不是绝对的,一个决策支持系统可以使用与科研工具中一致的分析模型,并且广义上讲,所有的地理信息系统应用的最终目标都是为了进行空间决策。 除了从应用模式上划分GIS应用,从规模上划分为小型、中型和大型应用。小型GIS使用数据量小,使用系统的用户少,主要针对一个部门或特定领域,注重于专业模型的开发和应用。中型GIS应用于多个部门,数据量大,运行于局域网或城域网环境,侧重于决策支持。大型的GIS应用则拥有非常多的用户和海量的数据,注重数据的管理,并通过网络实现分布式的计算和数据管理,并通过Internet发布空间信息。 另外,再考虑到GIS具体应用的领域,可以对GIS应用进行三元划分(图15-1),每个GIS应用都对应于该三维空间特定的坐标(表15-1)。 图15-1:地理信息系统应用的划分 表15-1:GIS应用的三元划分示例 名称 规模 应用模式和层次 领域  XX小流域水土流失系统 小型 科学研究工具 环境  XX城区土地划拨系统 中型 空间事务处理系统 地籍  XX林场管理系统 中型 空间管理信息系统 林业  XX大城市市政管理系统 大型 空间管理信息系统 城市管理  XX省可持续发展决策支持系统 大型 空间决策支持系统 资源与环境  从应用领域的角度对GIS的划分 GIS的数据模型可以划分为场模型和要素模型,图15-2表示了这两类模型在不同领域的应用。  图15-2:根据场模型和要素模型对GIS应用领域进行划分[N.R. Adam& A Gangopadhyay] 1.2开发GIS应用的方式 一旦组织决定建立用于本单位的地理信息系统,可以采取三种方式,一是通过购买,在组织中实施;二是请软件开发商来开发;三是由组织内部的人员开发,可以是专业的地理信息系统人员,也可以是最终用户。 其中购买GIS又可以分为购买GIS平台软件进行二次开发,购买完整的软件产品,购买完整的GIS系统以及购买GIS服务。 请软件开发商进行开发以得到完整的软件产品或系统,也可以认为是系统购买的一种形式,但是从购买到系统运行时间比直接购买时间要长。在请开发商进行开发时,可以有两种具体方式,即承包开发和合作开发。前者由开发商独立开发完整的系统,又称为“交钥匙”系统;后者在开发过程中,可以由用户方的技术人员参与开发,双方合作完成整个系统,这种方式有利于开发系统时对问题域的准确把握。 上述的GIS应用建立方式各有利弊(表15-2),各个组织可以根据具体情况确定采用何种方案。 表15-2:建立GIS应用方案的比较[据Aronoff扩展] 实施 方案 用户 开发 购买通用平台 购买完整软件 购买完整系统 购买 服务 承包 开发 合作 开发  对提供者依赖性 低 低 高 很高 很高 很高 中  到系统运行时间 长 长-中长 短 很短 很短 长-中长 长-中长  初始费用 低 中等 中等 高 高 高 中等  人力费用 高 中等 低 低 很低 低 中等  风险和不确定性 高 较低 低 低 中等 高 中等  灵活性 完全可以 完全可以 中等 中等 不定 高 完全可以  对用户技术要求 很高 高 中等 中等 很低 中等 高  现有资源的利用 高 高 中等 低 很低 低 中等-高  1.3 GIS应用项目 如果要建立GIS应用的组织不是购买现成的、直接可以使用的GIS系统,那么就意味着要进行系统开发工作,无论系统是自行开发,还是承包开发、合作开发。从开始确立需求,到最终的系统投入运行,这一个时间段内的活动统称为GIS应用项目。 通常一个项目包括四个阶段,识别需求,提出解决方案,执行项目以及结束项目,这四个阶段构成了项目的生命周期(图15-3)。  图15-3:项目生存周期[J. Gido] 识别需求由准备建立GIS应用系统的组织进行,包括认识当前组织的存在问题,准备用GIS解决哪个方面的问题,分析项目可行性以便进行项目预算等方面的问题。 如果是用户方自行开发建立GIS应用,那么提出解决方案、执行项目以及结束项目都是由用户方来完成。如果需要由GIS开发商进行开发,那么需要向他们征询解决方案,并签订合同,前者可以通过招标的方式进行。在签订项目合同之后,项目执行主要由开发方负责,用户方配合开发方的工作,直至整个项目结束。图15-4描述了这两种地理信息系统建立过程。  图15-4:地理信息系统项目过程 (A:表示用户自行建立系统;B表示通过招标由GIS开发商建立) 2.应用项目策略性规划 越来越多的机构都在开发GIS,但是根据调查,有大量的GIS系统不能真正地完成并正常运行,造成这些项目失败的大都不是由于技术上的问题,而是组织和管理中的问题,而不能进行细致的项目规划是根本的原因。项目规划包括策略性规划和实施性规划,前者在项目正式启动之前进行,而后者则往往是项目实施的第一步工作。 造成地理信息系统开发失败的因素[村井俊治],从相反的角度说明了如何才能开发一个成功的地理信息系统应用。  图15-5:造成地理信息系统开发失败的因素 应用项目策略性规划工作对应于项目生命周期的识别需求阶段,主要目的是确定要建立怎样的GIS应用,组织现有的条件,包括资金、人员、设备、场地等等,能否支持GIS的建立和应用。如果用户自行开发GIS系统,可以包括系统开发方案的选择;反之,一般由开发方提出解决方案。 GIS项目策略性规划一般包括五个主要部分: 1)机构的状况分析和调查 从GIS的角度了解一个机构目前的组织、任务和技术状况,包括责任范围,发展目标,技术力量,对使用信息技术和GIS的态度,人力、物力和资金状况等等。状况分析和调查为下一步计划提供了概念化的基础。 2)机构的GIS系统开发目标 明确定义整个机构GIS总的发展方向,这个方向应当与整个机构的任务和责任范围一致,并且应当对整个系统各方面的能力作出明确的定义。制定总方向的过程需要机构内高程管理人员的参与,他们对于整个系统开发的必要性的理解和认识会对整个系统的发展有所帮助。 3)系统开发的可行性 主要包括资金、技术力量和组织运作三个方面。资金的分析应当考虑到整个GIS实施、运行和维护的全过程,通用的方法是成本效益分析。在技术可行性方面,要考虑GIS项目中所要求的技术能否满足,技术发展以及新技术出现对项目的影响,是否需要对人员进行技术培训。组织方面,包括整个机构能否愿意承受引入GIS技术所带来的变化以及能否在开发过程中相互协作完成开发任务。 在进行可行性分析时,不可忽视各个方面的变化所引发的风险,要对风险进行客观的评价,并作出相应的防范措施。 4)系统开发的方案选择 系统开发的方案选择覆盖了GIS系统的各个方面,包括数据部分、功能部分、系统的整个软件和硬件的框架等,以确定各个方面的实施部门、进度安排和管理方法等等。 5)GIS系统决策规划书的起草 方案确定之后,需要将方案起草成文件形式,由有关部门审批,同时也可以作为系统规划和实施的指导性文件。 在策略性规划完成并得到批准之后,如果是由用户自行开发系统,则可以直接进行下面的开发工作;如果需要由另外的GIS开发商合作开发或承包开发,则可以以需求建议书(RFP, Request for Proposal)的形式提交给开发商,而开发商将其作为进行需求分析的重要依据,此外,在合同中也体现了策略性规划的部分成果。 3.应用项目合同 如果用户单位确定由其它软件开发商承包或合作开发GIS应用软件系统以及向开发商购买现成的软件系统,则需要由双方签订关于本次开发或购买——统称为软件贸易——的技术合同。技术合同确定了贸易的目的,双方的权利和责任等多个方面的内容。在中国,技术合同的签订、执行、变更与终止需要在《著作权法》和《技术合同法》中的有关原则的规范下进行。 由于当事各方的具体情况不同,合同的具体内容和形式也不同。一般而言,采用双方合作开发的形式,因为用户拥有部分版权,合同中对于用户限制较小;而采取“交钥匙”的开发方式或者直接购买软件,则对作为接受方的用户*的限制较为严格。具体地,软件技术合同通常所包含的条款有: 1)引言 是合同的第一个条款,包括合同签订日期,当事双方名称、地址,合同背景。 2)定义 在定义部分,对一些关键性的用词进行定义,避免双方对合同中用词和概念的不一致带来纠纷。对于信息系统技术合同,需要进行定义的名词包括“被许可软件”,“文档”等等。对于“被许可软件”,需要指明软件名称、版本、形式(目标代码,源代码);而对于“文档”,要说明它是用户手册,还是工程文档,或者两者都包括。 3)标的 说明了开发系统名称、合作开发方式、使用许可以及系统的技术规格。技术规格又包括软硬件环境,功能描述和性能说明。 4)授权及限制 该部分规定软件供应方和接受方的权利以及对这些权利的限制,在每一项具体的合同中,用户方获得的授权内容和限制是不一致的。在技术合同中,授权包括: (4.1)使用权:软件使用权是通过许可合同授予用户最主要的权利,是签订许可合同的标的,不过作为供应方可以对使用权增加一些限制,包括运行环境,数据等等。 (4.2)分销权:如果接受方不是最终使用用户,可以经销系统,则需要在合同中确定其分销权。 (4.3)独占性:使用权和分销权可以是独占的,也可以是非独占的。分销权独占性一般只是在一个地区范围内和行业范围内成立。 (4.4)复制权:对用户制作合法拷贝备份的规定。 (4.5)修改权:一般来说,获得使用权或分销权的用户都无权修改供应方提供的软件。不过,根据实际的情况,可以在合同中作出更为合理的规定。 对于专业GIS应用软件,由于一些专业模型需要由用户提供,并且需要修改,一般规定用户有修改权,以改进模型,但在这时要对供应方的维护责任作出规定。 (4.6)对许可合同的转让权:被许可人可以将许可合同赋予自己的全部权利转让给第三方,但是只能转让一次,并且需要征得供应方的同意。 (4.7)对计算机系统的限制:通过限制软件运行的计算机系统防止系统扩散。 (4.8)地区限制:限制合同的运用地区。 5)交付与安装 明确规定供应方提供软件——包括程序和文档——的具体内容,对于程序,需要说明是否包括源代码;文档要说明包括哪些具体文档;同时对于是否由供应方将应用软件安装在计算机内。 6)移交与验收 为了保证接受方得到的系统是可以实际使用的,在合同中必须对软件的移交和验收作出安排。 7)培训 如果需要供应方为接受方承担培训工作,则应在合同中设置培训条款,包括培训时间、内容和费用承担等。 8)维护 在任何软件技术合同中,都要包括维护条款,维护包括纠错性维护、适应性维护和完善性维护,合同中首先要注意的是纠错性维护。维护条款包括修正错误的时间,费用承担,同时规定哪些情况不在供应方维护范围内。 9)期限 期限规定了合同的有效时间。 10)报酬与支付 在报酬和支付部分包括三个方面的问题:支付方式、费用支付针对哪些软件产品和服务、支付时间。例如,对于最终用户,采取的支付方式包括依次性固定支付,周期性固定支付和根据运行情况进行支付三种方式。 11)纳税 该部分规定的各项税款的承担单位。 12)所有权的归属 一般而言,接受方只是获得了软件的使用权,所有权并没有转让。但是在合作开发中,可以根据具体情况规定所有权归属。另外,在承包开发的情况下,为了保护接受方权益,可以规定所有权属于制定的委托方。 13)保密与限制竞争 在承包开发过程中,双方都有可能使用对方的机密,需要规定保密责任。 14)担保和赔偿 担保是指供应方对自己所供应软件的担保,包括功能、性能以及版权等方面。如果所做保证不能实现,则要向接受方提供损害赔偿。 15)违约处理 规定了合同双方发生违约时的处理,包括终止合同以及赔偿等等。 16)争议处理 在合同执行中出现争议的处理,通常的做法是提请拥有计算机技术方面的专家仲裁裁决。 17)终止 如果合同没有确定期限,规定合同在哪些情况下终止以及合同终止后双方要做的事情和继续承担的责任。 18)条款的完整性 强调条款的完整性,未在合同中的内容,一律不能成为本次软件贸易的组成部分。 19)不可抗力 由于出现不可抗拒因素而影响合同的执行,通常一方应给予谅解并适当延长履行合同期限。 20)法律的选择 如果双方属于不同的国家,要说明发生纠纷时采用哪个国家的法律。 21)生效 一般合同签字后即可生效,在有些情况下,需要由有关部门批准后方可生效,在本条款中加以说明。 上面是软件技术合同的一些基本条款,除此之外,还往往包括一些附件以详细说明具体的技术问题。 4.应用项目实施性规划——软硬件配置 应用项目开始之后,就要进行实施性规划,在这一阶段,主要要确定系统软硬件设计。如果不是完全自行开发系统,软件设计过程中要进行软件配置,反之要进行软件的总体设计。 在进行软硬件配置时,主要考虑的因素有: 1)系统数据量; 2)用户数目,并发访问情况; 3)现有网络环境; 4)投资规模; 5)GIS应用在整个系统中的位置,是一个纯粹的GIS系统还是与其它系统结合而成的综合信息系统。 这些因素,在策略性规划阶段就已经基本确定,此时要根据这些因素进一步选择软件以及硬件设备。在进行软硬件配置时,除了上述因素外,可以参照以下原则: 1)不要只重视硬件,而忽视软件的选择; 2)保护已有的投资,包括软件、硬件设备、数据等; 3)保证系统的可扩充性; 4)考虑技术的发展方向; 5)如果要进行二次开发,要着重考虑软件的二次开发支持能力; 6)重点考虑软硬件功能能否满足项目需求; 7)性能也是不可忽视的重要因素。 8)选择软硬件的功能必须要满足系统要求,而性能指标可以事先界定,通常系统的性能与投资多少直接相关,这就需要根据投资数额确定一个最佳性能/投资比,不至于引起浪费或者不能满足项目要求。 下面给出了进行GIS软硬件配置时的一些具体的意见(表15-3)。 表15-3:GIS软硬件配置时的一些具体的参考意见 项目 具体考虑因素  软件 数据量 数据的分布性 已有数据 需要二次开发 系统需要与其它软件协作 现有的软硬件平台 需要与Internet结合 硬件 数据量大,并且需要共享 数据需要定期备份 大量的数据录入 地图输出 高质量、大幅面地图输出 数据采集 移动计算 已选择的软件 网络 局域网 远程访问 接入Internet  如果数据量大,要关注软件对大数据量处理的性能,是否支持图库 如果数据是分布管理的,需要软件支持网络 软件能否顺利地读入现有的数据 软件是否具支持二次开发,支持方式(API,控件,宏语言) 软件对数据库是否支持 软件必须能够运行于现有的软硬件平台上 软件是否支持Web,具体方式(ActiveX,Java等) 选择数据服务器 磁带机,光盘课录机 扫描仪,数字化仪 彩色喷墨打印机 喷墨绘图仪,其它高档绘图仪 GPS接收机,平板测图仪 笔记本电脑 使软件能够运行良好的硬件平台 细缆线/双绞线,集线器 拨号网络支持 各种专线  5.子项目划分和进度安排 在一个较大规模的地理信息系统建设过程中,由于要涉及各个部门,功能和数据数据的形式多种多样,并且要涉及不同的软硬件平台,需要在项目实施之初,制定计划以协调各个方面的问题*。通常,计划中最重要的内容是划分子项目以及整个项目进度的安排。 5.1划分子项目 子项目的确定是整个GIS系统设计过程中最重要的环节之一,子任务的合理制定使得各方面的细节不至于遗漏,使整个计划、预算和质量得到保证。子项目不仅要包括技术任务,而且要包括各种非技术的任务,包括管理、支持等等。划分子项目时,可以按照整个项目、项目、任务、子项目、具体工作、步骤等六个层次,进行自顶向下地划分。表15-4列出了常用的GIS项目任务。 表15-4:常用的GIS项目任务[宫鹏] 项目规划 可行性分析 市场调查 技术调查和评价 起草报告 试点项目 数据收集 数据数字化 数据转换 数据质量控制 制图 设备购买 设备安装 数据库生成 数据库概念设计 数据库详细设计 数据收集 数据数字化 数据转换 数据编辑 数据质量控制 数据修改 自动化编程 数据输出 制图 数据制表 自动化编程 GIS分析 分析模型定义 分析模型的过程设计 分析模型实施 分析制图 分析制表 分析自动化编程 分析报告生成 应用系统开发 系统的用户需求分析 系统的设计 系统设计报告起草 系统编程 系统测试 系统运行报告和安装 系统培训 系统的用户报告 系统维护报告 系统维护的技术服务 其它 人员技术培训 项目管理 系统维护 数据安全备案 项目技术会议 项目中期报告 项目终期报告  5.2进度安排的原则和表示方法 项目进度安排是管理者在进入设计和实施阶段之前需要完成的,要在时间和顺序上安排各个子项目。在进行进度安排之前,首先必须估计每项活动从开始到完成所需要的时间,其次要考虑的因素包括活动之间的依赖关系(必须完成一项才能进行下一项)以及各个活动的最早开始——结束时间和最迟开始——结束时间(例如:整个项目工期为120天,某项活动需要30天,那么它的最迟开始时间是第90天)。计划要有灵活性,可以根据变化进行相应的调整;此外,要保证参与人员有足够时间来完成各项任务,在任务之间安排一定的“机动时间”是一个较现实的办法。 表示项目进度的常用方法有里程碑表示法(Milestone Chart),甘特图法(Gantt Chart),关键路径法(CPM-Critical Path Method)和墙纸法(Wall Paper Method)。 5.2.1里程碑表示法 里程碑表示法适用于较小规模的项目,可用于起草项目计划书,该方法将主要任务作为一个阶段来处理,清晰并且容易使用。缺点是不能表达出各项任务之间的关系,对项目进程的控制能力差。表5给出了该方法的样本。 表15-5:里程碑表示法 任务编码 主要内容 负责小组 预计完成日期 实际完成日期              5.2.2甘特图法 甘特图法又称直方图法、柱状图,是目前使用较多方法,它容易表现活动的时间长短和先后顺序,但是不能描述影响关系,难以进行复杂项目的控制。图15-6是甘特图法的一个例子。 任务内容 和编码 1998年(季度) 1999年(季度)   一 二 三 四 一 二 三 四  项目规划 试点项目 数据收集 数据数字化 数据编辑 质量控制 应用软件开发 分析模型定义 模型定义 编程实现 项目管理          图15-6:甘特图法表现项目进度 5.2.3关键路径法 关键路径法表达了项目中各个任务之间的先后顺序和制约的双重关系,适用于对大型的复杂项目进行进度控制。采用关键路径法需要管理人员对子项目之间的关系十分清楚,其缺点是不够灵活,并且制作烦琐。 5.2.4墙纸法 墙纸法主要适用于有较多人员参加的项目类型,它的特点是直接对每个具体人员安排任务。采用墙纸法制定项目进度时,需要一开始就有有关项目人员的参加,便于发挥其主动性。 在进度安排时,可以利用计算机软件辅助进行,使进度更加合理。 6.项目预算 6.1项目预算的主要内容 项目预算是起草项目计划书时必须做的一个步骤,也是GIS项目管理人员最常做的事情之一。一般来说,GIS项目的支出主要有七类,与某一GIS项目直接发生关系的费用称为直接项目费用,否则被称为非直接项目费用。 1)人力费用:指拥有和使用人力资源来完成任务的费用,主要包括员工的工资和福利,人力费用属于直接项目费用。 2)材料和办公用品费用:包括购买各种办公用品、书籍、图件等的费用。 3)设备费用:主要包括计算机硬件的购买或租赁费用。 4)软件费用:计算机软件的购买或租赁费用。 5)软件和硬件维护费用。 6)内部服务费用:主要包括机构内部某些部门的维持费用,它们间接支持项目和整个机构的运行。此外,还包括保险、办公场所租赁、通讯费用等等。 7)其他费用:不属于以上任何一类的费用,包括旅行费用、培训等。 上面除人力费用属于直接费用以外,其他都属于非直接费用,在计算时可以用人力费用乘以一个权值以估算非直接费用。 6.2项目预算的方法 在进行GIS项目预算时,要综合考虑各种费用,进行预算的方法主要有四种:上溯法,下溯法,单价法和根据项目参加人员的费用做预算的方法。 6.2.1上溯法 上溯法适合于根据项目任务确定来确定最终的总报价的情况。图15-7表示了利用上溯法进行预算的步骤。  图15-7:利用上溯法进行项目预算 利用上溯法进行预算,需要注意以下问题: 1)需要完全理解项目的范围,因为该方法是依据项目的内容和范围来着手和定义,确定范围过大或过小,都会对总报价有很大的影响。如果范围边界存在模糊,可以使用一些约束条件。 2)项目任务的划分,如果一个项目的任务划分基本正确,那么总报价不会出现太大的偏差。在进行任务划分以及任务工作量估计时,可以参照以往类似的工作进行。 3)提成和利润,在总报价中,提成和利润占有相当的份额。在美国,GIS项目中,人力费用、办公费用和公司利润大约各占三分之一。 6.2.2下溯法 下溯法适用于预算总额已经确定的情况,对各个划分的任务确定其具体费用。在实际工作中,可以与上溯法相结合,对预算方案进行调整,使结果既能考虑到项目总费用,又能顾及具体的任务工作量。 6.2.3单价法 单价法是指以项目的单个单元为计价的预算方法,适合于过程比较固定、重复性较大的项目类型。最典型的使用单价法进行预算的项目是地图数字化,例如要对500幅地形图进行数字化,在考察大多数地形图内容、质量、预期数据量后,根据最终确定的数字化流程以及精度要求,可以推算出平均每幅地形图所需要的时间和费用,进而就可以得到总的项目费用。 6.2.4根据项目参与人员的费用做预算的方法 根据项目参与人员的费用来做预算取决于项目使用的人员类型,通常该方法在使用高级技术人员的情况下使用。该方法注重每个人参加项目的时间,而无需对项目的任务加以严格定义。 如同进度安排一样,进行项目预算时,为了能够应付项目过程中出现的各种问题,保持一定的“弹性”是必需的。 7.人员管理 7.1地理信息系统应用项目中的人员 在地理信息系统应用项目的组织和建设过程中,不论是由应用部门独立开发还是和由专门的独立软件开发商进行开发,其中涉及的人员按照角色,可以分为以下几类: 7.1.1项目管理人员 项目管理人员负责整个项目,又称为项目经理。在项目实施之前,项目管理人员参与制订工作计划;在项目开发过程中,要监督和管理项目的进度与开销。当进度落后或者开销超出预算时,项目管理人员要找出其中的原因,并提出解决的方案。 在具体实践中,根据项目的规模以及开发组织方式(合作开发还是单独开发),可以设一个或多个项目管理人员,具体分管不同的方面。项目管理人员应该对项目目的以及相关技术相当熟悉,并且具有一定的管理能力。在合作进行的项目开发中,一般由双方各出一人担任项目管理人员,以进行协调工作。 7.1.2系统开发人员 系统开发人员在应用项目的开发过程中,所占比例应该是最大的。按照所进行开发活动,可以分为系统分析员、设计员、编程实现人员、测试人员以及系统维护人员。同时可以按照项目的具体技术内容,划分为几个技术专题,每个专题对应一个或多个开发人员。 一般而言,系统分析员、设计员、编程实现人员不应该重叠,但是在实际过程中,由于人力资源不足,更由于没有很好地实施软件工程,分析设计文档不够完善,造成交流困难,一般都按照技术专题对人员进行分组,每一组完成该专题的需求分析,设计和实现工作。在项目规模较小时,可以采用这种人员组织方式,以提高灵活性。 7.1.3数据录入和处理人员 数据在GIS应用项目中占有非常重要的位置。一个GIS项目,往往需要大量的数据,所以在进行软件开发的同时,需要组织数据的录入和处理。数据录入和处理没有特殊的技术要求,一般的工作人员,经过简单的培训即可胜任该工作。在项目进行中,需要考虑的因素有: 1)数据录入和处理是一件相当单调而且令人厌烦的工作,需要工作人员认真负责,同时还要采取适当的激励手段以保证工作顺利进行; 2)在数据录入和处理过程中,需要专门的技术人员进行质量检查,避免数据精度不能满足最终项目的要求; 3)如果待开发软件包括了数据录入功能,如果等待软件完成后再进行数据录入,可能会造成工期延误,因此可以考虑先采用其它软件进行数据录入和处理,然后再进行数据转换。 7.1.4开发支持人员 开发支持人员保证整个开发过程的顺利进行,其工作包括开发工具的维护,网络管理等等,如果项目规模较大,需要配置管理人员保证协作开发不至于引起混乱。 7.1.5领域专家 由于许多GIS应用项目对应于专业的要求,所以需要领域专家参与开发过程,以便于将他们的理论、经验在计算机系统中加以实现。 7.1.6用户 用户不直接参与开发过程,但是他们是系统的最终使用者。在开发系统之前,需要从用户那里获得需求;在开发过程中,完成的原型系统一般需要由用户进行评估。 7.1.7其它支持人员 包括不直接参加项目的支持人员,如财务人员,文档管理人员等等,他们对于项目的正常运行起着重要的作用。 7.2对人员需求的了解——进行管理的基础 在项目过程中,需要对参加项目的各类人员进行妥善的安排,对于人的管理,首先要求项目管理人员了解各个执行人员的性格特性,从而了解其需求*,找到调动其积极性的因素,并积极满足其需求。在信息技术领域,员工的积极性直接影响了工作效率和质量,因而,在GIS项目组织管理中,调动员工积极性对于项目管理人员尤为重要。 一般认为,与工作有关的需求因素包括: 1)工资或奖金的多少; 2)在机构内的职位和责任范围; 3)人际关系; 4)工作的挑战性; 5)个人的被承认程度; 6)所拥有的自由度; 7)享受各种待遇的程度,如医疗保险、假期等等; 8)物质方面,包括办公条件等等。 不同类型的人对不同需求的要求程度也有所差异,如工作型的人员期望得到较好的工资、待遇、职称、办公条件,而事业型的人员则更看重工作的挑战性、责任范围、个人的发展等方面的内容。此外,人员的性格也决定了相互之间的合作模式以及他们在组织中最合适的位置。不同性格的人可以合理地安排在一起,形成一种和谐的工作环境,保证项目的顺利完成。 在工作中,通常高的收入是工作人员最基本的需求,换言之,提高工资报酬是管理人员采取的主要激励手段。但是,经济学家认为,劳动力的供给是“向后拐弯”的曲线(图15-8)。  图15-8:劳动力供给曲线 造成种现象的主要原因是,当雇员的工资达到一定水平之后,随着收入的增长,追求更多的闲暇,使工作时间减少。对于项目管理人员,了解劳动力供给的这种特性,可以采取更加灵活的刺激手段,例如对于开发人员,一个具有挑战性的工作往往能够激发其工作热情。 7.3人员的组织管理 项目管理者除了根据每个工作人员的具体情况确定其分工,采用以下管理手段有助于提高组织的生产效率: 1)工作的内容 保证分配适当的任务给雇员,其分配依据包括其技术与性格的特点。此外,一般要给出较多的工作量,使得每个工作人员总是有足够的工作做。 2)工作的安排 根据项目所需要的时间,每隔一定时间对整个任务进行安排。 3)交流 与技术人员的交流,可以使管理人员了解项目的具体进度及遇到的技术难点,还可以使技术人员把握整个项目的技术、时间、质量等具体的要求。 4)项目背景和发展要求的回顾 给技术人员较为全面的项目介绍,包括背景、参与的团体、进度安排等,容易使技术人员了解其工作在整个项目中具体的位置,增强其成就感。 5)层次 在关键的岗位使用优秀的人才。 6)新技术 关注新技术的发展,注重技术革新,通过组织技术培训保证技术人员掌握新技术。 7)会议 适当地组织不同层次、规模的会议,在会议进行之前,组织者要明确会议的主题和目的,使参与人员有所准备。 8)交流手段 采用电子邮件是较好的信息交流手段,它可以作为开发的历史档案加以保存。 在信息技术的开发和应用中,人员的管理是企业管理中最重要的一个环节,对于GIS应用项目,由于涉及各个领域的技术人员,更需要有效的人员组织和管理。 8.开发和数据管理 在建立地理信息系统应用的过程中,软件开发和数据处理是最为繁重的两个技术任务,对这两个部分的管理的好坏直接影响到整个项目的成败。 8.1软件开发管理 尽管在软件工程方面已经有许多的技术和方法,如结构化方法,面向对象的方法等等,在开发过程中采用这些方法以提高效率,但是开发过程的管理始终是决定一个软件项目成败的重要因素。对于开发管理,并没有“万能”的办法可以适用于所有的软件开发过程,但是在管理中遵循以下原则可以更好地确保软件产品质量和开发效率[B.W.Boehm],这些原则同样也适用于GIS平台软件的开发。 1)用分阶段的生命周期计划严格管理 在整个软件生命周期中,要完成许多性质各异的工作。该原则意味着把软件生命周期分成若干个阶段,并制定严格计划对软件开发和维护进行管理。通常以下六类计划是应该制定并严格执行的,即项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。 2)坚持进行阶段评审 软件的质量保证不能等到编码结束之后再进行,这是因为,第一,大部分错误是在编码之前造成的;第二,错误发现越晚,所需要代价越高。因此,需要在每个阶段都进行严格评审,以便尽早发现软件开发过程中的错误。 3)实行严格的产品控制 在开发过程中,用户的需求难免发生变化,而为了满足其变化的需求往往要付出较高的代价,这就需要进行严格的产品控制,通常所采用的技术就是配置管理。 4)采用现代程序设计技术 实践表明,采用先进的程序设计技术既可以提高开发效率,又可以提高软件的可维护性。这些技术包括结构化分析、设计、编程技术以及面向对象的分析、设计、编程技术等。 5)结果应能够清楚地审查 软件产品是思维的产物,这决定了工作过程难于评价和管理,难以准确度量。为了提高开发过程的可见性,以便进行管理,应该根据总目标和进度,规定开发组织的责任和产品标准。 6)开发小组的人员应该少而精 软件开发小组的组成人员素质应该好,而人数不宜过多。素质高的人员开发效率比素质低的人员的开发效率可能高几倍到几十倍,而且错误更少。而小组人数的增多会造成交流的困难。 7)承认不断改进软件工程实践的必要性 由于技术在不断进步,应该主动采纳新技术,而且要不断总结经验,以不断改进工程实践*。针对一个项目,遵循前六点就可以保证项目的成功,该原则使软件组织能够持续发展。 8.2数据管理 在一个GIS应用项目中,通常需要输入和处理大量的数据,其中主要是空间数据,如果没有采取合适的数据管理,那么可能因为以下原因造成项目的混乱甚至失败: 1)数据质量不能达到项目要求; 2)数据没有完全输入或处理,造成项目延期; 3)数据重复录入或处理,造成人员和时间的浪费; 4)进行数据处理和模型运算时,没有及时采用最新的数据。 为了避免出现上述的问题,必须对数据的录入和处理过程和数据质量进行严格的控制。通常GIS应用项目的空间数据来源包括:GPS数据,摄影测量数据,测量数据,卫星遥感数据,已有非数字地图。不同的来源,其处理和质量控制原则也有所差别。对于GPS数据和测量数据,只需要进行简单的数据规范化(如格式转换,拓扑关系建立等等)处理,就可以在GIS中使用,其精度由GPS或测量设备决定,在数据处理过程中不会带来新的误差。摄影测量数据和卫星遥感数据通常需要进行一系列纠正操作,然后进行自动或半自动解译,以提取专题信息,最后通常是转换为多边形数据,输出到GIS应用中,其误差来源包括纠正(包括辐射纠正和结合纠正)以及分类过程中的误分。纸质地图的录入,可以采取手扶跟踪数字化和扫描矢量化两种方式,其误差来自于数字化过程,并且与进行数字化人员的工作态度有密切的关系,此外数字化数据往往现势性较差。 数据输入和处理的进度控制可以采用普通的里程碑方法或甘特图法,如果工作区范围较大,并且每一数据处理单元只覆盖工作区的一部分,可以采用图15-9所示的方法,以表示进度,其优点是更加直观,不容易遗漏数据。  图15-9:一种直观的数据输入进度管理方法示例 (图中每一矩形框内的时间表示该数据应该完成的时间, 深灰色矩形表示已经完成,而浅灰色矩形表示数据录入和处理正在进行) 如果项目中数据量大,并且需要多个数据文件以存储数据,那么需要在工作进行之初就定义文件的命名规则,以通过文件名表达其数据内容,避免造成管理上的混乱*。如用文件名SO01DG表示第一次数字化的土壤图(SO:Soil,土壤;01:第一次;DG:数字化)。通过文件名表达的信息可以有专题、已进行的处理、时间、处理人员、数据区域范围等等,但是太长的文件名同样会造成记忆的困难。 除了定义文件命名规则外,其它描述信息,包括数据来源、地物的数值范围、地图投影、精度、数据的依赖关系等元数据可以建立数据字典。可以对数据字典进行检索,以掌握数据的进度。 9.项目控制与评估 在GIS应用项目进行中,控制活动要贯穿于整个项目的始终,才不至于在项目完成后出现严重的质量以及时间问题。而在项目的每一个阶段、或者整个完成之后,进行事后分析和评估可以更好地了解项目进展中的问题,对项目参与人员进行评定,为下一阶段或者以后类似项目组织管理作为参考依据。从一定意义上来讲,进行评估是实施项目控制的有效途径。 通常,进行事后分析和评估的对象包括: 1)程序:数量和质量; 2)数据:数量和质量; 3)参与人员:工作时间和效率; 4)资金:使用情况和使用效率; 5)设备:占用情况和效率。 在对上述因素进行分析和评估时,要尽可能使用定量的方法,一方面数量能更准确地说明项目进展和存在的问题;另一方面,采用数量也便于进行横向和纵向的对比。横向对比是指项目中各个小组,甚至不同人员的对比,纵向对比是指项目的不同阶段或不同项目之间的对比。 分析评估的结果可以以表格、统计图的形式直观的表现(表15-6,图15-10),项目管理人员可以根据结果评估工作进展,发现问题,并在下一步的工作中进行改正。 表15-6:XX项目第一阶段(1999年1月-1999年10月)工作分析结果 项目 数值  程序 代码总行数 错误数目 错误比率 数据 录入总数据量 抽样平均偏移误差 遥感分类后数据总量 抽样分类精度 人员 人员总工作时间 资金 总使用资金  78532 130 1.65处/千行 78兆 0.12毫米 290兆 83% 140人月 8.2万元  表15-6列出了从总量上对项目中各个要素分析的结果,可以作为计算项目阶段成本、效率的依据;而图15-10更好的说明了项目的进展状况,可以使管理者方便地发现项目进展顺利和不顺利的时间段,并进而发现其原因,作为下一阶段工作管理的依据。而整个项目的分析图表可以被复用于下一个类似的项目,进行成本——效益分析和进度安排。  图15-10:通过不同指标反映项目的进展状况 10.软件研制和开发的质量管理—— 对于GIS软件开发组织的指导 由于计算机技术的发展以及用户需求的增长,GIS软件的研制与开发(R&D,Research and Development)也越来越多,这意味着竞争也愈加激烈。对于GIS软件开发组织,在市场上取得成功的因素包括:技术的先进性、功能的实用性和可靠性、系统操作的便利性、版本的连续性以及技术支持维护等等。为了达到这些目的,唯一的途径就是采用合适的质量管理与控制。 10.1 ISO-9000系列标准 质量管理的目的是为了生产高质量的产品,它不是通过检验产品的质量,而是把质量建立在生产过程之中来达到。近年来,国际上影响最为深远的质量管理标准是ISO9000系列标准。ISO9000最初主要针对制造行业,现在已经扩展到硬件、软件甚至服务领域。ISO9000强调控制、可审查性、检验与核实以及过程的改进。其基本要求是:“说你做的(Say what you do)”,“做你说的(Do what you say)”,并“证明你已做的(Demostrate what you have done)”。 ISO-9000系列标准包括: 1)ISO-9000质量管理和质量保证标准——选择和使用的导则; 2)ISO-9001质量体系——设计/开发,生产,安装和服务中的质量保证模式; 3)ISO-9002质量体系——生产和安装中的质量保证模式; 4)ISO-9003质量体系——最终检验和测试中的质量保证模式; 5)ISO-9004质量管理和质量体系要素——导则。 ISO-9000原本为了制造业而规定,不能直接应用于软件行业,后来追加了9000-3标准,成为“使ISO-9001适用于软件开发、供应和维护的指南”。 ISO-9000-3的核心思想是“将质量制作入产品之中”,也就是说,软件的质量提高不能依赖于完成后的测试,而取决于整个软件生存期所有的活动。ISO-9000-3的要点如下: 1)ISO-9000-3标准不适用于面向多数用户销售的程序包软件,仅适合于依照合同进行的单独订货开发软件,它也是用户企业的系统部门在建立质量保证体系时的指南; 2)ISO-9000-3标准对供需双方领导的责任都做了明确的规定,并没有单纯地把义务全部加在供方; 3)在包括合同在内的全部工序中进行审查,并彻底文档化。具体来说,就是需方和供方合作审查,找出含混不清的问题,并记录在文件中; 4)ISO-9000-3叙述了供方和需方如何合作进行有组织的质量保证活动才能制作完美的软件,强调质量保证体系贯穿于整个开发过程,强调防患于未然而不是事后纠正; 6)供方应实施内部质量审核制度,要求供方为了质量管理而整顿其组织机构,建立监督质量体系的机制; 7)供方应对每项合同进行审查。 10.2软件过程改进的CMM模型 由于ISO-9000系列标准并不针对于软件企业,到九十年代初,CMU的SEI(软件工程研究所)提出了软件的能力成熟度模型(CMM-Capability Maturity Model for Software)。 与ISO9000相比,CMM只关注软件,明确强调持续的过程改进,而ISO9000只是解决质量体系的最小保证。 CMM模型较为全面地描述和分析软件过程*能力的发展程度,建立了描述一个组织的软件过程成熟程度的分级标准。利用该标准,软件组织可以评估自己当前的过程成熟程度,并通过提出更严格的软件质量标准和过程改进,来选择自己的改进策略,以达到更高一级的成熟程度。CMM模型共有五个成熟度级别,其特征为: 1)初始级(Initial) 软件过程杂乱无章,有时甚至混乱,几乎没有明确定义的步骤,成功完全依赖于个人努力和英雄式的核心人物。 2)可重复级(Repeatable) 建立了基本的项目管理过程来跟踪成本、进度和机能,有必要的过程准则来重复以前在同类项目的成功。 3)定义级(Defined) 管理和工程的软件过程已经文档化、标准化,并综合成为整个软件开发组织的标准软件过程,所有的项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件。 4)管理级(Managed) 制订了软件过程和产品质量的详细度量标准。软件过程和产品的质量都被开发组织的成员所理解和掌握。 5)持续优化级(Optimizing) 加强了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能够不断持续地改进。 CMM定义了每个成熟度级别的关键过程范围(图15-11),一个软件组织只有满足该范围内的每个目标,才能被认为达到该成熟度级,这实际上也是软件组织达到更高一级成熟度的指导。  图15-11:CMM模型中的五个成熟度级别,其关键过程范围[CMU SEI] CMM建立了一个可用的标准描述,在签定软件项目合同时,可以参考这些标准进行风险评估,而软件企业可以利用CMM框架来改进其开发和维护过程。 尽管CMM列出了每个成熟度级别的特征和关键过程,但是并没有回答如何做才能达到高一级的成熟度级的问题,没有提出特定的软件技术,也没有涉及如何具体的进行人员管理,这些都需要应用CMM的组织在实践过程中,根据其具体情况加以解决。