随着计算机硬件技术的进步,计算机容量、 速度和可靠性的明显提高,计算机成本降低, 特别是微机的普及和网络技术的发展, 许多行业对GIS技术的需求也迅速增长。 但与此相对应,目前的GIS软件开发过程中也存在不少问題, 主要包括:①GIS产品开发无计划性; ②GIS产品开发过程的不规范化;③无评测GIS产品的手段。
同其他软件开发活动过程相类似, GIS产品的开发通常由多个GIS软件开发人员合作, 共同完成,开发阶段之间的工作应有很好的衔接。 开发工作完成后,GIS产品成果要面向用户, 在应用中接受用户的检验。 我们把计算机软件科学和其他工程领域中行之有效的工程学知识, 运用到GIS产品开发工作中,形成GIS开发的工程化方法。
按照软件工程化方法定义, 可以将GIS产品幵发与演进活动分成六个基本步骤: 即制定GIS开发计划、GIS需求分析、G1S系统设计 (包括总体设计、数据库设计和详细设计)、 GIS程序编码、G1S产品测试及运行维护(下图)。

制定GIS开发计划是指确定要开发的GIS产品的总体目标, 给出它的功能、性能、可靠性及接口方面的要求, 并对可利用的资源(计算机软硬件、人力等)、 成本、可取得的效益、开发的进度做出评估, 制定出完成开发任务的实施计划和可行性研究报告。
GIS需求分析和定义是指对待开发的GIS产品提出的需求进行分析并给出详细定义, 编写出GIS需求说明书或系统功能说明书及初步的GIS用户手册。
系统设计是GIS工程的技术核心。 GIS系统设计包括总体设计、数据库设计和详细设计三个过程。 总体设计是指将各项需求转换成由意义明确的各个模块组成的体系结构; 数据库设计是为把数据组织、存储到计算机中, 并提高数据査询检索的效率而进行的设计工作, 包括逻辑设计和物理设计两个阶段。 详细设计是对总体设计中每个模块要完成的工作进行具体描述, 为源程序编写打下基础,并最后提供设计说明书。
GIS程序编码是指将GIS系统设计转换成计算机可接受的程序代码的过程。 GIS产品测试是保证GIS产品质置的重要手段, 其主要方式是在设计测试案例的基础上检验GIS的各个组成部分。 GIS产品测试包括单元测试和组装测试两部分。 已交付的GIS产品投入正式使用,便进入运行阶段, GIS运行中可能由于多方面原因,需要对它进行修改。