测绘软件设计与实现--绪论软件工程概述--课件

上传人:无*** 文档编号:241584579 上传时间:2024-07-06 格式:PPTX 页数:53 大小:287.19KB
返回 下载 相关 举报
测绘软件设计与实现--绪论软件工程概述--课件_第1页
第1页 / 共53页
测绘软件设计与实现--绪论软件工程概述--课件_第2页
第2页 / 共53页
测绘软件设计与实现--绪论软件工程概述--课件_第3页
第3页 / 共53页
点击查看更多>>
资源描述
参考书籍参考书籍宋力杰.测量平差程序设计.国防工业出版社,2009马明栋.控制测量程序设计.内蒙古大学出版社,2002严蔚敏,吴伟民.数据结构.清华大学出版社.2003曹德欣,曹缨珞.计算方法(第二版).中国矿业大学出版社,2001吴立新,史文中.地理信息系统原理与算法.科学出版社,20031ppt课件先修课程先修课程C/C+程序设计线性代数误差理论与测量平差2ppt课件内容划分及学时安排内容划分及学时安排第一部分:绪论&软件工程概述(4学时)第二部分:常用数据结构及其运算(8学时)泛型程序设计与STL(补充)第三部分:常用数值计算方法(16学时)第四部分:实例(4学时)3ppt课件第一部分第一部分 绪论绪论&软件工程概述软件工程概述中国矿业大学环境与测绘学院7/6/2024测绘软件设计与实现4ppt课件内容概要内容概要绪论软件与软件危机软件工程方法学5ppt课件一、绪论6ppt课件1、本课程主要内容、本课程主要内容数据结构 在在控制网数据处理中,数据组织是非常重要的内容,控制网数据处理中,数据组织是非常重要的内容,在这里我们主要讲述图的概念,以及使用图表示控在这里我们主要讲述图的概念,以及使用图表示控制网的数据。制网的数据。常用工具函数编写这里这里主要讲数据处理中经常需要用到的一些工具函主要讲数据处理中经常需要用到的一些工具函数,如角度数,如角度-弧度互化的函数,测量正反算函数,弧度互化的函数,测量正反算函数,矩阵计算函数等。矩阵计算函数等。基本平差程序使用使用计算机的方法处理间接平差的结构与过程计算机的方法处理间接平差的结构与过程。7ppt课件1、本课程主要内容、本课程主要内容高程网平差将高程网平差表示为基本平差结构,使用基本平差将高程网平差表示为基本平差结构,使用基本平差程序处理水准网、三角高程网平差的相关问题。程序处理水准网、三角高程网平差的相关问题。边角网平差处理边角网平差的过程与问题。处理边角网平差的过程与问题。GPS向量网平差处理观测值为处理观测值为GPS基线向量的三维坐标平差问题。基线向量的三维坐标平差问题。测量坐标系转化 8ppt课件2、平差程序的基本要求、平差程序的基本要求程序逻辑结构简单,清晰易读便于扩展;运算速度快,占用内存小;数学模型及计算方法正确、计算结果精度高;适应性强,便于移植;方便用户,操作简便。数数据据输输入入与与用用户户作作业业方方式式与与习习惯惯相相统统一一,输输出出明明了了、齐齐全全;尽尽量量减减少少手手工工处处理理工工作作量量,操操作作简简便便;人人机机交互性要强交互性要强。9ppt课件二、软件与软件危机10ppt课件1、软件的定义及其分类、软件的定义及其分类软件一系列按照特定顺序组织的一系列按照特定顺序组织的计算机数据计算机数据和和指令指令的集合的集合软件是软件是程序程序、数据数据及及相关文档相关文档的完整集合的完整集合程序设计的最终结果是软件程序设计的最终结果是软件软件分类系统软件系统软件:操作系统和支撑软件:操作系统和支撑软件Dos、Windows、Unix、Mac OS、Visual Studio.Net等等应用软件应用软件:为了特定的目的而开发得到的软件:为了特定的目的而开发得到的软件Office、Photoshop、AutoCAD等11ppt课件2、软件危机及其、软件危机及其主要表现主要表现软件危机的定义在计算机软件的开发和维护过程中遇到的一系列严重问题在计算机软件的开发和维护过程中遇到的一系列严重问题软件开发的高成本与低质量之间的矛盾软件开发的高成本与低质量之间的矛盾软件危机的主要表现对软件开发成本和进度的估计难以控制对软件开发成本和进度的估计难以控制用户对用户对“已完成的已完成的”软件系统不满意的现象经常发生软件系统不满意的现象经常发生软件产品的质量往往靠不住软件产品的质量往往靠不住软件常常是不可维护的软件常常是不可维护的软件通常没有适当的文档资料软件通常没有适当的文档资料软件成本在计算机系统总成本中所占的比例逐年上升软件成本在计算机系统总成本中所占的比例逐年上升软件开发生产率提高远远跟不上计算机应用迅速普及深入的速度软件开发生产率提高远远跟不上计算机应用迅速普及深入的速度12ppt课件3、软件危机产生的原因、软件危机产生的原因与软件本身的特点有关与软件开发与维护的方法不正确有关13ppt课件3.1 软件本身的特点软件本身的特点缺乏“可见性”软件开发过程的管理和控制相当困难软件开发过程的管理和控制相当困难 软件的维护较难软件的维护较难规模庞大为了在预定时间内开发出规模庞大的软件,必须由为了在预定时间内开发出规模庞大的软件,必须由多人分工多人分工合作合作,如何保证每个人完成的工作合在一起确实能构成一个,如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,不仅涉及许多技术问题,更重要的高质量的大型软件系统,不仅涉及许多技术问题,更重要的是必须有严格而科学的管理是必须有严格而科学的管理用户需求不明确忽视软件需求分析的重要性忽视软件需求分析的重要性14ppt课件3.2 软件开发软件开发与维护的方法不正确与维护的方法不正确缺乏正确的理论指导缺乏有力的方法学和工具方面的支持缺乏有力的方法学和工具方面的支持软件开发规模越来越大及软件开发复杂度越来越高大型软件开发项目需要组织一定的人力共同完成,而多数管理人大型软件开发项目需要组织一定的人力共同完成,而多数管理人员缺乏开发大型软件开发系统的经验,而多数软件开发人员又缺员缺乏开发大型软件开发系统的经验,而多数软件开发人员又缺乏管理方面的经验。乏管理方面的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。各类人员的信息交流不及时、不准确、有时还会产生误解。软件开发项目开发人员不能有效地、独立自主地处理大型软件开软件开发项目开发人员不能有效地、独立自主地处理大型软件开发的全部关系和各个分支,因此容易产生疏漏和错误。发的全部关系和各个分支,因此容易产生疏漏和错误。轻视维护统计数据表明,用于软件维护的实际费用占软件总费用的统计数据表明,用于软件维护的实际费用占软件总费用的55%-70%15ppt课件4、克服软件危机的途径、克服软件危机的途径用现代工程的概念、原理、技术和方法进软件开发、管理和维护组织管理措施任务的合理分配任务的合理分配人员的协同与配合人员的协同与配合技术措施方法方法工具工具16ppt课件三、软件工程方法学17ppt课件软件工程方法学软件工程方法学软件工程的定义软件工程的基本原理软件生命周期及其各阶段的基本任务软件工程方法学18ppt课件1、软件工程(、软件工程(Software Engineering)的定义)的定义运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料BarryBoehm建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法 FritzBauer在NATO会议上给出的定义19ppt课件1、软件工程(、软件工程(Software Engineering)的定义)的定义软件工程是:(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;(2)在(1)中所述方法的研究 IEEE在软件工程术语汇编中的定义20ppt课件1、软件工程(、软件工程(Software Engineering)的定义)的定义软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。计算机科学技术百科全书中的定义21ppt课件1、软件工程(、软件工程(Software Engineering)的定义)的定义软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。22ppt课件2、软件工程的基本原理、软件工程的基本原理用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应少而精承认不断改进软件工程实践的必要性23ppt课件3、软件生命周期(、软件生命周期(Systems Development Life Cycle)软件的产生直到报废的生命周期经历三个时期软件定义软件定义软件开发软件开发运行与(软件)维护运行与(软件)维护计划计划需求分析需求分析系统设计系统设计系统编码系统编码测试测试维护维护退役退役24ppt课件3、软件生命周期(、软件生命周期(Systems Development Life Cycle)时时 期期阶阶 段段关键问题关键问题软件定义软件定义问题定义问题定义问题是什么?问题是什么?可行性研究可行性研究有可行的解吗?有可行的解吗?需求分析需求分析系统必须做什么?系统必须做什么?软件开发软件开发系统设计系统设计总体设计总体设计应该如何解决这个问题?应该如何解决这个问题?详细设计详细设计怎样具体地实现这个系统?怎样具体地实现这个系统?系统实现系统实现编码和单元测试编码和单元测试正确的程序模块正确的程序模块综合测试综合测试符合要求的软件符合要求的软件软件维护软件维护维护维护持久地满足用户需要的软件持久地满足用户需要的软件25ppt课件3.1 软件生命周期的阶段划分软件生命周期的阶段划分问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合测试运行与维护26ppt课件3.1.1 问题定义问题定义要解决的问题是什么?通过调研,写出关于问题性质、工程目标和工程规模的书面报告,并得到客户的确认27ppt课件3.1.2 可行性研究可行性研究对于上一个阶段所确定的问题有行得通的解决办法吗?研究并论证软件系统的可行性,对方案进行选择并形成可行性分析报告技术可行性技术可行性经济可行性经济可行性操作可行性操作可行性调度可行性调度可行性社会可行性社会可行性28ppt课件技术可行性技术可行性技术可行性从技术角度分析能否完成工作、完成的效果及速度,从技术角度分析能否完成工作、完成的效果及速度,研究软件、硬件能否支持系统的开发工作。研究软件、硬件能否支持系统的开发工作。在技术在技术的选择上的选择上(1)要选择)要选择成熟的技术成熟的技术,不能采用先进但不成熟的技,不能采用先进但不成熟的技术,当然也不能采用过时的技术术,当然也不能采用过时的技术(2)客户以及软件开发)客户以及软件开发人员的实际情况人员的实际情况(3)要考虑)要考虑技术转换成本技术转换成本,如学习和熟练运用该项技,如学习和熟练运用该项技术的时间花费等术的时间花费等29ppt课件经济可行性经济可行性&操作可行性操作可行性经济可行性评估开发成本相对于最后的从开发的系统或产品获评估开发成本相对于最后的从开发的系统或产品获得的收入或收益,进行成本效益分析,利益要超过得的收入或收益,进行成本效益分析,利益要超过成本成本操作可行性实现了建议的计算机系统后,所需要配合的手工操实现了建议的计算机系统后,所需要配合的手工操作是否可行作是否可行30ppt课件调度可行性调度可行性&社会可行性社会可行性调度可行性建议的计算机系统能否在规定的期限内交付给用户;建议的计算机系统能否在规定的期限内交付给用户;估计项目完成所需的时间,评估项目的时间是否足估计项目完成所需的时间,评估项目的时间是否足够够社会可行性包括法律,合同,政治包括法律,合同,政治等,等,确定可能产生自系确定可能产生自系统开发的任何侵权、妨碍或责任统开发的任何侵权、妨碍或责任31ppt课件可行性研究步骤可行性研究步骤复查定义,明确限制的约束研究老系统只了解老系统做什么,而不管怎样做,注意了解与其它只了解老系统做什么,而不管怎样做,注意了解与其它系统的接口系统的接口导出新系统物理模型比老系统增加和去除了哪些功能比老系统增加和去除了哪些功能关注于对功能的描述,与实现无关关注于对功能的描述,与实现无关导出多种方案,对其进行各种可行性分析,以选择其中的一种,并根据这种方案制定进度表32ppt课件3.1.3 需求分析需求分析目标系统必须具备哪些功能?目标系统必须具备哪些功能?以一种清晰、简洁、一致且无二义性的方式,对一个待开发以一种清晰、简洁、一致且无二义性的方式,对一个待开发系统中各个有意义方面的陈述的一个集合系统中各个有意义方面的陈述的一个集合建立逻辑模型建立逻辑模型 必须准确完整地体现用户的要求。必须准确完整地体现用户的要求。数据模型数据模型 (实体实体联系图,又称联系图,又称E-R图图)功能模型功能模型 (数据流图)(数据流图)行为模型行为模型 (状态转换图)(状态转换图)书写规格说明书书写规格说明书 用正式文档准确地记录对目标系统的需求用正式文档准确地记录对目标系统的需求33ppt课件E-R图图以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。E-R模模型型最最常常见见的的运运用用是是在在数数据据库库设设计计的的分分析析阶阶段段,也也就是数据库设计者和数据库用户之间的沟通工具和桥梁就是数据库设计者和数据库用户之间的沟通工具和桥梁。E-R模模型型的的作作用用是是建建构构一一个个概概念念数数据据模模型型,而而概概念念数数据据模模型型正正是是数数据据库库结结构构的的表表示示法法,而而且且这这种种表表示示法法与与数数据据库管理系统及数据模型都无关系。库管理系统及数据模型都无关系。34ppt课件E-R图的构成及实例图的构成及实例实体用矩形表示用矩形表示属性用椭圆形表示用椭圆形表示联系用菱形表示用菱形表示35ppt课件3.1.4 总体设计(概要设计)总体设计(概要设计)应该怎样实现目标系统?选取最佳的设计方案选取最佳的设计方案设计程序的体系结构,确定程序由哪些模块组成以及模块间的关系建立软件系统的总体结构建立软件系统的总体结构定义功能模块的接口定义功能模块的接口设计全局数据库或数据结构设计全局数据库或数据结构规定设计约束规定设计约束编制概要设计文档编制概要设计文档36ppt课件总体设计阶段所要交付的文档总体设计阶段所要交付的文档设计说明书包括概述概述系统结构系统结构 DS及及DB设计设计接口设计接口设计 模块设计模块设计 描述设计工作总范围;描述设计工作总范围;系统目标、功能系统目标、功能等等系统模块划分、每个模块的系统模块划分、每个模块的功能简功能简介介、各个模块之间的逻辑关系、各个模块之间的逻辑关系用图表把设计结果描述出来用图表把设计结果描述出来人机界面设计、软硬件之间人机界面设计、软硬件之间的接口的接口设计、系设计、系统与外界以及统与外界以及与支持与支持软件之间的接口软件之间的接口关系关系根据模块功能,用相应的根据模块功能,用相应的工具工具描述每个模描述每个模块的流程,块的流程,以及以及每个模块用到的数据结构每个模块用到的数据结构37ppt课件模块化软件设计的基本概念和原理模块化软件设计的基本概念和原理模块化信息隐蔽与局部化模块独立低耦合低耦合高内聚高内聚模块划分的原则改进软件结构提高模块的独立性,降低模块接口的改进软件结构提高模块的独立性,降低模块接口的复杂程度复杂程度控制模块规模控制模块规模38ppt课件3.1.5 详细设计详细设计应该怎样具体地实现这个系统呢?解法具体化模块详细设计模块的详细功能、算法、数据结构、模块间的接口等设模块的详细功能、算法、数据结构、模块间的接口等设计,拟定模块测试方案计,拟定模块测试方案编制模块的详细规格说明 汇总模块详细设计的结果,形成模块详细规格说明书汇总模块详细设计的结果,形成模块详细规格说明书39ppt课件3.1.6 编码与单元测试编码与单元测试写出正确的容易理解、容易维护的程序模块。编码 根据模块详细规格说明书,把详细设计的结果翻根据模块详细规格说明书,把详细设计的结果翻译成用选定的语言书写的译成用选定的语言书写的程序(程序(伪代码程序伪代码程序)单元测试对模块程序进行测试,对模块程序进行测试,验证模块功能及接口与详细设计验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告文档的一致性,并形成单元测试报告40ppt课件3.1.7 综合测试综合测试通过各种类型的测试(及相应的调试)使软件达到预定的要求集成测试根据设计的软件结构,把经过单元测试检验的模块按某根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配过程中对程序进行必要种选定的策略装配起来,在装配过程中对程序进行必要的测试。的测试。验收测试 按照规格说明书的规定,由用户对目标系统进行验收。按照规格说明书的规定,由用户对目标系统进行验收。现场测试或平行运行平行运行就是同时运行新开发出来的系统和将被它取代平行运行就是同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。的旧系统,以便比较新旧两个系统的处理结果。用用正正式式的的文文档档资资料料把把测测试试计计划划、详详细细测测试试方方案案以以及及实实际际测测试试结结果果保保存存下下来来,作作为为软软件件配配置置的的一一个组成部分。个组成部分。41ppt课件3.1.7 综合测试综合测试基本方法黑盒测试黑盒测试白盒测试白盒测试42ppt课件黑盒测试(功能测试)黑盒测试(功能测试)通过测试来检测每个功能是否都能正常使用在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。43ppt课件白盒测试(结构测试、逻辑驱动测试)白盒测试(结构测试、逻辑驱动测试)按照程序内部的结构测试程序通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。44ppt课件3.1.8 软件维护软件维护维护阶段的关键任务是,通过各种必要的维护活动使系统维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要持久地满足用户的需要改正性维护改正性维护 诊断和改正在使用过程中发现的软件错误诊断和改正在使用过程中发现的软件错误适应性维护适应性维护修改软件以适应环境的变化修改软件以适应环境的变化完善性维护完善性维护根据用户的要求改进或扩充软件使它更完善根据用户的要求改进或扩充软件使它更完善预防性维护预防性维护修改软件为将来的维护活动预先做准备修改软件为将来的维护活动预先做准备每每一一项项维维护护活活动动都都应应该该经经过过提提出出维维护护要要求求(或或报报告告问问题题),分分析析维维护护要要求求,提提出出维维护护方方案案,审审批批维维护护方方案案,确确定定维维护护计计划划,修修改改软软件件设设计计,修修改改程程序序,测测试试程程序序,复复查查验验收等一系列步骤。收等一系列步骤。45ppt课件4、软件工程方法学、软件工程方法学方法学方法学通常把在软件生命周期全过程中使用的一整套技术方法的集通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范性。合称为方法学,也称为范性。软件工程的方法学包括三个要素软件工程的方法学包括三个要素方法方法完成软件开发各项任务的技术方法完成软件开发各项任务的技术方法工具工具为运用方法而提供的、自动或半自动的软件工程支撑环境为运用方法而提供的、自动或半自动的软件工程支撑环境过程过程一系列任务的框架,规定了完成各项任务的工作步骤一系列任务的框架,规定了完成各项任务的工作步骤46ppt课件软件工程方法学的分类软件工程方法学的分类结构化方法工具:工具:C、Pascal缺点:缺点:对象和操作相分离对象和操作相分离面向对象的方法工具:工具:C#,JavaC+兼有面向过程和面向对象的特点兼有面向过程和面向对象的特点47ppt课件面向对象的方法学面向对象的方法学对象类继承性封装性48ppt课件对象和类的定义对象和类的定义对象融合了数据及数据上的操作行为的统一的软件构件融合了数据及数据上的操作行为的统一的软件构件程序中任何元素都是对象程序中任何元素都是对象复杂对象由比较简单的对象组合而成复杂对象由比较简单的对象组合而成类所有对象都划分成类所有对象都划分成类每个类都定义了一组数据和一组操作,类是对具有相同每个类都定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义数据和相同操作的一组相似对象的定义数据用于表示对象的静态属性,是对象的状态信息数据用于表示对象的静态属性,是对象的状态信息施加于数据之上的操作用于实现对象的动态行为施加于数据之上的操作用于实现对象的动态行为49ppt课件对象和类的解释对象和类的解释对象一切事物都是对象一切事物都是对象类性质相似的一组实体构成类性质相似的一组实体构成类类是对这组对象的抽象描述类是对这组对象的抽象描述每个对象都是该类的一个实例每个对象都是该类的一个实例举例“车车”是一个类是一个类 每一辆桑塔纳每一辆桑塔纳2000、奔驰、奔驰600,或是每一辆卡车都是一,或是每一辆卡车都是一个对象个对象50ppt课件对象和类的例子对象和类的例子类名例如:车例如:车数据类的属性:描述类的静态特性类的属性:描述类的静态特性例如:轮胎、发动机、行驶方向例如:轮胎、发动机、行驶方向操作类的操作:描述类的动态特性类的操作:描述类的动态特性例如:启动、行驶、刹车例如:启动、行驶、刹车Class Vehicle/类名是Vehicle String direct;/类的属性 Void run(direct);/类的操作51ppt课件继承继承按照父类与子类的关系,把若干个相关类组成一个层次结构的系统子类自动拥有上层基类中的数据和操作,这种现象称为继承例子:从父类继承来的属性和操作是一样的从父类继承来的属性和操作是一样的此外,子类可以有各自的属性和操作此外,子类可以有各自的属性和操作Class Lorry:Vehicle Void load(货物);Class Car:Vehicle Void load(人);52ppt课件封装封装对象与传统数据有本质区别传统数据是被动地等待外界对它施加操作传统数据是被动地等待外界对它施加操作对象是数据处理的主体对象是数据处理的主体对象的所有信息都被封装在该对象内,不能从外界直接对象的所有信息都被封装在该对象内,不能从外界直接访问,这就是通常所说的封装性访问,这就是通常所说的封装性例子:1号车行驶方向?号车行驶方向?2号车行驶方向?号车行驶方向?Car car1;car1.direction=east;Car car2;car2.direction=west;car1.run(direction);car2.run(direction);53ppt课件
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!