GIS软件工程的总体设计文档ppt课件

简介 相关

截图

GIS软件工程的总体设计文档ppt课件

简介

这是一个关于GIS软件工程的总体设计文档ppt课件,主要介绍了GIS软件工程的总体设计概述、体系结构设计、软件结构设计、空间数据库设计等内容。第五章 GIS软件工程的总体设计第一节 概述第二节 体系结构设计第三节 软件结构设计第四节 空间数据库设计第一节 概述 系统设计就是为了实现软件需求规格书的要求,将用户需求转化为对计算机系统的逻辑定义的过程。 系统设计是把GIS前期工程中的软件需求转换为软件表示的过程,最初这种表示知识描述软件的总体结构,称为总体设计,在总体设计完成后,需要进行数据库设计,然后进行应用模型设计,最后是详细设计。 一 系统设计在软件开发中的位置 软件开发主要包括三个步骤:设计、实现(编码)和测试。系统分析阶段解决系统“做什么”的问题,而系统设计则解决“怎么做”的问题。 系统结构设计定义软件系统各个主要成分之间的关系;数据设计侧重于数据结构的定义;详细设计则是把结构成分转换成软件的过程性描述;界面设计侧重于与用户交互的界面的设计,包括输入、输出、显示等各类界面的风格和策略的确定。 二 总体设计过程中需要完成的工作 1 制定规范(标准设计) 在进入软件开发阶段之初,应为软件开发制定共同遵守的标准,以便协调组内各成员的工作。(1)阅读和理解软件需求说明书,在给定预算范围内和技术现状下,确认用户的要求能否实现。若能够实现需要明确实现的条件,从而确定设计的目标,以及优先顺序。(2)根据目标确定最合适的设计方案。(3)确定设计文档的编制标准,包括文档体系、用纸及样式、记述详细程度、图形画法等,欢迎点击下载GIS软件工程的总体设计文档ppt课件哦。

GIS软件工程的总体设计文档ppt课件是由红软PPT免费下载网推荐的一款学校PPT类型的PowerPoint.

第五章 GIS软件工程的总体设计第一节 概述第二节 体系结构设计第三节 软件结构设计第四节 空间数据库设计第一节 概述 系统设计就是为了实现软件需求规格书的要求,将用户需求转化为对计算机系统的逻辑定义的过程。 系统设计是把GIS前期工程中的软件需求转换为软件表示的过程,最初这种表示知识描述软件的总体结构,称为总体设计,在总体设计完成后,需要进行数据库设计,然后进行应用模型设计,最后是详细设计。 一 系统设计在软件开发中的位置 软件开发主要包括三个步骤:设计、实现(编码)和测试。系统分析阶段解决系统“做什么”的问题,而系统设计则解决“怎么做”的问题。 系统结构设计定义软件系统各个主要成分之间的关系;数据设计侧重于数据结构的定义;详细设计则是把结构成分转换成软件的过程性描述;界面设计侧重于与用户交互的界面的设计,包括输入、输出、显示等各类界面的风格和策略的确定。 二 总体设计过程中需要完成的工作 1 制定规范(标准设计) 在进入软件开发阶段之初,应为软件开发制定共同遵守的标准,以便协调组内各成员的工作。 (1)阅读和理解软件需求说明书,在给定预算范围内和技术现状下,确认用户的要求能否实现。若能够实现需要明确实现的条件,从而确定设计的目标,以及优先顺序。 (2)根据目标确定最合适的设计方案。 (3)确定设计文档的编制标准,包括文档体系、用纸及样式、记述详细程度、图形画法等。 (4)确定代码体系、接口规约、命名规则等。 2 软件结构设计 (1)采用某种设计方法,将一个复杂的系统按照功能划分成模块的层次结构; (2)确定每个模块的功能,建立与已确定的软件需求的对应关系; (3)确定模块间的调用关系; (4)确定模块间的接口,即模块间传递的信息。设计接口的信息结构。 (5)评估模块划分的质量及导出模块结构的规则。 3 数据库设计 确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计, (1)确定输入和输出文件的详细数据结构; (2)结合算法设计、确定算法所必须的逻辑数据结构及其操作; (3)确定对逻辑数据结构所必需操作的程序模块,限制和确定各个数据设计决策的影响范围; (4)确定操作系统或调度程序接口必须的控制表等数据的详细数据结构和使用规则; (5)数据的保护性设计 4 编写总体设计阶段的文档 总体设计阶段完成时应编写以下文档 (1)总体设计说明书,包括系统目标、总体设计、数据设计、处理方式设计、运行设计等; (2)数据库设计说明书,包括所用数据库简介、数据模式设计、物理设计等。 (3)用户手册,对需求分析阶段编写的初步的用户手册进行审订; (4)制定初步的测试计划,对测试的策略、方法和步骤提出明确的要求。 5 总体设计评审 (1)可追溯性——确认该软件设计是否覆盖了所有已确定的软件需求,软件每一个成分是否可以追溯到某一项需求; (2)接口——分析软件各部分之间的联系,确认该软件内部接口与外部接口是否已经明确定义; (3)风险——确认软件设计在现有技术条件下和预算范围内是否能按时实现; (4)实用性——确认该软件设计对于需求的解决方案是否实用; (5)技术清晰度——确认该软件设计是否以一种易于翻译成代码的形式表达; (6)可维护性——从软件维护角度出发,确认该软件设计是否考虑了方便未来的维护; (7)质量——确认该软件设计是否表现出良好的质量特征; (8)各种选择方案——是否考虑过其他方案,比较各种方案的标准是什么; (9)限制——评估对该软件的限制是否现实,是否与需求一致; (10)其他具体问题——对于文档、可测试性、设计过程等进行评估。第二节 体系结构的设计一 概述 系统设计要满足三个基本要求:加强系统的实用性、降低系统开发和应用的成本、提高系统的生命周期。 一般而言,系统设计首先应根据系统研制的目标,确定系统必须具备的空间操作功能,即功能设计;其次是数据分类和编码,完成数据的存储和管理;最后是系统的建模和产品输出,即应用设计。 二 总体设计的目标 GIS总体设计的目标是一个优化的GIS系统。 一个优化的GIS必须具有运行效率高、可变性强、控制性能好等特点。 总体设计要根据系统研制的目标来规划系统的规模和确定系统的各个组成部分,并说明它们在整个系统中的作用与相关关系,以及确定系统的硬件配置,规定系统采用的合适技术规范,以保证系统总体目标的实现。 三 总体设计的步骤 (1)根据用户需要,确定系统工程要做那些工作,形成系统的逻辑模型; (2)将系统分解为一组模块,各个模块分别满足所提出的需求; (3)将分解出来的模块,按照是否能满足正常的需求进行分类,对不能满足正常需求的模块进一步调查研究,以确定是否能有效开发。 (4)制定工作计划,开发有关模块,并对各个模块进行移植性测试,以及系统的最后运行。 四 总体设计的基本任务 1 设计软件结构 结构设计的具体方法如下 (1)将一个复杂的系统按功能划分为模块; (2)确定每个模块的功能; (3)确定模块之间的调用关系; (4)确定模块之间的接口,即模块之间传递的消息; (5)评价模块结构的质量。 2 数据结构及数据库设计 数据结构采用逐步细化的方法。 在需求分析阶段,可通过数据字典对数据的组成、操作的约束和数据之间的关系等方面进行描述,确定数据的结构特征。 在总体设计阶段要加以细化,在详细设计阶段则规定具体的实现细节。 3 编写总体设计文档 编写总体设计文档的内容如下(1)总体设计说明书,主要内容为 ◆引言:编写的目的、背景、意义、参考资料 ◆总体设计:需求规定、运行环境、基本设计概念和处理流程、软件结构 ◆接口设计:用户接口、外部接口、内部接口 ◆运行设计:运行模块组合、运行控制、运行时间 ◆系统数据结构设计:逻辑结构设计、物理结构设计、数据结构与程序的关系 ◆系统出错处理设计:出错信息、补救措施、系统恢复设计(2)数据库设计说明书 主要给出所使用的数据库管理系统DBMS简介,数据库的概念模型、逻辑设计和结果。(3)用户手册 对需求分析阶段编写的用户手册进行补充和修改(4)修订测试计划 对测试策略、方法和步骤提出明确要求 4 评审第三节 软件结构设计一 结构化设计的优点 结构化设计的关键思想就是通过划分独立模块来减少程序的设计复杂性,并且增加软件的可重用行,以减少开发和维护计算机程序的费用。(1)减少设计复杂性 通过将一些大目标的实现转化为一些相对独立的小目标来实现。(2)结构独立 将功能性程序划分为多个相对独立的程序模块,可以保证能够花费较小的开销。 (3)单一的功能模块(4)易于进行软件的修改 包括改正错误和实现新的需求。(5)易于开发和维护(6)加强了可重用代码的能力 结构化设计的思想在其他领域有广泛的应用,如汽车制造、航空业和建筑业中,产品部件的接口标准已经统一定义,因此可以由不同的厂商供货。 二 结构设计的基本概念 1 模块化 模块是在程序中数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数和子程序等。 在软件的体系结构中,模块是可组合、分解和更换的单元,具有以下基本特征:(1)接口——模块的输入与输出(2)功能——指模块实现什么功能(3)逻辑——描述如何实现功能及所需数据(4)状态——模块的调用与被调用关系 功能、状态与接口反映了模块的外部特征,逻辑则反映其内部特征。 模块化是指解决复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。每个模块完成一个特定的子功能,所有的模块按照某种方法组装起来,成为一个整体,完成整个系统所要求的功能。 如果模块划分过多,虽然模块内部的工作量减少,但是接口的工作量增加,因此在划分模块时应保证模块数量的适量,这取决于它的功能和用途。 模块度(modurality)指系统中模块的数量,对每个问题存在最佳模块数,使成本最小。 2 抽象 软件工程的每一步都可以看作是对软件抽象层次的一次细化。 在可行性研究阶段,软件可以作为整个计算机系统的一个元素对待;在软件需求分析阶段,软件的解决方案是使用问题环境中的术语描述;从总体设计到详细设计阶段,抽象的层次逐步降低,将面向问题术语与面向实现术语结合起来描述解决方法,知道产生源程序时到最低的抽象层次。 3 信息隐蔽 信息隐蔽是在设计确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。 通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。 软件系统在整个生存周期要经过多次修改,信息隐蔽为软件系统的修改、测试及以后的维护都带来好处。 三 模块的独立性 模块的独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。 (1)耦合度(coupling) 耦合度是模块间联系强弱的度量。 如果一个模块在不需要另一个模块的情况下,能够完整地执行其功能,则称它们完全独立。 “紧耦合”是指模块间的连接强;“松耦合”是指模块间的连接弱;“无耦合”即完全独立。 软件结构设计的目标是尽量实现松耦合系统。 (2)内聚度(cohesion) 内聚度是模块所执行任务的整体统一性度量。 与耦合度相对应,内聚度是指一个模块本身内部的问题。每个模块的内聚度是模块独立(模块内部单元之间的紧密约束和相关)的程度。 高度内聚模块的好处:便于查找错误、减少复杂性、简化设计、维护方便、利于重用。 在一个系统中,单个模块的内聚度越高,模块之间的耦合度就越低,在实际应用中这两个度量标准也是一致的。 四 软件结构图 结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。 软件结构一般用树状或网状结构的图形表示。(1)结构图 在软件工程中一般采用Yourdon等人提出的结构图工具来表示软件结构。 结构图描述了系统由哪些模块组成,表示了模块之间的调用关系。 结构图使用了流程图的符号: ◇矩形表示模块,矩形中标示模块名。 ◇从一个模块到另一个模块的箭头指出了第一个模块中包含了一个或多个到第二个模块的调用。 调用是指采用任何机制对模块的引用,调用过程中在箭头旁标注所要传递的参数。 ◇标注还指出了数据传递的方向。 画结构图应该注意的问题: (1)同一名称的模块在结构图中仅出现一次 (2)调用关系只能从上到下 (3)不严格表示模块的调用次序,习惯上从左到右。也可适当调整同一层模块左右位置,以保持结构图的清晰性。 流程图是用来描述一个模块的内部控制流过程,结构图则描述了模块之间的调用结构,通过组织功能单一的、相互独立的模块来实现整体目标。 五 软件结构形态 形态是指系统结构所表现出来的形状。可以用以下四个特征来定义软件系统的结构形态。 (1)深度:指结构图控制的层次,也是模块的层数,如右图中结构的深度为4;(2)宽度:指一层中最大的模块个数; (3)扇出:指一个模块直接下属模块的个数;(4)扇入:指一个模块直接上属模块的个数。 六 软件结构设计准则 1 模块独立性原则 划分模块时尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。 (1)如果若干模块之间耦合强度过高,每个模块内功能不复杂,可将它们合并,以减少信息的传递和公共区的引用。 (2)若有多个相关模块,应对它们的功能进行分析,消去重复功能。 2 控制范围与影响范围之间的准则 一个模块的控制范围是指模块本身以及所有下属模块(直接和间接从属)的集合。 一个模块的影响范围指受该模块内一个判定影响的所有模块的集合。 一个模块的影响范围应在其控制范围之内,且条件判定所在的模块应与受其影响的模块在层次上尽量靠近。 3 软件结构的形态特征准则 软件结构的深度、宽度、扇入和扇出应适当。 4 模块的大小准则 在考虑模块独立性的同时,为了增加可理解性,模块的大小最好在50~150条语句左右,可以用1~2页打印纸打印,便于阅读与研究。 5 模块的接口准则 模块的接口要简单、清晰及含义明确,便于理解,易于实现、测试与维护。第四节 空间数据库设计一 空间数据库的体系结构 空间数据库软件一般是作为连接GIS客户端软件和RDBMS的中间件而存在,这种思想与C/S网络模式思想是一致的。 下面以ISRI的SDE(Spatial Database Engine)为例说明空间数据库的体系结构。 客户端应用是最终用户运行的软件,它可以是ArcView、MapObject或ArcInfo的应用,也可以是用户为某一特定的工程开发的应用。 与客户端应用结合的是SDE客户库,它是一个程序设计接口,用于处理客户端应用提出的请求。 在服务器端,有SDE服务器处理程序、关系数据库管理系统和实际的数据。 SDE采用协作处理方式,即处理既可以在SDE客户库一端也可以在SDE服务器一端,取决于具体的处理在哪一端更快。 所有的服务器任务都是在SDE服务器所在的平台上完成的,而客户端应用则可以运行于多种不同的平台和环境,去访问同一个SDE服务器和数据库。 二 空间数据库设计的原则 (1)尽量减少空间数据存储的冗余量; (2)提供稳定的空间数据结构,在用户需要改变时,该数据结构能迅速作相应的变化; (3)满足用户对空间数据及时访问的需要,并能高效地提供用户所需的空间数据查询结果; (4)在数据元素间维持复杂的联系,以反映空间数据的复杂性; (5)支持多种多样的决策需要,具有较强的应用适应性。 三 空间数据库的设计过程 四 空间数据库的需求分析和数据模型设计 1 需求分析 (1)调查用户需求:了解用户特点和要求,取得设计者与用户对需求的一致看法; (2)需求数据的收集和分析:包括信息需求(信息内容、特征、存储数据等)、信息加工处理要求、完整性与安全性要求等; (3)编制用户需求说明书:包括需求分析的目标、任务、具体需求说明、系统功能与性能以及运行环境等。 2 数据模型设计 建立空间数据库系统数据模型的目的,是揭示空间客体的本质特征,并对其进行抽象化,使之转化为计算机能够接受和处理的数据形式。 数据库系统中通常采用的数据模型主要有层次模型、网状模型和关系模型,以及语义模型、面向对象的数据模型等。这些数据模型都可以用于空间数据库的设计。 五 空间数据库的概念设计 对需求分析阶段所收集的信息和数据进行分析、整理,确定地理实体、属性及其之间的联系,将各用户的局部视图合并成一个总的全局视图,形成独立于计算机的反映用户观点的概念模式。 表示概念模型常用的模型是E-R模型,即实体-联系模型。用它来描述现实地理世界,不必考虑信息的存储结构、存储路径等问题,更接近现实地理世界,具有直观、自然和语义较丰富等特点。 例如,在城市地理数据库系统设计中,将城市市区要素抽象为空间实体、空间实体属性和空间实体关系,其中 空间实体包括街道边线、路段、街道、街区以及节点等; 空间实体属性包括节点实体属性(立交桥、警亭及所连通街道的性质等),边线实体属性(属于哪一路段、街道、街区及其长度等),街道路段和街道实体属性(走向、路面质量、宽度、等级等),街区实体属性(面积、用地类型等)。 1 概念化设计工作内容 GIS数据库的概念化设计需要完成以下工作 (1)数据库的宏观地理意义,主要是指空间数据的比例尺、地图投影和坐标系统等全局性要素的定义; (2)数据库的地理特征设计,对地理特征的层次关系、各层几何表达形式和拓扑特征进行设计; (3)属性数据表格及其关系设计; (4)数据库总体设计报告的起草; (5)数据库概念化设计的评定。 2 GIS数据模型模式 (1)文件结构型数据模型模式 (2)混合结构型数据模型模式 (3)无缝数据库管理模型模式 3 数据的分层管理 大多数GIS都将数据按照逻辑类型分成不同的数据层进行组织。数据层的设计一般按照数据的专业内容和类型进行。 数据分层主要考虑如下因素(1)数据具有同样的特征,及相同的属性信息;(2)比例尺的一致性;(3)数据具有相同的几何形式和拓扑特征 同一地物可能采用不同的几何形式表达,需要不同的层,如河流可以分为线状和面状的,分别用两个层表示。 (4)该层数据具有同样的使用目的、方式 如道路数据,用于网络分析时用有严格拓扑关系的道路中心线表示,而在制图输出则用符号化线或面来表示,因此分别用两个层表示;(5)不同部门的数据放入不同的层;(6)不同安全级别的数据单独存储;(7)使用不同数据源更新的数据应分层存储;(8)同一类型的数据,如果其属性特征不同,也需要分层存储。 六 空间数据库的详细设计 1 数据源设计 GIS数据源包括地图、设计规划图、航空和卫星影像、GPS数据、照片、现有电子数据、各种记录文件、数字化测量数据等。 根据数据源的来源范围可以分为两类,一是系统外录入数据,二是系统内自生数据。 针对不同数据源的特性,系统采用不同的对策,但具有如下的共性: (1)数据源多样化,提高系统内容的丰富性; (2)系统主要空间数据比例尺、标准、格式等应尽量一致; (3)日常办公系统的数据来源,应经过数据处理系统和入库管理模块转化为标准数据后方可以进入系统,以确保系统的稳定性; (4)对于基于网络多用户系统,系统公共基础数据应通过统一的技术部门录入; (5)在保证质量的前提下,选择数据生产到入库短的数据源。 2 修订数据标准与数据字典 GIS数据标准应包含的内容有:引用标准、分类和实体代码说明、数据存储信息说明、空间数据分层说明、属性数据结构说明、元数据说明等。 3 数据存储、读取、查询和管理结构的设计(1)用户安全设计(2)数据更新的质量控制(3)合理数据分级体系的设定(4)数据的恢复能力(5)数据库网络模型 五 地理信息元数据的设计 1 元数据的定义和作用 元数据是关于数据的数据,用于描述数据的内容、覆盖范围、质量、管理方式、数据的所有者、数据的提供方式等有关的信息。 地理信息元数据是关于地理相关数据和信息资源的描述信息,它通过对地理空间数据的内容、质量、条件和其他特征进行描述与说明,帮助人们有效地定位、评价、获取和使用地理相关数据。 2 地理信息元数据确定的原则(1)完整性 核心元数据必须是基本元数据元素集合的基础上,还需要完整描述数据集最重要的信息。(2)准确性 确定核心元数据内容时,需要对表达理论、空间参照系统理论、质量体系理论以及计算机通信技术方面有全面的了解,准确表达。(3)结构性——用模型表达(4)与其他标准的一致性 3 地理信息元数据的主要内容 包括6个类和2个公共数据类型,6个类为:(1)标识信息 是唯一标识数据集的元数据信息(2)数据质量信息 是数据集整体质量的评价,包括数据集质量的定性和定量概括说明两个方面。(3)空间参照系统信息 是数据集使用的空间参照系统的说明,包括基于地理标识的空间参照系统与基于坐标的空间参照系统。 (4)内容信息 描述数据集的主要内容(5)分发信息 描述有关数据集的分发者和获取数据的方法,包括数据集网络传输地址,以及与分发者有关的联系信息。(6)核心元数据参考信息 包括核心元数据发布或更新的日期以及与建立核心元数据单位的联系信息等。 两个公共数据类型包括(1)覆盖范围信息 描述数据集的空间范围(经纬度坐标、地理标识符)、时间范围和垂向范围(最小最大垂向坐标值、计量单位)。该数据类型被多个元数据元素引用,本身不单独使用。(2)负责单位联系信息 与数据集有关的单位标识(单位名称、联系人、职责)和联系方式信息。 4 地理信息元数据字典 (1)名称/角色名称 (2)缩写名 (3)定义,对元数据类或属性确切含义的描述 (4)约束条件,表示该特征是否必须包含在核心元数据中,取值为M(必选)、C(条件必选)、O(可选) (5)最多出现次数,指定元数据类型或元数据属性的实例可能重复出现的次数,“1”为出现一次,“N”为重复出现 (6)数据类型,如整型数、实型数、字符串等 (7)域,元数据属性的域为允许取值范围,元数据类则表示描述该类的行的范围。 本章小结 1 系统设计在软件开发中的位置,总体设计中需要完成的工作 2 总体设计的目标、步骤、基本任务 3 结构化设计的优点、基本概念、模块的独立性、软件结构图、结构形态、影响范围和控制范围、软件结构设计准则 4 空间数据库体系结构、设计原则、设计过程、需求分析和数据模型设计、详细设计、地理信息元数据设计7rt红软基地

展开

同类推荐

热门PPT

相关PPT