欢迎来到天天文库
浏览记录
ID:27099905
大小:377.82 KB
页数:43页
时间:2018-12-01
《地理信息系统软件工程技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十六章地理信息系统软件工程技术邬伦北京大学地球与空间科学学院遥感与地理信息系统研究所2004年12月1.软件工程简介1.1基本概念计算机软件工程是一类求解的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。图:软件工程框架[王立福]软件工程四条基本原则:1)选取适宜的开发模型,可以认识需求易变性,并加以控制,以保证软件产品满足用户的需求;2)采用合适的设计方法,通常要考虑实现软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征;3)提供高质量的工程支持,在软件工程中,软件工具与环境对软件过程的支持颇为重要;4)重视开发过程
2、的管理,软件工程的管理,直接影响可用资源的有效利用、生产满足目标的软件产品,提高软件组织的生产能力等问题。1.2软件工程活动软件工程活动包括需求、设计、实现、确认及支持等它们对应于软件开发活动的不同阶段。1.2.1需求分析建立需求面临着三个方面的困难:1)问题空间的理解2)人与人之间的通信3)需求的不断变化1.2.2系统设计要解决“怎么做”的问题设计阶段划分为总体设计和详细设计1.2.3实现阶段在软件实现阶段,要将设计的结果变换成程序设计语言编写的程序。首先要确定程序设计语言,其影响因素包括:开发人员对语言的熟悉程度,语言的可移植性,编译程序的效率,编译工具的支持等。1.2.4确认活动系统完成
3、后的软件测试是主要的确认活动。软件测试的技术分为两类:白盒测试技术和黑盒测试技术。1.2.5软件维护软件维护活动的类别:1)改正性维护2)适应性维护3)完善性维护4)预防性维护1.3结构化方法和面向对象方法1.3结构化方法和面向对象方法结构化分析和设计--基于模块化的思想,采用“自顶向下,逐步求精”的技术对系统进行划分,分解和抽象是它的两个基本手段--将软件视为一个数据变换装置,接受各种输入,通过变换产生输出一个典型的数据流图:飞机订票1.3结构化方法和面向对象方法面向对象的分析和设计--客观世界是由许多各种各样的类组成的,每种对象都有各自的内部状态和运动规律,对象之间的作用和联系就构成了各种
4、不同的系统--使解决问题的方法空间与客观世界的问题空间结构达成一致--UML(Unifiedmodelinglanguage,统一建模语言)用UML表达的线几何体类以及和其它类的关系(OpenGISConsortium)1.4开发过程模型软件开发模型是软件开发全部过程、活动和任务的结构框架。软件开发模型能够清晰、直观的表达软件开发过程,明确规定要完成的主要活动和任务。可以作为软件项目工作的基础。1.4.1瀑布模型1.4.2演化模型主要针对事先不能完整定义需求的软件开发。用户可以先给出核心需求,当开发人员将核心需求实现后,用户提出反馈意见,以支持系统的最终设计和实现。1.4.3螺旋模型1)制定计
5、划——确定软件目标,选定实施方案,弄清项目开发的限制条件。2)风险分析——分析所选方案,考虑如何识别和消除风险。3)实施工程——实施软件开发。4)客户评估——评价开发工作,提出修正建议。1.4.4喷泉模型2.GIS领域的体系结构和构件(图:GIS领域)GIS领域体系结构:一个工作流视图基于DCP的GIS体系结构和构件:一个实现视图[OpenGISConsortium]3.GIS需求分析3.1GIS需求获取1)物理环境,物理设备的位置以及其分布的集中程度;2)接口,与其它软件系统的接口以及对数据格式的要求;3)用户或人的因素,包括系统用户熟练程度,使用系统需要接受的训练;4)功能,系统要完成什么
6、,性能如何;5)文档,需要哪些文档以及其针对的读者;6)数据,数据格式、数据精度、数据量、接收和发送数据的频率;7)资源,使用系统需要的设备,开发需要的人力资源、计算机资源、时间表;8)安全性,对访问信息的控制程度,数据的备份等;9)质量保证,对系统的可靠性要求,平均系统出错时间,可移植性,可维护性等。3.2GIS需求规约在需求获取阶段,得到了用自然语言描述的用户需求,但是其中存在着不一致性和二义性,这些问题要通过需求规约解决。对Coad/Yourdon方法的扩展——GeoOOA(部分,GeorgeKÖsters)基本类和GeoOOA类GeoOOA中的整体部分关系1)覆盖2)包含3)分割4.数
7、据管理设计数据管理部分设计的目的是确定在数据管理系统中存储和检索数据的基本结构,其原则是要隔离数据管理方案的影响,不管该方案是普通文件、关系数据库、面向对象数据库或者是其它方式的。三种主要的数据管理方法1)普通文件管理2)关系型数据库管理系统(RDBMS)3)面向对象的数据库管理系统4.1全部采用文件管理将所有的数据都存放于一个或者多个文件中,包括结构化的属性数据。4.2文件结合关系数据库管理(a
此文档下载收益归作者所有