GIS工程讲义 第二讲工程设计综述.ppt

上传人:仙人指路1688 文档编号:2268124 上传时间:2023-02-08 格式:PPT 页数:28 大小:191KB
返回 下载 相关 举报
GIS工程讲义 第二讲工程设计综述.ppt_第1页
第1页 / 共28页
GIS工程讲义 第二讲工程设计综述.ppt_第2页
第2页 / 共28页
GIS工程讲义 第二讲工程设计综述.ppt_第3页
第3页 / 共28页
GIS工程讲义 第二讲工程设计综述.ppt_第4页
第4页 / 共28页
GIS工程讲义 第二讲工程设计综述.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《GIS工程讲义 第二讲工程设计综述.ppt》由会员分享,可在线阅读,更多相关《GIS工程讲义 第二讲工程设计综述.ppt(28页珍藏版)》请在三一办公上搜索。

1、第二讲 地理信息系统工程设计综述,一、GIS工程设计综述,GIS软件危机与GIS工程危机西方计算机科学家把软件开发和维护过程中遇到的一系列严重问题统称为“软件危机”,GIS软件开发同样存在危机GIS工程危机,软件危机,1968年北大西洋公约组织的计算机科学家在联邦德国如开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生。,什么是GIS工程危机,概括地说,GIS工程危机包含下述两方面的问题,如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的软件与数据。(1)对软件开发成本和进度的估计常常很不准确(2)用户对“已完成的”软件

2、系统不满意的现象经常发生。(3)软件产品的质量往往靠不住。(4)软件常常是不可维护的。(5)软件与数据通常没有适当的文档资料。(6)软件与数据成本在计算机系统总成本中所占的比例逐年 上升。,产生GIS工程危机的原因,在工程开发和维护的过程中存在许多多严重问题,一方面与软件本身的特点有关,另一方面也和工程开发与维护的方法不正确有关。GIS工程是系统软硬件、数据以及系统开发、集成、使用和维护需要的所有文档。根据美国一些软件公司的统计资料,在后期引入一个变动比在早期引入相同变动所需付出的代价高23个数据量级。图1定性地描绘了在不同时期引入一变动需要付出代价的变化趋势。图2是美贝尔实验室编统计得出的定

3、量结果。,1,图1,解决GIS工程危机的途径,GIS工程学正是从管理和技术方面研究如何更好地开发和维护GIS工程的一门新兴学科。,GIS工程设计的基本原则,(一)计划管理原则,用分阶段的生命周期计划严格管理Boehm认为,在工程的整个生命周期应该制定并严格执行六类计划,它们是项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划。,(二)坚持进行阶段评审原则,第一,大部分错误是在编码之前造成的,Boehm等人的统计,设计错误占软件错误的63%,编码错误仅占37%;第二,错误发现与改正行越晚,所需付出的代价也越高(参见图1和图2),(三)严格的产品控制原则,为了保持系统各个

4、配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称为基线配置,它们是经过阶段评审后的系统配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制:一切有关修改系统的建议,特别是涉及到对基准配置的个性建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改。,4、采用现代程序设计技术原则5、结果应能清楚地审查原则6、开发小组的人员应该少而精原则 当开发小组人员数为N时,可能的通信路径有N(N-1)/2条。7、承认不断改进工程实践的必要性原则 按照这条原则,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验,例如,收集进度和资源耗费数据,收

5、集出错类型和问题报告数据等等。,GIS工程的生命周期方法学,GIS工程采用的生命周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生成的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。,生命周期各阶段的基本任务,1、问题定义,问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”问题定义阶段的工作,系统分析员应该提出关于问题性质、工程目标和规模的书面报告。问题定义阶段是生命周期中最简短的阶段,一般只需要一天甚至更少的时间。,2、可行性研究,这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有可行的解决办法或值得做吗?可行性研究比较简

6、短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。在问题定义阶段提出的对工程目标和规模的报告通常比较含糊。可行性研究应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益,对建议的系统进行仔细的成本/效益分析是这个阶段的主要任务之一。可行性研究的结果是使用部门负责人决定是否进行这项工程的重要依据。,3、需求分析,这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。系统分析员在需求分

7、析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。,4、总体设计,这个阶段必须回答的关键问题是:“概括地说,应该如何解决这个问题”首先,应该考虑几种可能的解决方案。(1)低成本的解决方案;(2)中等成本的解决方案。(3)高成本的“十全十美”的系统。系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种方案的成本和效益,还应该在充分权衡各种方案的利弊的基础上,推荐一个较好的系统(最佳方案),并且制定实现所推荐的系统的详细计划。如果用户接受分析员推荐的系统,则可以着手完成本阶段的另一项主要工作。,上面的工作

8、确定了解决问题的策略以及目标系统需要哪些程序,但是,怎样设计这些程序呢?结构设计的一条基本原理就是程序应该模块化,也就是一个大程序应该由许多规模适中的模块按合理的层次结构组织而成。总体设计阶段的第二项主要任务就是设计软件的结构,也就是确定程序由哪些模块组成以及模块间的关系。通常用层次图或结构图描绘软件的结构。,5、详细设计,总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化,也就是回答下面这个关键问题:“应该怎样具体地实现这个系统呢?”这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝

9、图,它们应该包含必要的细节,程序员可以根据它们写出实际的程序代码。通常用HIPO图(层次加输入/处理/输出图)或PDL语言(过程设计语言)描述详细设计的结果。,6、编码和单元测试,这个阶段的关键任务是写出正确的容易理解、容易维护的系统模块。,7、综合测试,这个阶段的关键任务是通过各种类型的测试(相应的调试)使系统达到预定的要求。最基本的测试是集成测试和验收测试。应该用正式的文档资料把测试计划、详细测试方案以及实际测试结果保存下来,做为系统配置的一个组成部分。,8、软件维护,维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。四类维护活动:改正性维护、适应性维护、完善性维护、

10、预防性维护。实际上每一项维护活动都应该经过提出维护要求(或报告问题),分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收等一系列步骤,因此是经历了一次压缩和简化了的系统定义和开发的全过程。每一项维护活动都应该准确地记录下来,做为正式的文档资料加以保存。,瀑布模型,传统的生命周期方法学可以用瀑布型(Waterfall model)来模拟,如图3所示 几个特点:(1)阶段间具有顺序性和依赖性(2)推迟实现的观点 清楚区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的旨导思想。(3)质量保证的观点第一,每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。第二,第个阶段结束前都要对所完成的文档进行评审。,技术审查和管理复审,进行审查和复审的必要性技术审查也是降低软件成本的一个重要措施。技术审查的标准和方法成立一个由技术专家组成的审查小组来承担技术审查的工作,审查小组的基本成员有四个人组长、作者和两名评审员。完整的技术审查过程一般由下述六个步骤组成;准备,简要介绍情况,阅读被审查的文档,开审查会,返工,复查。复查会的目的是发现错误而不是改正错误。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号