软件生命周期模型
模型名称
- 软件生命周期模型
- 瀑布模型
- 快速原型模型
- 增量模型
- 螺旋模型
- 喷泉模型
瀑布模型
特点:
1.阶段间具有顺序性和依赖性
2.推迟实现
3.质量保证
优点:
1.可强迫开发人员采用规范的方法
2.严格地规定了每个阶段必须提交的文档;
3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证
缺点:
瀑布模型是由文档驱动的”在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样子的。但是通过写在纸上静态的规格说明,很难全面正确的认识动态的软件产品。
适用范围:
需求明确,小规模软件开发
快速原型模型
特点:
快速建立起能够在计算机上运行的程序(最终产品功能的一个子集)。
优点:
软件产品的开发基本上是线性的
缺点:
必须迅速地构建原型然后根据用户意见循序的修改原型
适用范围:
用户需求不明确,需要通过构建原型来清楚的了解用户的真实需求。
增量模型
特点:
这种模型融合了线性顺序模型的基本成份和原型实现模型的迭代特征。增量模型采用随着日程时间的进展而交错的线性序列。每一个线性序列产生软件的一个可发布的”增量”。当使用增量模型时,第一个增量往往是核心的产品,也就是说第一个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估,都做为下一个增量发布的新特征和功能。这个过程在每一个增量发布后不断从复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。
优点:
1.能够在较短的时间内向用户提交可完成部分工作的产品;
2.逐步增加产品功能可以使用户有较充裕的时间学习适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
缺点:
1.较难把每个新的增量构件集成到现有的软件体系结构中,而又不破坏原来已经开发出的产品。
2.增量模型本身是自相矛盾的,它一方面要求开发人员把软件当做一个整体,另一个方面又要求开发人员把软件构件序列,每个构件本质上都独立于另一个构件,除非开发人员有足够的技术能力协调好这一明显的矛盾,否则增量模型开发出来的产品可能并不能令人满意。
适用范围:
软件开发周期较长的软件,有持续的合作,适用于游戏,微信等。
螺旋模型
特点:
螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险,即是在每个阶段之前都增加了风险分析过程。
优点:
1.对可选方案和约束条件的强调有利于已有软件的重用,也有利于把软件质量作为软件开发的一个重要目标;
2.减少了过多测试(浪费资金)或者不足(产品故障多)所带来的风险;
3.在螺旋中维护的只是模型的另一个周期,在维护和开发之间没有本质的区别;
缺点:
除非软件开发人员具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险,当项目实际上正在走向灾难时,开发人员可能还认为一切正常。
使用范围:
内部软件开发的大规模软件项目。
喷泉模型
特点:
面向对象的软件开发
优点:
1.对生命周期各阶段的区分变得不重要,不明显。
2.分析阶段得到的对象模型也适用设计阶段和实现阶段。
3.提高软件项目开发效率,节省开发时间。
缺点:
1.开发过程过分无序;
2.面向对象范型本身要求经常对开发活动进行迭代或求精;
3.在开发过程中需要大量的开发人员,因此不利于项目的管理。
适用范围:
面向对象的软件开发过程
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!