当前位置:
文档之家› 软件工程实用教程第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章软件生存周期及开发模型
软件的生存周期的作用:
从时间的角度,对软件开发和维护的复 杂过程进行了有效的划分,把整个生命 周期划分为若干个互相区别而又彼此联 系的阶段,给每个阶段赋予确定而有限 的任务,这样就便于每个阶段都采用经 过验证,行之有效的管理技术和方法, 从技术和管理的角度进行严格审查,以 达到保证软件质量、降低成本、合理使 用资源,进而提高软件开发生产率的目 的。