《软件工程实用教程》第2章软件生存周期及开发模型ppt课件_第1页
《软件工程实用教程》第2章软件生存周期及开发模型ppt课件_第2页
《软件工程实用教程》第2章软件生存周期及开发模型ppt课件_第3页
《软件工程实用教程》第2章软件生存周期及开发模型ppt课件_第4页
《软件工程实用教程》第2章软件生存周期及开发模型ppt课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章软件生存周期及开发模型 本章学习内容:1掌握软件的生存生命周期的概念2明确学习软件过程模型的意义3掌握各种过程模型的特点与适用范围4掌握面向对象软件过程模型的内容与过程 .第2章软件生存周期及开发模型 1 软件过程概述2.1.1 软件生存周期 软件的生存周期指软件产品从功能确定、设计、开发胜利、投入运用,并在运用中不断修正、完善,直至被新的软件所替代而停顿该软件的运用的全过程。 .第2章软件生存周期及开发模型 软件的生存周期的作用: 从时间的角度,对软件开发和维护的复杂过程进展了有效的划分,把整个生命周期划分为假设干个相互区别而又彼此联络的阶段,给每个阶段赋予确定而有限的义务,这样就便于

2、每个阶段都采用经过验证,行之有效的管理技术和方法,从技术和管理的角度进展严厉审查,以到达保证软件质量、降低本钱、合理运用资源,进而提高软件开发消费率的目的。 .第2章软件生存周期及开发模型 2.1.2 软件过程各阶段义务 1软件定义期 1软件义务立项 2可行性研讨 3软件需求分析 4制定工程方案 .第2章软件生存周期及开发模型 2软件开发阶段 1总体设计 2详细设计 3编码和单元测试 4集成测试 5确认测试 3运转与维护阶段 .第2章软件生存周期及开发模型 2.2 典型的软件过程模型软件过程模型 把软件生存周期中各项开发活动的流程用一个合理的框架开发模型来规范描画,这就是软件过程模型 。 软件

3、过程模型是从一个特定的角度表现一个过程,主要根据软件的类型、规模,特别是软件的开发方法、开发环境等多种要素确立过程模型。 .第2章软件生存周期及开发模型 2.2.1 瀑布模型 .第2章软件生存周期及开发模型 瀑布模型的特点: 阶段性 阶段评审 文档管理 瀑布模型适用于具有以下特征的一类系统:在开发时期内没有或很少有需求变化;开发者对运用领域很熟习;低风险工程,如开发者对目的和开发环境很熟习;除了在早期阶段,用户对开发任务参与很少;系统编程要求运用面向过程的程序设计言语。 .第2章软件生存周期及开发模型 瀑布模型的缺陷阶段与阶段划分固定,阶段间产生大量的文档,极大地添加了任务量;由于开发模型呈线

4、性,当开发成果尚未经过测试时,用户无法看到软件的效果,这些问题往往会导致开发出来的软件不是用户真正需求的软件;无法经过开发活动廓清本来不够确切的软件需求,因此,需求返工或者不得不在维护中纠正需求的偏向;由于固定顺序,前期任务中呵斥的过失越到后期阶段所呵斥的损失越大,为了纠正偏向,需求付出高昂的代价。 .第2章软件生存周期及开发模型 改良的瀑布模型.第2章软件生存周期及开发模型 2.2.2 原型模型 1快速原型方法 快速原型方法是原型模型在软件分析、设计阶段的运用,用来处理用户对软件系统在需求分析上的模糊认识。快速原型法的特点:快速原型是用来获取用户需求的,或是用来试探某种设计能否有效。一旦需求

5、或设计确定下来,原型就将被丢弃。 .第2章软件生存周期及开发模型 快速原型是暂时运用的,因此并不要求完好。它往往针对某个部分问题建立专门原型,如界面原型、任务流原型、查询原型等。快速原型不能贯穿软件的整个生命周期,它需求和其他的过程模型相结合才干产生作用。对于一个大型复杂的系统,假设不经过分析来进展整体性划分,想直接用屏幕来一个一个地模拟是很困难的;对于大量运算、逻辑性较强的程序模块,快速原型方法很难构造出模型来供人评价。.第2章软件生存周期及开发模型 原型方法只适用于小型、简单、处置过程比较明确、没有大量运算和逻辑处置过程的系统。 .第2章软件生存周期及开发模型 2原型进化模型原型进化模型将

6、软件的需求细节定义、产品开发和有效性验证放在同一个任务进程中交替或并行运作。因此,在获得了软件需求框架以后,就可以直接进入到对软件的开发中。原型进化模型是经过不断发布新的软件版本而使软件逐渐完善的,因此,这种开发方式特别适宜于那些用户急需的软件产品开发。需 求 描 述建立/完善原型运用原型系统系统充分交付目的系统否是.第2章软件生存周期及开发模型 2.2.3 增量模型 增量模型的任务流程 定义需求框架按照构件组成及其关系设计软件系统体系构造将构件集成进系统验 证 系 统系统已完成最 终 系 统开发增量构件细化构件需求设计构件实现构件验证构件否是.第2章软件生存周期及开发模型 1.增量模型的三个

7、阶段1在系统开发的前期阶段,为了确保所建系统具有优良的构造,仍需求针对整个系统进展需求分析和总体设计,需求启动系统的基于增量构件的需求框架,并以需求框架中构件的组成及关系为根据,完成对软件系统的体系构造设计。2在完成软件体系构造设计之后,可以进展增量构件的开发。这时需求对构件进展需求细化,然后进展设计、编码测试和有效性验证。3在完成了对某个构件的开发之后,需求将该构件集成到系统中去,并对曾经发生了改动的系统重新进展有效性验证,然后再继续下一个增量构件的开发。 .第2章软件生存周期及开发模型 2.增量模型的作用1开发初期的需求定义只是用来确定软件的根本构造,这使得开发初期,用户只需求对软件需求进

8、展大约的描画,而对于需求的细节描画,那么可以延迟到增量构件开发时进展,以增量构件为单位逐个地进展需求补充。2软件系统可以按照增量构件的功能安排开发的优先顺序,并逐个实现和交付运用。这不仅有利于用户尽早地用上系统,可以更好地顺应新的软件环境,而且用户在以增量方式运用系统的过程中,还可以获得对软件系统后续构件的需求阅历。3软件系统是逐渐开展的,因此开发者可以经过对诸多构件的开发,逐渐积累开发阅历。实践上增量式开发还有利于技术复用,4增量式开发还有利于从总体上降低软件工程的技术风险。.第2章软件生存周期及开发模型 2.2.4 螺旋模型 .第2章软件生存周期及开发模型 2.2.4 螺旋模型 在笛卡尔坐

9、标的4个象限上分别表达各方面的活动: 制定方案:确定软件目的,选定实施方案,弄清工程开发限制条件。风险分析:分析所选方案,思索如何识别和消除风险。实施工程:实施软件开发。用户评价:评价开发任务,提出修正建议。 .第2章软件生存周期及开发模型 2.3 面向对象的软件过程模型 2.3.1 面向对象的软件开发特点 开发阶段界限模糊,开发过程逐渐求精,开发活动反复迭代。通常,开发活动是在分析、设计和实现阶段之间的反复迭代。每次迭代都会添加或者明确一些目的系统的性质,但却不是对前期任务构造的本质性改动,这样就减少了不一致性,降低了出错的能够性。 .第2章软件生存周期及开发模型 2.3.2 软件一致开发过

10、程 .第2章软件生存周期及开发模型 2.3.2 软件一致开发过程 1初始阶段初始阶段的目的是为系统建立业务用例和确定工程的边境。本阶段的详细目的如下:明确软件系统的范围和边境条件,包括从功能角度的前景分析、产品验收规范和哪些做与哪些不做的相关决议;明确区分系统的关键用例和主要的功能场景;展现或者演示至少一种符合主要场景要求的候选软件体系构造;对整个工程做最初的工程本钱和日程估计;估计出潜在的风险(主要指各种不确定要素呵斥的潜在风险);预备好工程的支持环境。 .第2章软件生存周期及开发模型 2细化阶段细化阶段的目的是分析问题域,建立健全的体系构造根底,编制工程方案,淘汰工程中最高风险的元素。本阶

11、段的详细目的如下:确保软件构造、需求、方案足够稳定;确保工程风险曾经降低到可以估计完成整个工程的本钱和日程的程度;针对工程的软件构造上的主要风险曾经处理或处置完成;经过完成软件构造上的主要场景建立软件体系构造的基线;建立一个包含高质量构件的可演化的产品原型;阐明基线化的软件体系构造可保证需求可控制在合理的本钱和时间范围内;建立好产品的支持环境。 .第2章软件生存周期及开发模型 3构造阶段在构造阶段,一切剩余的构件和运用程序功能被开发并集成为产品,一切的功能被详尽地测试。本阶段的主要目的如下:经过优化资源和防止不用要的返工到达开发本钱的最小化;根据实践需求到达适当的质量目的;据实践需求构成各个版

12、本;对一切必需的功能完成分析、设计、开发和测试任务;采用循环渐进的方式开发出一个可以提交给最终用户的完好产品;确定软件、站点和用户都为产品的最终部署做好了相关预备;达成一定程度上的并行开发机制。.第2章软件生存周期及开发模型 4交付阶段完成最后的软件产品和产品验收测试,并编制用户文档,进展用户培训等,将软件产品交付给用户群体。本阶段的详细目的如下。进展Beta测试以期到达最终用户的需求;进展Beta测试和旧系统的并轨;转换功能数据库;对最终用户和产品支持人员的培训;详细部署相关的工程活动;协调Bug修订、改良性能和可用性等任务;基于完好的版本和产品验收规范对最终部署做出评价;到达用户要求的称心

13、度;达成各风险承当人对产品部署基线曾经完成的共识。 .第2章软件生存周期及开发模型 2.3.3 构件复用模型 以构件复用为驱动 需求框架描画构件复用分析需求修正细化系 统 设 计构 件 开 发系 统 集 成.第2章软件生存周期及开发模型 2.4 矫捷软件开发过程模型矫捷的价值观: 个体和交互胜过过程和工具; 可以任务的软件胜过面面俱到的文档; 客户协作胜过合同谈判; 呼应变化胜过遵照方案。.第2章软件生存周期及开发模型 12条原那么:最优先要做的是经过尽早的、继续的交付有价值的软件来使客户称心。即使到了开发的后期,也欢迎改动需求。矫捷过程利用变化来为客户发明竞争优势。经常性地交付可以任务的软件

14、,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。 在整个工程开发期间,业务人员和开发人员必需天天都在一同任务。 .第2章软件生存周期及开发模型 围绕被鼓励起来的个体来构建工程。给他们提供所需的环境和支持,并且信任他们可以完成任务。 在团队内部,最具有效果并且富有效率的传送信息的方法,就是面对面的交谈。 任务的软件是首要的进度度量规范。 矫捷过程提倡可继续的开发速度。责任人、开发者和用户应该可以坚持一个长期的、恒定的开发速度。 .第2章软件生存周期及开发模型 不断地关注优秀的技艺和好的设计会加强矫捷才干。 简单使未完成的任务最大化的艺术是根本的。 最好的构架、需求和设计出自于自组织的团队。 每隔一定时间,团队会在如何才干更有效地任务方面进展反省,然后相应地对本人的行为进展调整。 .第2章软件生存周期及开发模型 极限编程过程.第2章软件生存周期及开发模型 1谋划:谋划活动开场于建立一系列描画待开发软件的必要特征与功能的“故事。每个故事由客户书写并置于一张索引卡上,客户根据对应特征或功能的全局业务价值标明权值(即优先级)。 (1)一切选定故事将在几周之内尽快实现; (2)具有最高价值的故事将移到进度表的前面并首先实现; (3)高风险故事将首先实现。.第2章软件生存周期及开发模型 2设计:

温馨提示

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

评论

0/150

提交评论