第2讲软件生命周期与软件过程模型优秀课件.ppt
《第2讲软件生命周期与软件过程模型优秀课件.ppt》由会员分享,可在线阅读,更多相关《第2讲软件生命周期与软件过程模型优秀课件.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2讲软件生命周期与软件过程模型1第1页,本讲稿共54页提纲提纲软件生命周期软件生命周期 软件过程模型软件过程模型 瀑布模型瀑布模型瀑布模型瀑布模型 演化模型演化模型演化模型演化模型 增量模型增量模型增量模型增量模型 原型模型原型模型原型模型原型模型 螺旋模型螺旋模型螺旋模型螺旋模型 (风险分析风险分析风险分析风险分析)喷泉模型喷泉模型喷泉模型喷泉模型总结总结2第2页,本讲稿共54页软件工程把整个软件开发过程视为一项工软件工程把整个软件开发过程视为一项工程,把整个工程分成若干个阶段,制定每程,把整个工程分成若干个阶段,制定每个阶段的计划,逐个实施。个阶段的计划,逐个实施。V模型模型3第3页,本
2、讲稿共54页用户用户需求获取需求获取需求规需求规约约需需求求描描述述需求分析需求分析设计设计设计规设计规约约详细设计详细设计模块设模块设计书计书编码编码程序程序已测试已测试模块模块单元测试单元测试集成集成已集成已集成软件软件集成测试集成测试软件软件确认测试确认测试已已确确认认的的软件软件运行测试运行测试软件产软件产品品评评审审评评审审评评审审评评审审评评审审静静态态检检查查测试用例测试用例集成计划集成计划建立文档建立文档软件开发软件开发V模型模型评评审审评评审审评评审审4第4页,本讲稿共54页制定计划制定计划确定要开发软件系统的确定要开发软件系统的总目标总目标给出给出功能功能、性能性能、可靠性
3、可靠性以及以及接口接口等方面等方面的要求的要求完成该软件任务的完成该软件任务的可行性研究可行性研究估计可利用的估计可利用的资源资源(硬件、软件、人力等硬件、软件、人力等)、成本成本、效益效益、开发进度开发进度制定出完成开发任务的制定出完成开发任务的实施计划实施计划,连同,连同可可行性研究报告行性研究报告,提交管理部门审查,提交管理部门审查5第5页,本讲稿共54页需求分析和定义需求分析和定义对用户提出的要求进行分析并给出详细的定对用户提出的要求进行分析并给出详细的定义义编写编写软件需求说明书软件需求说明书或或系统功能说明书系统功能说明书及及初初步的系统用户手册步的系统用户手册评审评审6第6页,本
4、讲稿共54页软件设计软件设计概要设计概要设计 把各项需求转换成把各项需求转换成软件的体系软件的体系结构结构。结构中每一组成部分都是意义明确的。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应。模块,每个模块都和某些需求相对应。详细设计详细设计 对每个模块要完成的工作进行对每个模块要完成的工作进行具体的描述,为源程序编写打下基础。具体的描述,为源程序编写打下基础。编写编写设计说明书设计说明书,提交,提交评审评审。7第7页,本讲稿共54页程序编写程序编写(软件实现软件实现)把软件设计转换成计算机可以接受的程序代把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言
5、表示码,即写成以某一种特定程序设计语言表示的的“源程序清单源程序清单”写出的程序应当结构良好、清晰易读,且与写出的程序应当结构良好、清晰易读,且与设计相一致设计相一致8第8页,本讲稿共54页软件测试软件测试单元测试单元测试,查找各模块在功能和结构上存,查找各模块在功能和结构上存在的问题并加以纠正在的问题并加以纠正集成测试集成测试,将已测试过的模块按一定顺序,将已测试过的模块按一定顺序组装起来组装起来按规定的各项需求,逐项进行按规定的各项需求,逐项进行有效性测试有效性测试,决定已开发的软件是否合格,能否交付用决定已开发的软件是否合格,能否交付用户使用户使用9第9页,本讲稿共54页运行运行/维护维
6、护改正性维护改正性维护 运行中发现了软件中的错误需运行中发现了软件中的错误需要修正要修正适应性维护适应性维护 为了适应变化了的软件工作环为了适应变化了的软件工作环境,需做适当变更境,需做适当变更完善性维护完善性维护 为了增强软件的功能需做变更为了增强软件的功能需做变更预防性维护预防性维护“把今天的方法学用于昨天的系把今天的方法学用于昨天的系统以满足明天的需要统以满足明天的需要”。为进一步改进软件。为进一步改进软件打基础打基础10第10页,本讲稿共54页软件生命周期软件生命周期 教材教材教材教材P7P7 软件有一个孕育、诞生、成长、成熟、衰亡的生存过软件有一个孕育、诞生、成长、成熟、衰亡的生存过
7、软件有一个孕育、诞生、成长、成熟、衰亡的生存过软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生命周期。程。这个过程即为计算机软件的生命周期。程。这个过程即为计算机软件的生命周期。程。这个过程即为计算机软件的生命周期。软件生命周期的六个步骤,即软件生命周期的六个步骤,即软件生命周期的六个步骤,即软件生命周期的六个步骤,即制定计划、需求分析、设制定计划、需求分析、设制定计划、需求分析、设制定计划、需求分析、设计、程序编码、测试计、程序编码、测试计、程序编码、测试计、程序编码、测试及及及及运行维护运行维护运行维护运行维护。11第11页,本讲稿共54页软件过程软件过程12第
8、12页,本讲稿共54页软件过程模型软件过程模型软件过程模型软件过程模型 是制作软件产品的一组活动是制作软件产品的一组活动以及结果,这些活动主要由软件人员来完以及结果,这些活动主要由软件人员来完成。成。软件活动软件活动 主要有:主要有:软件描述软件描述软件描述软件描述 定义软件功能及使用的限制定义软件功能及使用的限制定义软件功能及使用的限制定义软件功能及使用的限制 软件开发软件开发软件开发软件开发 软件的设计和实现软件的设计和实现软件的设计和实现软件的设计和实现 软件有效性验证软件有效性验证软件有效性验证软件有效性验证 保证能够满足客户的需要保证能够满足客户的需要保证能够满足客户的需要保证能够满
9、足客户的需要 软件进化软件进化软件进化软件进化 软件随着客户需求的变化不断的改进软件随着客户需求的变化不断的改进软件随着客户需求的变化不断的改进软件随着客户需求的变化不断的改进13第13页,本讲稿共54页软件过程模型软件过程模型瀑布模型瀑布模型演化模型:增量模型、原型模型、螺旋模型演化模型:增量模型、原型模型、螺旋模型喷泉模型喷泉模型统一过程模型统一过程模型敏捷开发敏捷开发14第14页,本讲稿共54页瀑布模型瀑布模型 教材教材P18主要思想主要思想软件开发过程与软件生命周期是一致的软件开发过程与软件生命周期是一致的相邻二阶段之间存在因果关系相邻二阶段之间存在因果关系需对阶段性产品进行评审需对阶
10、段性产品进行评审15第15页,本讲稿共54页16第16页,本讲稿共54页瀑布模型在软件工程中占有重要的地位瀑布模型在软件工程中占有重要的地位局限性局限性 缺乏灵活性,如用户需求一开始很难确缺乏灵活性,如用户需求一开始很难确定定 到最后阶段才能得到可运行的软件版本到最后阶段才能得到可运行的软件版本到最后阶段才能得到可运行的软件版本到最后阶段才能得到可运行的软件版本17第17页,本讲稿共54页带有反馈的瀑布模型带有反馈的瀑布模型18第18页,本讲稿共54页需求分析需求分析设计设计编码编码测试测试软件缺陷产生的原因软件缺陷产生的原因19第19页,本讲稿共54页演化模型演化模型 教材教材教材教材P20
11、P20两个概念两个概念原型原型软件演化软件演化(进化进化)20第20页,本讲稿共54页演化模型之演化模型之 增量模型增量模型项目日历时间项目日历时间软软件件功功能能性性和和特特征征1 12 23 34 45 5第第2 2次增量发布次增量发布增量增量2 21 12 23 34 45 5第第n n次增量发布次增量发布增量增量n n1 12 23 34 45 5第第1 1次增量发布次增量发布增量增量1 15 5部署(发布,反馈)部署(发布,反馈)4 4构造(编码,测试)构造(编码,测试)3 3建模(分析,设计)建模(分析,设计)2 2计划计划1 1交流交流21第21页,本讲稿共54页演化模型之演化模
12、型之 增量模型增量模型项目日历时间项目日历时间软软件件功功能能性性和和特特征征1 12 23 34 45 5第第2 2次增量发布次增量发布增量增量2 21 12 23 34 45 5第第n n次增量发布次增量发布增量增量n n1 12 23 34 45 5第第1 1次增量发布次增量发布增量增量1 15 5部署(发布,反馈)部署(发布,反馈)4 4构造(编码,测试)构造(编码,测试)3 3建模(分析,设计)建模(分析,设计)2 2计划计划1 1交流交流22第22页,本讲稿共54页例如利用增量模型开发字处理软件例如利用增量模型开发字处理软件 第第第第1 1个增量中提供基本的文件管理、编辑和文档生成
13、个增量中提供基本的文件管理、编辑和文档生成个增量中提供基本的文件管理、编辑和文档生成个增量中提供基本的文件管理、编辑和文档生成的功能;的功能;的功能;的功能;第第第第2 2个增量中提供复杂的编辑和文档生成功能;个增量中提供复杂的编辑和文档生成功能;个增量中提供复杂的编辑和文档生成功能;个增量中提供复杂的编辑和文档生成功能;第第第第3 3个增量中提供拼写和语法检查功能;个增量中提供拼写和语法检查功能;个增量中提供拼写和语法检查功能;个增量中提供拼写和语法检查功能;第第第第4 4个增量中提供高级页面排版功能个增量中提供高级页面排版功能个增量中提供高级页面排版功能个增量中提供高级页面排版功能23第2
14、3页,本讲稿共54页 增量模型将软件的开发过程分成若干个日程时间交增量模型将软件的开发过程分成若干个日程时间交增量模型将软件的开发过程分成若干个日程时间交增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发错的线性序列,每个线性序列产生软件的一个可发错的线性序列,每个线性序列产生软件的一个可发错的线性序列,每个线性序列产生软件的一个可发布的布的布的布的“增量增量增量增量”版本,后一个版本是对前一版本的修版本,后一个版本是对前一版本的修版本,后一个版本是对前一版本的修版本,后一个版本是对前一版本的修改和补充,重复增量发布的过程,直至产生最终的改和补充,重复增量
15、发布的过程,直至产生最终的改和补充,重复增量发布的过程,直至产生最终的改和补充,重复增量发布的过程,直至产生最终的完善产品。完善产品。完善产品。完善产品。增量模型融合了瀑布模型的基本成分(重复地应用)增量模型融合了瀑布模型的基本成分(重复地应用)增量模型融合了瀑布模型的基本成分(重复地应用)增量模型融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征和演化模型的迭代特征和演化模型的迭代特征和演化模型的迭代特征 增量模型强调每一个增量都发布一个可运行的产品增量模型强调每一个增量都发布一个可运行的产品增量模型强调每一个增量都发布一个可运行的产品增量模型强调每一个增量都发布一个可运行的产品(第
16、一个增量是核心产品)第一个增量是核心产品)第一个增量是核心产品)第一个增量是核心产品)24第24页,本讲稿共54页增量模型特别适用于:增量模型特别适用于:需求经常变化的软件开发需求经常变化的软件开发 市场急需而开发人员和资金不能在设定的市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品的软件开市场期限之前实现一个完善的产品的软件开发发增量模型能有计划地管理技术风险,如早期增量模型能有计划地管理技术风险,如早期增量版本中避免采用尚未成熟的技术增量版本中避免采用尚未成熟的技术25第25页,本讲稿共54页演化模型之演化模型之 原型模型原型模型26第26页,本讲稿共54页原型应该包括目
17、标系统的关键问题和反映原型应该包括目标系统的关键问题和反映目标系统的大致面貌,展示目标系统的全目标系统的大致面貌,展示目标系统的全部或部分功能、性能部或部分功能、性能原型模型两个阶段原型模型两个阶段(1)原型开发阶段)原型开发阶段(2)目标软件开发阶段)目标软件开发阶段27第27页,本讲稿共54页原型的使用策略:原型的使用策略:废弃(废弃(废弃(废弃(throw awaythrow away)策略)策略)策略)策略 主要用于主要用于主要用于主要用于探索型探索型探索型探索型和和和和实验型实验型实验型实验型原型的开发。这些原型关注于原型的开发。这些原型关注于原型的开发。这些原型关注于原型的开发。这
18、些原型关注于目标系统的某些特性,而不是全部特性,开发这些原型时目标系统的某些特性,而不是全部特性,开发这些原型时目标系统的某些特性,而不是全部特性,开发这些原型时目标系统的某些特性,而不是全部特性,开发这些原型时通常不考虑与探索或实验目的无关的功能、质量、结构等通常不考虑与探索或实验目的无关的功能、质量、结构等通常不考虑与探索或实验目的无关的功能、质量、结构等通常不考虑与探索或实验目的无关的功能、质量、结构等因素,这种原型通常被废丢,然后根据探索或实验的结果因素,这种原型通常被废丢,然后根据探索或实验的结果因素,这种原型通常被废丢,然后根据探索或实验的结果因素,这种原型通常被废丢,然后根据探索
19、或实验的结果用良好的结构和设计思想重新设计目标系统。用良好的结构和设计思想重新设计目标系统。用良好的结构和设计思想重新设计目标系统。用良好的结构和设计思想重新设计目标系统。追加(追加(追加(追加(add onadd on)策略)策略)策略)策略 主要用于演化型原型的开发。这种原型通常是实现了主要用于演化型原型的开发。这种原型通常是实现了主要用于演化型原型的开发。这种原型通常是实现了主要用于演化型原型的开发。这种原型通常是实现了目标系统中已明确定义的特性的一个子集,通过对它的不目标系统中已明确定义的特性的一个子集,通过对它的不目标系统中已明确定义的特性的一个子集,通过对它的不目标系统中已明确定义
20、的特性的一个子集,通过对它的不断修改和扩充,逐步追加新的要求,最后使其演化成最终断修改和扩充,逐步追加新的要求,最后使其演化成最终断修改和扩充,逐步追加新的要求,最后使其演化成最终断修改和扩充,逐步追加新的要求,最后使其演化成最终的目标系统。的目标系统。的目标系统。的目标系统。28第28页,本讲稿共54页使用原型法需注意:使用原型法需注意:(1 1)用户对系统模糊不清,无法准确回答目标系统的需求)用户对系统模糊不清,无法准确回答目标系统的需求)用户对系统模糊不清,无法准确回答目标系统的需求)用户对系统模糊不清,无法准确回答目标系统的需求 (2 2)要有一定的开发环境和工具支持)要有一定的开发环
21、境和工具支持)要有一定的开发环境和工具支持)要有一定的开发环境和工具支持(3 3)经过对原型的若干次修改,应)经过对原型的若干次修改,应)经过对原型的若干次修改,应)经过对原型的若干次修改,应收敛收敛收敛收敛到目标范围内,否到目标范围内,否到目标范围内,否到目标范围内,否则可能失败则可能失败则可能失败则可能失败(4 4)对大型软件而言,原型可能非常复杂而难以快速形成,)对大型软件而言,原型可能非常复杂而难以快速形成,)对大型软件而言,原型可能非常复杂而难以快速形成,)对大型软件而言,原型可能非常复杂而难以快速形成,若没有现成的,不应考虑采用该方法若没有现成的,不应考虑采用该方法若没有现成的,不
22、应考虑采用该方法若没有现成的,不应考虑采用该方法29第29页,本讲稿共54页优点优点有助于获取用户需求,加强对需求的理解有助于获取用户需求,加强对需求的理解有助于获取用户需求,加强对需求的理解有助于获取用户需求,加强对需求的理解尽早发现软件中的错误尽早发现软件中的错误尽早发现软件中的错误尽早发现软件中的错误支持需求的动态变化支持需求的动态变化支持需求的动态变化支持需求的动态变化适合于需求动态变化、事先难以确定的系统适合于需求动态变化、事先难以确定的系统适合于需求动态变化、事先难以确定的系统适合于需求动态变化、事先难以确定的系统局限性局限性不能支持风险分析不能支持风险分析不能支持风险分析不能支持
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 生命周期 过程 模型 优秀 课件
限制150内