资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
gaoyingscut.edu.cn1第二章第二章第二章第二章 软件生存周期软件生存周期软件生存周期软件生存周期(software Life cyclesoftware Life cycle)计算机科学与工程学院计算机科学与工程学院计算机科学与工程学院计算机科学与工程学院School of Computer Science & EngineeringSchool of Computer Science & Engineeringgaoyingscut.edu.cn2 (Software Life Cycle) 软件有一个孕育、诞生、成长、成熟、衰软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件亡的生存过程。这个过程即为计算机软件的生存期。的生存期。软件生存周期软件生存周期gaoyingscut.edu.cn3问题定义问题定义问题定义问题定义技术开发技术开发技术开发技术开发方案综述方案综述方案综述方案综述状态描述状态描述状态描述状态描述软件开发是一个问题循环解决的过程软件开发是一个问题循环解决的过程gaoyingscut.edu.cn4状态描述状态描述状态描述状态描述状态描述问题定义技术开发方案综述状态描述问题定义技术开发方案综述状态描述gaoyingscut.edu.cn5软件生存期的阶段划分软件生存期的阶段划分(1)(1)可行性研究与计划可行性研究与计划(2)(2)需求分析需求分析(3)(3)总体设计总体设计 上游上游 (4)(4)详细设计详细设计(5)(5)实现实现(6)(6)集成测试集成测试(7)(7)确认测试确认测试 下游下游(8)(8)使用和维护使用和维护(根据国标(根据国标计算机软件开发规范计算机软件开发规范)gaoyingscut.edu.cn6只考虑只考虑编写程序编写程序 涉及整个软涉及整个软件生存周期件生存周期扩展到扩展到软件工作的范围软件工作的范围gaoyingscut.edu.cn7软件开发模型软件开发模型 软件开发模型是软件开发全部过程、软件开发模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、开发全过程,明确规定要完成的主要活动、任务和开发策略。任务和开发策略。 软件开发模型也常称为:软件开发模型也常称为: 软件过程模型软件过程模型 软件生存期模型软件生存期模型 软件工程范型软件工程范型gaoyingscut.edu.cn8软件生命周期模型软件生命周期模型软件生存期模型是跨越整个生存期的系统开发、运软件生存期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框作和维护所实施的全部过程、活动和任务的结构框架。也称软件过程模型。架。也称软件过程模型。软件过程模型体现的是开发策略,并覆盖过程、方软件过程模型体现的是开发策略,并覆盖过程、方法和工具三个层次。法和工具三个层次。软件工程过程模型代表了一种将本质上无序的活动软件工程过程模型代表了一种将本质上无序的活动有序化的企图。有序化的企图。瀑布模型(线性顺序模型)瀑布模型(线性顺序模型)原型模型原型模型RADRAD模型模型增量模型增量模型螺旋模型螺旋模型喷泉模型喷泉模型并发开发模型并发开发模型形式化方法模型形式化方法模型第四代技术第四代技术过程技术过程技术gaoyingscut.edu.cn9瀑布模型瀑布模型 ( (线形顺序模型线形顺序模型) )可行性研究与计划可行性研究与计划需求分析需求分析设计设计编码编码运行维护运行维护测试测试定义阶段定义阶段开开发发阶阶段段维护阶段维护阶段gaoyingscut.edu.cn10瀑布模型瀑布模型 ( (线形顺序模型线形顺序模型) )gaoyingscut.edu.cn11瀑布模型开发软件的特点瀑布模型开发软件的特点1 1、阶段间具有顺序性和依赖性。、阶段间具有顺序性和依赖性。2 2、推迟实现的观点。、推迟实现的观点。3 3、每个阶段必须完成规定的文档、每个阶段必须完成规定的文档; ; 每个阶段结束前完成文档审查每个阶段结束前完成文档审查, , 及早改正错误。及早改正错误。gaoyingscut.edu.cn12瀑布模型存在的问题瀑布模型存在的问题1 1、实际的项目很少按照该模型给出的顺序进、实际的项目很少按照该模型给出的顺序进行。开发过程中变化可能引起混乱。行。开发过程中变化可能引起混乱。2 2、用户常常难以清楚的给出所有需求。、用户常常难以清楚的给出所有需求。3 3、用户必须有耐心。、用户必须有耐心。4 4、常常会导致、常常会导致“阻塞状态阻塞状态” 通过模板的指导作用来解决存在的一通过模板的指导作用来解决存在的一些问题些问题gaoyingscut.edu.cn13原型模型(快速成型模型)原型模型(快速成型模型)建造建造/ /修修改原型改原型用户测试用户测试运行原型运行原型 听取用听取用 户意见户意见gaoyingscut.edu.cn14采用原型模型的软件生存周期采用原型模型的软件生存周期分析定义分析定义系统需求系统需求生成生成原型原型系统系统设计设计程序程序设计设计编码编码测试测试运运 行行维护维护原型化原型化含原型化的含原型化的软件生存期软件生存期gaoyingscut.edu.cn15原型模型存在的问题原型模型存在的问题1 1、用户似乎看到的软件的工作版本。软件开、用户似乎看到的软件的工作版本。软件开发管理常常被放松了。发管理常常被放松了。2 2、开发者常常需要实现上的折中,以使原型、开发者常常需要实现上的折中,以使原型能尽快工作。能尽快工作。关键是如何定义一开始的游戏规则。关键是如何定义一开始的游戏规则。gaoyingscut.edu.cn16演化模型演化模型gaoyingscut.edu.cn171 1 增量模型增量模型( (递增模型递增模型) ) 先完成一个系统子集的开发,再按同样先完成一个系统子集的开发,再按同样的开发步骤增加功能的开发步骤增加功能 ( (系统子集系统子集) ),如此递,如此递增下去直至满足全部系统需求。增下去直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就系统的总体设计在初始子集设计阶段就应作出设想。应作出设想。gaoyingscut.edu.cn18增量模型增量模型分析分析设计设计编码编码测试测试系统信息工程系统信息工程 增量增量2 2增量增量3 3增量增量4 4第第1 1个增量的发布个增量的发布第第2 2个增量的发布个增量的发布第第3 3个增量的发布个增量的发布第第4 4个增量个增量的发布的发布calendar timecalendar time分析分析设计设计编码编码测试测试分析分析设计设计编码编码测试测试分析分析设计设计编码编码测试测试gaoyingscut.edu.cn192 2 螺旋模型螺旋模型风险分析风险分析工程实施工程实施用户通信用户通信用户评估用户评估产品维护项目产品维护项目产品增强项目产品增强项目新产品开发项目新产品开发项目概念开发项目概念开发项目计划计划建造及发布建造及发布gaoyingscut.edu.cn20螺旋模型沿着螺线旋转,在六个象限上分别表达螺旋模型沿着螺线旋转,在六个象限上分别表达了六个方面的任务和活动,即:了六个方面的任务和活动,即:用户通信用户通信建立开发者和用户之间有效通信建立开发者和用户之间有效通信制定计划制定计划确定软件目标,选定实施方案,弄清确定软件目标,选定实施方案,弄清项目开发的限制条件项目开发的限制条件风险分析风险分析分析所选方案,考虑如何识别和消除分析所选方案,考虑如何识别和消除风险风险实施工程实施工程实施软件开发实施软件开发建造及发布建造及发布建造、测试、安装和提供用户支持建造、测试、安装和提供用户支持客户评估客户评估评价开发工作,提出修正建议评价开发工作,提出修正建议螺旋模型螺旋模型gaoyingscut.edu.cn21面向对象模型面向对象模型gaoyingscut.edu.cn22喷泉模型喷泉模型进一步开发进一步开发实现和集成阶段实现和集成阶段运行状态运行状态实现阶段实现阶段面向对象设计阶段面向对象设计阶段计划阶段计划阶段面向对象分析阶段面向对象分析阶段需求阶段需求阶段维护期维护期gaoyingscut.edu.cn23喷泉模型特点喷泉模型特点 主要用于支持面向对象开发过程体现主要用于支持面向对象开发过程体现了软件创建所固有的迭代和无间隙的特征。了软件创建所固有的迭代和无间隙的特征。gaoyingscut.edu.cn24可重用部件组装模型可重用部件组装模型使用重用技术的软件工程模型使用重用技术的软件工程模型构件构件( (componentscomponents): ): 可重用的软件成份可重用的软件成份可复用性(可复用性(ReusabilityReusability) (可重用性)(可重用性)集成化软件开发环境(集成化软件开发环境(ISEEISEE)gaoyingscut.edu.cn25系统系统A A的的软件构成软件构成系统系统C C的的软件构成软件构成系统系统B B的的软件构成软件构成可重用可重用部部 件件 可重用可重用 部部 件件可重用部件组装模型可重用部件组装模型gaoyingscut.edu.cn26 软件生产线软件生产线应用构件应用构件提取车间提取车间 应用应用构件库构件库构件生构件生产车间产车间 构件库构件库组装组装车间车间领域领域 1 1领域领域 2 2应用应用系统系统 . .1 12 23 34 41 1基础构件,基础构件,2 2功能构件功能构件 3 3接口构件,接口构件,4 4用户界面构件用户界面构件 gaoyingscut.edu.cn27维护维护67%67%集成集成8%8%模拟测模拟测试试7%7%编码编码5%5%设计设计6%6%计划计划1%1%规格说明(分析)规格说明(分析)4%4%需求分析需求分析2%2% 软件各阶段花费比例软件各阶段花费比例gaoyingscut.edu.cn281976198119761981年间的年间的各种项目各种项目HPHP公司公司132132个个较新的项目较新的项目需求分析、规格说明和计划阶段需求分析、规格说明和计划阶段21%21%18%18%设计阶段设计阶段18%18%19%19%实现阶段实现阶段36%36%34%34%集成阶段集成阶段24%24%29%29%开发阶段所花时间的比较开发阶段所花时间的比较注注注注:早早期期,维维护护费费用用大大约约占占总总的的软软件件费费用用的的2/32/3。而而较较新新的的数数据据证证明明,人人们们已已越越来来越越重重视视维维护护工工作作。例例如如19921992年年,HPHP公公司司的的大大约约60%60%到到80%80%的的研研究究人人员员和和开开发发人人员员都都涉涉及及到到维维护护工工作作,而而且且维维护护费费用用占占软软件件总总费费用用的的40%40%到到60%Coleman,Ash,Lowther, 60%Coleman,Ash,Lowther, and and Oman, Oman, 19941994。但但是是,还还有有许许多多组组织织目目前前投投入入了了多多达达80%80%的的时时间间和和精精力力在在维维护护方方面面Yourdon,1992Yourdon,1992。因因此此,维维护护是是软软件件生命周期中非常消耗时间和费用的阶段。生命周期中非常消耗时间和费用的阶段。gaoyingscut.edu.cn29减少维护成本的有效方式?减少维护成本的有效方式?讨论讨论.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号