软件生存周期及开发模型.ppt_第1页
软件生存周期及开发模型.ppt_第2页
软件生存周期及开发模型.ppt_第3页
软件生存周期及开发模型.ppt_第4页
软件生存周期及开发模型.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章软件生存周期及开发模型,本章学习内容:1掌握软件的生存(生命)周期的概念2明确学习软件过程模型的意义3掌握各种过程模型的特点与适用范围4掌握面向对象软件过程模型的内容与过程,第2章软件生存周期及开发模型,1软件过程概述2.1.1软件生存周期软件的生存周期指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代而停止该软件的使用的全过程。,第2章软件生存周期及开发模型,软件的生存周期的作用:从时间的角度,对软件开发和维护的复杂过程进行了有效的划分,把整个生命周期划分为若干个互相区别而又彼此联系的阶段,给每个阶段赋予确定而有限的任务,这样就便于每个阶段都采用经过验证,行之有效的管理技术和方法,从技术和管理的角度进行严格审查,以达到保证软件质量、降低成本、合理使用资源,进而提高软件开发生产率的目的。,第2章软件生存周期及开发模型,2.1.2软件过程各阶段任务1软件定义期(1)软件任务立项(2)可行性研究(3)软件需求分析(4)制定项目计划,第2章软件生存周期及开发模型,2软件开发阶段(1)总体设计(2)详细设计(3)编码和单元测试(4)集成测试(5)确认测试3运行与维护阶段,第2章软件生存周期及开发模型,2.2典型的软件过程模型软件过程模型把软件生存周期中各项开发活动的流程用一个合理的框架开发模型来规范描述,这就是软件过程模型。软件过程模型是从一个特定的角度表现一个过程,主要根据软件的类型、规模,特别是软件的开发方法、开发环境等多种因素确立过程模型。,第2章软件生存周期及开发模型,2.2.1瀑布模型,第2章软件生存周期及开发模型,瀑布模型的特点:阶段性阶段评审文档管理瀑布模型适用于具有以下特征的一类系统:在开发时期内没有或很少有需求变化;开发者对应用领域很熟悉;低风险项目,如开发者对目标和开发环境很熟悉;除了在早期阶段,用户对开发工作参与很少;系统编程要求使用面向过程的程序设计语言。,第2章软件生存周期及开发模型,瀑布模型的缺点阶段与阶段划分固定,阶段间产生大量的文档,极大地增加了工作量;由于开发模型呈线性,当开发成果尚未经过测试时,用户无法看到软件的效果,这些问题往往会导致开发出来的软件不是用户真正需要的软件;无法通过开发活动澄清本来不够确切的软件需求,因此,需要返工或者不得不在维护中纠正需求的偏差;由于固定顺序,前期工作中造成的差错越到后期阶段所造成的损失越大,为了纠正偏差,需要付出高昂的代价。,第2章软件生存周期及开发模型,改进的瀑布模型,第2章软件生存周期及开发模型,2.2.2原型模型1快速原型方法快速原型方法是原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。快速原型法的特点:快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。一旦需求或设计确定下来,原型就将被抛弃。,第2章软件生存周期及开发模型,快速原型是暂时使用的,因此并不要求完整。它往往针对某个局部问题建立专门原型,如界面原型、工作流原型、查询原型等。快速原型不能贯穿软件的整个生命周期,它需要和其他的过程模型相结合才能产生作用。对于一个大型复杂的系统,如果不经过分析来进行整体性划分,想直接用屏幕来一个一个地模拟是很困难的;对于大量运算、逻辑性较强的程序模块,快速原型方法很难构造出模型来供人评价。,第2章软件生存周期及开发模型,原型方法只适用于小型、简单、处理过程比较明确、没有大量运算和逻辑处理过程的系统。,第2章软件生存周期及开发模型,2原型进化模型原型进化模型将软件的需求细节定义、产品开发和有效性验证放在同一个工作进程中交替或并行运作。因此,在获得了软件需求框架以后,就可以直接进入到对软件的开发中。原型进化模型是通过不断发布新的软件版本而使软件逐步完善的,因此,这种开发模式特别适合于那些用户急需的软件产品开发。,第2章软件生存周期及开发模型,2.2.3增量模型增量模型的工作流程,定义需求框架,按照构件组成及其关系设计软件系统体系结构,将构件集成进系统,验证系统,系统已完成,最终系统,开发增量构件细化构件需求设计构件实现构件验证构件,否,是,第2章软件生存周期及开发模型,1.增量模型的三个阶段(1)在系统开发的前期阶段,为了确保所建系统具有优良的结构,仍需要针对整个系统进行需求分析和总体设计,需要启动系统的基于增量构件的需求框架,并以需求框架中构件的组成及关系为依据,完成对软件系统的体系结构设计。(2)在完成软件体系结构设计之后,可以进行增量构件的开发。这时需要对构件进行需求细化,然后进行设计、编码测试和有效性验证。(3)在完成了对某个构件的开发之后,需要将该构件集成到系统中去,并对已经发生了改变的系统重新进行有效性验证,然后再继续下一个增量构件的开发。,第2章软件生存周期及开发模型,2.增量模型的作用(1)开发初期的需求定义只是用来确定软件的基本结构,这使得开发初期,用户只需要对软件需求进行大概的描述,而对于需求的细节描述,则可以延迟到增量构件开发时进行,以增量构件为单位逐个地进行需求补充。(2)软件系统可以按照增量构件的功能安排开发的优先顺序,并逐个实现和交付使用。这不仅有利于用户尽早地用上系统,能够更好地适应新的软件环境,而且用户在以增量方式使用系统的过程中,还能够获得对软件系统后续构件的需求经验。(3)软件系统是逐渐开展的,因此开发者可以通过对诸多构件的开发,逐步积累开发经验。实际上增量式开发还有利于技术复用,(4)增量式开发还有利于从总体上降低软件项目的技术风险。,第2章软件生存周期及开发模型,2.2.4螺旋模型,第2章软件生存周期及开发模型,2.2.4螺旋模型在笛卡尔坐标的4个象限上分别表达各方面的活动:制订计划:确定软件目标,选定实施方案,弄清项目开发限制条件。风险分析:分析所选方案,考虑如何识别和消除风险。实施工程:实施软件开发。用户评估:评价开发工作,提出修正建议。,第2章软件生存周期及开发模型,2.3面向对象的软件过程模型2.3.1面向对象的软件开发特点开发阶段界限模糊,开发过程逐步求精,开发活动反复迭代。通常,开发活动是在分析、设计和实现阶段之间的反复迭代。每次迭代都会增加或者明确一些目标系统的性质,但却不是对前期工作结构的本质性改动,这样就减少了不一致性,降低了出错的可能性。,第2章软件生存周期及开发模型,2.3.2软件统一开发过程,第2章软件生存周期及开发模型,2.3.2软件统一开发过程1初始阶段初始阶段的目标是为系统建立业务用例和确定项目的边界。本阶段的具体目标如下:明确软件系统的范围和边界条件,包括从功能角度的前景分析、产品验收标准和哪些做与哪些不做的相关决定;明确区分系统的关键用例和主要的功能场景;展现或者演示至少一种符合主要场景要求的候选软件体系结构;对整个项目做最初的项目成本和日程估计;估计出潜在的风险(主要指各种不确定因素造成的潜在风险);准备好项目的支持环境。,第2章软件生存周期及开发模型,2细化阶段细化阶段的目标是分析问题域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。本阶段的具体目标如下:确保软件结构、需求、计划足够稳定;确保项目风险已经降低到能够预计完成整个项目的成本和日程的程度;针对项目的软件结构上的主要风险已经解决或处理完成;通过完成软件结构上的主要场景建立软件体系结构的基线;建立一个包含高质量构件的可演化的产品原型;说明基线化的软件体系结构可保障需求可控制在合理的成本和时间范围内;建立好产品的支持环境。,第2章软件生存周期及开发模型,3构造阶段在构造阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详尽地测试。本阶段的主要目标如下:通过优化资源和避免不必要的返工达到开发成本的最小化;根据实际需要达到适当的质量目标;据实际需要形成各个版本;对所有必须的功能完成分析、设计、开发和测试工作;采用循环渐进的方式开发出一个可以提交给最终用户的完整产品;确定软件、站点和用户都为产品的最终部署做好了相关准备;达成一定程度上的并行开发机制。,第2章软件生存周期及开发模型,4交付阶段完成最后的软件产品和产品验收测试,并编制用户文档,进行用户培训等,将软件产品交付给用户群体。本阶段的具体目标如下。进行Beta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论