软件工程的开发模型:(自学材料总结)
1.瀑布模型,该模型是以文档作为驱动,一级一级的进行的开发,每一个阶段完成都会有一个文档产生,根据该文档在进行下一个阶段的开发,在开发过程中,用户看不见系统式什么样,只有开发完成的时候,系统才会整体提交。
优点:适合于功能和性能明确、完整、无重大变化的软件开发。大部分系统软件具有这些特性。
缺点:缺乏对付变化(这里的变化既有客户需求的变化,也有开发时技术的变化)的机制,使得开发完成后对软件升级维护带来较大的困难。缺乏灵活性,无法解决需求不明确模糊这样的问题。
2.增量模型,该模型适用于需求不明确的情况,弥补了瀑布的不足,它是开发一部分象客户展示一部分,然后再开发下一部分,这样灵活性就有了很大的提高,现在得小公司一般都会采用增量模型,这样开发出来的软件一定是用户满意的。适用于小项目。
3.螺旋模型,是瀑布模型和增量模型的结合,每一个阶段的开发是一个增量,每一个增量里面是一个瀑布,它是以风险驱动的模型,非常适合大型项目的开发,这个模型要求项目经理接项目的时候要考虑该项目的风险,资金投入和人力投入等因素。每一个阶段的投入,都会有风险的分析,和上一个阶段遇到的风险来决定。
螺旋周期的步骤:1,确定目标、方案、限制条件,2,评估方案、标示风险和解决风险。3,开发确认产品。4,计划下一个周期工作。
4。喷泉模型。(这个是校讯通项目采用的开发模型)该模型是一种以用户需求为动力,以对象作为驱动的模型。它适用于面向对象的开发方法,java项目的开发。克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。
特点:1开发过程 分析===系统设计===软件设计===实现。
5.面向知识的模型(智能模型),很少用,每一个开发阶段需要用相关的智能软件专家系统等进行分析。向uml together这样的工具。 优点:适用专家系统使得系统更完整准确。-------------------是今后软件工程的发展方向。
6.变换模型。没见过谁用过。。。。