资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
第十章 地理信息系统工程
主要内容:
10.1 GIS工程设计综述
10.2 GIS工程设计的基本原则
10.3 GIS工程的生命周期方法学
10.4 生命周期各阶段的基本任务
10.5 硬件配置
10.6 人员配置
10.7 地理信息系统评价
GIS的开发建设和应用是一项系统工程, 涉及到系统的最优设计、 最优控制运行、 最优管理, 以及人、 财、 物资源的合理投入、 配置和组织等诸多复杂问题。需要运用系统工程、 软件工程等的原理和方法, 结合空间信息系统的特点进行实施建设。
10.1 GIS工程设计综述
地理信息系统的开发研究分为四个阶段: 系统分析、 系统设计、 系统实施、 系统评价及维护。
系统分析阶段的需求功能分析、 数据结构分析和数据流分析是系统设计的依据。系统分析阶段的工作是要解决”做什么”的问题, 它的核心是对地理信息系统进行逻辑分析, 解决需求功能的逻辑关系及数据支持系统的结构, 以及数据与需求功能之间的关系; 系统设计阶段的核心工作是要解决”怎么做”的问题, 研究系统由逻辑设计向物理设计的过渡, 为系统实施奠定基础。
10.2 GIS工程设计的基本原则
( 1) 计划管理原则
用分阶段的生命周期计划严格管理。Boehm认为, 在工程的整个生命周期应该制定并严格执行六类计划, 它们是项目概要计划, 里程碑计划, 项目控制计划, 产品控制计划, 验证计划, 运行维护计划。
( 2) 坚持阶段评审原则
第一, 大部分错误是在编码之前造成的, Boehm等人的统计, 设计错误占软件错误的63%, 编码错误仅占37%;
第二, 错误发现与改正越晚, 所需付出的代价越高。
( 3) 严格的产品控制原则
为了保持系统各个配置成分的一致性, 必须实行严格的产品控制, 其中主要是实行基准配置管理。所谓基准配置又称为基线配置, 它们是经过阶段评审后的系统配置成分( 各个阶段产生的文档或程序代码) 。基准配置管理也称为变动控制, 一切有关修改系统的建议, 特别是涉及到对基准配置的个性建议, 都必须按照严格的规程进行评审, 获得批准以后才能实施修改。
* 采用现代程序设计技术原则
结果应能清楚地审查原则
开发小组的人员应该少而精原则
承认不断改进工程实践的必要性原则
10.3 GIS工程的生命周期方法学
GIS工程采用的生命周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解, 把软件生成的漫长周期依次划分为若干个阶段, 每个阶段有相对独立的任务, 然后逐步完成每个阶段的任务。
瀑布模型
传统的生命周期方法学能够用瀑布模型( Waterfall model) 来模拟, 如图所示。
瀑布模型
几个特点:
( 1) 阶段间具有顺序性和依赖性
( 2) 推迟实现的观点
清楚区分逻辑设计与物理设计, 尽可能推迟程序的物理实现, 是按照瀑布模型开发软件的一条重要的指导思想。
( 3) 质量保证的观点
第一, 每个阶段都必须完成规定的文档, 没有交出合格的文档就是没有完成该阶段的任务。
第二, 每个阶段结束前都要对所完成的文档进行评审。
10.4 生命周期各阶段的基本任务
( 1) 问题定义
问题定义阶段必须回答的关键问题是: ”要解决的问题是什么? ”
问题定义阶段的工作, 系统分析员应该提出关于问题性质、 工程目标和规模的书面报告。
问题定义阶段是生命周期中最简短的阶段, 一般只需要一天甚至更少的时间。
( 2) 可行性研究
这个阶段要回答的关键问题是: ”对于上一个阶段所确定的问题有可行的解决办法或值得做吗? ” 可行性研究比较简短, 这个阶段的任务不是具体解决问题, 而是研究问题的范围, 探索这个问题是否值得去解, 是否有可行的解决办法。
在问题定义阶段提出的对工程目标和规模的报告一般比较含糊。可行性研究应该导出系统的高层逻辑模型( 一般见数据流图表示) , 而且在此基础上更准确、 更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益, 对建议的系统进行仔细的成本/效益分析是这个阶段的主要任务之一。
可行性研究的结果是使用部门负责人决定是否进行这项工程的重要依据。
( 3) 需求分析
这个阶段的任务依然不是具体地解决问题, 而是准确地确定”为了解决这个问题, 目标系统必须做什么”, 主要是确定目标系统必须具备哪些功能。
系统分析员在需求分析阶段必须和用户密切配合, 充分交流信息, 以得出经过用户确认的系统逻辑模型。一般见数据流图、 数据字典和简要的算法表示系统的逻辑模型。
( 4) 总体设计
这个阶段必须回答的关键问题是: ”概括地说, 应该如何解决这个问题”
首先, 应该考虑几种可能的解决方案。
1) 低成本的解决方案;
2) 中等成本的解决方案。
3) 高成本的”十全十美”的系统。
系统分析员应该使用系统流程图或其它工具描述每种可能的系统, 估计每种方案的成本和效益, 还应该在充分权衡各种方案的利弊的基础上, 推荐一个较好的系统( 最佳方案) , 而且制定实现所推荐的系统的详细计划。
地理信息系统工程设计采用结构化系统设计。结构设计的一条基本原理就是程序应该模块化, 也就是一个大程序应该由许多规模适中的模块按合理的层次结构组织而成。总体设计阶段的第二项主要任务就是设计软件的结构, 也就是确定程序由哪些模块组成以及模块间的关系。一般见层次图或结构图描绘软件的结构。
( 5) 详细设计
总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化, 也就是回答下面这个关键问题: ”应该怎样具体地实现这个系统呢? ”
这个阶段的任务还不是编写程序, 而是设计出程序的详细规格说明。这种规格说明的作用很类似于其它工程领域中工程师经常使用的工程蓝图, 它们应该包含必要的细节, 程序员能够根据它们写出实际的程序代码。
( 6) 编码和单元测试
这个阶段的关键任务是写出正确的容易理解、 容易维护的系统模块。
( 7) 综合测试
这个阶段的关键任务是经过各种类型的测试( 相应的调试) 使系统达到预定的要求。
( 8) 软件维护
维护阶段的关键任务是, 经过各种必要的维护活动使系统持久地满足用户的需要。
四类维护活动: 改正性维护、 适应性维护、 完善性维护、 预防性维护。
实际上每一项维护活动都应该经过提出维护要求( 或报告问题) , 分析维护要求, 提出维护方案, 审批维护方案, 确定维护计划, 修改软件设计, 修改程序, 测试程序, 复查验收等一系列步骤, 因此是经历了一次压缩和简化了的系统定义和开发的全过程。
每一项维护活动都应该准确地记录下来, 做为正式的文档资料加以保存。
10.5 硬件配置
10.6 人员配置
10.7 地理信息系统评价
主要对下列各项进行评价:
系统效率: 地理信息系统的各种功能指标、 技术指标和经济指标是系统效率的反映。例如系统能否及时地向用户提供有用信息, 所提供信息的地理精度和几何精度如何, 系统操作是否方便, 系统出错如何, 以及资源的使用效率如何等等。
系统可靠性: 系统可靠性是指系统在运行时的稳定性, 还包括系统有关的数据文件和程序是否妥善保存, 以及系统是否有后备体系等。
可扩展性: 一个系统建成后, 要使在现行系统上不做大改动或不影响整个系统结构, 就可在现行系统上增加功能模块。
可移植性: 系统必须按国家规范标准设计, 包括数据表示、 专业分类、 编码标准、 记录格式等, 都要按照统一的规定, 以保证软件和数据的匹配、 交换和共享。
系统的效益: 系统的效益包括经济效益和社会效益。
展开阅读全文