软件工程与计算机地图制图软件开发34337.pptx
《软件工程与计算机地图制图软件开发34337.pptx》由会员分享,可在线阅读,更多相关《软件工程与计算机地图制图软件开发34337.pptx(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、软件工程简介一、软件工程简介二、软件生存期二、软件生存期三、软件生存期模型三、软件生存期模型四数据管理设计四数据管理设计五、界面设计五、界面设计第六章第六章 软件工程软件工程第六章第六章 软件工程软件工程(一)、背景(一)、背景软件危机软件危机(二)、基本概念(二)、基本概念一、软件工程简介一、软件工程简介第六章第六章 软件工程软件工程(一)、背景(一)、背景软件危机软件危机60年代的软件危机给软件行业带来了巨大的年代的软件危机给软件行业带来了巨大的冲击。软件工程提出了一系列理论、原则、冲击。软件工程提出了一系列理论、原则、方法以及工具,试图解决软件危机。方法以及工具,试图解决软件危机。第
2、六章第六章 软件工程软件工程第六章第六章 软件工程软件工程软件危机主要表现在软件危机主要表现在:增加成本增加成本,延时现象经常发生延时现象经常发生;“已完成已完成”的软件系统与要求不符的软件系统与要求不符,返工返工;软件系统错误经常出现软件系统错误经常出现;软件难以维护软件难以维护;缺少必要的文档与帮助系统缺少必要的文档与帮助系统,使用困难。使用困难。第六章第六章 软件工程软件工程软件工程的几条基本原理软件工程的几条基本原理:用分阶段的生命周期用分阶段的生命周期计划计划严格管理软件开严格管理软件开发进程;发进程;阶段性测试评审。阶段性测试评审。利用现代程序设计技术利用现代程序设计技术,提高软件
3、开发过提高软件开发过程的可见性程的可见性,代码易理解性代码易理解性,使易于维护;使易于维护;结果要能清楚地审查。即软件开发过程的结果要能清楚地审查。即软件开发过程的透明性和开放性;透明性和开放性;开发人员应少而精;开发人员应少而精;承担软件持续服务的义务。承担软件持续服务的义务。第六章第六章 软件工程软件工程(二)、基本概念(二)、基本概念计算机软件工程应用计算机科学、数学及管计算机软件工程应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。创建软件以达到提高质量,降低成本的目的。从学科角度来看,软件工
4、程是一门指导计算从学科角度来看,软件工程是一门指导计算机软件开发和维护的工程学科。机软件开发和维护的工程学科。第六章第六章 软件工程软件工程规划规划Planning需求分析和定义需求分析和定义Requirement Analysis and Definition软件设计软件设计Software Design程序编写程序编写Coding Programming软件测试软件测试Testing运行运行/维护维护Running/Maintenance二、软件生存期二、软件生存期Soft Life Cycle同任何事物一样,软件也有孕育、诞生、同任何事物一样,软件也有孕育、诞生、成长、成熟、衰亡的生存过
5、程,周而复始,成长、成熟、衰亡的生存过程,周而复始,即所谓的计算机软件的生存期即所谓的计算机软件的生存期第六章第六章 软件工程软件工程系系统统工程周期示意工程周期示意图图第六章第六章 软件工程软件工程规划规划总目标,给出功能,性能、可靠性以及接总目标,给出功能,性能、可靠性以及接口等方面的要求。主要任务:口等方面的要求。主要任务:制定工程发展战略制定工程发展战略可行性分析可行性分析总体方案,项目开发计划总体方案,项目开发计划第六章第六章 软件工程软件工程需求分析和定义需求分析和定义对待开发软件提出的需求进行分析并给出详对待开发软件提出的需求进行分析并给出详细的定义细的定义做什么。做什么。第六章
6、第六章 软件工程软件工程软件设计软件设计把各项需求转换成一个相应的体系结构。把各项需求转换成一个相应的体系结构。各模块都和某些需求相对应各模块都和某些需求相对应 怎么做。怎么做。总体设计和详细设计,总体设计确定系统总体设计和详细设计,总体设计确定系统的总体结构框架;而详细设计要具体地描述的总体结构框架;而详细设计要具体地描述如何具体地实现系统,通常可以依据详细设如何具体地实现系统,通常可以依据详细设计的结果进行编码。计的结果进行编码。注重注重 GIS工程工程总体设计总体设计,把错误隐患消灭在,把错误隐患消灭在工程前期。工程前期。据对美国据对美国 1977年以来的年以来的5OO个个 GIS系统调
7、系统调查表明,查表明,15%的项目在实施过程中流过产,的项目在实施过程中流过产,或完成了系统根本无法使用或完成了系统根本无法使用(Demarco and Lister,1 987),25%的项目根本不能完成的项目根本不能完成(Jones,1992),而这些项目的失败都不是,而这些项目的失败都不是技术的问题,而主要是项目的计划、规划和技术的问题,而主要是项目的计划、规划和管理的问题,经验表明,虽然有计划地开发管理的问题,经验表明,虽然有计划地开发系统不能保证其成功性,但没有计划而开发系统不能保证其成功性,但没有计划而开发的系统肯定是失败的。的系统肯定是失败的。第六章第六章 软件工程软件工程程序编
8、写程序编写是软件实现阶段。是软件实现阶段。要确定程序设计语言,要确定程序设计语言,要求编写高质量的源程序代码要求编写高质量的源程序代码第六章第六章 软件工程软件工程软件测试软件测试软件测试是指按照特定规程,发现软件错软件测试是指按照特定规程,发现软件错误的过程。误的过程。测试活动分为单元测试,集成测试,确认测试活动分为单元测试,集成测试,确认测试和系统测试。测试和系统测试。示例示例第六章第六章 软件工程软件工程运行运行/维护维护软件开发完成交付用户使用,进入运行软件开发完成交付用户使用,进入运行/维护阶段,维护阶段,仍需对软件进行修改,称为软件维护,分为:仍需对软件进行修改,称为软件维护,分为
9、:改正性维护改正性维护适应性维护适应性维护完善性维护完善性维护预防性维护预防性维护第六章第六章 软件工程软件工程三、软件生存期模型三、软件生存期模型软件生存期模型是软件开发全软件生存期模型是软件开发全部过程、活动和任务的结构框部过程、活动和任务的结构框架,清晰、直观的表达软件开架,清晰、直观的表达软件开发过程,明确规定要完成的主发过程,明确规定要完成的主要活动和任务,可作为软件项要活动和任务,可作为软件项目工作的基础。目工作的基础。第六章第六章 软件工程软件工程随着软件工程的实践,相继提随着软件工程的实践,相继提出了一系列开发模型:瀑布模出了一系列开发模型:瀑布模型;演化模型;螺旋模型;喷型;
10、演化模型;螺旋模型;喷泉模型;智能模型。泉模型;智能模型。第六章第六章 软件工程软件工程瀑布模型瀑布模型规定了自上而下、相互衔接的固定次序。在规定了自上而下、相互衔接的固定次序。在瀑布模型中,将各项活动规定为依照固定顺瀑布模型中,将各项活动规定为依照固定顺序连接的若干阶段工作,形如瀑布流水。序连接的若干阶段工作,形如瀑布流水。规规划划需求分析需求分析软软件件设计设计程序程序编编写写软软件件测试测试运行运行/维护维护第六章第六章 软件工程软件工程瀑布模型的特征是:瀑布模型的特征是:每一阶段接受上一阶段的工作结果作为每一阶段接受上一阶段的工作结果作为输入;输入;其工作输出传入下一阶段;其工作输出传
11、入下一阶段;每一阶段工作都要进行评审,得到确认每一阶段工作都要进行评审,得到确认后,才能继续下阶段工作。后,才能继续下阶段工作。瀑布模型较好地支持结构化软件开发,瀑布模型较好地支持结构化软件开发,但是缺乏灵活性,无法通过软件开发活动但是缺乏灵活性,无法通过软件开发活动澄清本来不够确切的需求。澄清本来不够确切的需求。第六章第六章 软件工程软件工程演化模型演化模型主要针对事先不能完整定义需求的软主要针对事先不能完整定义需求的软件开发。用户可以先给出核心需求,件开发。用户可以先给出核心需求,当开发人员将核心需求实现后,用户当开发人员将核心需求实现后,用户提出反馈意见,以支持系统的最终设提出反馈意见,
12、以支持系统的最终设计和实现。计和实现。第六章第六章 软件工程软件工程螺旋模型螺旋模型把整个项目分成把整个项目分成多期多期工程,保证各原型能满足运工程,保证各原型能满足运行的需要。不断完善,行的需要。不断完善,避免投资风险避免投资风险。螺旋模型是。螺旋模型是在瀑布模型以及演化模型的基础上,加入风险分析在瀑布模型以及演化模型的基础上,加入风险分析所建立的模型。所建立的模型。在每一次演化过程中,都经历四个方面的活动:在每一次演化过程中,都经历四个方面的活动:制定计划制定计划确定软件目标,选定实施方案,弄确定软件目标,选定实施方案,弄清项目开发的限制条件。清项目开发的限制条件。风险分析风险分析分析所选
13、方案,考虑如何识别和消分析所选方案,考虑如何识别和消除风险。除风险。实施工程实施工程实施软件开发。实施软件开发。客户评估客户评估评价开发工作,提出修正建议。评价开发工作,提出修正建议。第六章第六章 软件工程软件工程螺旋模型示意图螺旋模型示意图系系统统原型原型1原型原型2原型:原型:评审评审系系统统:维护维护测试测试编编程程规规划划需求分析需求分析设计设计原型原型n第六章第六章 软件工程软件工程喷泉模型喷泉模型体现了软件复用和生存期中多项开发活动的体现了软件复用和生存期中多项开发活动的集成,即面向对象的方法。集成,即面向对象的方法。喷泉模型体现了软件开发过程中所固有的迭喷泉模型体现了软件开发过程
14、中所固有的迭代和无间隙的特征。代和无间隙的特征。迭迭代代是是指指软软件件某某一一部部分分的的开开发发活活动动需需要要多多次次重重复复。相相关关功功能能在在每每次次迭迭代代中中随随之之加加入入演演进进的的系统。系统。无无间间隙隙是是指指在在开开发发活活动动,即即分分析析、设设计计和和编编码之间不存在明显的界限,码之间不存在明显的界限,第六章第六章 软件工程软件工程 喷泉模型喷泉模型演化演化维护维护确认确认实现实现设计设计分析分析软件设计与实现方法结构化方法是软件工程产生以后首先提出来的软件开发方法,来源于模块化思想,它通过至上而下、逐层细化的方法将系统划分为一个个模块,其次采取的策略是分解和抽象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 计算机 地图 制图 软件 开发 34337
限制150内