当前位置:文档之家› 软件工程实用教程第2章软件生存周期及开发模型

软件工程实用教程第2章软件生存周期及开发模型


第2章软件生存周期及开发模型
2.1.2 软件过程各阶段任务 1.软件定义期
(1)软件任务立项 (2)可行性研究 (3)软件需求分析 (4)制定项目计划
第2章软件生存周期及开发模型
2.软件开发阶段
(1)总体设计 (2)详细设计 (3)编码和单元测试 (4)集成测试 (5)确认测试
3.运行与维护阶段
第2章软件生存周期及开发模型
瀑布模型的缺点
✓ 阶段与阶段划分固定,阶段间产生大量的文档, 极大地增加了工作量;
✓ 由于开发模型呈线性,当开发成果尚未经过测试 时,用户无法看到软件的效果,这些问题往往会 导致开发出来的软件不是用户真正需要的软件;
✓ 无法通过开发活动澄清本来不够确切的软件需求, 因此,需要返工或者不得不在维护中纠正需求的 偏差;
✓ 对于一个大型复杂的系统,如果不经过分析来 进行整体性划分,想直接用屏幕来一个一个地 模拟是很困难的;对于大量运算、逻辑性较强 的程序模块,快速原型方法很难构造出模型来 供人评价。
第2章软件生存周期及开发模型
原型方法只适用于小型、简单、处理过程比较 明确、没有大量运算和逻辑处理过程的系 统。
第2章软件生存周期及开发模型
第2章软件生存周期及开发模型
2.2.3 增量模型
增量模型的工作流程
定义需求框架
按照构件组成及其关系 设计软件系统体系结构
将构件集成进系统
验证系统
系统已完



最终系统
开发增量构件 细化构件需求 设计构件 实现构件 验证构件
第2章软件生存周期及开发模型
1.增量模型的三个阶段
(1)在系统开发的前期阶段,为了确保所建系统具有优良 的结构,仍需要针对整个系统进行需求分析和总体设计, 需要启动系统的基于增量构件的需求框架,并以需求框 架中构件的组成及关系为依据,完成对软件系统的体系 结构设计。
第2章软件生存周期及开发模型
2.2.1 瀑布模型
第2章软件生存周期及开发模型
瀑布模型的特点: ✓ 阶段性 ✓ 阶段评审 ✓ 文档管理 瀑布模型适用于具有以下特征的一类系统: ✓ 在开发时期内没有或很少有需求变化; ✓ 开发者对应用领域很熟悉; ✓ 低风险项目,如开发者对目标和开发环境很熟悉; ✓ 除了在早期阶段,用户对开发工作参与很少; ✓ 系统编程要求使用面向过程的程序设计语言。
快速原型法的特点: ✓ 快速原型是用来获取用户需求的,或是用来
试探某种设计是否有效。一旦需求或设计确 定下来,原型就将被抛弃。
第2章软件生存周期及开发模型
✓ 快速原型是暂时使用的,因此并不要求完整。 它往往针对某个局部问题建立专门原型,如界 面原型、工作流原型、查询原型等。
✓ 快速原型不能贯穿软件的整个生命周期,它需 要和其他的过程模型相结合才能产生作用。
(3)软件系统是逐渐开展的,因此开发者可以通过对诸多构件 的开发,逐步积累开发经验。实际上增量式开发还有利于 技术复用,
(4)增量式开发还有利于从总体上降低软件项目的技术风险。
第2章软件生存周期及开发模型
2.2.4 螺旋模型
第2章软件生存周期及开发模型
2.2.4 螺旋模型
在笛卡尔坐标的4个象限上分别表达各方面的 活动:
2.增量模型的作用
(1)开发初期的需求定义只是用来确定软件的基本结构,这使 得开发初期,用户只需要对软件需求进行大概的描述,而 对于需求的细节描述,则可以延迟到增量构件开发时进行, 以增量构件为单位逐个地进行需求补充。(2)软件系统可 以按照增量构件的功能安排开发的优先顺序,并逐个实现 和交付使用。这不仅有利于用户尽早地用上系统,能够更 好地适应新的软件环境,而且用户在以增量方式使用系统 的过程中,还能够获得对软件系统后续构件的需求经验。
(2)在完成软件体系结构设计之后,可以进行增量构件的 开发。这时需要对构件进行需求细化,然后进行设计、 编码测试和有效性验证。
(3)在完成了对某个构件的开发之后,需要将该构件集成 到系统中去,并对已经发生了改变的系统重新进行有效 性验证,然后再继续下一个增量构件的开发。
第2章软件生存周期及开发模型
第2章软件生存周期及开发模型
本章学习内容: 1.掌握软件的生存(生命)周期的概念 2.明确学习软件过程模型的意义 3.掌握各种过程模型的特点与适用范围 4.掌握面向对象软件过程模型的内容与过

第2章软件生存周期及开发模型
2. 1 软件过程概述
2.1.1 软件生存周期
软件的生存周期指软件产品从功能确 定、设计、开发成功、投入使用,并 在使用中不断修改、完善,直至被新 的软件所替代而停止该软件的使用的 全过程。
第2章软件生存周期及开发模型
2.2 典型的软件过程模型
软件过程模型
把软件生存周期中各项开发活动的流程用一 个合理的框架——开发模型来规范描述,这 就是软件过程模型 。 软件过程模型是从一个特定的角度表现一个 过程,主要根据软件的类型、规模,特别是 软件的开发方法、开发环境等多种因素确立 过程模型。
2.原型进化模型
需求描述
建立/完善原型
使用原型系统

交付目标系统

系统充分
✓ 原型进化模型将软件的需求细节定义、产品开发和有 效性验证放在同一个工作进程中交替或并行运作。因 此,在获得了软件需求框架以后,就可以直接进入到 对软件的开发中。
✓ 原型进化模型是通过不断发布新的软件版本而使软件 逐步完善的,因此,这种开发模式特别适合于那些用 户急需的软件产品开发。
✓ 由于固定顺序,前期工作中造成的差错越到后期 阶段所造成的损失越大,为了纠正偏差,需要付 出高昂的代价。
第2章软件生存周期及开发模型
改进的瀑布模型
第2章软件生存周期及开发模型
2.2.2 原型模型
1.快速原型方法 快速原型方法是原型模型在软件分析、设计 阶段的应用,用来解决用户对软件系统在需 求分析上的模糊认识。
பைடு நூலகம்
第2章软件生存周期及开发模型
软件的生存周期的作用:
从时间的角度,对软件开发和维护的复 杂过程进行了有效的划分,把整个生命 周期划分为若干个互相区别而又彼此联 系的阶段,给每个阶段赋予确定而有限 的任务,这样就便于每个阶段都采用经 过验证,行之有效的管理技术和方法, 从技术和管理的角度进行严格审查,以 达到保证软件质量、降低成本、合理使 用资源,进而提高软件开发生产率的目 的。
相关主题