GIS设计与实现第一章1.GIS研究内容:数据采集、数据存储、数据处理和分析、数据输出2.GIS设计含义:遵循软件工程的原理和方法,结合GIS开发的特点要求,对GIS软件从定义、设计、地理模型库设计、GIS实施、GIS测试维护各个阶段进行工程化规范的体系。3.GIS设计目标:通过改进设计方法,做好项目组织管理,增强实用性,降低成本,延长系统生命周期。4.GIS设计的基本原则:标准化、先进性、兼容性、高效性、可靠性、通用性。5.GIS设计的内容:(1)软件设计:首先,进行系统的工程管理,保证了系统建设的进度和软件质量;其次,针对GIS软件设计特点,采用最适合的软件生存周期模型,确保了系统的用户接受度和系统功能设置的合理性;最后,对系统技术实现方案进行设计,确保软件开发风格的同意和功能模块之间的有机联系。(2)数据库设计:取决于设计者的开发经验,工程组织和数据源准备等方面。同时,数据库设计与整个系统设计的相关环节是紧密结合的,有必要将软件工程的方法和工具应用于数据库设计中。6.GIS设计的特点:(1)GIS处理的是空间数据,具有数据量庞大,实体种类繁多,实体间的关联复杂等特点。(2)GIS设计以空间数据为驱动。(3)GIS工程投资大,周期长,风险大,涉及部门繁多。第二章1.GIS工程学结构体系:GIS工程学结构体系主要由任务,基础理论和方法论三方面组成。GIS工程三维结构图P272.系统定义:由相互作用、相互依赖的若干组成部分构成的具有一定功能的有机整体。3.系统工程学特点:GIS设计与实现①研究的对象是一个表现为普遍联系、相互影响、规模和层次都极其复杂的大工程。②知识结构复杂,是自然科学和社会科学交叉的边缘学科。③工程学是方法学,是泛化系统的研究方法。④是目的性很强的应用科学。4.结构法生命周期法:它要求设计过程必须严格的按阶段进行,只有前一阶段完成之后,才能开始下一阶段的工作,同时,它要求在系统建立之前就必须严格地定义和描述用户的需求。5.系统开发过程六个主要阶段:(1)系统开发准备阶段(2)调查研究及可行性研究阶段(3)系统分析阶段(4)系统设计阶段(5)系统实施阶段(6)维护和评价阶段6.面向对象的概念:7.面向对象分析与设计方法的特点:①分析与设计能自然转换,设计变得简单,分析阶段成为重点。②面向对象的分析是分析系统中的对象和这些对象之间相互作用时出现的时间。③实现映射的工具可以使面向过程的,也可以是面向对象的,当实现工具是面向对象时,映射关系有着比较一一对应的关系。④面向对象的开发方法促使软件开发按应用域的观点来工作和思考。⑤分析和设计中使用差异很大的工具。8.面向对象设计方法:(1)OMT:采用对象模型、动态模型和功能模型等来描述一个系统。(34-35)(2)UML:是一个通用的标准建模语言。一种定义良好、易于表达、功能强大且普遍适用的建模语言。其支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。9.原型法概念:其主要思想是借助原型来辅助软件开发。开发人员根据自己对用户需求的理解,利用开发工具快速构造出原型软件,用户及开发人员通过对原型软件的试运行、评价、修正和改进,逐步明GIS设计与实现确对软件的功能需求以进行正式开发或者直接把原型扩充成最终产品。10.原型法的工作方法:开发人员在初步了解用户需求的基础上构造一个应用系统模型,即原型,用户和开发人员在此基础上共同反复探讨和完善原型,直到用户满意为止。11.原型法开发阶段:(1)确定用户的基本需求(2)开发初始原型(3)利用原型来提炼用户需求(4)修正和改进原型12.三种GIS基本设计方法(P41)13.GIS设计方法的选择(原则):(1)考虑多方面的因素,包括系统规模的大小、系统应用类型、系统需求明确程度等。(2)小型GIS软件设计常采用原型法进行开发;而大型GIS软件设计多采用结构化生命周期法或是面向对象方法进行开发,考虑到GIS设计需求不确定性特点,通常也在需求分析阶段应用原型法来确认用户需求。第三章1.系统定义的目标与任务:目标:明确系统要解决的问题是什么基本任①功能需求②性能需求③环境需求④数据需求系统定义时期的主要任务:确定软件开发工程必须完成的总目标以及工程可行性;导出实现工程目标应该采用的策略即系统必须完成的功能;估计完成该项工程需要的资源和成本;制定工程进度表;最GIS设计与实现后编写系统需求分析报告。这个时期的工作通常又称为系统分析。2.系统定义工具:①GIS数据流模型②GIS数据字典③加工逻辑说明:结构化英语、判定表、判定树3.数据流:一组有顺序的、有起点和终点的字节集合,程序从键盘接收数据或向文件中写数据4.数据字典:关于数据信息集合。1)用途:作为分析阶段的工具2)实现方法:全人工过程、全自动过程、混合过程3)任务:使每一个图形要素的名字都有一个确切的解释。5.用例图概述:用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。6.用例图组成:用例图的四个组成要素:参与者,用例,系统边界和用例关系。7.参与者:参与者是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。8.用例:定义了系统所提供的功能和行为单元。参与者使用系统的每种方式都可以表示为一个用例。一个用例被认为是一个类元,具有操作和属性。9.用例之间的关系:(1)包含:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。(2)扩展:把新的行为加入到已有的用例中,把扩展用例到基础用例的关系就是扩展关系。(3)泛化:一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。子用例继承了父用例所有的结构、行为和关系,子用例是父用例的一种特殊形式。10.技术可行性从哪几个方面进行评估:①采集系统性能、可靠性、可维护性和生产性能方面的信息②分析技术方面的风险与成本③选择硬件要与GIS软件使用周期相适宜④以用户需求为依据置顶开发方案⑤分析GIS设计技术人员,确定设计可行性。第四章1.总体设计的目标与任务:(1)目标:将系统需求转换为数据结构和软件体系结构,即数据设计和体系结构设计。(2)任务:确定系统总体架构与软、硬件配置,根据系统分析成果进行系统功能模块的划分,建立模块的层次结构及调用关系,确定模块间的接口及人机界面,病设计数据库总体结构。2.系统总体设计工具:结构化的:(1)层次图:是在软件总体设计阶段最常用的工具之一,用来描绘软件的层次结构。(2)HIPO图(HIPO代表的含义):“层次+输入/处理/输出图”的英文缩写。HIPO图实际上由H图(即层次图)和IPO图两部分组成。(3)结构图:结构图和层次图类似,也是用来描述软件结构的,但其描述能力比层次图更强3.类图(类是什么):类图是由类,接口等模型元素以及它们之间的关系构成。4.类之间关系的种类:①依赖关系:两个或多个模型元素之间的依赖关系②泛化关系:描述类之间的一般和具体的关系③关联关系:类实例之间连接的描述④实现关系:说明和实现间的关系。5.GIS用户界面设计方法:P816.GIS用户界面设计原则:1)一致性原则;2)合适的功能;3)封装性;4)灵活性;5)合理、高效利用屏幕;6)用户界面的效率;7)提供反馈、帮助信息以及出错处理机制;8)与应用程序设计分离;GIS设计与实现9)复杂性和可靠性。第五章1.详细设计阶段的根本目标:确定怎样具体实现所要求的系统。2.详细设计阶段的主要内容:为细化总体设计中的每个功能模块选择算法描述出来,在具体编码阶段把描述直接翻译成某种程序设计语言书写的程序。3.详细设计的具体任务:1)细化总体设计的体系流程图,绘出程序结构图,直到每个模块的难度可被单个程序员掌握为止;2)为每个功能模块选定算法;3)确定每个模块使用的数据组织;4)确定模块的接口细节,以及模块间的调用关系;5)描述每个模块的流程逻辑;6)编写详细设计文档。4.结构化的系统详细设计工具:(1)程序流程图:它是应用最广泛的描述过程的方法,具有简单,直观,易于掌握的优点,特别适用于具体模块小程序的设计。缺点:①使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;②程序员可以完全不顾结构化程序设计的精神,随意转换控制;③程序流程图不易表示数据结构;④对于提高大型系统的可理解性作用甚微。(2)N-S盒式图:一种清晰的图形表达式,能定义功能域;控制不能任意转移;易于确定局部或全部的数据工作域;易于表示传递。(3)PDL:类程序设计语言(PDL)又称为伪码,是用正文形式表示数据和处理过程的设计工具,一方面具有严格的关键字外部语法,用于定义控制结构和数据结构;另一方面,又具有灵活自由的内部语法,以适应各种工程项目的需要。PDL与实际的高级程序设计语言的区别在于:PDL的语句中嵌有自然语言的叙述,是不能被计算机识别和翻译的5.序列图(序列图)概念与组成:概念:序列图描述了一个交互,它由一组对象和它们之间的关系组成,并且还包括在对象间传递的消息。序列图是强调消息时间顺序的交互图。序列图描述了类以及类间相互交换以完成期望行为的消息。组成P97:对象、生命线、激活、消息6.活动图概念与组成部分:活动图是一种描述系统行为的模型视图。描述动作和动作导致对象状态改变的结果。活动图记录单个操作或方法的逻辑、单个用例或商业过程的逻辑流程,强调计算过程中的顺序和并发步骤。组成:①动作状态②活动状态③组合活动④分叉与汇合⑥分支与合并⑦泳道第六章1.空间数据库设计的目标:空间数据库设计的目的是在充分考虑空间数据特性及数据库系统特性的基础上,严格按照软件工程学方法,设计具有安全性、可靠性、正确性、完整性、独立性、共享性、低冗余度、可扩展的空间数据库,实现空间数据高效存储管理,支撑GIS软件的设计与应用。2.空间数据库设计的任务:进行空间数据库系统设计的主要任务是确定空间数据库的数据模型以及数据结构,并提出空间数据库相关功能的实现方案;空间数据库系统实现的主要任务是将设计的空间数据库系统的结构体系进行编码实现,并将收集来的空间数据入库,建立空间数据库管理信息系统。3.空间数据库需求分析:需求分析就是分析软件用户的需求是什么,包括三个步骤:一是用户需求调查;二是空间数据现状分析;三是系统分析。GIS设计与实现4.E-R模型:E-R模型(entity-relationdatamodel)又称实体-关系数据模型。它是由实体类(简称实体)、关系类(简称关系)和属性三个抽象概念组成,是构成信息系统或数据库概念模型的一种有效工具或有效方法(也称为E-R方法)。5.空间数据库的概念模型设计:数据库概念模型是数据库的全局逻辑数据视图,是数据库管理员所看到的实体、实体属性和实体间的联系。6.概念数据库设计的两方面任务:概念数据库设计的任务包括两个方面:概念数据库模式设计和事务设计。其中概念数据库模式设计是以需求分析阶段所提出的数据要求为基础,对用户需求描述的现实世界通过对其中信息的分类、聚集和概括,建立抽象的高级数据模型(如E-R模型),形成概念数据库模式;事务设计是考察需求分析阶段提出的数据库操作任务,形成数据库事务的高级说明。7.空间数据库的逻辑设计:传统数据模型、面向对象数据模型、空间数据模型关系模型8.三种传统数据模型的比较:层次模型、网络模型、关系模型9.空间数据库的功能设计包括:(1)空间数据输入数据(2)空间数据检索设计(3)空间数据输出设计(4)空间数据更新设计(5)空间数据共享设计10.空间数据库建库流程:首先,必须确定数字化的方法及工具;其次,掌握该图的空间信息;再次,按照分层要求进行一个Coverage的数字化;再其次,进行拓扑关系的建立,并给空间实体赋属性值;最后,进行坐标变换和地图接动处理。第七章1.地理模型概念:地理模型是对地理实体的特性及其变化规律的一种表示或者抽象,同时也是对地理实体的那些所要研究的特定特征进行定量的抽象。2.地理建模:运用数