1、第第4 4章章 GISGIS工程管理工程管理 4.1 4.1 软件工程项目管理与概述软件工程项目管理与概述 4.2 GIS4.2 GIS软件工程项目管理的文档软件工程项目管理的文档 4.3 4.3 地理信息数据集成工程项目的计划地理信息数据集成工程项目的计划 4.4 GIS4.4 GIS数据集成工程的项目管理数据集成工程的项目管理 软件项目的管理所涉及的范围覆盖了整个软软件项目的管理所涉及的范围覆盖了整个软件工程过程。在软件工程开始之前,管理工作就件工程过程。在软件工程开始之前,管理工作就已经开始。它必须对软件开发项目的工作范围、已经开始。它必须对软件开发项目的工作范围、可能遇到的风险、需要的
2、各种资源、要实现的任可能遇到的风险、需要的各种资源、要实现的任务、花费的工作量和成本、进度的安排等做到心务、花费的工作量和成本、进度的安排等做到心中有数。中有数。4.14.1 软件工程项目管理与概述软件工程项目管理与概述4.1.1 4.1.1 项目管理过程项目管理过程1 1)项目的启动:)项目的启动:明确系统的目标和范围(系统明确系统的目标和范围(系统的基本功能),考虑可能的解决方案,说明技的基本功能),考虑可能的解决方案,说明技术和管理上的要求。术和管理上的要求。2 2)度量:)度量:对管理过程进行定量化分析,比如软对管理过程进行定量化分析,比如软件质量的定量分析。其目的是为了帮助开发人件质
3、量的定量分析。其目的是为了帮助开发人员了解产品开发的技术和过程,提高软件产品员了解产品开发的技术和过程,提高软件产品的质量。的质量。3 3)估算:)估算:在做计划时,必须就需要的人力、项在做计划时,必须就需要的人力、项目持续时间、成本作出估算。估算主要是参考目持续时间、成本作出估算。估算主要是参考以前软件开发的耗费,也可以使用软件开发的以前软件开发的耗费,也可以使用软件开发的估算技术。估算技术。4 4)风险分析:)风险分析:这对于软件项目管理是决定性的,这对于软件项目管理是决定性的,它必须贯穿在软件工程过程中,它让人们主动它必须贯穿在软件工程过程中,它让人们主动“攻击攻击”风险。风险。5 5)
4、进度安排:)进度安排:先确定软件开发的一系列任务,再先确定软件开发的一系列任务,再建立任务之间的相互关联,估算每个任务的工作建立任务之间的相互关联,估算每个任务的工作量,分配人力和其他资源,然后制定进度时序。量,分配人力和其他资源,然后制定进度时序。6 6)追踪和控制:)追踪和控制:项目管理人员必须负责追踪在进项目管理人员必须负责追踪在进度安排中标明的每个任务,以便重新调整进度和度安排中标明的每个任务,以便重新调整进度和资源的分配。资源的分配。4.1.2 4.1.2 度量方法度量方法1 1软件的度量软件的度量(P56)(P56)对一个事物进行度量是了解它的标志,如果不能用数字表达它,就说明人们
5、对它的知识的了解还比较贫乏和不足。对软件开发过程的度量是软件工程最基本的工作。软件度量方法分为两类:软件度量方法分为两类:(1)(1)直接度量直接度量方法包括产生的代码行数、执行速方法包括产生的代码行数、执行速度、存储量大小和错误数等。度、存储量大小和错误数等。(2)(2)间间接度量接度量方法包括功能性、复杂性、可靠性、方法包括功能性、复杂性、可靠性、可维护性和其他的许多质量特性。可维护性和其他的许多质量特性。影响软件生产率的主要因素:影响软件生产率的主要因素:人的因素人的因素:人员规模和专长。:人员规模和专长。问题因素问题因素:问题的复杂性、涉及的限制、需求的变:问题的复杂性、涉及的限制、需
6、求的变更次数。更次数。过程因素过程因素:使用的分析与设计技术、语言和:使用的分析与设计技术、语言和CASECASE工工具的有效性,以及评审技术。具的有效性,以及评审技术。产品因素产品因素:系统的可靠性和性能。:系统的可靠性和性能。资源因素资源因素:CASECASE工具、硬件和软件资源的有效性。工具、硬件和软件资源的有效性。软件度量的目的:软件度量的目的:表明软件产品的质量、计算软表明软件产品的质量、计算软件开发的生产率、给出使用了新的软件工程方法件开发的生产率、给出使用了新的软件工程方法和工具所得到的效益、建立项目估算的底线、帮和工具所得到的效益、建立项目估算的底线、帮助调整新的工具和附加培训
7、的要求。助调整新的工具和附加培训的要求。2 2软件质量的度量软件质量的度量软件的质量可以从以下几个方面进行度量。软件的质量可以从以下几个方面进行度量。正确性正确性可以用每千行代码的出错数表示;可以用每千行代码的出错数表示;可维护性可维护性一般用定性的度量方法,也可以用软件的一般用定性的度量方法,也可以用软件的维护时间表示,维护时间越短,可维护性越好;维护时间表示,维护时间越短,可维护性越好;完整性完整性在计算机犯罪和病毒困扰的时代越来越重要,在计算机犯罪和病毒困扰的时代越来越重要,它涉及软件的危险性和安全性,危险性是指软件受它涉及软件的危险性和安全性,危险性是指软件受攻击的概率;攻击的概率;安
8、全性安全性是指排除特定类型攻击的概率;是指排除特定类型攻击的概率;可使用性可使用性可以用软件的用户友好性来描述,例如,可以用软件的用户友好性来描述,例如,用户学习该系统的体力和智力条件、学习时间、业用户学习该系统的体力和智力条件、学习时间、业务方面的生产率净增值和用户对系统的主观评价。务方面的生产率净增值和用户对系统的主观评价。3.3.软件开发过程的度量方法软件开发过程的度量方法 基线(参考数据)在软件开发过程的度量中基线(参考数据)在软件开发过程的度量中有很重要的作用,需要从以往的软件开发中收集有很重要的作用,需要从以往的软件开发中收集数据,例如:相似的软件开发项目的成本。数据,例如:相似的
9、软件开发项目的成本。基线的数据具有如下特点基线的数据具有如下特点 数据应当合理、精确,不能盲目估算。数据应当合理、精确,不能盲目估算。尽量从更多的项目中收集数据。尽量从更多的项目中收集数据。程序的代码行的定义在不同项目中应当是一致的。程序的代码行的定义在不同项目中应当是一致的。这些项目应当非常类似。这些项目应当非常类似。建立了基线后,就可以用不同的度量方法对软件建立了基线后,就可以用不同的度量方法对软件开发过程的各个阶段进行度量分析。开发过程的各个阶段进行度量分析。4.1.3 4.1.3 软件项目估算软件项目估算 软件项目估算非常困难,估算需要经验、软件项目估算非常困难,估算需要经验、有用的历
10、史信息和足够的定量数据。影响估算有用的历史信息和足够的定量数据。影响估算精确性的主要因素包括:项目的规模、结构化精确性的主要因素包括:项目的规模、结构化程度、历史信息的有效性。估算肯定有风险,程度、历史信息的有效性。估算肯定有风险,风险可以用不确定性程度进行定量估算。风险可以用不确定性程度进行定量估算。软件项目估算的内容软件项目估算的内容 软件项目计划的目标软件项目计划的目标。软件的范围:软件的范围:功能、性能、限制、接口和可靠性。功能、性能、限制、接口和可靠性。软件开发中的资源:软件开发中的资源:人力资源(人的技能、工作人力资源(人的技能、工作时间等)、软硬件资源(开发系统、编程语言、分时间
11、等)、软硬件资源(开发系统、编程语言、分析工具、测试工具等)、软件的复用性和软件部件析工具、测试工具等)、软件的复用性和软件部件库等。库等。成本和工作量的估算:成本和工作量的估算:当问题复杂时,常常采用当问题复杂时,常常采用分解技术,把问题分解到可以解决的子问题。工作分解技术,把问题分解到可以解决的子问题。工作量和成本可以用最佳值、可能值、悲观值、期望值量和成本可以用最佳值、可能值、悲观值、期望值等同时进行描述。等同时进行描述。4.1.4 4.1.4 软件开发成本估算软件开发成本估算 软件开发成本主要靠分解和类推的手段进行,基软件开发成本主要靠分解和类推的手段进行,基本的估算方法分为以下三类本
12、的估算方法分为以下三类自顶向下的估算方法:自顶向下的估算方法:从整体出发,依据以往的经从整体出发,依据以往的经验推算项目的总成本,然后分配到各个开发任务。这验推算项目的总成本,然后分配到各个开发任务。这种方法的估算工作量小,速度快。种方法的估算工作量小,速度快。自底向上的估算法:自底向上的估算法:先把项目分解,计算子项目的先把项目分解,计算子项目的成本,然后统计。该方法缺少估算子项目的联系和系成本,然后统计。该方法缺少估算子项目的联系和系统级的工作量,计算结果往往偏低。统级的工作量,计算结果往往偏低。差别估计法:差别估计法:先把项目分解,同以往的项目进行对先把项目分解,同以往的项目进行对比,估
13、算项目和子项目的成本。比,估算项目和子项目的成本。4.1.5 4.1.5 风险分析风险分析 风险分析包括风险识别、风险估计、风风险分析包括风险识别、风险估计、风险评价和风险驾驭。险评价和风险驾驭。风险识别风险识别就是判定属于项目、技术和商业中哪就是判定属于项目、技术和商业中哪一类风险,见表。一类风险,见表。风险估计风险估计是指估计风险发生的概率,描述风险是指估计风险发生的概率,描述风险的结果,估计风险对项目和产品的影响等。的结果,估计风险对项目和产品的影响等。风险类型风险类型考虑因素考虑因素项目风险项目风险 项目的预算、进度、人员、资源、用户和需求等项目的预算、进度、人员、资源、用户和需求等项
14、目的复杂性、规模和结构等项目的复杂性、规模和结构等技术风险技术风险 软件设计、实现、接口、检验和维护等软件设计、实现、接口、检验和维护等规格说明的多义性、技术上的不确定性、技术的陈规格说明的多义性、技术上的不确定性、技术的陈旧、新技术的不成熟旧、新技术的不成熟商业风险商业风险 市场风险(用户不想要)市场风险(用户不想要)不适合整个软件产品的战略不适合整个软件产品的战略不知道如何推销不知道如何推销人员改变或课题改变、元主管部门的支持人员改变或课题改变、元主管部门的支持失去预算、核心人员流失失去预算、核心人员流失风险的类型表风险的类型表风险评价的基本步骤风险评价的基本步骤1 1)为项目定义风险参照
15、水准。)为项目定义风险参照水准。2 2)尝试找出评价的各种因子(风险的详细类型、)尝试找出评价的各种因子(风险的详细类型、风险出现的概率、风险的影响),并建立它们和风险出现的概率、风险的影响),并建立它们和对应的每个参照水准之间的关系。对应的每个参照水准之间的关系。3 3)预测所有参照点集合,定义一个项目终止的区)预测所有参照点集合,定义一个项目终止的区域,用一条曲线或一些易变动区域来界定。域,用一条曲线或一些易变动区域来界定。4)4)预测复合型风险如何形成一个参照水准。预测复合型风险如何形成一个参照水准。风险驾驭风险驾驭是指利用某些先进的技术和方法,是指利用某些先进的技术和方法,如可靠性工程
16、学、软件心理学、面向对象分析如可靠性工程学、软件心理学、面向对象分析与设计方法、先进的开发平台和性能优越的数与设计方法、先进的开发平台和性能优越的数据库软件以及某些先进的项目管理方法等设法据库软件以及某些先进的项目管理方法等设法避开或转移风险。避开或转移风险。风险驾驭与每一风险相关的三元组(风险风险驾驭与每一风险相关的三元组(风险描述、风险可能性、风险影响)是建立风险驾描述、风险可能性、风险影响)是建立风险驾驭步骤的基础驭步骤的基础风险监控风险监控是一种项目追踪活动,其目标为:是一种项目追踪活动,其目标为:做里程碑时间跟踪和主要风险因素跟踪,判断做里程碑时间跟踪和主要风险因素跟踪,判断一个预测
17、的风险在事实上是否发生了一个预测的风险在事实上是否发生了 进行风险再估计,确保针对某个风险而制定的进行风险再估计,确保针对某个风险而制定的风险消除步骤正在被合理地使用风险消除步骤正在被合理地使用 收集可用于将来的风险分析的信息。多数情况收集可用于将来的风险分析的信息。多数情况下,项目中发生的问题总能追踪到许多风险下,项目中发生的问题总能追踪到许多风险引言引言本文档的范围和目的本文档的范围和目的概述概述目标目标风险消除的优先级风险消除的优先级组织组织管理管理职责职责作用描述作用描述风险消除过程描述风险消除过程描述进度安排进度安排定里程碑和评审定里程碑和评审预算预算 编写风险驾驭和监控计划编写风险
18、驾驭和监控计划:RMMP:RMMP(Risk Management Risk Management and Monitoring Planand Monitoring Plan),该计划记录了风险分析的),该计划记录了风险分析的全部工作,由项目管理人员使用。全部工作,由项目管理人员使用。风险驾驭和监控计划风险驾驭和监控计划风险分析风险分析风险识别风险识别风险概述风险概述风险源风险源风险分类风险分类风险估计风险估计风险概率风险概率风险后果风险后果风险规则风险规则可能的估计错误源可能的估计错误源风险评价风险评价所使用的方法所使用的方法评价方法的假设和限制评价方法的假设和限制评价风险参照评价风险参照
19、评价结果评价结果风险驾驭风险驾驭劝告劝告风险消除的选项风险消除的选项风险消除的劝告风险消除的劝告风险监控过程风险监控过程附录附录风险仿冒的估计风险仿冒的估计风险排除计划风险排除计划4.1.6 4.1.6 进度安排和项目控制进度安排和项目控制 进度安排的准确度可能比成本估算的准确进度安排的准确度可能比成本估算的准确度更重要,因为进度安排的落空会导致市场机度更重要,因为进度安排的落空会导致市场机会的丧失。会的丧失。对于一个小型的软件开发项目,一个人就对于一个小型的软件开发项目,一个人就可以完成需求分析、设计、编码和测试工作。可以完成需求分析、设计、编码和测试工作。当项目比较大时,即可采用较多人员当
20、项目比较大时,即可采用较多人员(人数不人数不宜太多,一般在宜太多,一般在2 28 8人为宜人为宜)在较少时间内完在较少时间内完成,也可用较少的人在稍微长一点的时间内去成,也可用较少的人在稍微长一点的时间内去完成。两种方法格有优缺点。完成。两种方法格有优缺点。软件开发进程中应当设置许多里程碑(阶软件开发进程中应当设置许多里程碑(阶段性),为管理人员提供项目进度的可靠依据。段性),为管理人员提供项目进度的可靠依据。软件开发过程中,任务有并行性,进度安排中软件开发过程中,任务有并行性,进度安排中必须明确任务的顺序和关键任务,以便项目能必须明确任务的顺序和关键任务,以便项目能按进度安排进行。按进度安排
21、进行。4.1.7 4.1.7 软件项目的组织和计划软件项目的组织和计划1 1、制定计划、制定计划 该计划涉及实施项目的各个环节,具有全局性。该计划涉及实施项目的各个环节,具有全局性。因此制定计划必须先明确计划的目的、进行风险分因此制定计划必须先明确计划的目的、进行风险分析;然后根据目标编制各部分的软件计划。计划内析;然后根据目标编制各部分的软件计划。计划内容:容:项目实施计划:任务、资源等。项目实施计划:任务、资源等。质量保证计划:规定每个阶段的质量检查。质量保证计划:规定每个阶段的质量检查。软件测试计划。软件测试计划。文档编写计划。文档编写计划。用户培训计划。用户培训计划。综合支持计划:规定
22、开发过程的支持。综合支持计划:规定开发过程的支持。软件分发计划:软件如何提供给用户。软件分发计划:软件如何提供给用户。在软件项目的实施中,必须进行工作的划在软件项目的实施中,必须进行工作的划分,划分方法有阶段性划分、不同任务的责任分分,划分方法有阶段性划分、不同任务的责任分解等。解等。2、软件项目组织的建立、软件项目组织的建立 软件开发的人员组织非常重要,组织得好,软件开发的人员组织非常重要,组织得好,会发挥人员的最大的工作效率,一般的组织原会发挥人员的最大的工作效率,一般的组织原则是:在项目的开始就落实责任,减少人员之则是:在项目的开始就落实责任,减少人员之间的联系,责权均衡。间的联系,责权
23、均衡。人员组织可以采用按课题划分的模式、按职能人员组织可以采用按课题划分的模式、按职能划分的模式或两者的结合(也称矩阵模式)。通常划分的模式或两者的结合(也称矩阵模式)。通常认为程序设计小组的组织形式比较好,常用的组织认为程序设计小组的组织形式比较好,常用的组织形式有:形式有:主程序员制小组:主程序员制小组:由一位主程序员(高级工程由一位主程序员(高级工程师)、一位后援工程师和师)、一位后援工程师和2 2一一5 5位技术员组成。主程位技术员组成。主程序员还可以聘请专家、辅助人员、软件资料员等协序员还可以聘请专家、辅助人员、软件资料员等协助工作。助工作。民主制小组:民主制小组:组内成员之间可以平
24、等地交换意见。组内成员之间可以平等地交换意见。层次性小组:层次性小组:组内的成员分组内的成员分3 3级,组长(级,组长(1 1人)负人)负责全面工作,责全面工作,2 23 3个高级程序员,每个高级程序员个高级程序员,每个高级程序员可以管理若干程序员。可以管理若干程序员。指导的目的是动员和促进工作人员积极指导的目的是动员和促进工作人员积极完成所分配的任务。检验是对照计划检查执行完成所分配的任务。检验是对照计划检查执行的情况。在软件开发的整个过程中都必须进行的情况。在软件开发的整个过程中都必须进行指导与检验。指导与检验。3指导与检验指导与检验4.1.8 4.1.8 软件过程成熟度模型软件过程成熟度
25、模型 软件开发机构的成熟度对软件的质量影响软件开发机构的成熟度对软件的质量影响很大,通常,不成熟的软件机构具有的特点是:很大,通常,不成熟的软件机构具有的特点是:软件开发过程由开发人员临时确定、管理人员软件开发过程由开发人员临时确定、管理人员忙于突发事件、项目的进度和经费估算不合理、忙于突发事件、项目的进度和经费估算不合理、软件质量难以预测。成熟的软件机构则相反。软件质量难以预测。成熟的软件机构则相反。不同等级的软件机构具有不同的特征,主要特不同等级的软件机构具有不同的特征,主要特征如下(征如下(19871987年美国卡内基年美国卡内基梅隆大学软件工程研究梅隆大学软件工程研究所所SEISEI提
26、出了软件机构的能力成熟度模型提出了软件机构的能力成熟度模型CMMCMM):):初始级:初始级:管理和工作无序,项目成效不稳定。管理和工作无序,项目成效不稳定。可重复级:可重复级:管理制度化,基本实现标准化,变管理制度化,基本实现标准化,变更依法进行,有开发经验。更依法进行,有开发经验。已定义级:已定义级:实现了标准化和文档化,过程控制实现了标准化和文档化,过程控制好,制度完善,责任明确。好,制度完善,责任明确。已管理级:已管理级:有各种定量方法,建立了过程数据有各种定量方法,建立了过程数据库,可控制整个过程。库,可控制整个过程。优化级:优化级:可集中精力改进过程,采用新技术方可集中精力改进过程
27、,采用新技术方法,取得有效的统计数据。法,取得有效的统计数据。4.1.9 4.1.9 文档的作用与分类文档的作用与分类 文档是指某种数据媒体和其中所记录的数文档是指某种数据媒体和其中所记录的数据。可以分为工作表格和技术资料(或称文档、据。可以分为工作表格和技术资料(或称文档、文件)。每种文档与生存期的不同阶段有联系。文件)。每种文档与生存期的不同阶段有联系。文档的分类及其与生存期的不同阶段的联系见文档的分类及其与生存期的不同阶段的联系见表。文档编制过程应当遵循的原则是:针对性、表。文档编制过程应当遵循的原则是:针对性、精确性、清晰性、完整性和灵活性。精确性、清晰性、完整性和灵活性。软件文档的分
28、类软件文档的分类可行性研可行性研究与计划究与计划需求分析需求分析软件分析软件分析编码与编码与单元测试单元测试集成与集成与测试测试运行维护运行维护开发文档开发文档可行性研究报告项目开发计划软件需求说明书数据需求说明书概要设计说明书详细设计说明书用户文档用户文档用户手册软件操作手册软件需求说明书维护修改建议管理文档管理文档测试计划测试分析报告开发进度报告开发总结报告开发计划 软件文档的编制在软件开发工作中占有突出的软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量。软件文档的主要作用如下:地位和相当大的工作量。软件文档的主要作用如下:提高软件开发过程的能见度。提高软件开发过程的能见度。提
29、高开发效率。提高开发效率。可作为开发人员在一定阶段的工作成果和结束可作为开发人员在一定阶段的工作成果和结束标志。标志。记录开发过程的有关信息,以便协调以后的软记录开发过程的有关信息,以便协调以后的软件开发、使用和维护。件开发、使用和维护。有利于工作人员的协作、交流和了解。有利于工作人员的协作、交流和了解。便于潜在的用户了解软件的功能、性能等指标。便于潜在的用户了解软件的功能、性能等指标。4.24.2 GISGIS软件工程项目管理的文档软件工程项目管理的文档 地理信息系统软件工程项目的管理同一般的地理信息系统软件工程项目的管理同一般的软件工程的管理是类似的,但依据地理信息系统软件工程的管理是类似
30、的,但依据地理信息系统软件的特点,在软件过程中应当注意地理信息系软件的特点,在软件过程中应当注意地理信息系统的复杂性、空间数据结构的设计、地理信息的统的复杂性、空间数据结构的设计、地理信息的可视化特点、软件文档的规范化等。可视化特点、软件文档的规范化等。下面通过文档的规范说明下面通过文档的规范说明GISGIS软件工程项目的软件工程项目的管理。管理。地理信息系统软件开发的可行性研究报告概要地理信息系统软件开发的可行性研究报告概要(6565)地理信息系统软件开发的项目计划地理信息系统软件开发的项目计划(6565)地理信息系统软件项目的需求规格说明地理信息系统软件项目的需求规格说明(6666)地理信
31、息系统软件项目的概要设计说明书地理信息系统软件项目的概要设计说明书(6666)地理信息系统软件项目的详细设计说明书地理信息系统软件项目的详细设计说明书(6767)地理信息系统软件的用户操作手册地理信息系统软件的用户操作手册(6767)地理信息系统软件的测试计划地理信息系统软件的测试计划(6868)地理信息系统软件的测试分析报告地理信息系统软件的测试分析报告(6969)地理信息系统软件的开发进度月报地理信息系统软件的开发进度月报(6969)地理信息系统软件的程序维护手册地理信息系统软件的程序维护手册(6969)地理信息系统软件的开发总结报告地理信息系统软件的开发总结报告(7070)地理信息系统软
32、件的问题报告地理信息系统软件的问题报告(7070)地理信息系统软件的修改报告地理信息系统软件的修改报告(7171)4.34.3 GISGIS数据集成工程项目的计划数据集成工程项目的计划 GISGIS项目的管理除了软件开发的管理外,项目的管理除了软件开发的管理外,GISGIS的的数据库建立与运行也需要进行严格的管理,这里,数据库建立与运行也需要进行严格的管理,这里,把这种地理信息系统工程称为把这种地理信息系统工程称为“GISGIS数据集成工程数据集成工程”(简称为(简称为“GISGIS数据工程数据工程”),也有人称之为),也有人称之为“实实用地理信息系统用地理信息系统”。GIS GIS数据工程的
33、管理主要针对地理数据库的建数据工程的管理主要针对地理数据库的建立,这种管理可以分为决策性管理、计划性管理和立,这种管理可以分为决策性管理、计划性管理和实施过程管理。决策性管理是指机构或企业的高级实施过程管理。决策性管理是指机构或企业的高级决策层制定决策层制定GISGIS应用的战略。计划性管理是指将进应用的战略。计划性管理是指将进行行GISGIS应用的计划制定,以便项目的顺利实施。应用的计划制定,以便项目的顺利实施。4.3.1 GIS4.3.1 GIS工程的决策工程的决策 一个机构或企业是否需要使用一个机构或企业是否需要使用GISGIS,决策者,决策者先应当了解先应当了解GISGIS的功能,并与
34、自己所管理的部门的功能,并与自己所管理的部门的业务比较,然后,决定是否使用的业务比较,然后,决定是否使用GISGIS,是单独,是单独使用使用GISGIS,还是将,还是将GISGIS嵌入其他的信息系统中。嵌入其他的信息系统中。一般情况下,决策者主要考虑的几个因素:一般情况下,决策者主要考虑的几个因素:是否需要使用地理空间数据:这是决定使用是否需要使用地理空间数据:这是决定使用GISGIS的的关键因素。关键因素。GIS GIS数据是否需要共享,决定是否建立网络。数据是否需要共享,决定是否建立网络。是否已经存在所需要的是否已经存在所需要的GISGIS数据,数据是否已数据,数据是否已标准化。标准化。使
35、用使用GISGIS带来的效益,政府部门应当多考虑社带来的效益,政府部门应当多考虑社会效益。会效益。是否有足够的预算。是否有足够的预算。4.3.2 GIS4.3.2 GIS工程的计划制定工程的计划制定 一旦决定建立一旦决定建立GISGIS,接下来就是制定计划,项,接下来就是制定计划,项目管理人员的工作通常包括:目管理人员的工作通常包括:项目的申请;项目的申请;经费预算、协商和落实;经费预算、协商和落实;业务人员的组织;业务人员的组织;参与并控制技术路线的制定;参与并控制技术路线的制定;工作和人员的协调;工作和人员的协调;问题的处理;问题的处理;验收和评价。验收和评价。计划的制定是计划的制定是GI
36、SGIS数据工程成功的关键,没有数据工程成功的关键,没有好的计划、肯定不会有成功的好的计划、肯定不会有成功的GISGIS数据工程。项目数据工程。项目计划书的内容可参考表。计划书的内容可参考表。介绍介绍1 1计划书的目的。计划书的目的。2 2GISGIS系统开发的主要目的和主要过程。系统开发的主要目的和主要过程。背景背景1 1有关的背景信息。有关的背景信息。2 2GISGIS系统在该机构的起源和目前的发展系统在该机构的起源和目前的发展状况。状况。3 3其他有关的信息和情况。其他有关的信息和情况。系统建立的系统建立的范围和目的范围和目的1 1系统建立的目的和目标。系统建立的目的和目标。2 2系统建
37、立的实施范围。系统建立的实施范围。3 3系统的粗略预算、时间和组织。系统的粗略预算、时间和组织。项目计划书的主要内容项目计划书的主要内容系统开发的系统开发的参与者和参与者和责任范围责任范围1 1系统开发的管理机构。系统开发的管理机构。2 2系统开发的执行机构。系统开发的执行机构。3 3系统开发的参与机构及其关系。系统开发的参与机构及其关系。4 4系统开发的主要任务。系统开发的主要任务。系统开发系统开发的进度的进度安排计划安排计划1 1系统各任务的起始和终止日期,任系统各任务的起始和终止日期,任务与任务之间的关系。务与任务之间的关系。2 2项目进度一览表。项目进度一览表。3 3项目有关的主要会议
38、日期,各阶段项目有关的主要会议日期,各阶段的重要日期,如报告日期等。的重要日期,如报告日期等。系统的预算系统的预算 1 1所有项目有关的预算,包括参加会所有项目有关的预算,包括参加会议、出差、系统展示、设备购买、人议、出差、系统展示、设备购买、人员负用等。员负用等。2 2项目资金的来源和数项目资金的来源和数 在规划阶段,为了完成实施计划书,从决策在规划阶段,为了完成实施计划书,从决策性规划转为实施性计划,当性规划转为实施性计划,当GISGIS项目很大时,可以项目很大时,可以把一个大的把一个大的GISGIS项目分解为子项目,子项目可以进项目分解为子项目,子项目可以进一步分解成子任务,子任务的合理
39、制定使得各方一步分解成子任务,子任务的合理制定使得各方面的细节不至于遗漏,使整个计划、预算和质量面的细节不至于遗漏,使整个计划、预算和质量得到保证。子项目包括技术任务和各种非技术的得到保证。子项目包括技术任务和各种非技术的任务。然后,对每一个子项目进行一系列的规划。任务。然后,对每一个子项目进行一系列的规划。“项目实施计划书的主要内容项目实施计划书的主要内容”见表见表.项目实施计划书的主要内容项目实施计划书的主要内容介绍介绍1 1计划书的目的和主要的使用对象。计划书的目的和主要的使用对象。2 2有关的指导性文件和辅助性文件。有关的指导性文件和辅助性文件。背景背景1 1系统开发的策略性目标简要概
40、括。系统开发的策略性目标简要概括。2 2G1SG1S在该机构的起源和目前发展的状况。在该机构的起源和目前发展的状况。3 3其他有关的信息,比如参与的部门和情况。其他有关的信息,比如参与的部门和情况。系统建立的系统建立的范围和目的范围和目的1 1系统建立的目的和目标。系统建立的目的和目标。2 2系统建立和实施范围。系统建立和实施范围。3 3系统的粗略预算、时间和组织。系统的粗略预算、时间和组织。概念化的系概念化的系统发展概述统发展概述1 1概念化他说明系统的主要功能;数据库的内容;对概念化他说明系统的主要功能;数据库的内容;对各部门的影响;各子功能开发和影响各部门的先后次各部门的影响;各子功能开
41、发和影响各部门的先后次序。序。2 2系统功能一览表,数据流一览表,系统功能与部门系统功能一览表,数据流一览表,系统功能与部门一览表等。一览表等。系统开发的系统开发的管理概况管理概况1.1.系统实施的管理层部门及成员介绍。系统实施的管理层部门及成员介绍。2 2各管理部门和成员的机构以及它们之间的关系。各管理部门和成员的机构以及它们之间的关系。3 3各管理层的责任范围和信息交流方式。各管理层的责任范围和信息交流方式。系统各子项系统各子项目的描述目的描述1 1系统实施的主要功能流程。系统实施的主要功能流程。2 2详细说明各子项目的输入、输出和处理过程。详细说明各子项目的输入、输出和处理过程。3 3对
42、于复杂的子项目。使用图表加以说明。对于复杂的子项目。使用图表加以说明。进度安排进度安排1 1系统各子项目可以分阶段实施,各子项目实施的起系统各子项目可以分阶段实施,各子项目实施的起始和终止日期,项目与项目实施、之间的先后顺序和始和终止日期,项目与项目实施、之间的先后顺序和依赖关系。依赖关系。2 2系统各项目进度的直方图一览表。系统各项目进度的直方图一览表。系统实施的系统实施的预算预算所有与项目有关的资金情况,包括已经到位的、审批提所有与项目有关的资金情况,包括已经到位的、审批提供了的以及正在申请或正在审批的。供了的以及正在申请或正在审批的。行政管理行政管理详细定义所有参与系统开发部门的管理权限
43、,包括人事、详细定义所有参与系统开发部门的管理权限,包括人事、资金、合同、进度和政策等。资金、合同、进度和政策等。“GISGIS项目任务一览表项目任务一览表”提供了参考性的提供了参考性的子任务划分子任务划分“项目实施计划书的主要内容表项目实施计划书的主要内容表”A.A.项目规划项目规划1.可行性分析2.市场调查3.技术调查和评价4.报告起草B.B.试点项目试点项目1.数据收集2.数据数字化3.数据编辑4.数据质量控制5.地图制图6.设备购置7.设备安装C.C.数据库生成数据库生成1.数据库概念设计2.数据库详细设计3.数据收集4.数据数字化5.数据转换6.数据编辑7.数据质量控制8.数据修改9
44、.自动化编程D.D.数据输出数据输出1.地图制图2.数据制表3.自动化编程 E.GISE.GIS分析分析1.分析模型定义2.分析模型的过程设计3.分析模型实施4.分析制图5.分析制表6.分析自动化编程7.分析报告生成F.F.应用系统开发应用系统开发1.系统的用户需求分析2.系统的设计3.系统的设计报告起草4.系统编程5.系统测试6.系统运行报告和安装7.系统培训8.系统的用户报告9.系统维护报告10.系统维护的技术服务G.G.其他其他1.人员技术培训2.项目管理3.系统维护4.数据安全备案5.项目技术会议6.项目中期报告7.项目终期报告GISGIS项目任务一览表项目任务一览表实施性计划的过程实
45、施性计划的过程1 1)分析了解使用)分析了解使用GISGIS的部门的需要和业务范的部门的需要和业务范围,以便有效地使用围,以便有效地使用GISGIS。2 2)决定所用数据的类型和处理方法,分析其)决定所用数据的类型和处理方法,分析其技术要求。技术要求。3 3)进行数据结构、数据模型设计,设计软件)进行数据结构、数据模型设计,设计软件接口。接口。4 4)为各个部门选择软件和硬件。)为各个部门选择软件和硬件。5 5)依据各个部门的需要,对数据的格式进行)依据各个部门的需要,对数据的格式进行转换,并建立数据库生成方案。转换,并建立数据库生成方案。6 6)对使用、运行和维护的人员进行培训。)对使用、运
46、行和维护的人员进行培训。4.3.3 4.3.3 软硬件配置的考虑因素软硬件配置的考虑因素GISGIS的数据量。一个企业的的数据量。一个企业的GISGIS数据量和国家的数据量和国家的基础地理信息数据量的差别有时非常大,软硬件基础地理信息数据量的差别有时非常大,软硬件配置有质的区别。配置有质的区别。并发访问并发访问GISGIS的用户数或企业内部的用户数。的用户数或企业内部的用户数。现有网络环境。现有网络环境。投资规模。投资规模。是一个纯粹的是一个纯粹的GISGIS,还是与其他系统结合而成的,还是与其他系统结合而成的综合信息系统。综合信息系统。软件和硬件是否配套,能否充分发挥它们的软件和硬件是否配套
47、,能否充分发挥它们的作用,能否满足要求。作用,能否满足要求。已有的投资(软件、硬件设备、数据等)能已有的投资(软件、硬件设备、数据等)能否充分利用。否充分利用。随着用户的需要增加和技术的发展,系统以随着用户的需要增加和技术的发展,系统以后能否进一步扩充。后能否进一步扩充。如果要进行二次开发,要着重考虑软件的二如果要进行二次开发,要着重考虑软件的二次开发支持能力。次开发支持能力。4.3.4 4.3.4 项目的进度安排项目的进度安排 项目进度安排是管理者在进入设计和实施阶段项目进度安排是管理者在进入设计和实施阶段之前需要完成的,要在时间和顺序上安排各个子项之前需要完成的,要在时间和顺序上安排各个子
48、项目或子任务。表示项目进度的常用方法有多种,但目或子任务。表示项目进度的常用方法有多种,但都应当遵循以下原则:都应当遵循以下原则:进度计划简单、明了、不需要再给工作人员做进度计划简单、明了、不需要再给工作人员做详细的解释。详细的解释。进度计划可以在实施过程中依据事态的发展比进度计划可以在实施过程中依据事态的发展比较容易修正。较容易修正。进度计划应当说明各个子任务之间的先后顺序进度计划应当说明各个子任务之间的先后顺序和制约关系。和制约关系。应当表达整个项目的实施过程。应当表达整个项目的实施过程。安排不能太紧,应当为每个任务预留一定时间,安排不能太紧,应当为每个任务预留一定时间,以便评估和修改。以
49、便评估和修改。任务编码任务编码 任务内容任务内容 负责人负责人 总时间总时间预计完预计完成日期成日期实际完实际完成日期成日期表示项目进度的常用方法有表示项目进度的常用方法有 里程碑表示法里程碑表示法(Milestone ChartMilestone Chart)适用于较小规模的项目,可用于起草项目计划适用于较小规模的项目,可用于起草项目计划书,该方法将主要任务作为一个阶段来处理,清晰书,该方法将主要任务作为一个阶段来处理,清晰并且容易使用,缺点是不能表达出各项任务之间的并且容易使用,缺点是不能表达出各项任务之间的关系,对项目进程的控制能力差。关系,对项目进程的控制能力差。里程碑表示法样本里程碑
50、表示法样本甘特图法(甘特图法(Gantt ChartGantt Chart)(又称直方图法)(又称直方图法)目前使用较多,它容易表现项目实施过程中任目前使用较多,它容易表现项目实施过程中任务所需的时间长短和先后顺序,但不能描述影响关系,务所需的时间长短和先后顺序,但不能描述影响关系,难以进行复杂项目的控制难以进行复杂项目的控制甘特图法甘特图法 关键路径法关键路径法(CPMCPM一一Critical Path MethodCritical Path Method)能表达项目中各个子任务之间的先后顺序和制约能表达项目中各个子任务之间的先后顺序和制约关系,管理人员必须对任务之间的关系十分清楚,以关系