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