第二章_软件生命周期模型

上传人:飞*** 文档编号:49157227 上传时间:2018-07-24 格式:PPT 页数:63 大小:1.04MB
返回 下载 相关 举报
第二章_软件生命周期模型_第1页
第1页 / 共63页
第二章_软件生命周期模型_第2页
第2页 / 共63页
第二章_软件生命周期模型_第3页
第3页 / 共63页
第二章_软件生命周期模型_第4页
第4页 / 共63页
第二章_软件生命周期模型_第5页
第5页 / 共63页
点击查看更多>>
资源描述

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

1、 2008 BUPT TSEG软件工程 Software Engineering第二章 软件生命周期模型黄 海 2 2008 BUPT TSEG 北京邮电大学 通信软件工程中心u软件工程过程u软件生命周期u软件过程模型u传统软件生命周期模型u新型软件生命周期模型3 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.1 软件工程过程工程项目的PDCA循环(戴明环)美国质量管理专家戴明博士针对工程项目的质量 目标,将全面质量管理思想引入工程项目过程, 提出了PDCA循环,也称为戴明环.即Plan(规划)、Do(执行)、Check(检查) 、Action(处理)等抽象活动的循环。4 2

2、008 BUPT TSEG 北京邮电大学 通信软件工程中心2.1 软件工程过程软件工程过程(Software Engineering Process)软件工程过程是为获得软件产品,在软件工具支持下由软 件工程师完成的一系列软件工程活动。软件工程过程遵循 PDCA抽象活动,包含四种基本的过程活动:P (Plan)P (Plan) : 软件规格说明。规定软件的功能及其运行的限 制;D (Do)D (Do) : 软件开发。产生满足规格说明的软件;C (Check)C (Check) : 软件确认。确认软件能够完成客户提出的要 求;A (Action)A (Action) : 软件演进。为满足客户的变

3、更要求,软件必 须在使用的过程中演进。事实上,软件工程过程是一个软件开发机构针对某一 类软件产品为自己规定的工作步骤,它应当是科学的、合 理的,否则必将影响到软件产品的质量。5 2008 BUPT TSEG 北京邮电大学 通信软件工程中心u软件工程过程u软件生命周期u软件过程模型u传统软件生命周期模型u新型软件生命周期模型6 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.2 软件生命周期软件生命周期(software life cycle )是指软件产品 从考虑其概念开始,到该软件产品不再使用为止 的整个时期,一般包括概念阶段、分析与设计阶 段、构造阶段、移交阶段等不同时期。

4、在整个软件生命周期中贯穿了软件工程过程的六 个基本活动:制定计划: 确定要开发软件系统的总目标,给出它 的功能、性能、可靠性以及接口等方面的要求;研 究完成该项软件任务的可行性,探讨解决问题的可 能方案;制定完成开发任务的实施计划,连同可行 性研究报告,提交管理部门审查。7 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.2 软件生命周期需求分析和定义:对待开发软件提出的需求进行分析 并给出详细的定义。编写出软件需求说明书及初步 的用户手册,提交管理机构评审。软件设计:设计是软件工程的技术核心。把已确定了 的各项需求转换成一个相应的体系结构。进而对每 个模块要完成的工作进行具体

5、的描述。编写设计说 明书,提交评审。程序编写:把软件设计转换成计算机可以接受的程序 代码。软件测试:在设计测试用例的基础上检验软件的各个 组成部分。运行维护:已交付的软件投入正式使用,并在运行 过程中进行适当的维护。8 2008 BUPT TSEG 北京邮电大学 通信软件工程中心u软件工程过程u软件生命周期u软件过程模型u传统软件生命周期模型u新型软件生命周期模型9 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.3 软件过程模型模型是实际事物、实际系统的抽象。 软件过程模型是从一个特定角度提出的 对软件过程的简化描述,是对软件开发 实际过程的抽象,它包括构成软件过程 的各种活

6、动、软件工件(artifact)以及 参与角色等。10 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.3 软件过程模型从软件过程的三个组成成分可以将软件过程模型划分为 三种类型: 工作流(work flow)模型这类模型描述软件过程中各种活动的序列、输入和输出,以及各种活动 之间的相互依赖性。它强调软件过程中活动的组织控制策略。 数据流(data flow)模型这类模型描述将软件需求变换成软件产品的整个过程中的活动,这些活 动完成将输入工件变换成输出工件的功能。它强调软件过程中的工件的变换 关系,对工件变换的具体实现措施没有加以限定。 角色/动作模型这类模型描述了参与软件过程

7、的不同角色及其各自负责完成的动作,即 根据参与角色的不同将软件过程应该完成的任务划分成不同的职能(function area)。它强调软件过程中角色的划分、角色之间的协作关系,并对角色的 职责进行了具体的确定。 11 2008 BUPT TSEG 北京邮电大学 通信软件工程中心u软件工程过程u软件生命周期u软件过程模型u传统软件生命周期模型u新型软件生命周期模型12 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型软件过程模型有时也称软件生命周期模型,即描述从软 件需求定义直至软件经使用后废弃为止,跨越整个生存 期的软件开发、运行和维护所实施的全部过程、

8、活动和 任务的结构框架,同时描述生命周期不同阶段产生的软 件工件,明确活动的执行角色等。 九个传统软件生命周期模型: .瀑布模型.螺旋模型 .V模型和W模型.喷泉模型 .原型方法.构件组装模型 .演化模型.快速应用开发模型 .增量模型13 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型1. 瀑布模型(waterfall model)14 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型u1970年,W.Royce提出瀑布模型。瀑布模型规定了软件 生命周期提出的六个基本工程活动,并且规定了它们自 上而下、相互衔接的

9、固定次序,如同瀑布流水u瀑布模型将软件生命周期划分为定义阶段、开发阶段和 维护阶段,在定义阶段部署了计划和需求分析活动;在 开发阶段部署了设计、编码和测试活动,维护阶段部署 了运行/维护活动 u瀑布模型中的每一个开发活动具有下列特征 本活动的工作对象来自于上一项活动的输出 根据本阶段的活动规程执行相应的任务。 产生本阶段活动相关产出软件工件,作为下一活动的输入。 对本阶段活动执行情况进行评审。 15 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型u瀑布模型中的运行/维护活动,是一个具有最长生 命周期的循环往复阶段。16 2008 BUPT TSEG 北

10、京邮电大学 通信软件工程中心2.4 传统软件生命周期模型瀑布模型优点: 软件生命周期的阶段划分不仅降低了软件开发的 复杂程度,而且提高了软件开发过程的透明性,便 于将软件工程过程和软件管理过程有机地融合在一 起,从而提高软件开发过程的可管理性。 推迟了软件实现,强调在软件实现前必须进行分 析和设计工作。 瀑布模型以项目的阶段评审和文档控制为手段有 效地对整个开发过程进行指导,保证了阶段之间的 正确衔接,能够及时发现并纠正开发过程中存在的 缺陷,从而能够使产品达到预期的质量要求。17 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型瀑布模型缺点: 模型缺乏

11、灵活性,特别是无法解决软件需求不明确 或不准确的问题,这是瀑布模型最突出的缺点。因此 ,瀑布模型只适合于需求明确的软件项目。 模型的风险控制能力较弱。成品时间长;体系结构 的风险和错误只有在测试阶段才能发现,返工导致项 目延期。软件活动是文档驱动的,文档过多会增加工作量, 文档完成情况会误导管理人员。18 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型2. V模型和W模型(1) V模型瀑布模型的变种瀑布模型将测试作为软件实现之后的一个独立 阶段,没有强调测试的重要性。针对瀑布模型这个缺点,1980年代后期Paul Rook提出了V模型。V模型的价值在于

12、纠正了人们不重视测试阶段 重要性的错误认识,将测试分等级,并和前面 的开发阶段对应起来。 19 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型V模型示意图 20 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型(2) W模型瀑布模型的变种V模型仍然将测试作为一个独立的阶段,所以 并没有提高模型抵抗风险的能力。Evolutif公司在V模型的基础上提出了W模型, 将测试广义化,增加了确认和验证内容,并贯 穿整个软件生命周期。W模型由两个V型模型组成,分别代表测试与 开发过程 ,两个过程是同步进行的。 21 2008

13、BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型W模型示意图 22 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型3. 原型方法(prototyping) 完整准确的需求规格说明很难得到 早期用户对系统只有一个模糊的想法; 开发过程中用户可能提出新的需求; 环境的变化也要求开发过程中的系统随之改变; 预料之外的实际困难使得开发人员不得不改变需 求来适应。通过加强评审和确认、全面测试也不能从根本 上解决需求不稳定带来的问题。为了解决这些问题,逐渐形成了软件系统的原 型建设思想 23 2008 BUPT TSEG 北京邮电大学

14、 通信软件工程中心2.4 传统软件生命周期模型(1) 原型方法概述原型:是指模拟某种产品的原始模型。软件原型 是一个早期可以运行的版本,它反映最终系统的 部分重要特性。原型方法构造软件系统 获得一组基本的需求说明,快速分析构造出一个小型 的软件系统,满足用户的基本要求;用户试用原型系统,对其进行反应和评价;开发者根据用户意见对原型进行改进,获得新的原型 版本;周而复始,直到产品满足用户的要求。原型化方法是在研究需求分析技术的过程中产生 的,但也可以用于软件开发的其他阶段24 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型原型的种类(目的)探索型:弄清对

15、目标系统的要求实验型:系统实现前考察系统的可行性进化型:将原型扩展到开发过程,通过原型开发逐 步实现所有系统功能。原型的使用策略废弃策略:探索型和实验型追加策略:进化型原型不同于最终的系统,需要快速实现和运行 ,因此,原型可以忽略一切暂时不必关心的部 分(抽象)25 2008 BUPT TSEG 北京邮电大学 通信软件工程中心2.4 传统软件生命周期模型原型方法的优点 有助于增进软件人员和用户对系统服务需求的理 解 提供了一种有力的学习手段 容易确定系统的性能、服务的可应用性、设计的 可行性和产品的结果 原型的最终版本可作为最终产品或最终系统的一 部分原型方法的缺点 文档容易被忽略 建立原型的许多工作会被浪费掉 项目难以规划和管理 26 2008 BUPT TSEG 北京邮电大学 通信软件工程

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

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