您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 1.GIS软件底层开发V1.1
GIS软件底层开发技术主讲:蔡忠亮武汉大学地理信息科学系GIS软件底层开发技术武汉大学资环学院第一部分GIS软件开发基础第二部分VC环境GIS软件底层开发技术武汉大学资环学院一、VisualC++介绍二、构造程序框架三、集成开发环境(IDE)四、文档/视结构五、消息处理六、组件/或控件使用七、自定义类及使用八、程序调试主要内容GIS软件底层开发技术武汉大学资环学院一、VisualC++介绍(1/2)版本可视化语言MFCAppWizardClassWizard支持多种程序开发学习方法Help(MSDN)实例程序(Codeproject.com)实践交流GIS软件底层开发技术武汉大学资环学院一、VisualC++介绍(2/2)GIS软件底层开发技术武汉大学资环学院二、构建程序框架GIS软件底层开发技术武汉大学资环学院三、集成开发环境GIS软件底层开发技术武汉大学资环学院四、文档/视结构(1/2)应用程序文档类主窗口视类子窗口类数据输入输出管理等数据显示,事件控制等GIS软件底层开发技术武汉大学资环学院文档视四、文档/视结构(1/2)GIS软件底层开发技术武汉大学资环学院五、消息处理消息机制PostMessageSendMessagePeekMessageTranslateMessageDispatchMessage消息类型菜单ON_UPDATE_COMMAND_UION_COMMAND键盘WM_KEYDOWNWM_KEYUPWM_CHAR鼠标WM_LBUTTONDOWNWM_LBUTTONUPWM_MOUSEMOVEGIS软件底层开发技术武汉大学资环学院2020/3/10六、组件/或控件使用GIS软件底层开发技术武汉大学资环学院七、定义类及使用建立方法手工建立ClassWizard建立定义函数和数据成员加入工程使用对象或指针#inlcude类包含的嵌套问题解决对外公布的策略GIS软件底层开发技术武汉大学资环学院八、程序调试调试工具GIS软件底层开发技术武汉大学资环学院八、程序调试程序堆栈GIS软件底层开发技术武汉大学资环学院八、程序调试状态观察第三部分面向对象技术基础GIS软件底层开发技术武汉大学资环学院第一章面向对象的基本概念第二章面向对象的特性第三章面向对象设计技术第四章面向对象技术的C++描述第五章Windows编程基础主要内容GIS软件底层开发技术武汉大学资环学院为什么面向对象程序设计?符合人类的思维方法数据与操作一体化便于使用隐蔽性好重用性好易维护GIS软件底层开发技术武汉大学资环学院面向对象特性封装——可以隐藏实现细节,使得代码模块化继承——可以扩展已存在的代码模块(类)多态——实现接口重用GIS软件底层开发技术武汉大学资环学院面向对象是什么?封装——Class+{};//别忘了后面的“;”继承——classA:classB{};多态——避免异议;Draw1,Draw2Draw(p,r),Draw(l,t,r,b)一种思维!GIS软件底层开发技术武汉大学资环学院如何学习面向对象语言?语言+时间+实践捷径:多与高手交流牺牲点QQ的时间第四部分GIS软件设计GIS软件底层开发技术武汉大学资环学院主要内容一、GIS软件工程概述二、面向对象的GIS软件设计三、统一建模语言(UML)四、GIS软件设计实例GIS软件底层开发技术武汉大学资环学院一、GIS软件工程概述1.1GIS软件开发中存在的问题经费预算经常突破,时间一再拖延软件不能满足用户需求软件可维护性差软件可靠性差数据工程量特别大软件生产效率低软件可重用性差GIS软件底层开发技术武汉大学资环学院1.2GIS软件工程的特色系统复杂度大成果质量和数据微观复杂度(数据、功能、动态、三维等)宏观复杂性(空间概念等)数据在系统中具有重要地位数据质量数据现势性数据组织结构系统表达方式复杂内容复杂(异质数据的不同表达方式)表达对象具有时空特性(动态表达、VR等)1:10:100一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.2GIS软件工程的特色系统更新速度快系统维护工作量大易操作性要求高一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.3GIS软件工程的生存周期前期工程调研可行性研究和项目开发计划需求分析设计工程总体设计(软件结构、数据结构)数据库设计(逻辑设计、物理设计)应用模型设计详细设计(功能的精确结构化描述)数据工程数据预处理数据采集数据处理一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.3GIS软件工程的生存周期工程实施编码测试试运行工程维护数据库维护软件与硬件维护一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.4GIS软件工程的建设过程制定GIS开发计划GIS需求分析GIS系统设计GIS程序编码GIS产品测试GIS运行与维护GIS定义阶段GIS开发阶段GIS维护阶段《地理信息系统软件工程的原理与方法》毕硕本,20031、过程一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.4GIS软件工程的建设过程2、系统分析系统分析的目标和内容目标(低成本、符合要求、性能可靠、重用性好、易维护、按期完成)内容(用户要求、可行性、经济性、任务分配、进度计划、规格说明书)可行性研究背景候选方案元素分配经济技术法律GIS用户使用一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.4GIS软件工程的建设过程2、系统分析开发成本效益分析开发技术分析分配与权衡一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.4GIS软件工程的建设过程3、需求分析原则能够表达和理解问题的数据域和功能域按自顶向下、逐层分解的方式对问题分解和细化ArcInfo数据格式转换空间-属性关联专题制图Access数据库Access属性数据实体数据地理查询空间查询横向分解综合查询条件查询地理查询空间查询纵向分解综合查询条件查询定位查询多边形查询指定区域查询按流域查询按行政区查询……一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.4GIS软件工程的建设过程3、需求分析过程问题识别•功能需求•性能需求•环境需求•可靠性分析•安全保密要求•界面需求分析与综合(提供详细的逻辑模型)编制需求分析文档一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.4GIS软件工程的建设过程4、系统设计结构化设计方法原型化设计方法面向对象设计方法一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.4GIS软件工程的建设过程5、系统设计结构化程序设计原则自顶向下逐步求精程序设计风格程序文档化数据说明(如匈牙利命名法)语句结构一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院1.4GIS软件工程的建设过程5、文档立项报告可行性研究报告系统设计任务书用户需求分析报告系统总体设计方案和各子系统设计方案系统实施总结报告系统测试报告用户使用报告系统验收报告系统建设总结报告一、GIS软件工程概述GIS软件底层开发技术武汉大学资环学院二、面向对象的GIS软件设计2.1面向对象的开发方法Booch方法1983提出奠定OO基础面向Ada语言Coad方法1989提出OOA和OOD体现了类和类层次OMT方法1993提出,体现三种模型对象模型(相关关系、包容关系、继承关系)-Where动态模型(状态、事件、场景)-When功能模型(数据流图、限制)-WhatGIS软件底层开发技术武汉大学资环学院2.2OMT方法分析过程二、面向对象的GIS软件设计GIS软件底层开发技术武汉大学资环学院2.3面向对象的分析过程1、语义数据模型(见表)2、语义数据模型的关系(抽象、聚合、关联)4、标识关系3、标识对象和类语义数据模型主要特征面向对象分析与设计外部模型概念模型内部模型数据的用户视图实体及其关系的内涵数据的物理模型类的定义(规格说明)类之间的应用级关系类的实现二、面向对象的GIS软件设计GIS软件底层开发技术武汉大学资环学院2.4面向对象的GIS软件设计优点1、所有的地物以对象形式封装,而不是以复杂的关系形式存储,使系统组织结构良好、清晰;2、属性(数据)与行为(功能或操作)进行封装,接口的多样性实现数据与功能之间的独立3、以对象为基础,消除了分层的概念;4、面向对象的分类结构和组装结构使GIS可以直接定义和处理复杂的地物类型;5、根据面向对象late_binding(后编译)的思想,用户可以在现有抽象数据类型和空间操作箱上定义自己所需的数据类型和空间操作方法,增强系统的开发性和可扩充性;6、面向对象的可视化用户界面,便于用户操作和使用。二、面向对象的GIS软件设计GIS软件底层开发技术武汉大学资环学院二、面向对象的GIS软件设计如何设计GIS类?1.怎么抽象类?2.如何封装类?3.类的粒度要多大?4.类之间的关系如何定义?继承聚合通讯协议GIS软件底层开发技术武汉大学资环学院2.5面向对象开发过程1、应用生存期信息系统描述领域分析应用分析高层设计类开发实例建立组装测试维护用户输入二、面向对象的GIS软件设计GIS软件底层开发技术武汉大学资环学院2.5面向对象开发过程2、类生存期类的规范说明既存类的重用求精和维护从既类演变渐进式的实现渐进式的测试实现从废弃型开发测试实例和测试的开发二、面向对象的GIS软件设计GIS软件底层开发技术武汉大学资环学院2.5面向对象开发过程3、应用开发过程分析阶段高层设计类的开发实例建立组装测试维护二、面向对象的GIS软件设计GIS软件底层开发技术武汉大学资环学院三、统一建模语言(UML)3.1UML1、UML的形成面向对象开发方法的发展需要Booch,RumbarghandJacobson联手推出UML1997,OMT采纳为行业标准2、UML的应用以面向对象图描述系统对静态、动态系统建模之所以为系统建模,是因为我们不可能全面的理解任何一个复杂的系统。随着系统复杂性的增加,先进的建模技术越来越重要。一个项目的成功有许多原因,严格的建模语言标准是其中一个重要的因素。GIS软件底层开发技术武汉大学资环学院3.1UML3、UML的内容UML的语义元模型为UML的所有元素在语法和语义上提供简单、一致、通用的定义性说明;UML支持对元模型的扩展定义UML的表示法模型元素的符号表示通用表示–字符串–名字–标号–特定字符串–类型表达式–定制三、统一建模语言(UML)GIS软件底层开发技术武汉大学资环学院3.1UML3、UML的内容UML的表示法图形表示–用例图–静态图–行为图–交互图–实现图三、统一建模语言(UML)GIS软件底层开发技术武汉大学资环学院3.2利用ROSE建立模型及产生代码三、统一建模语言(UML)GIS软件底层开发技术武汉大学资环学院3.2利用ROSE建立模型及产生代码三、统一建模语言(UML)GIS软件底层开发技术武汉大学资环学院3.2利用ROSE建立模型及产生代码12345三、统一建模语言(UML)GIS软件底层开发技术武汉大学资环学院3.2利用Visio建立模型三、统一建模语言(UML)GIS软件底层开发技术武汉大学资环学院3.3反向工程用代码来修正模型三、统一建模语言(UML)第五部分GIS软件开发GIS软件底层开发技术武汉大学资环学院主要内容一、GIS软件界面开发二、OO思想支持下的GIS对象设计三、数据管理模块开发四、视图管理模块开发五、图形编辑模块开发六、空间分析模块开发七、制图模块开发八、应用模型开发一、GIS软件界面设计与开发GIS软件底层开发技术武汉大学资环学院一、GIS软件界面设计1.1GIS软件界面的重要性界面就是用户与系统的通讯(Communica
本文标题:1.GIS软件底层开发V1.1
链接地址:https://www.777doc.com/doc-4286055 .html