版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 GIS软件工程的总体设计第一节 概述第二节 体系结构设计第三节 软件结构设计第四节 空间数据库设计第一节 概述 系统设计就是为了实现软件需求规格书的要求,将用户需求转化为对计算机系统的逻辑定义的过程。 系统设计是把GIS前期工程中的软件需求转换为软件表示的过程,最初这种表示知识描述软件的总体结构,称为总体设计,在总体设计完成后,需要进行数据库设计,然后进行应用模型设计,最后是详细设计。一 系统设计在软件开发中的位置 软件开发主要包括三个步骤:设计、实现(编码)和测试。系统分析阶段解决系统“做什么”的问题,而系统设计则解决“怎么做”的问题。设计编码测试数据域需求功能域及性能需求界面设计数
2、据设计过程设计系统结构设计程序模块组装好的有效软件开发阶段的信息流开发阶段的信息流 系统结构设计系统结构设计定义软件系统各个主要成分之间定义软件系统各个主要成分之间的关系;的关系;数据设计数据设计侧重于数据结构的定义;侧重于数据结构的定义;详细设详细设计计则是把结构成分转换成软件的过程性描述;则是把结构成分转换成软件的过程性描述;界面界面设计设计侧重于与用户交互的界面的设计,包括输入、侧重于与用户交互的界面的设计,包括输入、输出、显示等各类界面的风格和策略的确定。输出、显示等各类界面的风格和策略的确定。 从工程管理的从工程管理的角度,系统设计分角度,系统设计分两步完成:两步完成:总体设总体设计
3、计和和详细设计详细设计。总体设计总体设计详细设计详细设计数据设计数据设计系统结构系统结构过程设计过程设计界面设计界面设计管理管理观点观点技技术术观观点点二二 总体设计过程中需要完成的工作总体设计过程中需要完成的工作1 制定规范(标准设计) 在进入软件开发阶段之初,应为软件开发制定共同遵守的标准,以便协调组内各成员的工作。 (1 1)阅读和理解软件需求说明书,在给定预算)阅读和理解软件需求说明书,在给定预算范围内和技术现状下,确认用户的要求能否实现。范围内和技术现状下,确认用户的要求能否实现。若能够实现需要明确实现的条件,从而确定设计的若能够实现需要明确实现的条件,从而确定设计的目标,以及优先顺
4、序。目标,以及优先顺序。 (2 2)根据目标确定最合适的设计方案。)根据目标确定最合适的设计方案。 (3 3)确定设计文档的编制标准,包括文档体系、)确定设计文档的编制标准,包括文档体系、用纸及样式、记述详细程度、图形画法等。用纸及样式、记述详细程度、图形画法等。 (4 4)确定代码体系、接口规约、命名规则等。)确定代码体系、接口规约、命名规则等。2 软件结构设计 (1 1)采用某种设计方法,将一个复杂的系统按)采用某种设计方法,将一个复杂的系统按照功能划分成模块的层次结构;照功能划分成模块的层次结构; (2 2)确定每个模块的功能,建立与已确定的软)确定每个模块的功能,建立与已确定的软件需求
5、的对应关系;件需求的对应关系; (3 3)确定模块间的调用关系;)确定模块间的调用关系; (4 4)确定模块间的接口,即模块间传递的信息。)确定模块间的接口,即模块间传递的信息。设计接口的信息结构。设计接口的信息结构。 (5 5)评估模块划分的质量及导出模块结构的规)评估模块划分的质量及导出模块结构的规则。则。3 数据库设计 确定软件涉及的文件系统的结构以及数据库的确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计,模式、子模式,进行数据完整性和安全性的设计, (1 1)确定输入和输出文件的详细数据结构;)确定输入和输出文件的详细数据结构; (2 2)结合算法设
6、计、确定算法所必须的逻辑数据)结合算法设计、确定算法所必须的逻辑数据结构及其操作;结构及其操作; (3 3)确定对逻辑数据结构所必需操作的程序模块,)确定对逻辑数据结构所必需操作的程序模块,限制和确定各个数据设计决策的影响范围;限制和确定各个数据设计决策的影响范围; (4 4)确定操作系统或调度程序接口必须的控制表)确定操作系统或调度程序接口必须的控制表等数据的详细数据结构和使用规则;等数据的详细数据结构和使用规则; (5 5)数据的保护性设计)数据的保护性设计4 编写总体设计阶段的文档 总体设计阶段完成时应编写以下文档总体设计阶段完成时应编写以下文档 (1)总体设计说明书,包括系统目标、总体
7、设)总体设计说明书,包括系统目标、总体设计、数据设计、处理方式设计、运行设计等;计、数据设计、处理方式设计、运行设计等; (2)数据库设计说明书,包括所用数据库简介、)数据库设计说明书,包括所用数据库简介、数据模式设计、物理设计等。数据模式设计、物理设计等。 (3)用户手册,对需求分析阶段编写的初步的)用户手册,对需求分析阶段编写的初步的用户手册进行审订;用户手册进行审订; (4)制定初步的测试计划,对测试的策略、方)制定初步的测试计划,对测试的策略、方法和步骤提出明确的要求。法和步骤提出明确的要求。5 总体设计评审 (1 1)可追溯性)可追溯性确认该软件设计是否覆盖了确认该软件设计是否覆盖了
8、所有已确定的软件需求,软件每一个成分是否可以所有已确定的软件需求,软件每一个成分是否可以追溯到某一项需求;追溯到某一项需求; (2 2)接口)接口分析软件各部分之间的联系,确分析软件各部分之间的联系,确认该软件内部接口与外部接口是否已经明确定义;认该软件内部接口与外部接口是否已经明确定义; (3 3)风险)风险确认软件设计在现有技术条件下确认软件设计在现有技术条件下和预算范围内是否能按时实现;和预算范围内是否能按时实现; (4 4)实用性)实用性确认该软件设计对于需求的解确认该软件设计对于需求的解决方案是否实用;决方案是否实用; (5 5)技术清晰度)技术清晰度确认该软件设计是否以一确认该软件
9、设计是否以一种易于翻译成代码的形式表达;种易于翻译成代码的形式表达; (6 6)可维护性)可维护性从软件维护角度出发,确认从软件维护角度出发,确认该软件设计是否考虑了方便未来的维护;该软件设计是否考虑了方便未来的维护; (7 7)质量)质量确认该软件设计是否表现出良好确认该软件设计是否表现出良好的质量特征;的质量特征; (8 8)各种选择方案)各种选择方案是否考虑过其他方案,是否考虑过其他方案,比较各种方案的标准是什么比较各种方案的标准是什么; ; (9 9)限制)限制评估对该软件的限制是否现实,评估对该软件的限制是否现实,是否与需求一致;是否与需求一致; (1010)其他具体问题)其他具体问
10、题对于文档、可测试性、对于文档、可测试性、设计过程等进行评估。设计过程等进行评估。第二节 体系结构的设计一 概述 系统设计要满足三个基本要求:加强系统的实系统设计要满足三个基本要求:加强系统的实用性、降低系统开发和应用的成本、提高系统的生用性、降低系统开发和应用的成本、提高系统的生命周期。命周期。 一般而言,系统设计首先应根据系统研制的目一般而言,系统设计首先应根据系统研制的目标,确定系统必须具备的空间操作功能,即功能设标,确定系统必须具备的空间操作功能,即功能设计;其次是数据分类和编码,完成数据的存储和管计;其次是数据分类和编码,完成数据的存储和管理;最后是系统的建模和产品输出,即应用设计。
11、理;最后是系统的建模和产品输出,即应用设计。二 总体设计的目标 GIS总体设计的目标是一个优化的GIS系统。 一个优化的GIS必须具有运行效率高、可变性强、控制性能好等特点。 总体设计要根据系统研制的目标来规划系统的规模和确定系统的各个组成部分,并说明它们在整个系统中的作用与相关关系,以及确定系统的硬件配置,规定系统采用的合适技术规范,以保证系统总体目标的实现。三 总体设计的步骤 (1 1)根据用户需要,确定系统工程要做那些)根据用户需要,确定系统工程要做那些工作,形成系统的逻辑模型;工作,形成系统的逻辑模型; (2 2)将系统分解为一组模块,各个模块分别)将系统分解为一组模块,各个模块分别满
12、足所提出的需求;满足所提出的需求; (3 3)将分解出来的模块,按照是否能满足正)将分解出来的模块,按照是否能满足正常的需求进行分类,对不能满足正常需求的模块常的需求进行分类,对不能满足正常需求的模块进一步调查研究,以确定是否能有效开发。进一步调查研究,以确定是否能有效开发。 (4 4)制定工作计划,开发有关模块,并对各)制定工作计划,开发有关模块,并对各个模块进行移植性测试,以及系统的最后运行。个模块进行移植性测试,以及系统的最后运行。四 总体设计的基本任务1 设计软件结构 结构设计的具体方法如下结构设计的具体方法如下 (1 1)将一个复杂的系统按功能划分为模块;)将一个复杂的系统按功能划分
13、为模块; (2 2)确定每个模块的功能;)确定每个模块的功能; (3 3)确定模块之间的调用关系;)确定模块之间的调用关系; (4 4)确定模块之间的接口,即模块之间传递的)确定模块之间的接口,即模块之间传递的消息;消息; (5 5)评价模块结构的质量。)评价模块结构的质量。2 数据结构及数据库设计 数据结构采用逐步细化的方法。数据结构采用逐步细化的方法。 在需求分析阶段,可通过数据字典对数据的组在需求分析阶段,可通过数据字典对数据的组成、操作的约束和数据之间的关系等方面进行描述,成、操作的约束和数据之间的关系等方面进行描述,确定数据的结构特征。确定数据的结构特征。 在总体设计阶段要加以细化,
14、在详细设计阶段在总体设计阶段要加以细化,在详细设计阶段则规定具体的实现细节。则规定具体的实现细节。3 编写总体设计文档 编写总体设计文档的内容如下编写总体设计文档的内容如下(1 1)总体设计说明书,主要内容为)总体设计说明书,主要内容为 引言:编写的目的、背景、意义、参考资料引言:编写的目的、背景、意义、参考资料 总体设计:需求规定、运行环境、基本设计总体设计:需求规定、运行环境、基本设计概念和处理流程、软件结构概念和处理流程、软件结构 接口设计:用户接口、外部接口、内部接口接口设计:用户接口、外部接口、内部接口 运行设计:运行模块组合、运行控制、运行运行设计:运行模块组合、运行控制、运行时间
15、时间 系统数据结构设计:逻辑结构设计、物理结系统数据结构设计:逻辑结构设计、物理结构设计、数据结构与程序的关系构设计、数据结构与程序的关系 系统出错处理设计:出错信息、补救措施、系统出错处理设计:出错信息、补救措施、系统恢复设计系统恢复设计(2)数据库设计说明书)数据库设计说明书 主要给出所使用的数据库管理系统主要给出所使用的数据库管理系统DBMS简介,简介,数据库的概念模型、逻辑设计和结果。数据库的概念模型、逻辑设计和结果。(3)用户手册)用户手册 对需求分析阶段编写的用户手册进行补充和修对需求分析阶段编写的用户手册进行补充和修改改(4)修订测试计划)修订测试计划 对测试策略、方法和步骤提出
16、明确要求对测试策略、方法和步骤提出明确要求4 4 评审评审第三节 软件结构设计一 结构化设计的优点 结构化设计的关键思想就是通过划分独立模块结构化设计的关键思想就是通过划分独立模块来减少程序的设计复杂性,并且增加软件的可重用来减少程序的设计复杂性,并且增加软件的可重用行,以减少开发和维护计算机程序的费用。行,以减少开发和维护计算机程序的费用。(1)减少设计复杂性)减少设计复杂性 通过将一些大目标的实现转化为一些相对独立通过将一些大目标的实现转化为一些相对独立的小目标来实现。的小目标来实现。(2)结构独立)结构独立 将功能性程序划分为多个相对独立的程序模块,将功能性程序划分为多个相对独立的程序模
17、块,可以保证能够花费较小的开销。可以保证能够花费较小的开销。(3 3)单一的功能模块)单一的功能模块(4 4)易于进行软件的修改)易于进行软件的修改 包括改正错误和实现新的需求。包括改正错误和实现新的需求。(5 5)易于开发和维护)易于开发和维护(6 6)加强了可重用代码的能力)加强了可重用代码的能力 结构化设计的思想在其他领域有广泛的应用,结构化设计的思想在其他领域有广泛的应用,如汽车制造、航空业和建筑业中,产品部件的接口如汽车制造、航空业和建筑业中,产品部件的接口标准已经统一定义,因此可以由不同的厂商供货。标准已经统一定义,因此可以由不同的厂商供货。二 结构设计的基本概念1 模块化 模块是
18、在程序中数据说明、可执行语句等程序模块是在程序中数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数和子程序等。级语言中的过程、函数和子程序等。 在软件的体系结构中,模块是可组合、分解和在软件的体系结构中,模块是可组合、分解和更换的单元,具有以下基本特征:更换的单元,具有以下基本特征:(1)接口)接口模块的输入与输出模块的输入与输出(2)功能)功能指模块实现什么功能指模块实现什么功能(3)逻辑)逻辑描述如何实现功能及所需数据描述如何实现功能及所需数据(4)状态)状态模块的调用与被调用关系模块的调用与被调用关系 功
19、能、状态与接口反映了模块的外部特征,逻功能、状态与接口反映了模块的外部特征,逻辑则反映其内部特征。辑则反映其内部特征。 模块化是指解决复杂问题时自顶向下逐层把软模块化是指解决复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。每个模块完成一个件系统划分为若干模块的过程。每个模块完成一个特定的子功能,所有的模块按照某种方法组装起来,特定的子功能,所有的模块按照某种方法组装起来,成为一个整体,完成整个系统所要求的功能。成为一个整体,完成整个系统所要求的功能。 如果模块划分过多,虽然模块内部的工作量减如果模块划分过多,虽然模块内部的工作量减少,但是接口的工作量增加,因此在划分模块时应少,但是接口的
20、工作量增加,因此在划分模块时应保证模块数量的适量,这取决于它的功能和用途。保证模块数量的适量,这取决于它的功能和用途。 模块度(模块度(modurality)指系统中模块的数量,)指系统中模块的数量,对每个问题存在最佳模块数,使成本最小。对每个问题存在最佳模块数,使成本最小。成本成本总成本总成本接口成本接口成本模块开发模块开发成本成本模块数模块数模块度的成本模块度的成本2 抽象 软件工程的每一步都可以看作是对软件抽象层软件工程的每一步都可以看作是对软件抽象层次的一次细化。次的一次细化。 在可行性研究阶段,软件可以作为整个计算机在可行性研究阶段,软件可以作为整个计算机系统的一个元素对待;在软件需
21、求分析阶段,软件系统的一个元素对待;在软件需求分析阶段,软件的解决方案是使用问题环境中的术语描述;从总体的解决方案是使用问题环境中的术语描述;从总体设计到详细设计阶段,抽象的层次逐步降低,将面设计到详细设计阶段,抽象的层次逐步降低,将面向问题术语与面向实现术语结合起来描述解决方法,向问题术语与面向实现术语结合起来描述解决方法,知道产生源程序时到最低的抽象层次。知道产生源程序时到最低的抽象层次。3 信息隐蔽 信息隐蔽是在设计确定模块时,使得一个模块信息隐蔽是在设计确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不
22、能访问的。息的其他模块来说,是不能访问的。 通过信息隐蔽,可以定义和实施对模块的过程通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。细节和局部数据结构的存取限制。 软件系统在整个生存周期要经过多次修改,信软件系统在整个生存周期要经过多次修改,信息隐蔽为软件系统的修改、测试及以后的维护都带息隐蔽为软件系统的修改、测试及以后的维护都带来好处。来好处。三 模块的独立性 模块的独立性是指每个模块只完成系统要求的模块的独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口独立的子功能,并且与其他模块的联系最少且接口简单。简单。 (1)耦合度()耦合度(cou
23、pling) 耦合度是模块间联系强弱的度量。耦合度是模块间联系强弱的度量。 如果一个模块在不需要另一个模块的情况下,如果一个模块在不需要另一个模块的情况下,能够完整地执行其功能,则称它们完全独立。能够完整地执行其功能,则称它们完全独立。 “紧耦合紧耦合”是指模块间的连接强;是指模块间的连接强;“松耦合松耦合”是指模块间的连接弱;是指模块间的连接弱;“无耦合无耦合”即完全独立。即完全独立。 软件结构设计的目标是尽量实现松耦合系统软件结构设计的目标是尽量实现松耦合系统。(2 2)内聚度()内聚度(cohesioncohesion) 内聚度是模块所执行任务的整体统一性度量。内聚度是模块所执行任务的整
24、体统一性度量。 与耦合度相对应,内聚度是指一个模块本身内与耦合度相对应,内聚度是指一个模块本身内部的问题。每个模块的内聚度是模块独立(模块内部的问题。每个模块的内聚度是模块独立(模块内部单元之间的紧密约束和相关)的程度。部单元之间的紧密约束和相关)的程度。 高度内聚模块的好处:便于查找错误、减少复高度内聚模块的好处:便于查找错误、减少复杂性、简化设计、维护方便、利于重用。杂性、简化设计、维护方便、利于重用。 在一个系统中,单个模块的内聚度越高,模块之间的耦合度就越低,在实际应用中这两个度量标准也是一致的。四 软件结构图 结构图是软件系统的模块层次结构,反映了整结构图是软件系统的模块层次结构,反
25、映了整个系统的功能实现,即将来程序的控制层次体系。个系统的功能实现,即将来程序的控制层次体系。 软件结构一般用树状或网状结构的图形表示。软件结构一般用树状或网状结构的图形表示。(1)结构图)结构图 在软件工程中一般采用在软件工程中一般采用Yourdon等人提出的结等人提出的结构图工具来表示软件结构。构图工具来表示软件结构。 结构图描述了系统由哪些模块组成,表示了模结构图描述了系统由哪些模块组成,表示了模块之间的调用关系。块之间的调用关系。 结构图使用了流程图的符号:结构图使用了流程图的符号: 矩形表示模块,矩形中标示模块名。矩形表示模块,矩形中标示模块名。 从一个模块到另一个模块的箭头指出了第
26、一从一个模块到另一个模块的箭头指出了第一个模块中包含了一个或多个到第二个模块的调用。个模块中包含了一个或多个到第二个模块的调用。 调用是指采用任何机制对模块的引用,调用过调用是指采用任何机制对模块的引用,调用过程中在箭头旁标注所要传递的参数。程中在箭头旁标注所要传递的参数。 标注还指出了数据传递的方向。标注还指出了数据传递的方向。ABX,YZ 左图中,从模块左图中,从模块A A到到B B的箭头表示的箭头表示在模块在模块A A中包含了一个或多个到模块中包含了一个或多个到模块B B的调用。的调用。X X、Y Y包含了从包含了从A A到到B B所传递所传递的数据,的数据,Z Z是从是从B B所传回的
27、数据。所传回的数据。 如果一个参数从如果一个参数从A A传到传到B B,然后模,然后模块块B B对其进行了修改并传回对其进行了修改并传回A A,则它在,则它在两个方向上都要出现。两个方向上都要出现。 画结构图应该注意的问题:画结构图应该注意的问题: (1 1)同一名称的模块在结构图中仅出现一次)同一名称的模块在结构图中仅出现一次 (2 2)调用关系只能从上到下)调用关系只能从上到下 (3 3)不严格表示模块的调用次序,习惯上从左)不严格表示模块的调用次序,习惯上从左到右。也可适当调整同一层模块左右位置,以保持到右。也可适当调整同一层模块左右位置,以保持结构图的清晰性。结构图的清晰性。 流程图是
28、用来描述一个模块的内部控制流过程,流程图是用来描述一个模块的内部控制流过程,结构图则描述了模块之间的调用结构,通过组织功结构图则描述了模块之间的调用结构,通过组织功能单一的、相互独立的模块来实现整体目标。能单一的、相互独立的模块来实现整体目标。五 软件结构形态 形态是指系统结构所表现出来的形状。可以用以下四个特征来定义软件系统的结构形态。 (1)深度:指结构图控制的层次,也是模块的层数,如右图中结构的深度为4;(2)宽度:指一层中最大的模块个数;ABCB1B2C1C2XY(3)扇出:指一个模块直接下属模块的个数;(4)扇入:指一个模块直接上属模块的个数。ABCB1B3C1C2A的扇出为2B的扇
29、出为1C的扇出为3 系统的深度可以粗略描述系统的规模和复杂系统的深度可以粗略描述系统的规模和复杂度。系统宽度的一个重要影响是扇出,一般认为度。系统宽度的一个重要影响是扇出,一般认为扇出值域大约为扇出值域大约为6或或7,过高会导致整个系统的模,过高会导致整个系统的模块化性能降低。块化性能降低。六 软件结构设计准则1 1 模块独立性原则模块独立性原则 划分模块时尽量做到高内聚、低耦合,保持模划分模块时尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。块相对独立性,并以此原则优化初始的软件结构。 (1 1)如果若干模块之间耦合强度过高,每个模)如果若干模块之间耦合强度过高,每
30、个模块内功能不复杂,可将它们合并,以减少信息的传块内功能不复杂,可将它们合并,以减少信息的传递和公共区的引用。递和公共区的引用。 (2 2)若有多个相关模块,应对它们的功能进行)若有多个相关模块,应对它们的功能进行分析,消去重复功能。分析,消去重复功能。2 2 控制范围与影响范围之间的准则控制范围与影响范围之间的准则 一个模块的一个模块的控制范围控制范围是指模块本身以及所有下是指模块本身以及所有下属模块(直接和间接从属)的集合。属模块(直接和间接从属)的集合。 一个模块的一个模块的影响范围影响范围指受该模块内一个判定影指受该模块内一个判定影响的所有模块的集合。响的所有模块的集合。 一个模块的影
31、响范围应在其控制范围之内,且一个模块的影响范围应在其控制范围之内,且条件判定所在的模块应与受其影响的模块在层次上条件判定所在的模块应与受其影响的模块在层次上尽量靠近。尽量靠近。3 3 软件结构的形态特征准则软件结构的形态特征准则 软件结构的深度、宽度、扇入和扇出应适当。软件结构的深度、宽度、扇入和扇出应适当。4 4 模块的大小准则模块的大小准则 在考虑模块独立性的同时,为了增加可理解性,在考虑模块独立性的同时,为了增加可理解性,模块的大小最好在模块的大小最好在5050150150条语句左右,可以用条语句左右,可以用1 12 2页打印纸打印,便于阅读与研究。页打印纸打印,便于阅读与研究。5 5
32、模块的接口准则模块的接口准则 模块的接口要简单、清晰及含义明确,便于理模块的接口要简单、清晰及含义明确,便于理解,易于实现、测试与维护。解,易于实现、测试与维护。第四节 空间数据库设计一 空间数据库的体系结构 空间数据库软件一般是作为连接空间数据库软件一般是作为连接GISGIS客户端软客户端软件和件和RDBMSRDBMS的中间件而存在,这种思想与的中间件而存在,这种思想与C/SC/S网络模网络模式思想是一致的。式思想是一致的。 下面以下面以ISRIISRI的的SDESDE(Spatial Database EngineSpatial Database Engine)为例说明空间数据库的体系结构
33、。为例说明空间数据库的体系结构。 客户端应用客户端应用是最终用户运行的软件,它可以是是最终用户运行的软件,它可以是ArcViewArcView、MapObjectMapObject或或ArcInfoArcInfo的应用,也可以是的应用,也可以是用户为某一特定的工程开发的应用。用户为某一特定的工程开发的应用。 与客户端应用结合的是与客户端应用结合的是SDESDE客户库,它是一个程客户库,它是一个程序设计接口,用于处理客户端应用提出的请求。序设计接口,用于处理客户端应用提出的请求。客户端应用SDE客户库服务器SDE服务器处理程序RDBMS数据库SDE体系结构示意图 在服务器端,有在服务器端,有SD
34、ESDE服务器处理程序、关系数据服务器处理程序、关系数据库管理系统和实际的数据。库管理系统和实际的数据。 SDESDE采用协作处理方式,即处理既可以在采用协作处理方式,即处理既可以在SDESDE客客户库一端也可以在户库一端也可以在SDESDE服务器一端,取决于具体的处服务器一端,取决于具体的处理在哪一端更快。理在哪一端更快。 所有的服务器任务都是在所有的服务器任务都是在SDESDE服务器所在的平台服务器所在的平台上完成的,而客户端应用则可以运行于多种不同的上完成的,而客户端应用则可以运行于多种不同的平台和环境,去访问同一个平台和环境,去访问同一个SDESDE服务器和数据库。服务器和数据库。二
35、空间数据库设计的原则 (1 1)尽量减少空间数据存储的冗余量;)尽量减少空间数据存储的冗余量; (2 2)提供稳定的空间数据结构,在用户需要改)提供稳定的空间数据结构,在用户需要改变时,该数据结构能迅速作相应的变化;变时,该数据结构能迅速作相应的变化; (3 3)满足用户对空间数据及时访问的需要,并)满足用户对空间数据及时访问的需要,并能高效地提供用户所需的空间数据查询结果;能高效地提供用户所需的空间数据查询结果; (4 4)在数据元素间维持复杂的联系,以反映空)在数据元素间维持复杂的联系,以反映空间数据的复杂性;间数据的复杂性; (5 5)支持多种多样的决策需要,具有较强的应)支持多种多样的
36、决策需要,具有较强的应用适应性。用适应性。三 空间数据库的设计过程地理现象地理现象和过程和过程概念概念模型模型逻辑逻辑模型模型存储存储模型模型抽象抽象 概念世界的建立是通过对错综复杂的现实世界概念世界的建立是通过对错综复杂的现实世界的认识与抽象,即对各种不同专业领域的研究和系的认识与抽象,即对各种不同专业领域的研究和系统分析,形成概念化模型;统分析,形成概念化模型; 逻辑模型设计就是把概念模型结构转化为计算逻辑模型设计就是把概念模型结构转化为计算机数据库系统能够支持的数据模型;机数据库系统能够支持的数据模型; 存储模型是指概念模型反映到计算机物理存储存储模型是指概念模型反映到计算机物理存储介质
37、中的数据组织形式。介质中的数据组织形式。四 空间数据库的需求分析和数据模型设计1 1 需求分析需求分析 (1 1)调查用户需求:了解用户特点和要求,取)调查用户需求:了解用户特点和要求,取得设计者与用户对需求的一致看法;得设计者与用户对需求的一致看法; (2 2)需求数据的收集和分析:包括信息需求)需求数据的收集和分析:包括信息需求(信息内容、特征、存储数据等)、信息加工处理(信息内容、特征、存储数据等)、信息加工处理要求、完整性与安全性要求等;要求、完整性与安全性要求等; (3 3)编制用户需求说明书:包括需求分析的目)编制用户需求说明书:包括需求分析的目标、任务、具体需求说明、系统功能与性
38、能以及运标、任务、具体需求说明、系统功能与性能以及运行环境等。行环境等。2 2 数据模型设计数据模型设计 建立空间数据库系统数据模型的目的,是揭示建立空间数据库系统数据模型的目的,是揭示空间客体的本质特征,并对其进行抽象化,使之转空间客体的本质特征,并对其进行抽象化,使之转化为计算机能够接受和处理的数据形式。化为计算机能够接受和处理的数据形式。 数据库系统中通常采用的数据模型主要有层次数据库系统中通常采用的数据模型主要有层次模型、网状模型和关系模型,以及语义模型、面向模型、网状模型和关系模型,以及语义模型、面向对象的数据模型等。这些数据模型都可以用于空间对象的数据模型等。这些数据模型都可以用于
39、空间数据库的设计。数据库的设计。五 空间数据库的概念设计 对需求分析阶段所收集的信息和数据进行分析、对需求分析阶段所收集的信息和数据进行分析、整理,确定地理实体、属性及其之间的联系,将各整理,确定地理实体、属性及其之间的联系,将各用户的局部视图合并成一个总的全局视图,形成独用户的局部视图合并成一个总的全局视图,形成独立于计算机的反映用户观点的概念模式。立于计算机的反映用户观点的概念模式。 表示概念模型常用的模型是表示概念模型常用的模型是E-R模型模型,即实体,即实体联系模型。用它来描述现实地理世界,不必考虑联系模型。用它来描述现实地理世界,不必考虑信息的存储结构、存储路径等问题,更接近现实地信
40、息的存储结构、存储路径等问题,更接近现实地理世界,具有直观、自然和语义较丰富等特点。理世界,具有直观、自然和语义较丰富等特点。 例如,在城市地理数据库系统设计中,将城市例如,在城市地理数据库系统设计中,将城市市区要素抽象为市区要素抽象为空间实体空间实体、空间实体属性空间实体属性和和空间实空间实体关系体关系,其中,其中 空间实体包括街道边线、路段、街道、街区以空间实体包括街道边线、路段、街道、街区以及节点等;及节点等; 空间实体属性包括空间实体属性包括节点节点实体属性(立交桥、警实体属性(立交桥、警亭及所连通街道的性质等),亭及所连通街道的性质等),边线边线实体属性(属于实体属性(属于哪一路段、
41、街道、街区及其长度等),哪一路段、街道、街区及其长度等),街道路段和街道路段和街道街道实体属性(走向、路面质量、宽度、等级等),实体属性(走向、路面质量、宽度、等级等),街区街区实体属性(面积、用地类型等)。实体属性(面积、用地类型等)。1 1 概念化设计工作内容概念化设计工作内容 GISGIS数据库的概念化设计需要完成以下工作数据库的概念化设计需要完成以下工作 (1 1)数据库的宏观地理意义,主要是指空间数)数据库的宏观地理意义,主要是指空间数据的比例尺、地图投影和坐标系统等全局性要素的据的比例尺、地图投影和坐标系统等全局性要素的定义;定义; (2 2)数据库的地理特征设计,对地理特征的层)
42、数据库的地理特征设计,对地理特征的层次关系、各层几何表达形式和拓扑特征进行设计;次关系、各层几何表达形式和拓扑特征进行设计; (3 3)属性数据表格及其关系设计;)属性数据表格及其关系设计; (4 4)数据库总体设计报告的起草;)数据库总体设计报告的起草; (5 5)数据库概念化设计的评定。)数据库概念化设计的评定。2 GIS2 GIS数据模型模式数据模型模式 (1 1)文件结构型数据模型模式)文件结构型数据模型模式 (2 2)混合结构型数据模型模式)混合结构型数据模型模式 (3 3)无缝数据库管理模型模式)无缝数据库管理模型模式GIS应用应用GIS基础平台图形文件属性文件关键字GIS应用应用
43、GIS基础平台图形文件属性库关键字GIS应用应用GIS基础平台数据库接口数据库接口数据引擎属性库空间数据库3 3 数据的分层管理数据的分层管理 大多数大多数GISGIS都将数据按照逻辑类型分成不同的都将数据按照逻辑类型分成不同的数据层进行组织。数据层的设计一般按照数据的专数据层进行组织。数据层的设计一般按照数据的专业内容和类型进行。业内容和类型进行。 数据分层主要考虑如下因素数据分层主要考虑如下因素(1 1)数据具有同样的特征,及相同的属性信息;)数据具有同样的特征,及相同的属性信息;(2 2)比例尺的一致性;)比例尺的一致性;(3 3)数据具有相同的几何形式和拓扑特征)数据具有相同的几何形式
44、和拓扑特征 同一地物可能采用不同的几何形式表达,需要同一地物可能采用不同的几何形式表达,需要不同的层,如河流可以分为线状和面状的,分别用不同的层,如河流可以分为线状和面状的,分别用两个层表示。两个层表示。(4 4)该层数据具有同样的使用目的、方式)该层数据具有同样的使用目的、方式 如道路数据,用于网络分析时用有严格拓扑关如道路数据,用于网络分析时用有严格拓扑关系的道路中心线表示,而在制图输出则用符号化线系的道路中心线表示,而在制图输出则用符号化线或面来表示,因此分别用两个层表示;或面来表示,因此分别用两个层表示;(5 5)不同部门的数据放入不同的层;)不同部门的数据放入不同的层;(6 6)不同
45、安全级别的数据单独存储;)不同安全级别的数据单独存储;(7 7)使用不同数据源更新的数据应分层存储;)使用不同数据源更新的数据应分层存储;(8 8)同一类型的数据,如果其属性特征不同,也需)同一类型的数据,如果其属性特征不同,也需要分层存储。要分层存储。六 空间数据库的详细设计1 1 数据源设计数据源设计 GISGIS数据源包括地图、设计规划图、航空和卫数据源包括地图、设计规划图、航空和卫星影像、星影像、GPSGPS数据、照片、现有电子数据、各种记录数据、照片、现有电子数据、各种记录文件、数字化测量数据等。文件、数字化测量数据等。 根据数据源的来源范围可以分为两类,一是系根据数据源的来源范围可
46、以分为两类,一是系统外录入数据,二是系统内自生数据。统外录入数据,二是系统内自生数据。 针对不同数据源的特性,系统采用不同的对策,针对不同数据源的特性,系统采用不同的对策,但具有如下的共性:但具有如下的共性: (1 1)数据源多样化,提高系统内容的丰富性;)数据源多样化,提高系统内容的丰富性; (2 2)系统主要空间数据比例尺、标准、格式等)系统主要空间数据比例尺、标准、格式等应尽量一致;应尽量一致; (3 3)日常办公系统的数据来源,应经过数据处)日常办公系统的数据来源,应经过数据处理系统和入库管理模块转化为标准数据后方可以进理系统和入库管理模块转化为标准数据后方可以进入系统,以确保系统的稳
47、定性;入系统,以确保系统的稳定性; (4 4)对于基于网络多用户系统,系统公共基础)对于基于网络多用户系统,系统公共基础数据应通过统一的技术部门录入;数据应通过统一的技术部门录入; (5 5)在保证质量的前提下,选择数据生产到入)在保证质量的前提下,选择数据生产到入库短的数据源。库短的数据源。2 2 修订数据标准与数据字典修订数据标准与数据字典 GISGIS数据标准应包含的内容有:数据标准应包含的内容有:引用标准、分引用标准、分类和实体代码说明、数据存储信息说明、空间数据类和实体代码说明、数据存储信息说明、空间数据分层说明、属性数据结构说明、元数据说明等分层说明、属性数据结构说明、元数据说明等
48、。3 3 数据存储、读取、查询和管理结构的设计数据存储、读取、查询和管理结构的设计(1 1)用户安全设计)用户安全设计(2 2)数据更新的质量控制)数据更新的质量控制(3 3)合理数据分级体系的设定)合理数据分级体系的设定(4 4)数据的恢复能力)数据的恢复能力(5 5)数据库网络模型)数据库网络模型五 地理信息元数据的设计1 1 元数据的定义和作用元数据的定义和作用 元数据元数据是关于数据的数据,用于描述数据的内是关于数据的数据,用于描述数据的内容、覆盖范围、质量、管理方式、数据的所有者、容、覆盖范围、质量、管理方式、数据的所有者、数据的提供方式等有关的信息。数据的提供方式等有关的信息。 地
49、理信息元数据地理信息元数据是关于地理相关数据和信息资是关于地理相关数据和信息资源的描述信息,它通过对地理空间数据的内容、质源的描述信息,它通过对地理空间数据的内容、质量、条件和其他特征进行描述与说明,帮助人们有量、条件和其他特征进行描述与说明,帮助人们有效地定位、评价、获取和使用地理相关数据。效地定位、评价、获取和使用地理相关数据。2 2 地理信息元数据确定的原则地理信息元数据确定的原则(1 1)完整性)完整性 核心元数据必须是基本元数据元素集合的基础核心元数据必须是基本元数据元素集合的基础上,还需要完整描述数据集最重要的信息。上,还需要完整描述数据集最重要的信息。(2 2)准确性)准确性 确定核心元数据内容时,需要对表达理论、空确定核心元数据内容时,需要对表达理论、空间参照系统理论、质量体系理论以及计算机通信技间参照系统理论、质量体系理论以及计算机通信技术方面有全面的了解,准确表达。术方面有全面的了解,准确表达。(3 3)结构性)结构性用模型表达用模型表达(4 4)与其他标准的一致性)与其他标准的一致性3 3 地理信息元数据的主要内容地理信息元数据的主要内容 包括包括6 6个类和个类和2 2个公共数据类型,个公共数据类型,6 6个类为:个类为:(1 1)标识信息)标识信息 是唯一标识数据集的元数据信息是唯一标识数据集的元数据信息(2 2)数据质量信息)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石油化工行业保安工作计划
- ABB机器人基础培训课件
- 消防安全宣传日培训模板18
- 中医学模拟试题与答案
- 二年级数学上册加减混合运算课件
- 中学岗位职责
- 语文开学第一课
- 幼师基本乐理知识培训
- 幼儿园后勤厨房管理培训
- 中医专科护士培训结业汇报
- 电视摄像PPT教案
- 家装业务培训(共60页).ppt
- 消防器材知识讲解(课堂PPT)
- 英语教学中让学生当“小老师”的尝试-精选教育文档
- 机械密封工作原理演示版
- 血气分析全解ppt课件
- 二年级 Thelifeofabutterfly蝴蝶的生长过程
- 入网申请表模板
- 48个国际音标对应的字母组合及例词(WORD可打印版)
- 安装工程质量通病及消除通病措施(安八)
- 标化工地安全文明施工管理细则
评论
0/150
提交评论