所谓的软件开发模型,其实就是开发软件所经历的各个阶段 ,一般都会包括:需求->设计->编码-测试-运行维护 。当然,不同的开发模型会稍有不同 ,每个模型都有其使用场景以及对应的公司使用 ,每个模型都有其优缺点 ,同时每个模型所解决问题的侧重点不同 。
目前已经存在的开发模型有很多 ,如:
以上模型中,在企业中可能常使用到的就是瀑布模型 ,迭代模型 ,瀑布模型 ,和敏捷模型 。接下来我们重点介绍如下的四种模型 。
所谓的瀑布模型,其实是从其形状看着像瀑布,故称之为瀑布模型 。如下图 :
瀑布模型主要包括的阶段有 : 需求->设计->编码->测试->维护 。
瀑布模型有如下的几个特点 :
那么以上的开发方式会导致怎样的结果呢 ?我们可以通过三个维度去衡量 ,分别是 :
以上几点可以说明,使用瀑布模型开发可能对公司来说,可能就是看重的是它的成本低廉 。
最后 ,我们要讨论的是哪些类型的公司会使用瀑布模型呢 ? 主要是一些做项目性的公司 ,公司没有自己的产品,主要是给别人开发软件 。同时因为其成本原因 ,所以公司对人员的技术上要求也不是很高 。
所谓的V模型 ,也是从其形状来看像个V字,故起名为V模型 。
V模型主要包含的阶段有 : 需求分析->概要设计->详细设计->编码->单元测试->集成测试->系统测试->验收测试
同样的V模型也有如下的几个特点 :
那么以上的开发方式会导致怎样的结果呢 ?我们可以通过三个维度去衡量 ,分别是 :
以上几点可以说明,使用V模型进行开发,可能有的特点是需求相对变化不大 , 且要能保证质量这样的场景要求 。
最后 ,什么样的公司会使用V模型呢 ? 一般是为大型企业开发的大型软件 ,比如银行外包公司 ,开发银行相关的软件 ,开发一个版本可能就是一年半载 ,他们对流程要求很严 ,同时对质量也要求很高 。
所谓的迭代模型 ,其实就是指通过不断迭代软件 ,使其产品逐渐变为想要的状态 。
迭代模型包含的阶段有 : 需求设计->系统设计->代码实现->测试->上线
同样的迭代模型也有如下的几个特点 :
那么以上的开发方式会导致怎样的结果呢 ?我们可以通过三个维度去衡量 ,分别是 :
以上几点可以说明,使用迭代模型进行开发,主要是对产品有快速更新,并且要有一定质量要求的需求的公司 。
最后 ,什么样的公司会使用迭代模型呢 ?一般就是互联网企业,往往互联网开发的都是自己产品,希望能尽快面向用户,并可以快速的获取用户反馈。
所谓的敏捷模型 ,是一种以人为核心、迭代、循序渐进的开发方法。即它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;
敏捷开发的特点就是 :小步快跑,快速迭代 。
所以,一般使用敏捷开发会在需求适应性以及质量上都很好 ,但同时它对整个团队的要求也很高 。
那么 ,什么样的公司会使用到敏捷开发呢 ? 一般都是互联网大厂 ,不过随着敏捷的普及,目前也陆续的深入各种中小企业了 。
最后 ,我们将这几个模型放到一起做个对比 ,以看它们有什么区别 ?
开发模型 | 开发过程 | 特点 | 优缺点 | 开发周期 |
瀑布模型 | 将所有都完成以后才进入下一个阶段,依次类推。 | 产品串行开发 编写文档多而且重 开发周期长 | 优点 :开发成本低 缺点 :需求适应性差 ,质量差 | 2月+ |
V模型 | 将所有都完成以后才进入下一个阶段,依次类推。 | 产品串行开发 编写文档多而且重 开发周期长 | 优点 :质量稳定 ,质量好 缺点 :需求适应性差 ,开发成本高 | 3月+ |
迭代模型 | 分成几次迭代进行 ,迭代功能包含用户反馈的信息 | 产品串行开发 编写文档少而且轻 开发周期相对短 | 优点 :需求适应性好 缺点 :没有明显缺点 | 2周~6周 |
敏捷模型 | 按用户故事进行拆分,然后进行快速迭代 | 产品串行开发 编写文档少而且轻 开发周期最短 | 优点 :需求适应性好,且质量高 缺点 :开发成本高 | 1周以内 |
留言与评论(共有 0 条评论) “” |