软件工程生命周期模型

软件生命周期模型 (Software Lifecycle Models)

There are five software lifecycle models that are commonly used while developing any software. These are as follows:

开发任何软件时,通常使用五个软件生命周期模型。 这些如下:

  1. The classical waterfall model

    古典瀑布模型

  2. The iterative waterfall model

    迭代瀑布模型

  3. The prototyping model

    原型模型

  4. The evolutionary model

    进化模型

  5. The spiral model

    螺旋模型

Now, let us compare each of them based on their features, and list each of their pros and cons. Also, we will list the situations in which the particular model should be used and also the situations where these models must not be used.

现在,让我们根据它们的功能进行比较,并列出它们的优缺点。 另外,我们将列出应使用特定模型的情况以及不得使用这些模型的情况。

各种软件生命周期模型的比较 (Comparisons of various software lifecycle models)

The comparison table of these models is as follows:

这些模型的比较表如下:

Software lifecycle Model Features Advantages Disadvantages
Classical waterfall model
  • Has defined phases

  • Follows all phases in the mentioned order

  • The flow of phase execution cannot be broken

  • Iteration is not allowed

  • Simple to use, understand and implement

  • Managed work

  • No scope of risk management

  • New features cannot be added or modified in the software after the development has begun.

  • Error is detected at the end of every phase

Iterative lifecycle model
  • Enhanced classical waterfall model in which Iterations are allowed

  • Most commonly used

  • Risk management is possible

  • Updates and modification can be made in any phase

  • Easy to understand and implement

  • Risks cannot be handled efficiently

  • Developer's idle hours are too high

Prototyping model
  • The prototype of the model is made before the actual software

  • User Interface usually is much more attractive in this model

  • It can be used where the user requirements are not defined.

  • Takes user feedback from time to time

  • User's satisfaction is a priority here

  • Is costly

  • The communication that is required between the customer and the developer is not always possible to get

  • Takes a lot of time to develop

Evolutionary model
  • Software is developed through different modules in an incremental manner

  • This model deals with the different versions of the software

  • Each version is an enhanced version of the previous one

  • Large projects can be developed efficiently through this model

  • Every version is capable of to fully function the mentioned functionalities

  • Is suitable only for large projects

  • Takes time to develop

  • Module integration is difficult

Spiral model
  • The phases are divided in the form of loops

  • Further, the loops are divided into four quadrants

  • Each block of this model contains a set of activities that the software performs

  • Most versatile model

  • Able to manage almost every type of risk

  • Complex projects can be created using this model

  • Is complex to understand and implement

  • Not suitable for ordinary software models

  • Costly to develop

  • Time consuming

软件生命周期模型 特征 优点 缺点
古典瀑布模型
  • 已定义阶段

  • 遵循上述顺序的所有阶段

  • 阶段执行流程不可中断

  • 不允许迭代

  • 易于使用,理解和实施

  • 管理工作

  • 没有风险管理范围

  • 开发开始后,无法在软件中添加或修改新功能。

  • 在每个阶段结束时检测到错误

迭代生命周期模型
  • 增强的经典瀑布模型,允许迭代

  • 最常用的

  • 可以进行风险管理

  • 可以在任何阶段进行更新和修改

  • 易于理解和实施

  • 风险无法有效处理

  • 开发人员的闲置时间太长

原型模型
  • 模型的原型是在实际软件之前制作的

  • 在这种模式下,用户界面通常更具吸引力

  • 可以在未定义用户要求的地方使用。

  • 不时获取用户反馈

  • 用户满意是这里的重中之重

  • 昂贵

  • 客户与开发人员之间所需的交流并非总是可以得到的

  • 需要很多时间来开发

进化模型
  • 通过不同的模块以增量方式开发软件

  • 该模型处理软件的不同版本

  • 每个版本都是前一个版本的增强版本

  • 通过此模型可以有效地开发大型项目

  • 每个版本都能够完全发挥上述功能

  • 仅适用于大型项目

  • 需要时间来发展

  • 模块集成困难

螺旋模型
  • 阶段以循环形式划分

  • 此外,循环分为四个象限

  • 该模型的每个模块都包含软件执行的一组活动

  • 最通用的型号

  • 能够管理几乎所有类型的风险

  • 可以使用此模型创建复杂的项目

  • 难以理解和实施

  • 不适合普通软件模型

  • 开发成本高

  • 耗时的

翻译自: https://www.includehelp.com/basics/comparison-of-software-lifecycle-models-software-engineering.aspx

软件工程生命周期模型

软件工程生命周期模型_软件生命周期模型比较| 软件工程相关推荐

  1. 白盒基本路径发测试实验报告_软件生命周期、白盒测试、黑盒测试

    继上一讲: 隅巳毕月:达摩克里斯之--排序与查找技术​zhuanlan.zhihu.com 我们今天来讲一下软件周期与两种软件测试方法 软件开发应遵循一个软件的生命周期,通常把软件产品从提出.实现.使 ...

  2. 软件开发人员标准薪金 人月_软件产品测试周期

    大家可能对软件产品测试很感兴趣,那么现在就跟大家说一下关于软件产品测试周期的问题: 首先就是这个顺序:1测试计划2测试设计 3测试开发4测试执行 5测试评估 流程:1需求分析阶段2软件设计和编码阶段( ...

  3. 软件工程质量管理体系要求_软件质量管理| 软件工程

    软件工程质量管理体系要求 软件质量管理体系 (Software quality management system) A quality management system frequently me ...

  4. sketchup 图片转模型_图片转换su模型的速成方法-建筑软件-筑龙建筑设计论坛

    刚刚做中式模型,感觉描图拉伸模型太费劲,想了个办法用软件转换,虽然步骤多了些,但感觉效果还是不错的,下面粗略的讲讲.抛砖引玉哈,大家多提意见. 首先上图,说明一下大概的流程: 1.[ps阶段]首先选取 ...

  5. 机器学习结构化学习模型_生产化机器学习模型

    机器学习结构化学习模型 The biggest issue in the life-cycle of ML project isn't to create a good algorithm or to ...

  6. mysql学生选课系统的关系模型_数据库系统原理ER模型与关系模型

    数据库系统是软件的一种,数据库系统自然而然也有他自己的生命周期生存期.它的生存期从规划开始,一直到将它卸载不用了.它的中间过程很复杂,为了实现用户的想法,数据库有关人员将现实生活中的数据进行抽象,然后 ...

  7. 空间计量模型_截面数据空间计量模型空间误差模型及Stata操作和应用

    来源:计量经济学服务中心编辑整理,转载请联系1 前言 空间分析起源于地理学.空间经济学和相关学科.到目前为止,它被认为是专业的领域,因此不是大多数统计软件的标准部分.就stata而言,有许多用户编写的 ...

  8. 基于张量机器学习模型_什么是基于模型的机器学习?

    基于张量机器学习模型 About Tom: Tom Diethe is a research fellow on the SPHERE project at the University of Bri ...

  9. 一般线性模型和线性回归模型_您的线性回归模型指南

    一般线性模型和线性回归模型 Interpretability is one of the biggest challenges in machine learning. A model has mor ...

最新文章

  1. linux安全擦除ssd命令,linux – 如何向SSD发送“ATA Secure Erase”命令?
  2. C 线程中容易忽视的 restrict 修饰符修饰
  3. Java面向对象4(P~U)
  4. G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——内置节点总览
  5. c++11 chrono
  6. php 函数有命名空间吗_解析 ThinkPHP 的命名空间
  7. 2020年餐饮B2B服务产业创新报告
  8. 思卡乐科技发布SR3系列RFID产品
  9. BP神经网络——如何进行权值的初始化
  10. linux中,使用cat、head、tail命令显示文件指定行
  11. 并发 锁和隔离等级的关系
  12. 620集成显卡和mx250,残血还是满血?一招看清MX250显卡真面目
  13. 什么是广域网?它的特点以及与局域网的不同点是什么?
  14. bed格式转vcf格式
  15. 判断无向图G是否是一颗树
  16. 网上书店平台---设计活动
  17. 致谢计算机组成原理老师的致谢,论文致谢优秀.doc
  18. DNF2月18日早0点停机更新公告
  19. docker的隔离系统
  20. 互联网业务数据分析-数据分析进阶

热门文章

  1. zabbix4.0添加mysql报警_Zabbix4.0系统告警“Zabbix server is not running”
  2. MySQL不走联合索引_mysql group by 多列优化思路?为什么不走联合索引?
  3. react取消所有请求_react 组件关闭后怎么消除还在进行中的ajax
  4. pytorch 命令行运行_PyTorch简介与相关安装
  5. IndexError: list index out of range image_name=self.images_name[index]
  6. Albert launcher安装与使用
  7. uburntu在不能自动获取网络时的联网设置
  8. 不用正则表达式,用javascript从零写一个模板引擎(一)
  9. 社交应用动态九宫格图片的规则
  10. JSP中 input type 用法