第2章软件生命周期模型PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢ 瀑布模型是由可行性研究、需求分析、系统设计、编码、 测试、运行与维护等阶段所组成的。
➢ 瀑布模型规定了各项关键软件工程活动,自上而下、相互 衔接、逐级下落,如同瀑布的固定次序一样。瀑布模型上 一阶段的变换结果是下一阶段变换的输入,相邻两个阶段 具有因果关系,紧密相联。一个阶段工作的失误将蔓延到 以后的各个阶段。
➢ 周期内有可行性分析、需求分析、概要设计、 详细设计、编码、测试和维护等阶段
➢ 这种按时间分程的思想方法是软件工程中的一 种思想原则,即按部就班、逐步推进,每个阶 段都要有定义、工作、审查、形成文档以供交 流或备查,以提高软件的质量。
2020/11/23
2
软件生命周期各阶段的主要任务:
(1) 可行性分析和项目开发计划 ➢ “要解决的问题是什么”
2020/11/23
13
停止
开始
需求的采集 和细化
产生样品
快速设计
对原型加工
2020/11/23
建造原型 客户评价原型
原型模型
14
(1)特点
– 立项以后先提交原型给用户,在用户试用 的基础上进行需求调查与原型修改。
– 强调用户对软件功能和使用性能的评价。 – 设计、修改原型与试用交替进行。
一次迭代中的开发步骤:
(4) 详细设计
详细设计阶段就是为每个模块完整的功能进行
具体描述,把功能描述转变为精确的、结构化
的过程描述。即该模块的控制结构是怎样的,
先做什么,后做什么,有什么样的条件判定,
有些什么重复处理等,并用相应的表示工具把
2020这/11/2些3 控制结构表示出来。
4
(5) 编码
编码阶段就是把每个模块的控制结构转换成计 算机可接受的程序代码,即写成以某特定程序 设计语言表示的“源程序清单”。当然,写出 的程序应该结构好,清晰易读,并且与设计相 一致。
2020/11/23
11
(4)缺点:
➢ 缺乏灵活性,不能适应用户需求的改变。
➢ 开始阶段的小错误被逐级放大,可能导致软 件产品报废。
➢ 返回上一级的开发需要十分高昂的代价。
➢ 随着软件规模和复杂性的增加,软件产品成 功的机率大幅下降。
2020/11/23
12
2.3 原型模型
原型模型(Prototype Model)在初步需求分析之 后,马上向客户展示一个软件产品原型,对客 户进行培训,让客户试用,在试用中收集客户 意见,根据客户意见立刻修改原型,之后再让 客户试用,反复循环几次,直到客户确认为止。
尽管上述条件比较苛刻,但是软件企业在开发 新产品或新项目时,往往还是采用瀑布模型。
系统软件和工具软件也常常采用瀑布模型。
2020/11/23
10
(3) 优点:
➢ 通过设置里程碑,明确每阶段的任务与目标。
➢ 可为每阶段制定开发计划,进行成本预算, 组织开发力量。
➢ 通过阶段评审,将开发过程纳入正确轨道。 ➢ 严格的计划性保证软件产品的按时交付。
➢ 该问题有行得通的解决办法吗?
➢ 若有解决问题的办法,则需要多少费用?需要 多少资源?需要多少时间?
(2) 需求分析
需求分析阶段的任务不是具体地解决问题,而 是准确地确定“软件系统必须做什么?”确定 软件系统必须具备哪些功能。
2020/11/23
3
(3) 概要设计
在概要设计阶段,开发人员要把确定的各项功 能需求转换成需要的体系结构,概要设计就是 设计软件的结构,该结构由哪些模块组成,这 些模块的层次结构是怎样的,这些模块的调用 关系是怎样的,每个模块的功能是什么。
需求说明书
系统设计
设计文档
编码
程序
测试
测试报告
运行与 维护
图2.1 瀑布模型
2020/11/23
7
瀑布模型的阶段任务、工作结果及参与人员
阶段
基本任务
工作结果
参加者
计划期
可行性研究 与计划
研究开发该项目的可行性
可行性研究报告
用户、高级程序员
需求分析
开发期
系统设计 编程
测试
理解和表达用户的要求 建立系统的结构 编写程序 发现错误和排除错误
第2章ຫໍສະໝຸດ Baidu软件生命周期模型
【本章重点】软件生命周期的概念及各个阶段 的任务、软件生命周期的若干模型
【本章用途】软件生命周期模型是软件工程研 究的四大内容之一,它虽然不是软件工程研究 的重点,但是在宏观上特别重要。
2020/11/23
1
2.1 软件生命周期
➢ 软件生命周期(Software Life Cycle,SLC)是软 件的产生直到报废的生命周期
➢ 瀑布模型过程逆转性很差或者说不可逆转,因为 根据上流的错误会在下流进行发散性传播的原理, 所以逆转将会延误工期,增加成本,造成重大损 失。
2020/11/23
9
(2) 适用条件 不是任何软件都可采用瀑布模型的,软件项目 或产品选择瀑布模型必须满足下列条件:
➢ 在开发时间内需求没有或很少变化。 ➢ 分析设计人员对应用领域很熟悉。 ➢ 低风险项目(对目标、环境很熟悉)。 ➢ 用户使用环境很稳定。 ➢ 用户除提出需求以外,很少参与开发工作。
(6) 测试
测试是保证软件质量的重要手段,其主要方式 是在设计测试用例的基础上检验软件的各个组 成部分。
(7) 维护
软件维护是软件生存周期中时间最长的阶段。
已交付的软件投入正式使用后,便进入软件维
2020护/11/2阶3 段,它可以持续几年甚至几十年。
5
2.2 瀑布模型
➢ 瀑布模型(waterfall model)由W. Royce于1970年首先提出。
需求说明书
用户、高级程序员
模块、数据说明书 用户、高级程序员
程序
高级程序员、初级程序 员
测试报告
另一独立的部门
运行期 运行与维护 维护
改进的系统
用户、高级程序员
2020/11/23
8
(1) 特点 ➢ 瀑布模型是以文档驱动的,为管理者进行项目开
发管理提供了基础,约束了开发过程中的活动。
➢ 瀑布模型是一种整体开发模型,在开发过程中, 用户看不见系统是什么样,只有开发完成向用户 提交整个系统时,用户才能看到一个完整的系统。
➢ 为了保障软件开发的正确性,每一阶段任务完成后,都必
须对它的阶段性产品进行评审,确认之后再转入下一阶段
的工作。评审过程发现错误和疏漏后,应该反馈到前面的
有关阶段修正错误、弥补疏漏,然后再重复前面的工作,
20直20/1至1/23某一阶段通过评审后再进入下一阶段。
6
可行性研 究与计划
可行性研究报告
需求分析
– 了解用户/设计者的基本信息需求 – 开发初始原型系统 – 用户/设计者试用和评估原型系统