《计算机软件及应用软件开发生命周期课件》由会员分享,可在线阅读,更多相关《计算机软件及应用软件开发生命周期课件(48页珍藏版)》请在金锄头文库上搜索。
1、软件工程与项目管理软件工程与项目管理第三章第三章软件项目生命周期模型软件项目生命周期模型8/6/20240计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义q二、常用生存期模型二、常用生存期模型q三、案例分析三、案例分析8/6/20241计算机软件及应用软件开发生命周期建筑工程类项目典型生存期模型建筑工程类项目典型生存期模型8/6/20242计算机软件及应用软件开发生命周期软件生命周期软软件件生生命命周周期期(SDLDSDLD) 是指从软件开始开发到报废的全过程,亦称软软件件生生存存期期(life life cyclecycle)。一般用经典的瀑布模型来描述。8/6/2024
2、3计算机软件及应用软件开发生命周期GB8567中规定,软件生命周期分为中规定,软件生命周期分为7个阶段:个阶段:1.可行性研究和项目开发计划可行性研究和项目开发计划2.需求分析需求分析3.概要设计概要设计4.详细设计详细设计5.编码编码6.测试测试7.维护维护8/6/20244计算机软件及应用软件开发生命周期 在大部分文献中将生存周期划分为5个阶段,即需求定义、设计、编码、测试及维护。其中需求定义阶段包括可行性研究和项目开发计划、需求分析,设计阶段包括概要设计和详细设计。 为了描述软件生存期的活动,提出了生存期模型。8/6/20245计算机软件及应用软件开发生命周期软件生存期模型软件生存期模型
3、q软件开发的一种框架。软件开发的一种框架。q说明了软件的活动和进行软件开发的过程。说明了软件的活动和进行软件开发的过程。8/6/20246计算机软件及应用软件开发生命周期软件生存期模型特征软件生存期模型特征q描述了开发的主要阶段描述了开发的主要阶段q定义了每一个阶段要完成的主要过程和活动定义了每一个阶段要完成的主要过程和活动q规范了每一个阶段的输入和输出规范了每一个阶段的输入和输出q提供了一个框架,可以将必要的活动映射到该框提供了一个框架,可以将必要的活动映射到该框架中。架中。8/6/20247计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存
4、期模型q三、案例分析三、案例分析8/6/20248计算机软件及应用软件开发生命周期常用生存期模型常用生存期模型q瀑布瀑布WaterfallWaterfallqV V模型模型V-shapedV-shapedq原型原型PrototypingPrototypingq增量增量IncrementalIncrementalq螺旋螺旋式式SpiralSpiralq快速应用开发快速应用开发RADRADq渐近式阶段渐近式阶段8/6/20249计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存期模型二、常用生存期模型q瀑布qV模型q原型q增量q螺旋式q快速应用开发
5、q渐近式阶段q三、案例分析三、案例分析8/6/202410计算机软件及应用软件开发生命周期WaterFall modelWaterFall model瀑布模型是将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型。8/6/202411计算机软件及应用软件开发生命周期WaterFall modelWaterFall model需求分析设计实施测试维护8/6/202412计算机软件及应用软件开发生命周期8/6/202413计算机软件及应用软件开发生命周期WaterFall modelWaterFall model适合的项目适合的项目q项目的需求在项目开始前很明确项目的需求在项目开始前很明确q解
6、决方案在项目开始前也很明确解决方案在项目开始前也很明确q类似的项目如:类似的项目如:q公司的财务系统q库存管理系统q短期项目短期项目8/6/202414计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存期模型二、常用生存期模型q瀑布qV模型q原型q增量q螺旋式q快速应用开发q渐近式阶段q三、案例分析三、案例分析8/6/202415计算机软件及应用软件开发生命周期V V模型模型接收测试集成测试系统测试项目规化需求分析总体设计详细设计编码和调试集成测试单元测试8/6/202416计算机软件及应用软件开发生命周期V V模型模型适合的项目模型模型适合的
7、项目q项目的需求在项目开始前很明确项目的需求在项目开始前很明确q解决方案在项目开始前也很明确解决方案在项目开始前也很明确q对系统的性能安全很严格的项目对系统的性能安全很严格的项目q类似的项目如:类似的项目如:q航天飞机等q公司的财务系统8/6/202417计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存期模型二、常用生存期模型q瀑布qV模型q原型q增量q螺旋式q快速应用开发q渐近式阶段q三、案例分析三、案例分析8/6/202418计算机软件及应用软件开发生命周期PrototypePrototype8/6/202419计算机软件及应用软件开发生
8、命周期Prototype Prototype 模型适合的项目模型适合的项目q项目的需求在项目开始前不明确项目的需求在项目开始前不明确q需要减少项目需求的不确定性需要减少项目需求的不确定性q类似的项目如:类似的项目如:q确定显示界面q第一次开发的产品,验证可行性8/6/202420计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存期模型二、常用生存期模型q瀑布qV模型q原型q增量q螺旋式q快速应用开发q渐近式阶段q三、案例分析三、案例分析8/6/202421计算机软件及应用软件开发生命周期Incremental ModelIncremental
9、Model核心功能核心功能112123第一增量第二增量第三增量核心功能1121238/6/202422计算机软件及应用软件开发生命周期增量模型适合的项目增量模型适合的项目q项目开始,明确了需求的大部分,但是需求可能项目开始,明确了需求的大部分,但是需求可能会发生变化会发生变化q对于市场和用户把握不是很准,需要逐步了解对于市场和用户把握不是很准,需要逐步了解q对于有庞大和复杂功能的系统进行功能改进,就对于有庞大和复杂功能的系统进行功能改进,就需要一步一步实施的需要一步一步实施的8/6/202423计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存
10、期模型二、常用生存期模型q瀑布qV模型q原型q增量q螺旋式q快速应用开发q渐近式阶段q三、案例分析三、案例分析8/6/202424计算机软件及应用软件开发生命周期Spiral ModelSpiral Model8/6/202425计算机软件及应用软件开发生命周期Spiral ModelSpiral Modelq螺旋模型沿着螺线旋转,在四个象限上分别表达螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:了四个方面的活动,即:q制定计划制定计划确定软件目标,需求和选定实施方确定软件目标,需求和选定实施方案,弄清项目开发的限制条件案,弄清项目开发的限制条件q风险分析风险分析评估所选方案
11、,考虑如何识别和消评估所选方案,考虑如何识别和消除风险除风险q实施工程实施工程实施软件开发,编码,测试等实施软件开发,编码,测试等q客户评估客户评估评价开发工作,提出修正建议,规评价开发工作,提出修正建议,规划下期任务划下期任务8/6/202426计算机软件及应用软件开发生命周期Spiral ModelSpiral Model适合的项目适合的项目q风险是主要的制约因素风险是主要的制约因素q不确定因素和风险限制了项目进度不确定因素和风险限制了项目进度q用户对自己的需求也不是很明确用户对自己的需求也不是很明确q需要对一些基本的概念进行验证需要对一些基本的概念进行验证q可能发生一些重大的变更可能发生
12、一些重大的变更q项目规模很大项目规模很大q项目中采用了新技术项目中采用了新技术8/6/202427计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存期模型二、常用生存期模型q瀑布qV模型q原型q增量q螺旋式q快速应用开发q渐近式阶段q三、案例分析三、案例分析8/6/202428计算机软件及应用软件开发生命周期RARA8/6/202429计算机软件及应用软件开发生命周期RADRAD规划分析设计构建测试规划后置传统开发快速应用开发后置压缩8/6/202430计算机软件及应用软件开发生命周期RADRAD模型适合的项目模型适合的项目q很小并且具有探索性
13、质的项目很小并且具有探索性质的项目q适合一个复杂度从小到大变化的项目,例如重适合一个复杂度从小到大变化的项目,例如重整企业的信息系统整企业的信息系统8/6/202431计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存期模型二、常用生存期模型q瀑布qV模型q原型q增量q螺旋式q快速应用开发q渐近式阶段q三、案例分析三、案例分析8/6/202432计算机软件及应用软件开发生命周期最常用的渐进式阶段模型最常用的渐进式阶段模型综合了增量模型和螺旋式模型的一个实用模型综合了增量模型和螺旋式模型的一个实用模型q渐进式前进渐进式前进q阶段式提交阶段式提交8
14、/6/202433计算机软件及应用软件开发生命周期渐进式迭代模型 348/6/202434计算机软件及应用软件开发生命周期阶段性完成规划阶段性完成规划8/6/202435计算机软件及应用软件开发生命周期渐进式阶段模型的特点渐进式阶段模型的特点q阶段式提交一个可运行的产品阶段式提交一个可运行的产品q关键的功能更早出现关键的功能更早出现q早期预警问题,避免软件缺陷不知不觉的增长早期预警问题,避免软件缺陷不知不觉的增长q减少报告负担减少报告负担q阶段性完成可以降低估计失误阶段性完成可以降低估计失误q阶段性完成均衡了弹性与效率阶段性完成均衡了弹性与效率8/6/202436计算机软件及应用软件开发生命周
15、期渐进式阶段模型适合的项目渐进式阶段模型适合的项目q可以适合任何规模的项目,主要是中型或可以适合任何规模的项目,主要是中型或大型项目大型项目q希望随时看到未来的项目希望随时看到未来的项目8/6/202437计算机软件及应用软件开发生命周期银行业务系统的生存期实例银行业务系统的生存期实例产品阶段1设计业务需求分析原形系统分析项目规划集成测试产品阶段1开发产品阶段n设计产品阶段n开发确认测试产品提交银行业务需求原形系统源代码项目规划项目规划8/6/202438计算机软件及应用软件开发生命周期产品阶段1设计q阶段目标:阶段目标:设计公共控制系统功能模块设计公共控制系统功能模块q输入:输入:系统设计文
16、件系统设计文件q数据库结构定义数据库结构定义q过程:过程:详细设计详细设计q输出:输出:详细设计文件详细设计文件q时间计划:时间计划:2001/1/15-2001/2/152001/1/15-2001/2/15(暂定)(暂定) 8/6/202439计算机软件及应用软件开发生命周期其它模型其它模型q其他其他q例如:Code and fixq自定义自定义8/6/202440计算机软件及应用软件开发生命周期Code and fixCode and fix需求了解编码、走查编译、检错修正编写文档提交修正测试8/6/202441计算机软件及应用软件开发生命周期选择生存期的步骤选择生存期的步骤q熟悉各种生
17、存期模型熟悉各种生存期模型q评审、分析项目的特性评审、分析项目的特性q选择适合项目的生存期模型选择适合项目的生存期模型q标识生存期模型与项目不一致地方标识生存期模型与项目不一致地方, ,并进行裁减并进行裁减8/6/202442计算机软件及应用软件开发生命周期RationalRational统一开发过程统一开发过程8/6/202443计算机软件及应用软件开发生命周期本章要点本章要点q一、生存期模型定义一、生存期模型定义q二、常用生存期模型二、常用生存期模型q三、案例分析8/6/202444计算机软件及应用软件开发生命周期案例分析案例分析q“SchoolSchool项目项目”应该采用什么应该采用什
18、么生存期模型生存期模型?8/6/202445计算机软件及应用软件开发生命周期 学生成绩管理主要包括数据维护、成绩查学生成绩管理主要包括数据维护、成绩查询和成绩统计等三大功能模块。其中数据询和成绩统计等三大功能模块。其中数据维护应实现班级、学生、课程和课程成绩维护应实现班级、学生、课程和课程成绩等信息的录入、修改和删除等功能;成绩等信息的录入、修改和删除等功能;成绩查询包括按学生查询其所有课程的成绩、查询包括按学生查询其所有课程的成绩、按课程查询所有学生的成绩、按课程和班按课程查询所有学生的成绩、按课程和班级查询所有学生的成绩;成绩统计包括按级查询所有学生的成绩;成绩统计包括按学生统计学分、平均成绩、班级名次和不学生统计学分、平均成绩、班级名次和不及格课程门数,按课程统计学生平均成绩、及格课程门数,按课程统计学生平均成绩、及格率、优良率(及格率、优良率(80及以上为优良)。及以上为优良)。8/6/202446计算机软件及应用软件开发生命周期按照以上需求陈述,回答以下问题。如果采用增量模型开发上述系统,请画图表示该系统的生命周期模型?根据学生成绩管理系统的功能要求,对系统进行分解,建立系统的WBS?8/6/202447计算机软件及应用软件开发生命周期