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