软件工程概述课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程概述课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 概述 课件
- 资源描述:
-
1、第一章第一章 软件工程概述软件工程概述 学习目标:学习目标:掌握:软件和软件工程的基本概念、软件开发掌握:软件和软件工程的基本概念、软件开发 的瀑布型模型的瀑布型模型 了解:软件生存周期及软件开发的各种模型了解:软件生存周期及软件开发的各种模型 学习要点:学习要点:软件、软件工程、软件生存周期和软件开发的软件、软件工程、软件生存周期和软件开发的 模型(瀑布型和螺线型)模型(瀑布型和螺线型)1.1 软件的概念、特点和分类软件的概念、特点和分类 软件的概念软件的概念 软件软件是计算机系统中与硬件相互依存的是计算机系统中与硬件相互依存的另一部份,它是包括程序、数据及其相另一部份,它是包括程序、数据及
2、其相关文档的完整集合。关文档的完整集合。软件的特点软件的特点 软件是一种逻辑实体,而不是具体的物理实体,因软件是一种逻辑实体,而不是具体的物理实体,因此它具有抽象性。此它具有抽象性。软件一旦研制成功,以后就可以大量复制,即它的软件一旦研制成功,以后就可以大量复制,即它的研制成本远远大于它的生产成本。软件故障往往是研制成本远远大于它的生产成本。软件故障往往是在开发时产生,所以要保证软件的质量,必须重视在开发时产生,所以要保证软件的质量,必须重视软件的开发过程。软件的开发过程。在软件的运行和使用期间,没有硬件那样的机械磨在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。损、老化问题。软件的
3、开发和运行经常受到计算机系统的限制,对软件的开发和运行经常受到计算机系统的限制,对计算机系统有不同程度的依赖性。计算机系统有不同程度的依赖性。软件的开发至今尚未完全摆脱手工的开发方式。软件的开发至今尚未完全摆脱手工的开发方式。软件的开发费用越来越高,成本相当昂贵。软件的开发费用越来越高,成本相当昂贵。软件的分类软件的分类 按软件的功能进行划分按软件的功能进行划分 系统软件系统软件:能与计算机硬件紧密配合在一能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软起,使计算机系统各个部件、相关的软件和数据协调、高效地工作的软件。件和数据协调、高效地工作的软件。支撑软件支撑软件:是协助用户开发
4、软件的工具性是协助用户开发软件的工具性软件,其中包括帮助程序人员开发软件软件,其中包括帮助程序人员开发软件产品的工具,也包括帮助管理人员控制产品的工具,也包括帮助管理人员控制开发的进程的工具。开发的进程的工具。按软件规模进行划分按软件规模进行划分 微型微型:一个人在几天之内完成的软件。写出的程序一个人在几天之内完成的软件。写出的程序不到不到5百行语句百行语句。小型小型:一个人半年之内完成的一个人半年之内完成的2千行以内的程序。千行以内的程序。中型中型:5个人以内在一年多时间里完成的个人以内在一年多时间里完成的5千到千到5万万行的程序。行的程序。大型大型:5至至10个人在两年多的时间里完成的个人
5、在两年多的时间里完成的5万到万到10万行的程序。万行的程序。甚大型甚大型:100至至1000人参加用人参加用4到到5年时间完成的具年时间完成的具有有100万行程序的软件项目。万行程序的软件项目。极大型极大型:2000人到人到5000人参加,人参加,10年内完成的年内完成的1000万行以内的程序。万行以内的程序。按软件工作方式划分按软件工作方式划分 实时处理软件实时处理软件:指在事件或数据产生时,应立指在事件或数据产生时,应立即在规定的时间里予以处理,并及时反馈信号,即在规定的时间里予以处理,并及时反馈信号,控制需要监测和控制的过程的软件。控制需要监测和控制的过程的软件。分时软件分时软件:允许多
6、个联机用户同时使用计算机。允许多个联机用户同时使用计算机。系统把处理机时间轮流分配给各联机用户,使系统把处理机时间轮流分配给各联机用户,使各用户都感到只是自已在使用计算机的软件。各用户都感到只是自已在使用计算机的软件。交互式软件交互式软件:能实现人机通信的软件。能实现人机通信的软件。批处理软件批处理软件:把一组输入作业或一批数据以成把一组输入作业或一批数据以成批处理的方式一次运行,按顺序逐个处理完的批处理的方式一次运行,按顺序逐个处理完的软件。这是最传统的工作方式。软件。这是最传统的工作方式。按软件服务对象的范围划分按软件服务对象的范围划分 项目软件:也称定制软件,是受某个特项目软件:也称定制
7、软件,是受某个特定客户定客户(或少数客户或少数客户)的委托,由一个或的委托,由一个或多个软件开发机构在合同的约束下开发多个软件开发机构在合同的约束下开发出来的软件。出来的软件。产品软件产品软件:直接提供给市场的软件。:直接提供给市场的软件。1.2 软件的发展和软件危机软件的发展和软件危机软件经历了三个发展阶段软件经历了三个发展阶段:程序设计阶段,约为程序设计阶段,约为50至至60年代年代 程序系统阶段,约为程序系统阶段,约为60至至70年代年代 软件工程阶段,约为软件工程阶段,约为70年代以后年代以后软件危机软件危机 在软件发展的第二阶段,随着计算机硬件技术在软件发展的第二阶段,随着计算机硬件
8、技术的进步,计算机的容量、速度和可靠性有了明的进步,计算机的容量、速度和可靠性有了明显的提高,生产硬件的成本降低了。计算机价显的提高,生产硬件的成本降低了。计算机价格的下跌为它的广泛应用创造了极好的条件。格的下跌为它的广泛应用创造了极好的条件。在这一形式下,要求软件能与之相适应。然而在这一形式下,要求软件能与之相适应。然而软件技术的进步一直未能满足形式发展提出的软件技术的进步一直未能满足形式发展提出的要求。在软件开发中遇到的问题找不到解决的要求。在软件开发中遇到的问题找不到解决的办法,致使问题积累起来,形成日益尖锐的矛办法,致使问题积累起来,形成日益尖锐的矛盾。软件开发时期所面临的这种状态就是
9、所谓盾。软件开发时期所面临的这种状态就是所谓的的软件危机软件危机。软件危机中遇到的问题软件危机中遇到的问题 软件开发无计划性软件开发无计划性 软件需求不充分软件需求不充分 软件开发过程无规范软件开发过程无规范 软件产品无评测手段软件产品无评测手段 软件危机定义软件危机定义软件危机指的是软件开发和维护过程软件危机指的是软件开发和维护过程中遇到的一系列严重问题。中遇到的一系列严重问题。(1)软件危机的表现)软件危机的表现 产品不符合用户的实际需要。产品不符合用户的实际需要。软件开发生产率提高的速度远远不软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低能满足客观需要,软件的生产率远远
10、低于硬件生产率和计算机应用的增长,使于硬件生产率和计算机应用的增长,使人们不能充分利用现代计算机硬件提供人们不能充分利用现代计算机硬件提供的巨大潜力。的巨大潜力。软件产品的质量差。软件产品的质量差。对软件开发成本和进度的估计常常不准对软件开发成本和进度的估计常常不准确。确。软件的可维护性差。软件的可维护性差。软件文档资料通常既不完整也不合格。软件文档资料通常既不完整也不合格。软件的价格昂贵,软件成本在计算机系软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。统总成本中所占的比例逐年上升。(2)产生软件危机的原因)产生软件危机的原因软件不同于硬件,它是计算机系统中的软件不同于硬件,
11、它是计算机系统中的逻辑部件而不是物理部件。在写出程序代逻辑部件而不是物理部件。在写出程序代码并在计算机上试运行之前,很难检验开码并在计算机上试运行之前,很难检验开发的正确性,而且软件开发的质量也较难发的正确性,而且软件开发的质量也较难评价。评价。软件不同于一般程序,它的一个显著特软件不同于一般程序,它的一个显著特点是规模庞大。点是规模庞大。虽然软件本身独有的特点确实给开发和虽然软件本身独有的特点确实给开发和维护带来一些客观困难,但是人们在开发维护带来一些客观困难,但是人们在开发和使用计算机系统的长期实践中,也确实和使用计算机系统的长期实践中,也确实积累和总结出了许多成功的经验。积累和总结出了许
展开阅读全文