为了反映软件生存周期内各个工作应怎样组织,各阶段怎样衔接,须要软件开发模型给出直观图示表达。软件开发模型是软件思想的详细化,是实施在过程模块中的软件开发方法和工具。
以下来介绍开发模型的特点以及他们的优缺点。
瀑布模型
核心思想是按工序开发软件,功能,设计与实现分开,各阶段分工协作。
结构化分析设计方法,逻辑实现和物理实现分开。
活动为:开发计划,需求分析和说明,设计,測试,执行维护。
各阶段瀑布流水,逐级下落,自上而下。
特征:
上一个活动方产生的工作对象为输入
利用输入,实现本项活动要完毕内容
该项活动结果,传一个下一个活动
对活动评审。
缺点:
缺乏灵活性
无法解决软件需求不明白。
原型模型
需求分析,软件开发真和用户一起定义总目标,划出区域。
高速设计出可见部分,用户评估,不断完好。
迭代
长处:
用户交流多。
低风险开发柔性计算机系统
易于维护,费用低,时间短
缺点:
easy跑题
忽略基本点
文档更新麻烦,管理困难
钻进牛角。
螺旋模型
特点:
逐步细化,每一个周期都进项完好
持续向用户想法实现。
螺旋模型是瀑布和演化模型结合,并添加风险分析。
指定计划,风险分析,实施开发,客户评估。
长处:
可选方案和约束条件的强调利于软件重用。
降低測试不合理的风险
维护仅仅是模型的还有一个周期,与开发没有本质差别
喷泉模型
与瀑布模型相应
各阶段相互重叠,多次重复。
对软件复用和生存周期多项开发活动的继承提供支持。
开发活动,分析设计和编码之间不存在明显边界。
增量模型
把软件产品作为一系列的增量构件设计,编码,集成和測试。
每一个构件多个相互作用模块。
分解必须遵守约束条件:当把新构件集成到现有软件中时,所形成的产品必须是可測试的。
长处:
短时间提交给用户可完毕部分工作的产品
逐步添加功能,同一时候便于用户学习。
困难:
把每一个新的增量模型构件集成到现有软件体系结构中时,不破坏原来开发的产品。
每一个模式都有自己的特点,软件开发的过程中,要选择适应的模型,结合每种模式的优缺点,通过分析选择最优的办法,事半功倍,设计出好的软件。