软件开发模型课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件开发模型课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 模型 课件
- 资源描述:
-
1、第1章 概述2022年8月6日第1页第第1章章 概述概述本章内容结构本章内容结构l本章引言本章引言l学习目标学习目标l教学内容教学内容l本章小结本章小结l思考和练习思考和练习l课堂讨论课堂讨论第1章 概述本章引言本章引言l本书将分成本书将分成3篇,全面详细地讲述软件工程的知识。篇,全面详细地讲述软件工程的知识。第第1篇按照生存周期模型详细阐述面向过程的软件工程;篇按照生存周期模型详细阐述面向过程的软件工程;第第2篇介绍面向对象软件工程的分析、设计和实现;篇介绍面向对象软件工程的分析、设计和实现;第第3篇则分别给出面向过程和面向对象软件工程队实验指导和案例。篇则分别给出面向过程和面向对象软件工程
2、队实验指导和案例。l“软件工程软件工程”一词是由北大西洋公约组织(一词是由北大西洋公约组织(North Atlantic Treaty Organization,NATO)的计算机科学家)的计算机科学家在联邦德国召开的国际会议上首次提出来的。产生软件工在联邦德国召开的国际会议上首次提出来的。产生软件工程这门学科的时代背景是程这门学科的时代背景是“软件危机软件危机”。软件工程的发展。软件工程的发展和应用不仅缓和了软件危机,而且促使一门新兴的工程学和应用不仅缓和了软件危机,而且促使一门新兴的工程学科诞生了。科诞生了。l本章将讲述软件、软件危机及软件工程的相关概念、历史本章将讲述软件、软件危机及软件
3、工程的相关概念、历史发展和开发模型。发展和开发模型。2022年8月6日第2页第1章 概述2022年8月6日第3页学习目标学习目标l掌握软件的定义、特点和分类掌握软件的定义、特点和分类l理解软件危机的定义、表现形式、产生原因及解理解软件危机的定义、表现形式、产生原因及解决途径决途径l理解和掌握软件工程的定义、目标、研究内容和理解和掌握软件工程的定义、目标、研究内容和基本原理,了解软件工程的发展史基本原理,了解软件工程的发展史l理解和掌握软件过程和软件生存周期的相关概念理解和掌握软件过程和软件生存周期的相关概念和特点和特点l了解不同软件开发模型的特点和应用范围了解不同软件开发模型的特点和应用范围l
4、理解传统软件工程和面向对象软件工程的区别与理解传统软件工程和面向对象软件工程的区别与联系联系第1章 概述2022年8月6日第4页教学内容教学内容1.1 软件和软件危机软件和软件危机 1.2 软件工程软件工程1.3 软件过程和软件生存周期软件过程和软件生存周期1.4 软件开发模型软件开发模型1.5 传统软件工程和面向对象软件工程传统软件工程和面向对象软件工程1.6 本章小结和习题本章小结和习题 第1章 概述2022年8月6日第5页1.1 软件和软件危机软件和软件危机1.1.1 软件的定义、特点及分类软件的定义、特点及分类1.1.2 软件危机的定义及表现形式软件危机的定义及表现形式1.1.3 软件
5、危机的产生原因及解决途径软件危机的产生原因及解决途径第1章 概述2022年8月6日第6页1.1.1 软件的定义、特点及分类软件的定义、特点及分类一、软件的定义一、软件的定义软件软件不是程序,而是程序、数据以及开发、使用和维护程序不是程序,而是程序、数据以及开发、使用和维护程序需要的所有文档的完整集合。需要的所有文档的完整集合。19831983年年IEEEIEEE为为软件软件下的定义是:下的定义是:计算机程序、方法、规则、计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必须的数据。相关的文档资料以及在计算机上运行程序时所必须的数据。其中的方法和规则通常是在文档中说明并在程序中实现
6、的。其中的方法和规则通常是在文档中说明并在程序中实现的。特别是当软件成为商品时,相关的文档资料是必不可少的。特别是当软件成为商品时,相关的文档资料是必不可少的。没有相关文档,仅有程序是不能称为软件产品的。没有相关文档,仅有程序是不能称为软件产品的。程序程序是为了解决某个特定问题而用程序设计语言描述的适合是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列。计算机处理的语句序列。文档文档则是软件开发活动的记录,主要供人们阅读,既可用于则是软件开发活动的记录,主要供人们阅读,既可用于专业人员和用户之间的通信和交流,也可以用于软件开发专业人员和用户之间的通信和交流,也可以用于软件开发
7、过程的管理和运行阶段的维护。过程的管理和运行阶段的维护。第1章 概述2022年8月6日第7页1.1.1 软件的定义、特点及分类软件的定义、特点及分类二、软件的特点二、软件的特点软件软件是一种特殊的产品,与传统的工业产品相比,它具有以下是一种特殊的产品,与传统的工业产品相比,它具有以下一些独特的特点一些独特的特点。(1)软件是一种逻辑产品,而不是具体的物理实体,具有抽象)软件是一种逻辑产品,而不是具体的物理实体,具有抽象性。性。(2)软件产品的生产主要是开发研制,没有明显的制造过程。)软件产品的生产主要是开发研制,没有明显的制造过程。(3)软件产品在使用过程中,不存在磨损、消耗、老化等问题)软件
8、产品在使用过程中,不存在磨损、消耗、老化等问题(4)软件产品的开发主要是脑力劳动,还未完全摆脱手工开发)软件产品的开发主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是方式,大部分产品是“定做的定做的”,生产效率低。,生产效率低。第1章 概述2022年8月6日第8页1.1.1 软件的定义、特点及分类软件的定义、特点及分类二、软件的特点二、软件的特点软件软件是一种特殊的产品,与传统的工业产品相比,它具有以下是一种特殊的产品,与传统的工业产品相比,它具有以下一些独特的特点一些独特的特点(续)(续)(5)软件产品的成本相当昂贵,软件费用不断增加,软件的研)软件产品的成本相当昂贵,软件费用不断增加
9、,软件的研制需要投入大量的人力、物力和资金,生产过程中还需对产制需要投入大量的人力、物力和资金,生产过程中还需对产品进行质量控制,对每件产品进行严格的检验。品进行质量控制,对每件产品进行严格的检验。(6)软件对硬件和环境有不同程度的依赖性,为了减少这种依)软件对硬件和环境有不同程度的依赖性,为了减少这种依赖性,在软件开发中提出了软件的可移植性问题。赖性,在软件开发中提出了软件的可移植性问题。(7)软件是复杂的。软件是人类有史以来生产的复杂度最高的)软件是复杂的。软件是人类有史以来生产的复杂度最高的工业产品,软件是一个庞大的逻辑系统。软件开发,尤其是工业产品,软件是一个庞大的逻辑系统。软件开发,
10、尤其是应用软件的开发常常涉及到其他领域的专门知识,这就对软应用软件的开发常常涉及到其他领域的专门知识,这就对软件开发人员提出了很高的要求。件开发人员提出了很高的要求。第1章 概述2022年8月6日第9页1.1.1 软件的定义、特点及分类软件的定义、特点及分类三、软件的分类三、软件的分类从计算机系统角度看,分为两大类:系统软件和应用软件。从计算机系统角度看,分为两大类:系统软件和应用软件。从计算机软件用途来划分,分为从计算机软件用途来划分,分为:服务类、维护类和操作管服务类、维护类和操作管理类。理类。第1章 概述2022年8月6日第10页1.1.2 软件危机的定义及表现形式软件危机的定义及表现形
11、式l软件危机的定义软件危机的定义指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要包含了这样两方面的问题:一是如何开发软件以满足多软件日机主要包含了这样两方面的问题:一是如何开发软件以满足多软件日益增长的需求;二是如何维护数量不断增长的已有软件。益增长的需求;二是如何维护数量不断增长的已有软件。l软件危机的典型表现形式软件危机的典型表现形式(1)对软件开发成本和研制进度的估计常常很不精确。)对软件开发成本和研制进度的估计常常很不精确。(2)“已完成已完成”的软件不能满足用户要求。的软件不能满足用户要求。(3)软件产
12、品质量差,可靠性得不到保证。)软件产品质量差,可靠性得不到保证。(4)软件产品可维护性差)软件产品可维护性差。(5)软件成本在计算机系统总成本中所占的比例逐年上升。)软件成本在计算机系统总成本中所占的比例逐年上升。(6)软件开发生产率提高的速度,远远跟不上计算机应用速度普及深入)软件开发生产率提高的速度,远远跟不上计算机应用速度普及深入的趋势。的趋势。第1章 概述1.1.3 软件危机的产生原因及解决途径软件危机的产生原因及解决途径l产生原因产生原因(1)软件是计算机系统中的逻辑部件,软件产品往往规模软件是计算机系统中的逻辑部件,软件产品往往规模庞大,结构复杂。庞大,结构复杂。(2)软件开发的管
13、理困难。软件开发的管理困难。(3)软件开发费用不断增加,维护费用急剧上升,直接威软件开发费用不断增加,维护费用急剧上升,直接威胁计算机应用的扩大。胁计算机应用的扩大。(4)软件开发技术落后。软件开发技术落后。(5)生产方式落后。生产方式落后。(6)开发工具落后,生产效率提高缓慢。开发工具落后,生产效率提高缓慢。2022年8月6日第11页第1章 概述1.1.3 软件危机的产生原因及解决途径软件危机的产生原因及解决途径l解决途径解决途径(1)首先应该对计算机软件有一个正确的认识,彻底清除)首先应该对计算机软件有一个正确的认识,彻底清除“软件就是程序软件就是程序”的错误观念。的错误观念。(2)要使用
14、好的开发技术和方法,并且要不断研究探索更)要使用好的开发技术和方法,并且要不断研究探索更好更有效的技术和方法。尽快消除在计算机系统早期发展好更有效的技术和方法。尽快消除在计算机系统早期发展阶段形成的一些错误观念和作法。阶段形成的一些错误观念和作法。(3)要有良好的组织、严密的管理,各类人员要相互配合)要有良好的组织、严密的管理,各类人员要相互配合,共同完成任务。充分认识软件开发不是某种个体劳动的,共同完成任务。充分认识软件开发不是某种个体劳动的神秘技巧。神秘技巧。(4)应该开发和使用好的软件工具。)应该开发和使用好的软件工具。2022年8月6日第12页第1章 概述2022年8月6日第13页1.
15、2 软件工程软件工程1.2.1 软件工程的定义及目标软件工程的定义及目标1.2.2 软件工程的研究内容和基本原理软件工程的研究内容和基本原理1.2.3 软件工程的发展史软件工程的发展史第1章 概述2022年8月6日第14页1.2.1 软件工程的定义及目标软件工程的定义及目标l软件工程定义软件工程定义软件工程是指导计算机软件开发和维护的一门工程学科软件工程是指导计算机软件开发和维护的一门工程学科,采采用工程的概念、原理、技术和方法来开发和维护软件。用工程的概念、原理、技术和方法来开发和维护软件。1968年的定义年的定义1993年年IEEE给出的定义给出的定义软件工程的不同定义使用了不同的词句,强
16、调的重点也有所软件工程的不同定义使用了不同的词句,强调的重点也有所差异,但是它的差异,但是它的中心思想中心思想,是把软件当作一种工业产品,是把软件当作一种工业产品,要求要求“采用工程化的原理和方法对软件进行计划、开发和采用工程化的原理和方法对软件进行计划、开发和维护。维护。”宗旨宗旨是为了提高软件生产率、降低生产成本,以是为了提高软件生产率、降低生产成本,以较小的代价获得高质量的软件产品。较小的代价获得高质量的软件产品。第1章 概述2022年8月6日第15页1.2.1 软件工程的定义及目标软件工程的定义及目标l软件工程的目标软件工程的目标1)降低软件开发成本;)降低软件开发成本;2)满足用户要
17、求的全部软件功能;)满足用户要求的全部软件功能;3)符合用户要求,令用户满意的软件性能;)符合用户要求,令用户满意的软件性能;4)具有较好的易用性、可重用性和可移植性;)具有较好的易用性、可重用性和可移植性;5)较低的维护成本,较高的可靠性;)较低的维护成本,较高的可靠性;6)按合同要求完成开发任务,即使交付用户使用。)按合同要求完成开发任务,即使交付用户使用。第1章 概述2022年8月6日第16页1.2.2 软件工程的研究内容和基本原理软件工程的研究内容和基本原理l软件工程的研究内容软件工程的研究内容软件工程的主要研究内容是指软件工程的主要研究内容是指软件开发技术软件开发技术和和软件开发过程
18、软件开发过程管理管理两个方面。两个方面。在在软件开发技术软件开发技术方面主要研究软件开发方法、软件开发过程、软方面主要研究软件开发方法、软件开发过程、软件开发工具和技术。件开发工具和技术。在在软件开发过程管理软件开发过程管理方面主要研究软件工程经济学和软件管理学。方面主要研究软件工程经济学和软件管理学。l软件工程的基本原理软件工程的基本原理 用分阶段的生存周期计划严格管理用分阶段的生存周期计划严格管理 坚持进行阶段评审坚持进行阶段评审 实行严格的产品控制实行严格的产品控制 采用现代程序设计技术采用现代程序设计技术 结果应能清楚地审查结果应能清楚地审查 开发小组人员应该少而精开发小组人员应该少而
19、精 承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性第1章 概述2022年8月6日第17页1.2.3 软件工程的发展史软件工程的发展史1.1.程序设计时代程序设计时代 1946年到1956年为程序设计年代2.程序系统时代程序系统时代 1956年到1968年为程序系统时代,或者程序+说明时代3 软件工程时代软件工程时代1968年至今为软件工程年代,或者程序+文档时代。第1章 概述2022年8月6日第18页1.3 软件工程和软件生存周期软件工程和软件生存周期1.3.1 软件过程软件过程1.3.2 软件生存周期软件生存周期第1章 概述2022年8月6日第19页1.3.1 软件过程软件
20、过程lISO 9000把软件过程定义为:把软件过程定义为:“把输入转化为输出的一把输入转化为输出的一组彼此相关的资源和活动组彼此相关的资源和活动”。l软件过程是为了获得高质量所需要完成的一系列任务的框软件过程是为了获得高质量所需要完成的一系列任务的框架,它规定了完成多项任务的工作步骤。其中框架由几个架,它规定了完成多项任务的工作步骤。其中框架由几个重要过程组成,包括用来获取、供应、开发、操作和维护重要过程组成,包括用来获取、供应、开发、操作和维护软件所用的基本的、一致的要求。各种组织和开发机构可软件所用的基本的、一致的要求。各种组织和开发机构可以根据具体情况进行选择和取舍。以根据具体情况进行选
21、择和取舍。l软件开发过程是把用户要求转化为软件需求,把软件需求软件开发过程是把用户要求转化为软件需求,把软件需求转化为设计,用代码来实现设计,对代码进行测试,完成转化为设计,用代码来实现设计,对代码进行测试,完成各阶段的文档编制并确认软件可以投入运行使用的过程。各阶段的文档编制并确认软件可以投入运行使用的过程。第1章 概述2022年8月6日第20页1.3.2 软件生存周期软件生存周期l软件生存周期是借用工程软件生存周期是借用工程中产品生存周期的概念而中产品生存周期的概念而得来的,是指某一软件项得来的,是指某一软件项目被提出来并着手实现开目被提出来并着手实现开始直到该软件报废或停止始直到该软件报
展开阅读全文