- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工欲善其事,必先利其器。
孔子
第十六章 地理信息系统软件工程技术
导读:本章介绍了软件工程的基本概念,软件开发活动,过程模型以及两种重要的开发方法:结构化方法和面向对象的方法。在GIS开发过程中应用软件工程技术,可以提高软件开发效率和质量。本章讲述了软件工程技术在GIS系统开发中的几个应用方面:
GIS软件构件和构架
需求分析
数据管理设计
用户界面设计
设计模式在GIS软件开发中的应用
应用配置管理来实现空间过程支持
这些方面涉及了GIS开发过程中不同的阶段以及不同的层次,有些方法之间是互斥的,如UML和Code方法,但是软件工程技术最重要的是实用,开发者可以根据具体的情况选用不同的技术。
1.软件工程简介
1.1基本概念
计算机软件工程是一类求解的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。其中,计算机科学、数学应用于构造模型与算法,工程科学用于制定规范、设计范型,评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。从学科角度来看,软件工程是一门指导计算机软件开发和维护的工程学科。
软件工程的提出,是为了解决60年代出现的软件危机,当时在大型软件开发中存在着价格高,开发不容易控制,软件开发工作量估计困难,软件质量低,项目失败率高等许多问题,给软件行业带来了巨大的冲击。软件工程的研究,提出了一系列理论、原则、方法以及工具,试图解决软件危机。
和其它工程一样,软件工程有其目标、活动和原则,其框架可以概括为图16-1所表示的内容。
图16-1:软件工程框架[王立福]
软件工程的目标可以概括为“生产具有正确性、可用性以及开销合宜的产品”,其活动包括需求、设计、实现、确认以及支持等活动,围绕工程设计、支持以及管理,有以下的四条基本原则:
1)选取适宜的开发模型,可以认识需求易变性,并加以控制,以保证软件产品满足用户的需求;
2)采用合适的设计方法,通常要考虑实现软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征;
3)提供高质量的工程支持,在软??工程中,软件工具与环境对软件过程的支持颇为重要;
4)重视开发过程的管理,软件工程的管理,直接影响可用资源的有效利用、生产满足目标的软件产品,提高软件组织的生产能力等问题。只有当软件过程予以有效管理时,才能实现有效的软件工程。
1.2软件工程活动
软件工程活动包括需求、设计、实现、确认及支持等,它们对应于软件开发活动的不同阶段,一般来说,软件开发都要经历从分析设计到实现确认的过程。在每个阶段按照相应的规范进行工作,并得到该阶段的成果,是保证整个开发活动成功的关键。
1.2.1需求分析
需求分析阶段处于软件开发的前期,其基本活动是准确定义未来系统的目标,确定为了满足用户的需求必须做什么。需求分析又划分为两个阶段,即需求获取和需求规约,前者是用自然语言清楚地描述用户的要求,而需求规约的目的是消除获取需求的二义性和不一致性。
在软件生命周期中,一个错误发现得越晚,修复错误的费用也越高,所以,高质量的需求工程是软件项目得以正确、高效完成的前提。对于系统分析人员,建立需求面临着以下三个方面的困难:
1)问题空间的理解,系统开发人员通常是计算机专业人员,难以深入理解各种业务系统所要解决的问题空间;
2)人与人之间的通信,对于系统分析人员而言,通信主要包括同用户的通信以及同事之间的通信,由于自然语言的二义性,会给准确刻画需求造成障碍;
3)需求的不断变化,造成需求变化的原因很多,包括技术,用户方,市场等等,作为分析人员,必须采用一些策略以适应变化。
面向对象的分析方法被认为是解决上述困难较好的技术,但是完整、准确的刻划问题空间始终是分析人员所面临的挑战。
1.2.2系统设计
一般来说,需求分析阶段的主要任务是确定系统“做什么”,而设计阶段则要解决“怎么做”的问题。通常* 这里实际上是指结构化的设计,在面向对象方法学中,各个阶段的分界已经被模糊化了。
设计阶段又划分为总体设计和详细设计,总体设计确定系统的总体结构框架;而详细设计要具体地描述如何具体地实现系统,通常可以依据详细设计的结果进行编码。详细设计包括:详细的算法;数据表示和数据结构;实施的功能和使用数据之间的关系。详细设计过程中,采用了一些工具,以便对数据、算法等进行描述,包括流程图,PAD(Problem Analysis Diagram),盒图(N-S图),伪码等等。
1.2.3实现阶段
在软件实现阶段,要将设计的结果变换成程序设计语言编写的程序。在实现阶段,首先要确定程序设计语言,其影响因素包括:开发人员对语言的熟悉程度,语言的可移植性,编译程序的效率,编译工具的支持等等。目前,C++语言是普遍被采用的构造系统软件的编程语言,而Java则更多地应用于编写
您可能关注的文档
- 地理信息系统讲稿 第八章 空间分析.DOC
- 地理信息系统讲稿 第二章 从现实世界到比特世界.DOC
- 地理信息系统讲稿 第六章 空间数据获取与处理.DOC
- 地理信息系统讲稿 第七章 空间数据管理.DOC
- 地理信息系统讲稿 第三章 空间数据模型.DOC
- 地理信息系统讲稿 第十八章 地理信息系统和社会.DOC
- 地理信息系统讲稿 第十二章 3S集成技术.DOC
- 地理信息系统讲稿 第十九章 地球信息科学和数字地球.DOC
- 地理信息系统讲稿 第十七章 地理信息系统标准和OPENGIS.DOC
- 地理信息系统讲稿 第十四章 地理信息系统应用实例.DOC
- 供应链数字化运营 课件 【教学课件】项目七任务三 识别和分析供应链风险.pptx
- 《酒店法律与法规实务》课件全套 林明辉 第1--12章 酒店法概述---涉外诉讼.pptx
- 消防供配电的认识与选择.pptx
- 《酒店法律与法规实务》课件 第一章 酒店法概述.pdf
- 《工业机器人编程与操作(FANUC)》课件 项目6 工业机器人绘图离线编程及实物验证.pptx
- 《工业机器人编程与操作(FANUC)》课件 项目7 工业机器人的维护.pptx
- 《工业机器人编程与操作(FANUC)》课件 项目1 工业机器人的基本认知.pptx
- 国际贸易实务 第6版 课件汇总 孙国忠 任务7--17 订立合同的商品检验与索赔条款 --- 进口合同的履行 .pptx
- 网页设计与制作-HTML5 + CSS3 课件汇总 任务8--12 设计“在线留言”子页面 --- 首页其他板块的设计与制作 .pptx
- 《酒店法律与法规实务》课件 第二章 酒店法的渊源、基本内容和作用.pdf
文档评论(0)