软件开发七大过程模型

目录
  • 一.瀑布模型
  • 二、喷泉模型
  • 三、快速原型模型
  • 四、增量模型
  • 五、螺旋模型
  • 六、Rational统一模型
  • 七、微软过程模型
  • 总结

一.瀑布模型

瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、训试和维护,上一阶段完成后才能进入到下一阶段, 整个模型就像一个飞流直下的瀑布。

瀑布模型的过程如下图:

瀑布模型有许多优点:

可强迫开发人员采用规范的方法:

严格规定了各阶段必须提交的文档:

要求每个阶段结束后,都要进行严格的评审。

但这也造就了瀑布模型过于理想化,而且缺之灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求,直到软件开发完成之后才发现与用户需求有很大距离,此时必须付出高额的代价才能纠正这一偏差,这开发模型主要适用于需求非常明确的应用。

二、喷泉模型

喷泉模型主要用于描述面向对象的开发过程,“喷泉”一词体现了面向对象开发过程的迭代和无间隙特征。迭代意味着模型中的开发活动常常需要多次重复,每次重复都会增加或明确一些目 标系统的性质,但却不是对先前工作结果的本质性改动。无间隐是指在开发活动(如分析、设计、编程)之间不存在明显的边界,而是允许各开发活动交叉、迭代地进行。

喷泉模型具有的优点是:

无缝、可同步开发,提高开发效率,节省开发时间,适用于面向对象的软件开发。

但是对于这样的模型同样是具有缺点的:

在软件开发过程中可能随时会增加各种信息、需求和资料,需要严格管理文档,这样就造成了审核的难度逐渐增大。

三、快速原型模型

快速原型模型对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。原型化人员对原型的实施很重要,衡量他们的重要标准是能否从用户的模糊描述中快速地获取实际的需求。

快速原型模型的优点是:

由于该模型是通过原型与用户进行交互,所以在确定需求上优于瀑布模型,通过开发原型和演示原型对开发者和使用者了解系统都有积极作用。同时最重要的一点是有的软件原型可以成为最终产品的一部分。

但是由于该模型开发特有的特点,也使得它快速建立的系统结构加上连续的修改可能导致软件质量低下,原型系统的内部结构可能不好。

四、增量模型

增量模型(演化模型)也是一 种原型化开发方法,但与快速原型模型略有不同。在快速原型模型中,原型的用途是获知用户的真正需求,一 旦需求确定了,原型即被抛弃。而演化模型的开发过程,则是从初始模型逐步演化为最终软件产品的渐进过程。也就是说,快速原型模型是一种“抛弃式”的原型化方法,而增量模型则是一种“渐进式”的原型化方法。

增量模型所具有的优点是:

较短的时间内向用户提交可完成的有用工作产品,从而保证用户有充裕的时间学习适应产品,软件结构必须开放,能够方便向现有产品加入新构件。但也正是这样的一个要求也称为了增量模型开发的一个缺点,即在软件开发的过程中,向现有产品中加入新构件是十分不便的。

五、螺旋模型

螺旋模型结合瀑布模型和增量模型的优点,最主要的特点在于加入了风险分析。它是由制订计划、风险分析、实施工程、客户评估这循环组成的, 它最初从概念项目开始策一个螺旋, 这种开发模型将风险分析作为个单独的阶段来做,比较适合风险救大的大中型的软件开发项目。

根据螺旋模型开发的特点,我们其实就可以得出螺旋模型的优点就是对于大型软件开发项目具有较好的风险控制。

但是同样也就是这样的一个优点所造成了的缺点是,开发人员需要有风险评估的经验,契约开发通常需要指定过程模型和发布产品。

六、Rational统一模型

Rational统一过程是一个二维生命周期模型,该过程强调以迭代和增量的方法开发软件,

该模型的优点是:不断的版本发布成为一种团队日常工作的真正驱动力,将发现问题、制定方案和解决过程集成到下一次迭代,使用迭代开发,能够降低开发风险。能够更好的安排产品开发的辅助过程。

七、微软过程模型

规划阶段:微软过程模型开展市场调查研究,结合公司战略形成产品的远景目标,

设计阶段:根据产品远景目标,完成软件规格说明和总体设计,确定产品开发的主要进度。

开发阶段:主要则是完成产品中所有构件的研发,稳定阶段实行全面的内部和外部测试,最终形成可发布的RTM版本。

发布阶段:确定产品质量符合发布标准后,发布产品及其相关消息。

该模型采用渐进式的开发策略,解决问题的及时性、不确定性和变更因素的可控性,缩短产品上市周期。

好了,关于软件开发的七大过程模型就和大家分享这些,之后还会使用具体的项目案例针对每一种模型进行剖析。

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Gin golang web开发模型绑定实现过程解析

    我们了解到gin可用通过类似DefaultQuery或DefaultPostForm等方法获取到前端提交过来的参数.参数不多的情况下也很好用,但是想想看,如果接口有很多个参数的时候再用这种方法就要调用很多次获取参数的方法,本文将介绍一种新的接收参数的方法来解决这个问题:模型绑定. gin中的模型绑定可以理解为:把请求的参数映射为一个具体的类型.gin支持JSON,XML,YAML和表单参数等多种参数格式,只需要在对应的字段上声明标签. 绑定表单或者查询字符串 type Person struct

  • 详解iOS应用UI开发中的九宫格坐标计算与字典转换模型

    九宫格坐标计算 一.要求 完成下面的布局 二.分析 寻找左边的规律,每一个uiview的x坐标和y坐标. 三.实现思路 (1)明确每一块用得是什么view (2)明确每个view之间的父子关系,每个视图都只有一个父视图,拥有很多的子视图. (3)可以先尝试逐个的添加格子,最后考虑使用for循环,完成所有uiview的创建 (4)加载app数据,根据数据长度创建对应个数的格子 (5)添加格子内部的子控件 (6)给内部的子控件装配数据 四.代码示例 复制代码 代码如下: // //  YYViewC

  • nodejs个人博客开发第四步 数据模型

    本文为大家分享了nodejs个人博客开发的数据模型,具体内容如下 数据库模型 /model/db.js 数据库操作类,完成链接数据库和数据库的增删查改 查询表 /*查询*/ select:function(tableName,callback,where,field){ field=field ? field : '*'; var sql="select "+field+" from "+this.C.DB_PRE+tableName; if(where){ sql

  • iOS中的应用启动原理以及嵌套模型开发示例详解

    程序启动原理和UIApplication   一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示. (3)通过[UIApplicationsharedApplication]可以获得这个单例对象 (4) 一个iOS程序启动后创建的第一个对象就是UIAp

  • PHP YII框架开发小技巧之模型(models)中rules自定义验证规则

    YII的models中的rules部分是一些表单的验证规则,对于表单验证十分有用,在相应的视图(views)里面添加了表单,在表单被提交之前程序都会自动先来这里面的规则里验证,只有通过对其有效的限制规则后才能被提交,可以很有效地保证表单安全和信息的有效性.还是给大家具体说明一下: 以下是视图(views)部分的简单代码: <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'tag-form', 'enableAjaxVa

  • 软件开发七大过程模型

    目录 一.瀑布模型 二.喷泉模型 三.快速原型模型 四.增量模型 五.螺旋模型 六.Rational统一模型 七.微软过程模型 总结 一.瀑布模型 瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划.分析.设计.编程.训试和维护,上一阶段完成后才能进入到下一阶段, 整个模型就像一个飞流直下的瀑布. 瀑布模型的过程如下图: 瀑布模型有许多优点: 可强迫开发人员采用规范的方法: 严格规定了各阶段必须提交的文档: 要求每个阶段结束后,都要进行严格的评审. 但这也造就了瀑布模型过于理想化,而且缺之灵活性

  • 软件开发基础之设计模式概述

    成为一名优秀的软件开发工程师,设计模式的重要性不言而喻,本章节是对设计模式的前置知识概述,涉及概念性较大,读者可在设计模式学习过程中参阅本文档. 在第一章节,主要介绍软件设计的七大原则,接着在第二章我们简要介绍设计模式的三种分类,让我们站在一定的高度对设计模式有整体的把握,第三章UML类图帮助我们更好的看懂设计模式的代码. 一.软件设计七大原则 无论是在我们学习设计模式的过程中,还是日常的开发过程中,都要遵循一套统一的软件设计原则. 在常见的设计原则中,一共是7 种设计原则,它们分别为开闭原则.

  • 探秘软件开发的另一极(1)

    有人形象地将"瀑布式"开发与"敏捷开发"描述成为软件开发的两极.瀑布式开发从开发伊始就定义出软件架构,然后进行模块开发与组装.敏捷开发则根据细化的需求直接开发软件,并利用迭代方式逐渐组建出大的软件系统. 对于瀑布式开发,人们耳熟能详.但是对于敏捷开发这一极,可能所知甚少.日前,ThoughtWorks首席科学家Martin Fowler.ThoughtWorks中国公司总经理Sidney G.Pinney与中国计算机报高级副总编郭旭的一番对话将帮助你了解敏捷开发的奇

  • C++实现简单FTP客户端软件开发

    本文实例为大家分享了C++实现简单FTP客户端软件开发的具体实现代码,供大家参考,具体内容如下 题目 简单FTP客户端软件开发(100分)网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中.而文件传送协议FTP是因特网上使用得最广泛的文件传送协议.FTP使用客户服务器方式. 设计要求: 1)以命令行形式运行2)该FTP客户端程序具有以下基本功能:能完成FTP链接的打开和关闭操作:能执行文件的上传和下载:能完成目录的创建.删除等有关操作.3)设计中加入新的功能:登录

  • Linux下的软件开发

    1.如何升级.编译内核? 如果你不想改变内核的版本,直接转到以下第四步. 1)在任何一个子目录下(但通常是在/usr/src/下)untar解开新的内核源程序: tar xvfz linux-x.x.xx.tar.gz (例如linux-2.0.35.tar.gz) 或者是打补丁(patch):  gzip -cd patch-2.0.35.gz | patch -p0 打完补丁直接跳到第四步 2)rm /usr/src/linux   这通常是一个符号连接. 3)在 /usr/src/ 下建立

  • Coolite配置 管理软件开发历程之

    1.从官方网站下载Coolite Toolkit: http://www.coolite.com/download/ 2.修改Web.config文件 <?xml version="1.0"?><configuration> <configSections>    <section name="coolite" type="Coolite.Ext.Web.GlobalConfig" requirePerm

  • 软件测试方法大汇总

    软件测试方法大汇总 软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多. 我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法. 从测试设计方法分类 测试名称 测试内容 Black box黑盒测试 把软件系统当作一个"黑箱",无法了解或使用系统的内部结构及知识.从软件的行为,而不是内部结构出发来设计测试. White box白盒测试 设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择

  • MongoDB开源数据库开发工具dbKoda

    Southbank Software公司最近发布了 dbKoda 0.6.0 ,这是该软件的 首个发布版 .dbKoda是一款开源的 MongoDB 开发工具,采用JavaScript. React 和 Electron 开发.下图显示了dbKoda的用户图形界面,突出特点是提供了一个连接管理器(Connection Manager)和代码编辑器(Code Editor),其中代码编辑器给出了丰富的MongoDB数据操作特性. 连接管理器 连接管理器维护多个数据库连接的配置信息(Profile)

  • 详解Angular CLI + Electron 开发环境搭建

    本文介绍了Angular CLI + Electron 开发环境搭建,分享给大家 用 @angular/cli 配合 Electron 构建桌面软件开发环境,可以在 Electron 中使用 Angular 的各种特性,使开发桌面软件像开发网站一样简单.快捷,而且可以模块化,紧跟最新技术趋势. 安装 Angular CLI 和 Electron 首先使用 npm 安装 Angular Cli: $ npm i -g @angular/cli 然后安装 Electron $ npm i -g el

  • 推荐4款傻瓜型的ASP服务器软件(asp运行环境一键搭建工具)

    虽然现在各种语言大行其道,但是asp的成熟性以及易用性还是有很大的客户量存在,要运行ASP程序,必须安装调试ASP的环境,这里我们就需要安装Windows自带的IIS作为服务器.而IIS的安装对于非专业人士来说是件难以完成的任务,通常不知道如何着手,且安装过程繁琐,容易出错,还需要操作系统安装光盘.这里,我推荐几款傻瓜型的ASP服务器软件,比较适合初级站长. 1.IIS自动安装程序: 官方网站:http://landian.cc/ IIS的安装对于非专业人士来说是件难以完成的任务,通常不知道如何

随机推荐