软件生命周期

上传人:ji****72 文档编号:50940273 上传时间:2018-08-11 格式:PPT 页数:49 大小:3.27MB
返回 下载 相关 举报
软件生命周期_第1页
第1页 / 共49页
软件生命周期_第2页
第2页 / 共49页
软件生命周期_第3页
第3页 / 共49页
软件生命周期_第4页
第4页 / 共49页
软件生命周期_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《软件生命周期》由会员分享,可在线阅读,更多相关《软件生命周期(49页珍藏版)》请在金锄头文库上搜索。

1、 Your site hereLOGO第二章 软件生命周期【本章重点】软件生命周期的概念及各个 阶段的任务、软件生命周期的若干模型。【本章难道】瀑布模型、增量模型、螺旋 模型的特点,优缺点和适用条件。Your site hereLOGO软件生命周期2.1 2.1 软件生命周期软件生命周期2.2 2.2 软件生命周期模型软件生命周期模型2.2.3 3 本章小结本章小结Your site hereLOGO2.1 软件生命周期v任何有生命的动物、植物和人,都有一 个生命周期(Life Cycle)。例如,人 的生命周期如表2-1 所示。 Your site hereLOGO2.1 软件生命周期序号周

2、 期 划 分周期周期的主要活动1 胚胎至分娩胎儿 定期到妇幼保健院或妇产科医院检查2 03岁婴儿 请保姆看护,上婴儿室或托儿所3 36岁幼儿 上幼儿园,健康、活泼、天真地成长4 612岁儿童 上小学,好好学习,天天向上5 1218岁少年 上中学,参加中考、高考,自古英雄 出少年6 1830岁青年 上大学,攻读硕士、博士学位,应聘 就业,开始追求创新,追求异性7 3060岁中年 上班,追求事业上的成就、成功、贡献,经营幸福的家庭8 60岁以上老年 退休,老有所乐,写回忆录,立遗嘱9 因病去世死亡 丧事从简,长眠于地下Your site hereLOGO2.1 软件生命周期v定义:软件生命周期是指

3、一个软件从提出开发 要求开始,直到该软件报废为止的整个时期。v周期划分:周期内有可行性分析、需求分析、 概要设计、详细设计、编码、测试和维护等阶 段。Your site hereLOGO软件生命周期Sub titleSub title可行性分析需求分析1.要解决的问题 是 什么? 2.该问题有行得通 的 解决办法吗? 3.若有解决问题的 办法,则需要多少 费用?需要多少资 源?需要多少时间 ?需求分析阶段的任 务不是具体地解决 问题,而是准确地 确定“软件系统必 须做什么”,确定 软件系统必须具备 哪些功能。Your site hereLOGO软件生命周期Sub titleSub title概

4、要设计详细设计 详细设计阶段就是为每个 模块完整的功能进行具体 描述,把功能描述转变为 精确的、结构化的过程描 述。即该模块的控制结构 是怎样的,先做什么,后 做什么,有什么样的条件 判定,有些什么重复处理 等,并用相应的表示工具 把这些控制结构表示出来 。在概要设计阶段,开发 人员要把确定的各项功 能需求转换成需要的体 系结构,概要设计就是 设计软件的结构,该结 构由哪些模块组成,这 些模块的层次结构是怎 样的,这些模块的调用 关系是怎样的,每个模 块的功能是什么。Your site hereLOGO软件生命周期Sub titleSub title编码测试编码阶段就是把每个 模块的控制结构转

5、换 成计算机可接受的程 序代码,即写成以某 特定程序设计语言表 示的“源程序清单” 。当然,写出的程序 应该结构好,清晰易 读,并且与设计相一 致。测试是保证软 件质量的重要 手段,其主要 方式是在设计 测试用例的基 础上检验软件 的各个组成部 分。维护软件维护是软件 生命周期中时间 最长的阶段。已 交付的软件投入 正式使用后,便 进入软件维护阶 段,它可以持续 几年甚至几十年 。Your site hereLOGO2.1 软件生命周期需求分析概要设计定义阶段开发阶段运行与维护阶段软 件 生 命 周 期可行性分析详细设计编码维护GB8566-1988计算机软件开发规范将软件生 存周期分为三个阶

6、段:Your site hereLOGO2.2 软件生命周期模型定义:定义: 软件生存周期模型是描述软件开发过程中各 项活动如何执行的模型。作用:作用:软件生命周期模型确立了软件开发和演绎中 各个阶段的次序限制以及各个阶段活动的准 则,确立开发过程所遵守的规定和限制,便 于各种活动的协调以及各种人员的有效通信 ,有利于活动重用和管理。Your site hereLOGO2.2 软件生命周期模型2.2.1 2.2.1 瀑布模型瀑布模型2.2.2 2.2.2 增量模型增量模型2.2.3 2.2.3 螺旋螺旋模型模型Your site hereLOGO2.2.1 瀑布模型 1970年温斯顿罗伊斯(W

7、inston Royce)提出了著 名的“瀑布模型”,直到80年代早期,它一直是唯一 被广泛采用的软件开发模型。直至今日,该模型仍然 具有强大的生命力。 瀑布模型(Waterfall Model)又称流水式过程模型 ,它可以形象地用阶梯瀑布描述,水由上向下一个阶 梯接着一个阶梯地倾泻下来,最后进入一个风平浪静 的大湖,这个大湖就是软件企业的产品库,如图2-1所 示。 Your site hereLOGO2.2.1 瀑布模型测试测试编码编码设计设计需求需求 分析分析可行可行 性分性分 析析维护维护可行性分析报告需求规格说明书设计文档程序测试报告Your site hereLOGO*15瀑布模型的

8、阶段任务、工作结果及参与人员 阶段基本任务工作结果参加者计划期可行性研究 与计划研究开发该项目的可行性可行性研究报告用户、高级程序员开发期需求分析理解和表达用户的要求需求说明书用户、高级程序员系统设计建立系统的结构模块、数据说明书用户、高级程序员编程编写程序程序高级程序员、初级程序 员测试发现错误和排除错误测试报告另一独立的部门运行期运行与维护维护改进的系统用户、高级程序员2.2.1 瀑布模型Your site hereLOGO1模型的本意 在瀑布模型中,软件开发的各项活动严格按照线性方 式进行,当前阶段的活动接受上一阶段活动的工作结 果,实施完成所需的工作内容。 瀑布模型认为:项目经理或软件

9、管理人员,只要控制 好每级台阶的高度和宽度,并组织好评审与审计,就 可以控制好项目的开发成本、进度和质量。2.2.1 瀑布模型Your site hereLOGO2模型的特点 瀑布模型是以文档驱动的,为管理者进行项目开发管 理提供了基础,约束了开发过程中的活动。瀑布模型是一种整体开发模型,在开发过程中,用户 看不见系统是什么样,只有开发完成向用户提交整个 系统时,用户才能看到一个完整的系统。 过程逆转性很差或者说不可逆转,因为根据上游的错 误会在下游进行发散性传播的原理,所以逆转将会延 误工期,增加成本,造成重大损失。 2.2.1 瀑布模型Your site hereLOGO3选择模型的适用条

10、件 在开发时间内需求没有或很少变化。 分析设计人员对应用领域很熟悉。 低风险项目(对目标、环境很熟悉)。 用户使用环境很稳定。 用户除提出需求以外,很少参与开发工作。2.2.1 瀑布模型Your site hereLOGO4模型的优点 通过设置里程碑,明确每阶段的任务与目标。 可为每阶段制定开发计划,进行成本预算,组织开发 力量。 通过阶段评审,将开发过程纳入正确轨道。 严格的计划性保证软件产品的按时交付。Your site hereLOGO5模型的缺点 传统的项目组织方法是按顺序完成每个工作流程,即 瀑布式生命周期。瀑布只能一个个台阶地往下流,不 可能倒着往上流,即缺乏灵活性,不能适应用户需

11、求 的改变。这就是它致命的缺点。 瀑布式生命周期通常会导致在项目后期,出现“问题 堆积”,更可怕的是,错误的传递会采取发散扩大的 方式。 2.2.1 瀑布模型Your site hereLOGO*212.2.2 增量模型增量模型是一种非整体开发模型,软件是“逐渐”被 开发出来,开发一部分,向用户展示一部分。 1. 增量模型的分类依据构造和增加的方式的不同,增量模型可以分为 :增量构造模型、演化提交模型和快速原型模型。Your site hereLOGO*2.2.2 增量模型(1)增量构造模型 该模型的需求分析阶段和设计阶段与瀑布模型相似。编 码和测试阶段是按照增量方式开发。,该模型结构如下图所

12、示 。 Your site hereLOGOv 该模型的优点:在开发的过程中用户能够及早地发现 看到软件发现中的问题Your site hereLOGO(2)演化提交模型v 该模型中,各个阶段都是增量开发的形式。 v 这一过程就像小孩子搭积木盖房子一样,如图2-2所示 。 Your site hereLOGO第1次 集成第1块 积木第2次 集成第1块 积木第2块 积木第3次 集成第1块 积木第2块 积木第3块积 木第4次 集成第1块 积木第2块 积木第3块积 木第4块 积木第N次 集成第1块 积木第2块 积木第3块积 木第4块 积木第N块 积木Your site hereLOGO*26增量模型

13、示意图 Your site hereLOGO*2.2.2 增量模型先对某部分功能进行需求分析,然后按照顺序进行设计 、编码和测试,把该部分功能开发完毕并提交用户,直到所有 的功能都全部开发完毕为止,如图所示。Your site hereLOGO v 1模型的本意 v 要开发一个大的软件系统,先开发其中的一个核心模块( 或子系统),然后再开发其他模块(或子系统),这样一 个个模块(或子系统)地增加上去,就像搭积木一样,直 至整个系统开发完毕为止。 v 在每增加一个模块前,先要对该模块进行模块测试。通过 后再将此模块加入到系统中,然后还要进行系统集成测试 。系统集成测试成功后,再增加新的模块。 v

14、 这样多次循环,直到系统搭建完毕为止。 Your site hereLOGOv 2模型的特点 v (1)任务或功能模块驱动,可以分阶段提交产品。 v (2)有多个任务单,这些多个任务单的集合,构成项目 的一个总任务书,或总用户需求报告/需求规 格说明书。 Your site hereLOGO v 3选择模型的适用条件 v (1)在整个项目开发过程中,需求都可能发生变化,客 户接受分阶段交付。 v (2)分析设计人员对应用领域不熟悉,难以一步到位。 v (3)中等或高风险项目(工期过紧且可分阶段提交的系 统或目标、环境不熟悉)。 v (4)用户可参与到整个软件开发过程中。 v (5)使用面向对象

15、语言或第四代语言。 v (6)软件公司自己有较好的类库、构件库。Your site hereLOGO 4模型的优点 (1)由于将一个大系统分解为多个小系统,这就等于将 一个大风险分解为多个小风险,从而降低了开发难度。 (2)人员分配灵活,刚开始不用投入大量人力资源。如 果核心模块产品很受欢迎,则可增加人力实现下一个增量 。当配备的人员不能在设定的期限内完成产品时,它提供 了一种先推出核心产品的途径。即可先发布部分模块给客 户,对客户起到镇静剂的作用。 (3)因为具有最高优先权的服务被首先交付,而后面的 增量也不断被集成进来,这就使得最重要的系统服务系统 接受了最多的测试。Your site h

16、ereLOGOv 5模型的缺点v 如果软件系统的组装和拆卸性不强,或开发人员全局把握 水平不高,或者客户不同意分阶段提交产品,或者开发人 员对应用领域不熟悉,就不宜采用这种模型。 Your site hereLOGO(3) 原型模型 v 许多软件公司在生产软件产品与实施软件项目时,经常采 用一种“原型法”,它来源于原型模型,下面就介绍这种模型 。 v 1模型的本意 v 原型模型(Prototype Model)的本意是:在初步需求分析 之后,马上向客户展示一个软件产品原型(样品),对客户进 行培训,让客户试用,在试用中收集客户意见,根据客户 意见立刻修改原型,之后再让客户试用,反复循环几次, 直到客户确认为止。 Your site hereLOGO*34原型模型 Your site hereLOGO 2模型的特点 立项以后先提交原型给用户,在用户试用的基础上进行需 求调查与原型修改。 强调用户对软件功能和使用性能的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号