GIS软件设计模式

作者&投稿:源阁 (若有异议请与网页底部的电邮联系)
南京大学GIS设计精品课程
http://www.njude.com.cn/jingpin2007/GIS%20Design/kcms-5.htm
http://jpkc.cctr.net.cn/index01_detail_mx.asp?id=3881&kcmc=GIS%C9%E8%BC%C6&lbid=20&lbmc=%BD%CC%D1%A7%C6%C0%BC%DB
《GIS设计与实现》
第一讲 引论(2学时)
一、什么是GIS
二、GIS构成
三、GIS设计的重要性
四、GIS前瞻
第二讲 GIS设计的理论基础——GIS工程学思想(2学时)
一、 GIS工程学特点
二、 GIS工程学体系
三、 GIS工程学的基础理论
第三讲 GIS设计的内容(2学时)
一、广义的GIS设计内容与步骤
二、狭义的GIS设计内容
第四讲 GIS设计方法(4学时)
一、结构化生命周期法
二、原型法
三、面向对象设计方法
四、GIS基本设计方法比较与选择
第五讲 系统分析(8学时)
一、需求调查与分析
二、系统功能分析
三、系统性能分析
四、系统建立可行性分析
第六讲 GIS系统设计(8学时)
一、GIS系统总体设计
二、系统模块设计
三、硬软件配置
四、数据结构设计
五、数据库设计
六、接口设计
七、用户界面
八、编程规范设计
九、GIS的规范化与标准化
第七讲 GIS地理建模(2学时)
一、 地理建模过程
二、 GIS应用模型库的设计
三、 GIS模型库管理
第八讲 分布式GIS设计(4学时)
一、分布式GIS产生与发展
二、分布式GIS的基本开发模式
三、分布式GIS设计内容和步骤
四、分布式GIS开发的解决方案
第九讲 系统实施(8学时)
一、系统设计之评价
二、实施计划制订
三、组织管理
四、详细设计
五、程序设计
六、试验
七、系统安装与调试
八、系统说明(系统帮助文件)
九、用户手册
第十讲 系统测评(2学时)
一、GIS软件测试
二、系统评价
第十一讲 系统维护(2学时)
一、系统运行管理
二、信息的现势性
三、系统的扩展性
第十二讲 实例剖析(分工具型GIS、应用型GIS和GIS专题应用三个方面)(6学时)

先搞清楚设计模式再说,其实设计模式和具体开发什么系统没关系,不管是GIS还是其他的应用程序,在开发中用设计模式的思想编写合理科学的代码。还是看设计模式方面的书吧,论文可以去中国知网的数字出版物超市 >> 中国学术文献网络出版总库 检索。

学习GIS需不需要学习,设计模式和重构?到底怎样才能一步一步的学习?~

理解了面向对象,就会用面向对象的思考方式分析、设计和实现具体问题。面向对象的软件设计,通常必须先找到相关的对象,以适当的粒度将它们归类,再定义类的接口和继承层次,建立对象之间的基本关系。有经验的软件工程师的确能做出良好的面向对象设计,而新手面对众多选择无从下手,总是求助于以前使用过的非面向对象技术,需要花费较长的时间才能领会良好的面向对象设计是怎么回事。

借鉴并使用好的设计经验,可以帮助我们更快更好地完成系统设计,这就是设计模式的价值。设计模式的主要思想,是利用继承和多态特性,面向接口编程,把对象的行为延迟到子类中实现。这样看起来,在不知道具体类的前提下,通过抽象类完成对具体行为的调用。实现和接口间的分离是一个非常重要的理念。

面向对象系统的分析和设计实际上追求的就是两点,一是高内聚(Cohesion),二是低耦合(Coupling)。这也是我们软件设计所追求的,因此无论是OO中的封装、继承、多态,还是我们的设计模式的原则和实例都是在为了这两个目标努力。

道不远人,设计模式也是这般,设计模式并不是空的理论,并不是脱离实际的教条。就如我们在进行软件开发的过程会很自然用到很多的算法和结构来解决实际的问题,那些其实也就是数据结构中的重要概念和内容。在面向对象系统的设计和开发中,我们已经积累了很多的原则,比如面向对象中的封装、继承和多态、面向接口编程、优先使用组合而不是继承、将抽象和实现分离的思想等等,在设计模式中你总是能看到他们的影子,特别是组合(委托)和继承的差异带来系统在耦合性上的差别,更是在设计模式多次涉及到。而一些设计模式的思想在我们做系统的设计和开发中则是经常要用到的,比如说Observer(其实例为Model-Control-View模式)是MFC中的基本框架,Iterator模式则在C++的STL中有实现等。或许有的人会说,我们不需要设计模式,我们的系统很小,设计模式会束缚我们的实现。我想说的是,设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了23种(或更多)设计场景和解决策略(实际上这也是很重要的一笔财富),实际接受的是一种思想的熏陶和洗礼,等这种思想融入到了你的思想中后,你就会不自觉地使用这种思想去进行你的设计和开发,这一切才是最重要的。



设计模式保证了软件的灵活性,代价是设计的复杂性。



设计模式代表了传统软件开发的思想:好的设计会产生好的软件,因此在实际开发之前,值得花时间去做一个全面细致的设计。而重构则代表了敏捷软件开发的浪潮:软件并不是在一开始就可以设计得完美无缺的,因此可以先进行实际开发,然后通过对代码不断地进行小幅度修改来完善其设计。这两种方法看起来格格不入,但它们都在本质上有一个共同的思想——设计很重要,只是两者达到良好设计的方法不同。重构是实现设计模式的一种手段,设计模式往往也是重构的目的。

重构是安全地改善既有代码设计地一门艺术,是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低。

1、独立开发模式:顾名思义就是平台啦什么的,数据采集,编辑、入库等各种工具都是独立开发的,自己设计算法。这种开发很少见了吧
2、宿主型开发模式:一般都是基于某个GIS平台或GIS的工具软件,用那个平台的自带的语言进行开发。
3、组件式开发模式:就是用某些商业软件或公司已经开发好的components,利用那个组件进行开发。我用过的MO,常用的有AO、AE等


我知道的也就这么多了,仅供参考哈

界面整体设计
答:(一)设计模式 由于用户(专业知识)、开发人员(计算机知识)之间存在着知识面不平衡性,而AGEIS是中国省域范围内较早的农业地质信息管理系统,没有太多的借鉴,用户需求较模糊,用户的界面设计就显得极其重要。可利用面向对象技术和可视化编程技术,根据初步的需求分析和总体设计要求先确定各界面元素组成,...

frame是什么意思啊(frame的意思是什么)
答:FRAME是框架的意思。框架是一个软件设计模式,用于搭建应用程序的基础架构。一个好的框架能够提高软件开发的效率,使代码更加模块化、可维护和可扩展。框架通常包含一系列的库、工具和约定,以及其它一些用于处理不同方面的问题的组件。这些组件可以协同工作,共同支持应用程序实现不同的功能。例如,一个Web框...

全国矿业权管理信息系统
答:3.系统开发模式 采用MVC(MVC:Model-View-Controller,模型-视图-控制器)模式进行软件开发,并融入DAO(DAO:Data Access Object,数据访问对象)、DTO(DTO:Data Transfer Object,数据传输对象)等经典设计模式,规范化编码、文档、版本管理等。图10-13给出了本系统开发时采用的M VC模式。 图10-13 系统的三层开发示意图 ...

观察者模式 - 设计模式
答:观察者模式定义了一个一对多的对象关系 一个主体对象对应多个观察者对象 当主体对象发生改变时 所有它对应的观察者对象都会自动得到通知并更新 本文将给出一个相应的事例具体说明观察者模式是如果工作的 这个事例演示了一个当一个任务的信息改变时通知这个任务所涉及所有人员的事例 任务信息包括任务状态 任务所采用的处...

Design Patterns是什么意思
答:Design Patterns 设计模式; 设计样式;以上结果来自金山词霸 例句:1.This is a catalog of different object-oriented design patterns.这本书阐述了各种面向对象的设计模式。

把这段话翻译成英语
答:Design mode is 1 set drive extensive usage of, pass by to categorize catalogue of the code design to empirically tally up.使用设计模式是为了提高代码的可重用性和可扩展性。Usage design mode is for the sake of exaltation code of heavy use sex and can expand sex.本文针对现有软件工程...

敏捷建模的实践
答:根据这项实践,你通产需要针对软件的某个方面建立小的、简单的图表,例如类的生命周期图,或屏幕顺序,这些图表通常在你完成目的(理解)之后就被丢弃。重用现有的资源.这是敏捷建模者能够利用的信息财富。例如,也许一些分析和设计模式适合应用到系统上去,也许你能够从现有的模型中获利,例如企业需求模型,业务过程模型,物理...

UI设计师主要是做什么的呢
答:UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。UI其实是userinterface的缩写,含义是用户界面,维_基百科上对UI是这么定义的:Auserinterfaceisthesystembywhichpeople(users)interactwithamachine....

什么是JavaBean?
答:一、JavaBean的定义: JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。 用户可...

.编写Application程序,构造一GUI,实现对两个数的加、减、乘、除功能...
答:Java企业软件的设计非常重视框架(Framework)的设计,一个好的软件框架是软件开发成功的必要条件。在这个时候,应该开始把学习的重点放在设计模式和框架的学习上,通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。J2EE规范里面,除了EJB,JMS,JTA,Servlet/JSP,JDBC之外还有很多很多的企业技术,这里不一一进行介绍...