GIS(地理信息系统)系统设计.ppt
- 文档编号:18889752
- 上传时间:2024-02-08
- 格式:PPT
- 页数:39
- 大小:235KB
GIS(地理信息系统)系统设计.ppt
《GIS(地理信息系统)系统设计.ppt》由会员分享,可在线阅读,更多相关《GIS(地理信息系统)系统设计.ppt(39页珍藏版)》请在冰点文库上搜索。
第六章系统详细设计地理信息系统设计教程系统总体设计阶段已经确定了软件的模块结构和接口描述,划分出不同的GIS目标子系统,即各个功能模块,并编写了总体设计文档,但此时每个模块仍处于黑盒子级,需要进行更进一步的设计。
详细设计阶段的根本目标是确定怎样具体地实现所定义的系统,也就是为各个在总体设计阶段处于黑盒子级的模块设计具体的实现方案。
教学提纲一、详细设计的基本原则二、详细设计的内容和具体任务三、详细设计的表达工具四、数据结构和数据库详细设计五、详细设计规格说明书退出退出一、详细设计的基本原则结构化程序设计(Structuredprogramming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。
结构化程序设计概念最早由Dijkstra于1965年提出,是软件发展的一个重要里程碑,它的概念、方法和其支持的软件工具组成了所谓的“结构化革命”。
结构化程序设计技术采用自顶向下、逐步求精的设计方法和单入口/单出口的控制结构,并且只包含顺序、选择和循环三种结构。
结构化程序设计的目标之一是使程序的控制流程线性化,即程序的动态执行顺序符合静态书写结构,这就增强了程序的可读性,不仅容易理解、调试、测试和排错,而且给程序的形式化证明带来了方便。
结构化程序设计原则具体表现在以下方面:
尽量少用或不用GoTo语句。
采用自顶向下逐步求精的设计方法。
采用顺序、选择、循环三种基本结构组成程序的控制结构。
尽量使用单入口/单出口的控制结构,减少传递参量(数)的个数。
提高模块的内聚度,降低模块间的关联度。
返回返回二、详细设计的内容和具体任务系统详细设计的主要内容是在具体进行程序编码之前,根据总体设计提供的文档,细化总体设计中已划分出的每个功能模块,为之选一具体的算法,并清晰、准确的描述出来,从而在具体编码阶段可以把这些描述直接翻译成用某种程序设计语言书写的程序。
其设计成果可用程序流程图描述,也可用伪码描述,还可用形式化软件设计语言描述。
详细设计的结果基本上决定了最终程序代码的质量。
详细设计以总体设计阶段的工作为基础,但又不同于总体设计阶段,这主要表现为以下两个方面:
在总体设计阶段,数据项和数据结构以比较抽象的方式描述,例如,总体设计阶段可以声明矩阵在概念上可以表示一幅遥感图像,详细设计就要确定用什么数据结构来表示这样的数字矩阵。
详细设计要提供关于算法的更多细节,例如,总体设计可以声明一个模块的作用是对一个表进行排序,详细设计则要确定使用哪种排序算法。
总之,在详细设计阶段为每个模块增加足够的细节,使得程序员能够以相当直接的方式对每个模块编码。
详细的算法数据表示和数据结构实现的功能和使用的数据之间的关系详细设计的模块内容详细设计的具体任务细化总体设计的体系流程图,绘出程序结构图,直到每个模块的编写难度可被单个程序员所掌握为止。
为每个功能模块选定算法。
确定模块使用的数据组织。
确定模块的接口细节,及模块间的调度关系。
描述每个模块的流程逻辑。
编写详细设计文档。
主要包括细化的系统结构图及逐个模块的描述,如功能、接口、数据组织、控制逻辑等。
返回返回三、详细设计的表达工具系统详细设计的任务是给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。
根据软件工程的思想,在GIS软件设计过程中,尤其是大型GIS软件的开发,系统设计和系统实现是两个阶段的任务,通常由不同的人员来进行。
因此,需要采用一种标准的、通用的设计表达工具来实现两阶段的沟通,使设计人员设计的系统,实现人员通过分析设计的文本和资料得到无歧义的理解,即详细设计表达工具的选择可以促进系统设计成果的表达和实现。
详细设计的表达工具可分为图形、表格和语言三种。
无论是哪种工具,对它们的基本要求都是能提供对设计的无歧义的描述,即能指明控制流程、处理功能、数据组织以及其它方面的实现细节。
从而方便在编码阶段把设计描述直接翻译成程序代码。
三、详细设计的表达工具
(一)程序流程图
(二)N-S盒式图(三)问题分析图(四)类程序设计语言返回返回程序流程图程序流程图(ProgramFlowChart,简称PFC)又称为程序框图,它是应用最广泛的描述过程的方法,具有简单、直观、易于掌握的优点,特别适用于具体模块小程序的设计。
下图所示为程序流程图常用符号,图中方框表示处理步骤,菱形框表示逻辑判断,箭头表示控制流。
(1)
(2)(3)(4)(5)(6)程序流程图常用符号可执行单元then部分的可执行单元else部分的可执行单元可执行单元else部分,选择构造then部分,repeat-until循环构造FT判断语句判断语句判断语句FT可执行单元FT在程序流程图中,结构化单元可以嵌套,例如一个if-then-else构造单元的then部分是一个repeat-until构造单元,而else部分是一个选择构造。
而这个外层的选择构造单元又是顺序构造中的第二个可执行单元。
下图所示为结构化单元嵌套示意图,以此嵌套结构可以导出复杂的程序结构。
程序流程图的缺陷程序流程图本质上不是逐步求精的好工具,它使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;程序流程图中用箭头代表控制流,因此程序员可以完全不顾结构化程序设计的精神,随意转移控制;程序流程图不易表示数据结构。
详细的程序流程图每个符号对应于源程序的一行代码,对于提高大型系统的可理解性作用甚微。
返回返回N-S盒式图N-S(Nassi-Shneiderman)盒式图是另一种用于详细设计表达的结构化图形设计工具。
最初由Nassi和Shneiderman开发,后经Chapin扩充改进,所以又叫N-S图或Chapin图。
同PFC相比,N-S图具有功能域表达明确,容易确定数据作用域的优点。
作为详细设计的工具,N-S图易于培养软件设计的程序员结构化分析问题与解决问题的习惯,它以结构化方式严格地实现从一个处理到另一个处理的控制转移。
每一个N-S图开始于一个大的矩形,表示它所描述的模块,该矩形的内部被分成不同的部分,分别表示不同的子处理过程,这些子处理过程又可进一步分解成更小的部分。
其基本结构见图。
第一项任务下一项任务再下一项任务F条件TElseThen部分部分循环条件do-while部分repeat-until部分循环条件case条件值值.casecase.部分部分.N-S盒式图基本结构N-S盒式图的特征是一种清晰的图形表达式,能定义功能域(重复或if-then-else的工作域)控制不能任意转移易于确定局部或全局的数据工作域易于表示递归返回返回问题分析图问题分析图(ProblemAnalysisDiagram,简称PAD)是由日本日立制作所研究开发的,综合了流程图、盒式图和伪码等技术的一些特点,在Pascal语言基础上发展而成的系统详细设计工具。
基于Pascal的控制结构,用二维树状图的形式描述程序的逻辑,下图反映了问题分析图的基本原理。
问题分析图的主要优点是结构清晰,能直接导出程序代码,并可对其进行一致性检查。
问题分析图可用于Basic、Fortran、Pascal、C等编程语言,它不仅支持软件的详细设计,还支持软件的需求分析和总体设计,也是当前广泛使用的一种软件设计方法。
头脑中粗略模糊问题解的概念
(1)顺序过程的细化
(2)循环过程的细化(3)选择过程的细化H1HnH1Hn循环条件HmH1HnHmHm+1Hm+2循环条件问题分析图方法的基本原理问题分析图采用自顶而下、逐步细化的结构化设计的原则,力求将模糊的问题解的概念逐步转换为确定的和详细的过程。
下图中列出了问题分析图的基本符号,有了问题分析图的基本符号和基本图式,根据系统的要求可写出系统的问题分析图。
由问题分析图转换出相应的源程序,必须按照以下步骤进行:
根据问题解画出问题分析图;把问题分析图看做横向生长的树,沿着树前进,写出源程序。
符号名称说明输入框框内写出输入变量名输出框框内写出输出变量名处理框框内写出处理名或语句名子程序框子程序处理框,框内写出子程序名重复框先判定,再重复,框内写出重复条件重复框先执行,然后判定,再重复,框内写出重复条件定义框框内写定义名选择框可一路、二路、三路或多路选择,框内写条件语句标号圆内写出语句标号定义用于PAD图的增加或分解返回返回类程序设计语言类程序设计语言(ProgramDesignLanguage,简称PDL)又称为伪码,这是一个笼统的名称,现有多种不同的PDL在使用。
PDL是一种混杂语言,它使用一种结构化程序设计语言(如Pascal、C)的语法控制框架,而在内部却可灵活使用一种自然语言(例如英语)来表示数据结构和处理过程。
PDL虽然不具有图形工具描述的直观清晰,但用来表示算法灵活自由,且便于翻译成高级语言程序,是介于自然语言与程序设计语言之间的一种伪码。
PDL是用正文形式表示数据和处理过程的设计工具,一方面具有严格的关键字外部语法,用于定义控制结构和数据结构;另一方面,又具有灵活自由的内部语法,以适应各种工程项目的需要。
PDL与实际的高级程序设计语言的区别在于:
PDL的语句中嵌有自然语言的叙述,是不能被计算机识别和编译的。
PDL的特点关键字的固定语法,提供所有结构化构造、数据说明以及模块化的手段。
自然语言的自由语法,用于描述处理过程和判定条件。
数据说明的手段,既包括简单的数据结构(例如变量和数组),又包括复杂的数据结构(例如链表)。
模块定义和调用的技术,提供各种接口描述模式。
返回返回四、数据结构和数据库详细设计建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是系统开发的必然要求。
通常,GIS数据库建设分为关系型数据库和空间数据库建设两部分内容,其中,空间数据库在某些情况下也可以用关系型数据库进行管理。
在第八章将对空间数据库的建设进行详细介绍,此处主要介绍如何用关系型数据库技术来建立非地理数据的数据库。
(一)数据结构规范化
(二)关系数据库建库四、数据结构和数据库详细设计返回返回数据结构规范化在系统定义阶段对系统的数据流、数据类型等进行了分析和定义,并用数据流图、数据字典等手段对其进行了描述,但是要用关系型数据库来对这些数据进行管理,还必须将它们转换成关系型数据库支持的数据结构,即对这些数据进行规范化的重新组织。
关于数据组织的规范化形式是关系型数据库的创始人之一IBM公司的科德(EFCodd)首先提出的。
早在1971年科德就提出了规范化理论(normalizationtheory),并在随后一系列的论文中逐步形成一整套数据规范化模式。
这些模式已经成为建立关系数据库的基本范式。
第一范式第一范式(firstnormalform,简称1stNF)要求同一张表中没有重复项出现,如果有则应将重复项删除。
这个删除重复项的过程就称为规范化处理。
第二范式第二范式(sencondnormalform,简称2ndNF)要求每个表必须有一个(而且仅一个)数据元素为主关键词(primarykey),其它数据元素与主关键词一一对应。
主关键词在表中必须具有唯一性,作为主关键词的数据项中不能出现重复的记录。
如表所示,其中预审项目表中的项目编号是主关键词,那么该表中不能出现相同的项目编号。
设置关键词大大方便了表的维护和查询检索。
预审项目表预审项目表(基表)(基表)审查项目表审查项目表(基表)(基表)农用地转用农用地转用方案(基表)方案(基表)补充耕地补充耕地方案(基表)方案(基表)征地方案征地方案(基表)(基表)项目编号项目编号(主关键字)(主关键字)项目编号项目编号(主关键字)(主关键字)项目编号项目编号(主关键字)(主关键字)项目编号项目编号(主关键字)(主关键字)征地编号征地编号(主关键字)(主关键字)项目名称项目名称项目名称项目名称项目名称项目名称补充耕地责任补充耕地责任单位单位被征用土地权属被征用土地权属单位单位项目承担单位项目承担单位农用地面积农用地面积拟使用年度计拟使用年度计划指标划指标补充耕地承担补充耕地承担单位单位权属状况权属状况申报时间申报时间耕地面积耕地面积拟使用结转计拟使用结转计划指标划指标已补充耕地面已补充耕地面积积征地补偿费用标征地补偿费用标准准土地利用规划实施管理数据库表的关键词设置第三范式第三范式(thirdnormalform,简称3rdNF)是指表格中的所有数据元素不但要能够唯一地被主关键词所标识,而且他们之间还必须相互独立,不存在其它的函数关系。
也就是说对于一个满足2ndNF的关系表来说,表中有可能存在某些数据元素的函数还依赖于其它非关键词数据元素的现象。
项目编号(主关键字)项目名称项目承担单位申报时间函数依赖关系a项目名称项目面积其中农用地面积耕地面积函数依赖关系b项目编号(主关键字)项目面积其中农用地面积耕地面积传递依赖关系c在图b中,项目面积、其中农用地面积、耕地面积等数据项函数依赖于项目名称,而图a显示项目名称函数依赖于项目编号,故项目面积、其中农用地面积、耕地面积等数据项能通过项目编号唯一地被标识(见图c)。
这种在同一张表中A函数依赖于B,而B函数依赖于C的现象被称之为“传递依赖”(transitivedependence)。
3rdNF为了确保关系数据库能够唯一并准确运行,要求必须在数据结构中消除这种传递依赖的现象。
消除这种传递依赖的方法有两种:
一是设法取消A对于B的函数依赖关系,使A函数直接依赖于C(主关键词),如图a所示。
另一种方法是建立一独立的表,如图b所示。
项目编号(主关键字)项目名称项目承担单位申报时间项目面积其中农用地面积耕地面积函数依赖关系图a直接取消传递依赖关系示意图函数依赖关系项目编号(主关键字)项目名称项目承担单位申报时间项目编号(主关键字)项目面积其中农用地面积耕地面积函数依赖关系图b增加关系表来取消传递依赖关系示意图返回返回关系数据库建库在按照关系型数据库数据规范进行数据基本结构的规范化重组后,要进行关系型数据库的建库工作,还必须根据具体的商业关系型数据库管理信息系统的数据格式要求进行数据库的建库工作,也就是在关系型数据模型的基础上将数据结构和数据库进行物理实现,包括三方面的工作:
建立基表;确定基表之间的关联;数据安全性管理。
建立基表经过编码和表的规范化处理后,已经可以确定每个基表是规范的,结合所采用的商业关系型数据库管理信息系统的数据模型进行表的计算机实现。
基表关联的建立目前,大多数商业关系型数据库管理信息系统都提供表的关联分析功能,根据系统定义阶段和规范化处理之后的的数据关系结构,在两个相关联的基表内可以通过特定的字段建立关联关系。
如下图所示以项目编号在报批项目表和项目明细表之间建立了联系。
报批编号(主关键词)报批面积报批时间项目编号报批项目表(基表)项目编号(主关键词)项目名称项目位置项目面积项目明细表(基表)表关联示意图数据安全性管理一般商业关系型数据库管理信息系统都提供数据安全保密的一些功能。
系统所提供的安全保密功能一般有8个等级(07级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每个表自由地进行定义。
这对确保系统的正常运行是非常重要的。
返回返回五、详细设计规格说明书
(一)详细设计规格说明书内容体系
(二)模块开发卷宗中模块说明表(三)详细设计评审报告审议项目列表返回返回11引言引言1.1.背景背景说说明明该软该软件系件系统统名称、开名称、开发发者、者、详细设计详细设计原原则则和方法和方法1.1.参考参考资资料料列出有关参考列出有关参考资资料名称、作者、料名称、作者、发发表日期、出版表日期、出版单单位位1.1.术语术语和和缩缩写写语语列出本文件中列出本文件中专专用的用的术语术语、定、定义义和和缩缩写写语语22程序程序(模模块块)系系统统的的组织结组织结构构用用图图表列出本程序系表列出本程序系统统内每个模内每个模块块(或子程序或子程序)的名称、的名称、标识标识符,以及符,以及这这些模些模块块(或子程序或子程序)之之间间的的层层次次关系关系33模模块块(或子程序或子程序)1()1(标识标识符符)设计说设计说明明从本文件从本文件33开始,逐个开始,逐个给给出上述每个模出上述每个模块块(或子程序或子程序)的的设计设计考考虑虑3.13.1模模块块(子程序子程序)描述描述简简要描述本模要描述本模块块(子程序子程序)的目的意的目的意义义、程序的特点、程序的特点3.23.2功能功能详细详细描述此模描述此模块块(子程序子程序)要完成的主要功能要完成的主要功能3.33.3性能性能描述此模描述此模块块(子程序子程序)要达到的主要技要达到的主要技术术性能性能3.43.4输输入入项项描述每一个描述每一个输输入入项项的特征,如:
的特征,如:
标识标识符、数据符、数据类类型、数据格式、数型、数据格式、数值值的有效范的有效范围围、输输入方式入方式3.53.5输输出出项项描述每一个描述每一个输输出出项项的特征,如:
的特征,如:
标识标识符、数据符、数据类类型、数据格式、数型、数据格式、数值值的有效范的有效范围围、输输出方式出方式3.63.6处处理理过过程程详细说详细说明模明模块块(子程序子程序)内部的内部的处处理理过过程,采用的算法、出程,采用的算法、出错处错处理理3.73.7接口接口分分别别列出和本模列出和本模块块(子程序子程序)有有调调用关系的所有模用关系的所有模块块(子程序子程序)及其及其调调用关系,用关系,说说明与本模明与本模块块(子程序子程序)有关的数据有关的数据结结构构3.83.8存存储储分配分配3.93.9注注释设计释设计3.103.10限制条件限制条件说说明本模明本模块块(子程序子程序)运行中受到的限制条件运行中受到的限制条件3.113.11测试计测试计划划44模模块块(或子程序或子程序)2()2(标识标识符符)设计说设计说明明用用类类似似33的方式,的方式,说说明第二个模明第二个模块块(子程序子程序)乃至第乃至第NN个模个模块块(或子程序或子程序)的的设计设计考考虑虑详细设计规格说明书用来描述和表达详细设计的成果返回返回模模块块名:
名:
模模块编块编号:
号:
设计设计者:
者:
模模块块所在文件:
所在文件:
模模块块所在所在库库:
调调用本模用本模块块的模的模块块名:
名:
本模本模块调块调用的其它模用的其它模块块名:
名:
功能概述:
功能概述:
处处理描述:
理描述:
引用格式:
引用格式:
返回返回值值:
名称名称意意义义数据数据类类型型数数值值范范围围I/OI/O标标志志内部接口内部接口名称名称意意义义数据数据类类型型I/OI/O标标志志格格式式媒体媒体外部接口外部接口用用户户接口接口模块说明表是对规划说明书中简要介绍的模块进行详细的全面的描述,并设计出它们的实现算法。
返回返回审议项审议项目内容:
目内容:
详细说详细说明明书书是否与是否与总总体体设计说设计说明明书书一致?
一致?
模模块设计质块设计质量:
模量:
模块块独立性、接口关系、独立性、接口关系、规规模是否适中?
模是否适中?
逻逻辑辑是否清晰是否清晰简单简单?
数据?
数据结结构、构、输输入与入与输输出是否合理?
出是否合理?
是否按是否按结结构化程序构化程序设计设计原原则进则进行行设计设计?
规规定符号的使用、确定命名定符号的使用、确定命名规则规则;模模块测试块测试用例合理性、完整性;用例合理性、完整性;文档文档齐齐全并符合有关全并符合有关标标准准规规定。
定。
详细设计完成之后,需要对设计的成果进行评审,以保证设计的质量。
返回返回
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GIS 地理信息系统 系统 设计