【51CTO.com快译】软件开发模型最早在上世纪50年代至60年代引入软件开发社区。在那个时分,将一切都集中起来是一个很好的做法,而编程是必须规划的进程之一。
如今,这个进程在日常的项目管理中十分必要,由于假设没有特定的事情流,项目开发能够会十分混乱。因此,从项目规划到发布和维护的任何活动都有一个一切人都需求运用的概念框架。
因此,很多组织表示:
与未定义的软件开发进程作妥协。
缺乏有关项目管理技术的某些知识。
寻求优化和构建开发阶段的办法。
希望加快交付进程。
降低项目风险。
延长项目时间和过多的成本。
本文将定义软件开发作命周期,概述七个最常用的软件开发模型,并找出它们在项目开发中的差异和益处。此外还将对软件工程中的软件模型停止比较,以协助组织找到最适宜的模型。
为什么需求软件项目开发模型?每个软件外包公司都有本人的软件开发作命周期(SDLC),它通常包含以下运用顺序开发阶段:
需求剖析
设计
开发和测试
执行
文档
维护
这些阶段标志着软件项目开发的通常进程,从搜集客户需求到推出具有全天候支持的成熟产品。很多组织通常更喜欢特性化的任务流程和办法,因此有一些包含这些开发阶段的概念模型。这些模型具有预先编写和树立的关键准绳、基本流程和时间表,因此将其称为办法论。
以下是各具特征的七种软件开发模型,它们辨别是:
瀑布模型
迭代和增量模型
螺旋模型
V型模型
原型模型
矫捷模型
DevOps模型
软件开发进程模型的价值在于进程优化,以及作为团队绩效提升的最终要素。每个模型都十分详细,并且组织在实施时应该专注于它们的技术、愿景、使命和节拍。这就是为什么有这么多人来寻求适宜其组织的软件开发模型的缘由。
依据调研机构Statista公司的调查,全球最常用的软件工程进程模型是DevOps模型,占到36%;紧随其后的是矫捷模型,将近32%;排名第三的是看板(Kanban)模型,全球有13%的IT社区都在运用。
那么,软件开发模型有哪些?当今组织运用的软件工程模型的类型是什么?
什么是软件开发模型以及它们如何任务? 1.瀑布模型瀑布模型是软件开发范围引入的第一个软件项目开发模型。它也被称为线性模型,由于该模型意味着在进入下一个阶段之前要完成以上一切阶段。因此,该模型逐渐地线性运转,不能够与任何阶段堆叠。其原理如下图所示:
确实,该模型相似于理想中的瀑布,它有终点和终点,就像水流从悬崖上落下,没有任何中缀或改动。
(1)哪些要素有助于选择瀑布办法?
短期项目。
明白、固定且记载良好的要求。
可了解的静态技术。
波动的产品定义。
各种产品支持资源。
产品担任人参与度低。
严厉设定的时间表。
无法更改的固定预算。
而在一切其他状况下,可以选择其他模型来停止项目开发。
瀑布模型的主要优点是该模型在执行的义务及其时间表方面有严厉的顺序。由于顺序是固定的,很多义务可以很容易地在软件部门之间停止划分,并监控义务完成状况。客户能够会发现瀑布模型是一种牢靠的办法,由于他们会事前了解从末尾到完毕的整个进程。当然瀑布模型也有一些缺陷。例如瀑布模型很难对义务停止修正,这是由于运用顺序开发越深化到另一个阶段,就越难前往并更改其概念基础或文档。
(2)瀑布模型的优缺陷
2.迭代和增量模型在迭代和增量模型中,开发从完成几个小需求末尾,然后经过屡次迭代(增量)增强产品。增强进程以增量(迭代)的方式停止,直到运用顺序功用完成并预备部署为止。只开发软件的一小部分是一种明智的办法,由于可以轻松查看已完成的任务,快速确定进一步的要求,并继续实施或对运用顺序停止一些更改,然后再继续下一步。无论采用哪种方式,组织都将从这些处置方案中受益,由于每次新的迭代都会带来一个新的、更好的软件版本。
与瀑布模型不同,迭代模型允许一次执行屡次迭代并同时接纳产品输入。该模型提供的成功关键在于验证软件的版本,并依据要求对其停止测试。这样可以更好地了解团队在项目中所处的位置、产品的功用验证,以及对产品成功的决计。
(1)迭代模型适用于软件开发的哪些中央?
系统要求失掉明白定义和充沛了解。
随着时间的推移,能够会出现其他要求。
当团队学习新技术并同时处置项目时。
仅在合同规则的特定迭代需求时才运用特定资源。
由于高风险特性,未来业务目的能够会发作变化。
迭代模型的最大优点是它允许在末尾开发软件时发现功用和设计的缺陷。在迭代中任务并验证每个开发周期将产生无风险的产品,可以添加或删除功用,以及改动最终产品的成本和时间表。而除了这些优点之外,还应该讨论存在的一些缺陷。
(2)迭代模型的优缺陷
3.螺旋模型 (责任编辑:admin)