形形色色的软件生命周期模型(1)——瀑布型、增量型

摘要:
本文将向您介绍各种常见的软件生命周期模型及其优缺点。在文章的最后,它还将介绍吸收各种模型优点的实用生命周期模型。软件生命周期模型是指从软件生产开始到软件淘汰结束的整个过程的模型。接下来,我们将逐一介绍各种常见的软件生命周期模型。第一个是我们在阅读时所学到的,其次是实用的生命周期模型,最后一个是我在多年的项目管理工作中总结的可能最适合我们的情况的开发模型。

摘要:
读大学时,我们曾经学习过不少软件生命周期模型,当时还不是很懂软件开发,你可能会觉得这些东西很新奇。在实际工作中,你会发现这些模型其实很难应用,与此同时你会接触到RUP、MSF等权威软件公司的生命周期模型。本文将向你介绍各种常见的软件生命周期模型及它们的优缺点,文章最后还会介绍吸取了各种模型优点的实用生命周期模型。


大纲:
1.瀑布型
2.增量型
3.进化型
4.原型
5.螺旋型
6.RUP的软件生命周期模型
7.MSF的软件生命周期模型
8.实用软件生命周期模型

本系列文章将为分四次为你分享,每次分享两种模型。


 
软件生命周期模型,是指软件由开始制作到最后被淘汰掉整个过程的模式。下面我们将逐一介绍各种常见的软件生命周期模型,最开始几种是我们读书时学习到的,后面是各种是实用生命周期模型,而最后一种是我在多年项目管理工作中总结出来的可能是最符合我们现状的开发模型。

瀑布型

瀑布型简单地说就是按照需求、设计、编码、测试、软件维护这个基本的顺序来研发软件,前面一个步骤不完成,后面的步骤不能开始,否则问题会滚到下个阶段,带来更多的问题。瀑布型的图如下:

 瀑布型.png

此图来自互联网

瀑布型是我们说得最多的模型,也最容易理解,但在实际工作中最不能执行。
我们普遍会认为,大型的、严谨程度高的项目应该采用瀑布型,恰恰相反,往往是规模很小的项目才适合这样做。
大型的项目,需求和技术都是很复杂的,如果死板地按照瀑布型,基本不可能适应复杂的需求与技术情况,也会让项目遥遥无期。而规模很小的项目,需求容易在前期就搞得很清楚,技术也不复杂,这时反而适用瀑布型。
但实际情况是规模很小在前期能搞定需求的项目基本上是没有的,能应用瀑布型的情况一般是项目的后期维护小版本,某个很小的升级版本可以用瀑布型的开发模式。



增量型

先看看增量型的图:

 增量型.png
此图来自互联网

该模式的特点是一次性地获取全部的需求,然后做出分版本实现各需求的计划,每个版本只实现一部分需求,通过多个版本逐步实现全部需求,而每个版本可以认为是一个“小瀑布”。
该模型的好处是可以尽快让系统上线,让客户先使用部分功能,尽早实现系统的价值。

该模型比较能符合实际的情况,我们往往也是通过多个版本来逐步实现全部需求,但需求是不可能在一开始就完全确定的,实际情况是往往最多只能确定80%,而后期通过各版本我们还会获取更多的新需求以及需求调整。将此模型稍微调整后,可以适用于大部分的实际项目。

请看下一篇……




作者:张传波

创新工场创业课堂讲师

软件研发管理资深顾问

《火球——UML大战需求分析》作者

www.umlonline.org 创办人

免责声明:文章转载自《形形色色的软件生命周期模型(1)——瀑布型、增量型》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇转载:前端大牛们都学过哪些东西?打造“黑客“手机--Kali Nethunter下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

搭建GoldenGate的单向复制环境

配置环境: 建议在相同版本OGG(即Oracle GoldenGate)之间进行复制,我在这里之所以选择不同版本的OGG,便于后续的比较学习。 一、准备OGG的运行用户 在这里,我直接使用oracle用户作为OGG的运行用户。 二、确认OGG的安装目录 在源端,即Linux环境下,我选择/u01/app/goldengate作为OGG的安装目录,注意:/...

准时下班的秘密:集成 GitLab && JIRA 实现自动化工作流

佛罗伦萨 - 圣母百花圣殿(图) 前言 GitLab 和 Jira 是平时开发过程中使用非常高频的代码管理系统(开发人员)和项目管理系统(项目管理),通过两套系统的协作完成平常大多数的功能开发,但是两套系统在没有集成情况下是完全两套独立的系统,不仅信息没有互通,而且开发人员需要反复的登陆两套不同的系统,进行一些重复的操作才能保证功能流的正常流转,不仅效率...

Android性能测试工具Emmagee的基本使用

简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的频率以及性能的实时显示,并最终生成一份性能统计文件。支持SDK:Android2.2以及以上版本,目前不支持7.0的版本。 Why use 开源 使用...

MicroPython基础知识总汇

MicroPython的系统结构 MicroPython系统的经典结构由三部分组成,分别是微控制器硬件、MicroPython固件、用户程序。 MicroPython支持的其它类型开发板,需要自己编译源代码,产生固件,并将固件下载到微控制器中才能运行MicroPython。(此内容我们后面会讲解到,千万别好高骛远!) MicroPython连接电脑 STM...

win10 重新安装桌面工具

win10 重新安装桌面工具 Win10去除了桌面小工具,我已近习惯了放个时钟在桌面,所以又重新找到了下载的地方,如下: 网址: https://gadgetsrevived.com/  点击 download here 下载安装包。 安装好后如下:...

DEP(数据执行保护)介绍

DEP - 数据执行保护的缩写,Data Execution Prevention。 数据执行保护 (DEP) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。在 Microsoft Windows XP Service Pack 2、 Microsoft Windows Server 2003 Service Pack 1...