地理信息系统设计与开发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序流程图
程序流程图(Program Flow Chart,简称PFC)又称为程序 框图,它是应用最广泛的描述过程的方法,具有简单、直观、 易于掌握的优点,特别适用于具体模块小程序的设计。下图所 示为程序流程图常用符号,图中方框表示处理步骤,菱形框表 示逻辑判断,箭头表示控制流。
(1)
(2)
(3)
3.3 空间数据输出设计
描述:指按实际应用的要求和可视化原则,将GIS操作和 分析的结果展示在屏幕上或打印到图纸上的过程 原则: 应从美学原则出发,布局图中各个内容的位置,调配 大小和色彩,设计优美的地图整饰等 空间数据的输出应带有很大的灵活性,允许用户对输 出内容进行动态组合 为常用的输出格式设计模板以方便用户 输出数据的表达形式尽可能多样化,如采用多媒体技 术等
3.4 输入项 描述每一个输入项的特征,如:标识符、数据类型、数据格式、数值 的有效范围、输入方式 3.5 输出项 描述每一个输出项的特征,如:标识符、数据类型、数据格式、数 值的有效范围、输出方式 3.6 处理过程 详细说明模块(子程序)内部的处理过程,采用的算法、出错处理 3.7 接口 分别列出和本模块(子程序)有调用关系的所有模块(子程序)及其调用 关系,说明与本模块(子程序)有关的数据结构 3.8 存储分配 3.9 注释设计 3.10 限制条件 说明本模块(子程序)运行中受到的限制条件 3.11 测试计划
(4)
(5)
(6)
程序流程图常用符号
程序流程图的缺陷
程序流程图本质上不是逐步求精的好工具,它使程序员过 早地考虑程序的控制流程,而不去考虑程序的全局结构; 程序流程图中用箭头代表控制流,因此程序员可以完全不 顾结构化程序设计的精神,随意转移控制; 程序流程图不易表示数据结构。 详细的程序流程图每个符号对应于源程序的一行代码,对 于提高大型系统的可理解性作用甚微。
几何数据 第一种 第二种 第三种 不变 改变 改变 属性数据 改变 不变 改变 宗地数据举例 一块宗地形状未变,权属变 一块宗地形状变,权属不变 一块宗地形状变,权属也变
数据更新模型
连续快照模型:用一系列状态所对应的地图来反映地理 现象的时空演化过程。连续快照仅代表地理现象的状态, 而缺乏对现象所包含的对象变化的明确表现,因此它不 能确定地理现象所包含的对象在时间上的拓扑联系。易 于实现,但冗余大 底图修改模型:首先确定数据的初始状态,然后仅记录 时间片段后发生变化的区域,通过叠加操作来建立现时 的状态数据,其中,每一次叠加则表示状态的一次变化 时空合成模型:将每一次独立的叠加操作转换为一次性 的合成叠加。这样,变化的积累形成最小变化单元,由 这些变化单元构成的图形文件和记录变化历史的属性文 件联系在一起,则可较完整地表达数据的时空特征
教学提纲
1 详细设计的内容 2 详细设计的表达工具 3 数据结构和数据库详细设计 4 详细设计规格说明书
1 详细设计的内容
系统详细设计的主要内容是在具体进行程序编码之前,根 据总体设计提供的文档,细化总体设计中已划分出的每个功能 模块,为之选一具体的算法,并清晰、准确的描述出来,从而 在具体编码阶段可以把这些描述直接翻译成用某种程序设计语 言书写的程序。其设计成果可用程序流程图描述,还可用形式 化软件设计语言描述。详细设计的结果基本上决定了最终程序 代码的质量。 空间数据库系统是GIS软件设计的核心内容,进行空间数 据库系统设计的主要任务是确定空间数据库的数据模型以及数 据结构,并提出空间数据库相关功能的实现方案;空间数据库 系统实现的主要任务是将设计的空间数据库系统的结构体系进 行编码实现,并将收集来的空间数据入库,建立空间数据库管 理信息系统。
1.2 详细设计的模块内容
详细的算法 数据表示和数据结构 实现的功能和使用的数据之间的关系
1.3 详细设计的具体任务
ຫໍສະໝຸດ Baidu
细化总体设计的体系流程图,绘出程序结构图,直到每 个模块的编写难度可被单个程序员所掌握为止。 为每个功能模块选定算法。 确定模块使用的数据组织。 确定模块的接口细节,及模块间的调度关系。 描述每个模块的流程逻辑。 编写详细设计文档。主要包括细化的系统结构图及逐个 模块的描述,如功能、接口、数据组织、控制逻辑等。
4 详细设计规格说明书
详细设计规格说明书 模块说明表
4.1 详细设计规格说明书
1 引言 1.1 背景 说明该软件系统名称、开发者、详细设计原则和方法 1.2 参考资料 列出有关参考资料名称、作者、发表日期、出版单位 1.3 术语和缩写语 列出本文件中专用的术语、定义和缩写语 2 程序(模块)系统的组织结构 用图表列出本程序系统内每个模块(或子程序)的名称、标识符,以及这 些模块(或子程序)之间的层次关系 3 模块(或子程序)1(标识符)设计说明 从本文件3开始,逐个给出上述每个模块(或子程序)的设计考虑 3.1 模块(子程序)描述 简要描述本模块(子程序)的目的意义、程序的特点 3.2 功能 详细描述此模块(子程序)要完成的主要功能 3.3 性能 描述此模块(子程序)要达到的主要技术性能
4 模块(或子程序)2(标识符)设计说明 用类似3的方式,说明第二个模块(子程序)乃至第N个模块(或子程序)的 设计考虑
4.2 模块说明表
模块名: 模块所在文件: 调用本模块的模块名: 本模块调用的其它模块名: 功能概述: 处理描述: 引用格式: 模块编号: 模块所在库: 设计者:
返回值:
名 称 内部接口 名 称 外部接口 用户接口 意 义 数据类型 I/O标志 格 式 媒 体 意 义 数据类型 数值范围 I/O标志
地理信息系统设计与开发
五 GIS详细设计
详细设计的任务
系统总体设计阶段已经确定了软件的模块结构和接口描述, 划分出不同的GIS目标子系统,即各个功能模块,并编写了总 体设计文档,但此时每个模块仍处于黑盒子级,需要进行更进 一步的设计。详细设计阶段的根本目标是确定怎样具体地实现 所定义的系统,也就是为各个在总体设计阶段处于黑盒子级的 模块设计具体的实现方案。
3.1 空间数据输入设计
空间数据输入包括图形数据输入和属性数据输入。 空间数据输入设计原则 良好的交互性。为用户提供反馈信息和帮助信息 允许用户进行简单的数据编辑 提供恢复功能。允许恢复到错误输入前的正确状态 对于表格数据的输入,要提供缺省值、输入格式、有效 性检验等功能,使用户快速而准确地输入数据 空间数据输入设计考虑因素 数据的组织和存放。结构要清晰 设计并建立完整的符号库,包括点状符号、线状符号、 面状符号和特殊的符号 良好的输入界面和数据接口
3 数据库详细设计
建立一个良好的数据组织结构和数据库,使整个系统都可 以迅速、方便、准确地调用和管理所需的数据,是系统开发的 必然要求。 通常,GIS数据库建设分为关系型数据库和空间数据库建 设两部分内容,其中,空间数据库在某些情况下也可以用关系 型数据库进行管理。 主要包含: (一) 空间数据输入设计 (二) 空间数据检索设计 (三) 空间数据输出设计 (四) 空间数据更新设计
3.2 空间数据检索设计
目的:从空间数据库中快速高效地检索出所需要的数据 实质:按一定条件对空间实体的图形数据和属性数据进 行查询检索,形成一个新的空间数据子集 方法:根据GIS应用的实际要求,用SQL语言、扩展SQL 语言和具有检索功能的GIS命令来实现
注:空间检索是目前空间数据检索研究的热点, 最常见空 间数据检索是基于拓扑关系(包括邻接、关联、包含等) 的空间检索
2 详细设计的表达工具
系统详细设计的任务是给出软件模块结构中各个模块的内 部过程描述,也就是模块内部的算法设计。根据软件工程的思 想,在GIS软件设计过程中,尤其是大型GIS软件的开发,系 统设计和系统实现是两个阶段的任务,通常由不同的人员来进 行。因此,需要采用一种标准的、通用的设计表达工具来实现 两阶段的沟通,使设计人员设计的系统,实现人员通过分析设 计的文本和资料得到无歧义的理解,即详细设计表达工具的选 择可以促进系统设计成果的表达和实现。
1.1 详细设计与总体设计区别
详细设计以总体设计阶段的工作为基础,但又不同于总体 设计阶段,这主要表现为以下两个方面:
在总体设计阶段,数据项和数据结构以比较抽象的方式描 述,例如,总体设计阶段可以声明矩阵在概念上可以表示 一幅遥感图像,详细设计就要确定用什么数据结构来表示 这样的数字矩阵。 详细设计要提供关于算法的更多细节,在详细设计阶段为 每个模块增加足够的细节,使得程序员能够以相当直接的 方式对每个模块编码。
3.4 空间数据更新设计
空间数据更新设计是GIS空间数据库设计的重要内容, 因为数据更新是GIS活力源泉之一。随着GIS应用的深入, 数据成为制约GIS发展的瓶颈,因此,迫切要求数据获 取手段和数据更新手段不断得到完善。 空间数据包括几何数据、属性数据和拓扑数据三种,根 据空间数据发生变化的数据类型,可以将空间数据的变 更分为三种类型: