城市GIS_城市地理信息系统软件工程_第1页
城市GIS_城市地理信息系统软件工程_第2页
城市GIS_城市地理信息系统软件工程_第3页
城市GIS_城市地理信息系统软件工程_第4页
城市GIS_城市地理信息系统软件工程_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章第五章 城市地理信息系统软件工程城市地理信息系统软件工程(第一讲第一讲)教学内容:教学内容:5.1 城市地理信息系统软件工程概论城市地理信息系统软件工程概论5.2 城市地理信息系统规划城市地理信息系统规划教学时间:教学时间:2课时课时教学方法:讲授法教学方法:讲授法 多媒体教学法多媒体教学法 协作学习法协作学习法教学目的:教学目的: 1、让学生了解和掌握计算机软件经历了哪三个主要发展阶段以、让学生了解和掌握计算机软件经历了哪三个主要发展阶段以及各个阶段特性;及各个阶段特性; 2、让学生熟悉和掌握软件生成期及软件生存期模型;、让学生熟悉和掌握软件生成期及软件生存期模型; 3、让学生理解和掌

2、握地理信息系统软件工程特色和城市地理信、让学生理解和掌握地理信息系统软件工程特色和城市地理信息系统软件工程特色的区别和联系息系统软件工程特色的区别和联系 4、让学生理解和掌握城市地理信息系统规划的原则、可行性分、让学生理解和掌握城市地理信息系统规划的原则、可行性分析以及制定开发计划的原则、方法等析以及制定开发计划的原则、方法等教学重点:教学重点:1、城市地理信息系统软件工程生存期及生存期模型;、城市地理信息系统软件工程生存期及生存期模型;2、GIS与与UGIS软件工程特色的区别与联系软件工程特色的区别与联系教学难点:教学难点:1、城市地理信息系统规划的可行性分析及制定开发计划、城市地理信息系统

3、规划的可行性分析及制定开发计划本次课教学所涉及的学术前沿:本次课教学所涉及的学术前沿: 智能模型智能模型 SOA5.1 城市地理信息系统软件工程概论城市地理信息系统软件工程概论5.1.1 软件工程概论概论软件工程概论概论1、软件工程的发展历程与软件危机、软件工程的发展历程与软件危机 软件是程序以及开发、使用和维护所需要的所有文档。软件是程序以及开发、使用和维护所需要的所有文档。 软件工程是研究大规模程序设计的方法、工具和管理软件工程是研究大规模程序设计的方法、工具和管理的工程科学。的工程科学。 软件工程的目标在于研究一套科学的工程方法,并与软件工程的目标在于研究一套科学的工程方法,并与此相适应

4、,发展一套方便的工具系统,力求用较少的投资此相适应,发展一套方便的工具系统,力求用较少的投资获得高质量的软件。获得高质量的软件。 计算机软件经历了三个主要发展阶段计算机软件经历了三个主要发展阶段(表表5.1) 1)程序设计阶段程序设计阶段 2)程序系统阶段程序系统阶段 3)软件工程阶段软件工程阶段 时期时期特点特点程序设计程序设计程序系统程序系统软件工程软件工程软件所指软件所指程序程序程序及说明书程序及说明书程序、文档、数据程序、文档、数据主要程序设计语言主要程序设计语言汇编、机器语言汇编、机器语言高级语言,即高级语言,即2GL软件语言软件语言,包括包括3GL,4GL软件工作范围软件工作范围程

5、序编写程序编写包括设计和测试包括设计和测试软件生存期软件生存期需求者需求者程序设计者程序设计者少数用户少数用户市场用户市场用户开发软件的组织开发软件的组织个人个人开发小组开发小组开发小组及大中型软件开发开发小组及大中型软件开发机构机构软件规模软件规模小型小型中小型中小型大中小型大中小型质量的决定因素质量的决定因素个人程序技术个人程序技术小组技术水平小组技术水平管理水平管理水平开发技术和手段开发技术和手段子程序、程序库子程序、程序库结构化程序设计结构化程序设计数据库、开发工具、开发环数据库、开发工具、开发环境、工程化开发方法、标准境、工程化开发方法、标准和规范、网络及分布式开发和规范、网络及分布

6、式开发维护责任者维护责任者程序设计者程序设计者开发小组开发小组专职维护人员专职维护人员硬件特征硬件特征价格高、存储容量价格高、存储容量小、工作可靠性差小、工作可靠性差降价,速度、容量及工作降价,速度、容量及工作可靠性有明显提高可靠性有明显提高向高速、大容量、微型化及向高速、大容量、微型化及网络化方向发展网络化方向发展软件特征软件特征完全不受重视完全不受重视软件技术的发展不能满足软件技术的发展不能满足需要,出现软件危机需要,出现软件危机开发技术有进步,但未获突开发技术有进步,但未获突破性进展,未完全摆脱软件破性进展,未完全摆脱软件危机危机为了解决为了解决“软件危机软件危机”,人们主要从哪两个方面

7、探索?,人们主要从哪两个方面探索?1、从管理的角度,希望实现软件开发过程的工程化,如、从管理的角度,希望实现软件开发过程的工程化,如“瀑布式瀑布式”生命周期模型生命周期模型2、对软件开发过程中分析、设计的方法的研究、对软件开发过程中分析、设计的方法的研究案例成果:案例成果: (1)20世纪世纪70年代风靡一时的结构化开发方法,即以过程化、年代风靡一时的结构化开发方法,即以过程化、模块化、封装为基础的模块化、封装为基础的PO(Process-Oriented,面向过程的开面向过程的开发或结构化方法);发或结构化方法); (2)20世纪世纪80年代后期,年代后期,OO(Object-Oriente

8、d,面向对面向对象),它建立在对象、类、通信的基础上,是人们对现实世界的象),它建立在对象、类、通信的基础上,是人们对现实世界的更高层次的抽象,具有封装性(更高层次的抽象,具有封装性(Encapsulation)、继承性、继承性(Inheritance)、多态性、多态性(Polymorphism)特性;特性; (3)21世纪,世纪,OS(Service-Oriented,面向服务面向服务)技术与方法技术与方法面向服务的体系结构面向服务的体系结构 面向服务的体系结构(面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将)是一个组件模型,它将

9、应用程序的不同功能单元(称为服务)通过应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行中的服务可以以一种统一和通用的方式进行交互。交互。面向服务的优点面向服务的优点o 编码灵活性编码灵活性o 可基于模块化的低层服务、采用不同组合方式创建可基于模块化的低层服务、采用不同

10、组合方式创建高层服务,从而实现重用,这些都体现了编码的灵活性。高层服务,从而实现重用,这些都体现了编码的灵活性。此外,由于服务使用者不直接访问服务提供者,这种服此外,由于服务使用者不直接访问服务提供者,这种服务实现方式本身也可以灵活使用。务实现方式本身也可以灵活使用。o 明确开发人员角色明确开发人员角色o 例如,熟悉例如,熟悉BES的开发人员可以集中精力在重用访问的开发人员可以集中精力在重用访问层,协调层开发人员则无须特别了解层,协调层开发人员则无须特别了解BES的实现,而的实现,而将精力放在解决高价值的业务问题上。将精力放在解决高价值的业务问题上。o 支持多种客户类型支持多种客户类型o 借助

11、精确定义的服务接口和对借助精确定义的服务接口和对XML、Web服务标服务标准的支持,可以支持多种客户类型,包括准的支持,可以支持多种客户类型,包括PDA、手机手机等新型访问渠道。等新型访问渠道。面向服务的优点面向服务的优点o 更易维护更易维护o 服务提供者和服务使用者的松散耦合关系及对开放标服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了该特性的实现。准的采用确保了该特性的实现。o 更好的伸缩性更好的伸缩性o 依靠服务设计、开发和部署所采用的架构模型实现伸依靠服务设计、开发和部署所采用的架构模型实现伸缩性。服务提供者可以彼此独立调整,以满足服务需求。缩性。服务提供者可以彼此独立调整

12、,以满足服务需求。o 更高的可用性更高的可用性o 该特性在服务提供者和服务使用者的松散耦合关系上该特性在服务提供者和服务使用者的松散耦合关系上得以体现。使用者无须了解提供者的实现细节,这样服务得以体现。使用者无须了解提供者的实现细节,这样服务提供者就可以在提供者就可以在WebLogic集群环境中灵活部署,使用集群环境中灵活部署,使用者可以被转接到可用的例程上。者可以被转接到可用的例程上。面向服务的优点面向服务的优点o SOA可以看作是B/S模型、XML/Web Service技术之后的自然延伸。SOA将能够帮助我们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构

13、者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。软件工程的概念软件工程的概念Boehm:运用现代科学技术知识来设计并构造计算机程序运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。及为开发、运行和维护这些程序所必需的相关文件资料。IEEE:软件工程是开发、运行、维护和修复软件的系统方法。软件工程是开发、运行、维护和修复软件的系统方法。Fritz Bauer:建立并使用完善的工程化原则,以较经济的建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方手段获得能

14、在实际机器上有效运行的可靠软件的一系列方法。法。目前比较认可的一种定义认为:目前比较认可的一种定义认为: 软件工程是研究和应用如何以系统性的、规范化的、软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。技术方法结合起来。 2、软件生存期(、软件生存期(Software Life Cycle)1)规划(规划(lanning)2)需求分析和定义(需求分析和定义(Requirement A

15、nalysis and Definition)3)软件设计(软件设计(oftware Design)4)程序编写(程序编写(oding Programming)5)软件测试软件测试(Testing)6)运行维护运行维护(Running/Maintenance)1)瀑布模型(Waterfall Model)2)螺旋模型(Spiral Model)3)喷泉模型(Water Fountain Model)4)智能模型(Intelligence Model)3、软件生存期模型、软件生存期模型(Software Life Cycle Model)瀑布模型(瀑布模型(Waterfall Model) 是一

16、个项目开发架构,开发过程是通过是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好或者发现了问题,那么最好 “返回返回”上一上一个阶段并进行适当的修改,项目开发进程从个阶段并进行适当的修改,项目开发进程从一个阶段一个阶段“流动流动”到下一个阶段,这也是瀑到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企布模型名称的由来。包括软件工程开发、企业项目开发、产

17、品生产以及市场销售等构造业项目开发、产品生产以及市场销售等构造瀑布模型。瀑布模型。软件工程瀑布模型软件工程瀑布模型瀑布模型螺旋模型(Spiral Model)o 螺旋模型采用一种周期性的方法来进行系统开发。这会导致开发出众多的中间版本。使用它,项目经理在早期就能够为客户实证某些概念。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。采用螺旋模型的软件过程如下图所示:螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的

18、风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。 螺旋模型螺旋模型喷泉模型o 喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。 喷泉

19、模型喷泉模型 喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 喷泉模型图喷泉模型图智能模型o 智能模型基于知识的软件开发模型,它与专家系统结合在一起。该模型应用基于规则的系统,采用归纳和推理机制,帮助软件人员完成开发工作,并使

20、维护在系统规格说明一级进行。 该模型在实施过程中要建立知识库,将模型本身、软件工程知识与特定领域的知识分别存人数据库。以软件工程知识为基础的生成规则构成的专家系统与含应用领域知识规则的其他专家系统相结合,构成这一应用领域软件的开发系统。 智能模型样图智能模型样图5.1.2城市地理信息系统工程概论城市地理信息系统工程概论1、地理信息系统软件工程特色、地理信息系统软件工程特色1)系统复杂度大)系统复杂度大(1)交付的文档的质量和数量)交付的文档的质量和数量(2)软件的微观复杂度)软件的微观复杂度(3)软件的宏观复杂性)软件的宏观复杂性2)数据在系统中具有特别地位)数据在系统中具有特别地位GIS支持

21、异质海量数据处理,数据准备方面要注意如下问题:支持异质海量数据处理,数据准备方面要注意如下问题:(1)数据的质量)数据的质量(2)数据的现势性)数据的现势性(3)合理的数据组织结构)合理的数据组织结构3)系统表达方式复杂)系统表达方式复杂(1)表达的内容复杂)表达的内容复杂(2)表达的对象具有时空特性)表达的对象具有时空特性2、城市地理信息系统工程特色、城市地理信息系统工程特色1)系统对象复杂)系统对象复杂2)数据标准具有地方特色)数据标准具有地方特色3)系统更新速度快)系统更新速度快4)系统维护工作量大)系统维护工作量大5)易操作性要求太高)易操作性要求太高5.2 城市地理信息系统规划城市地

22、理信息系统规划5.2.1城市地理信息系统规划概论城市地理信息系统规划概论1、UGIS规划的任务规划的任务1)制定)制定UGIS的发展战略的发展战略2)可行性分析)可行性分析3)制定信息系统的总体方案,安排项目开发计划)制定信息系统的总体方案,安排项目开发计划2、UGIS规划的原则规划的原则1)系统目标客观可行)系统目标客观可行2)兼顾各个层次用户的需求)兼顾各个层次用户的需求3)系统模型与用户特性良好互动)系统模型与用户特性良好互动4)内容不宜过细)内容不宜过细5)规范的规划流程和方法)规范的规划流程和方法6)便于实施)便于实施UGIS的规划与实现的规划与实现5.2.2 可行性分析可行性分析1

23、、技术可行性2、经济可行性3、社会可行性4、抉择技术可行性技术可行性o 技术条件包括以下几个方面:技术条件包括以下几个方面:o 1)硬件硬件包括在项目经济条件下,能够获得的计包括在项目经济条件下,能够获得的计算机的存储量、运算速度;外部设备的功能、效率、可算机的存储量、运算速度;外部设备的功能、效率、可靠性;网络设备的容量、质量、稳定性,特别是否能够靠性;网络设备的容量、质量、稳定性,特别是否能够满足大容量的空间数据在系统范围内满足大容量的空间数据在系统范围内(一般是用户局域一般是用户局域网内部网内部)的传输要求。的传输要求。o 2)软件软件包括操作系统的性能和接口能力是否符包括操作系统的性能

24、和接口能力是否符合合UGIS各个部分的需要,如操作系统能否满足各个部分的需要,如操作系统能否满足UGIS的安全要求,能否支持相应的的安全要求,能否支持相应的DBMS和和GIS基础平台;基础平台;GIS基础平台能否管理系统所有的数据,能否满足基础平台能否管理系统所有的数据,能否满足UGIS所需要的图文编辑、显示、分析等功能的基本需所需要的图文编辑、显示、分析等功能的基本需要,对要,对DBMS、WEB等技术是否有整套解决方案;等技术是否有整套解决方案;DBMS的功能和性能是否足够;程序设计语言的种类和的功能和性能是否足够;程序设计语言的种类和表达能力是否满足要求;网络软件的性能是否满足需要;表达能

25、力是否满足要求;网络软件的性能是否满足需要;是否已有专用的软件等等。是否已有专用的软件等等。 o 3)数据数据包括用户能否获得系统所需要的基础包括用户能否获得系统所需要的基础空间数据及所需的属性数据,如地形图、地籍图;空间数据及所需的属性数据,如地形图、地籍图;用户能否承担自身的各类数据数字化和整理的费用;用户能否承担自身的各类数据数字化和整理的费用;用户是否具备保证系统数据现势性的能力;数据是用户是否具备保证系统数据现势性的能力;数据是否具有保密的要求,如何保证数据的安全等等。否具有保密的要求,如何保证数据的安全等等。o 4)技术人员技术人员包括用户及其合作单位各类技包括用户及其合作单位各类

26、技术人员的数量、水平、来源是否满足术人员的数量、水平、来源是否满足UGIS开发的开发的要求要求;用户是否具备系统维护的技术实力或解决方用户是否具备系统维护的技术实力或解决方案案;使用使用UGIS工作人员是否具备相应的操作能力工作人员是否具备相应的操作能力,培训情况如何等等培训情况如何等等.经济可行性经济可行性o 经济可行性是指对UGIS进行开发成本的估算及可能取得效益的评估,确定待开发系统是否值得投资开发。经济可行性研究涉及范围较广,包括成本一效益分析、用户职能和目标、开发所需的成本和资源。经济可行性分析是避免投资浪费、提高信息化科学决策、确定合理的系统目标的重要手段,通过估计项目的成本和效益

27、,分析项目经济上是否合理。系统效益不仅指系统的经济收益,还包括社会效益、生态效益。5.2.3成本成本-效益分析效益分析1、UGIS经济评价经济评价1)货币的时间价值)货币的时间价值2)投资回收期)投资回收期3)纯收入)纯收入2、UGIS成本估计成本估计3、UGIS的效益评价的效益评价4、成本、成本-效益分析的作用与局限效益分析的作用与局限5.2.4 制定开发计划制定开发计划1、制定开发计划的原则、制定开发计划的原则1)总结系统开发各个阶段工作经验)总结系统开发各个阶段工作经验2)开发计划应该具有足够的灵活性)开发计划应该具有足够的灵活性3)建立各个阶段的评审制度)建立各个阶段的评审制度2、制订开发计划的方法、制订开发计划的方法1)根据系统工程和)根据系统工程和UGIS的构成特性,对系统进行分的构成特性,对系统进行分解,分为具有一定独立性的工作任务,解,分为具有一定独立性的工作任务,UGIS一般包一般包括数据采集入库、系统规划、系统分析、系统设计、括数据采集入库、系统规划、系统分析、系统设计、编码、测试、交付安装等任务,针对项目本身的要求,编码、测试、交付安装等任务,针对项目本身的要求,还有其它的一些特色任务,如用户培训、网络安装、还有其它的一些特色任务,如用户培训、网络安装、分析模型设计。分析模型设计。2)对任务进行分类,确定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论