常见软件生存周期模型分析

发表于:2015-04-30 10:26:41
【内容导读】软件生存周期模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和...

软件生存周期模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。
a) 瀑布模型:瀑布模型也称“线性顺序模型”。瀑布模型规定了各项软件工程活动,包括:制定开发计划,进行需求分析和说明,软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落,
然而软件开发的实践表明,上述各项活动之间并非完全是自上而下,呈线性图式。实际情况是,每项开发活动均处于一个质量环(输入-处理-输出-评审)中。只有当其工作得到确认,才能继续进行下一项活动,否则返工。
b) 演化模型:由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。因此,可以先做试验开发,其目标只是在于探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。通常把第一次得到的试验性产品称为“原型”。
c) 螺旋模型:对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析。螺旋模型沿着螺线旋转,,在笛卡尔坐标的四个象限上分别表达了四个方面的活动,即:
制定计划──确定软件目标,选定实施方案,弄清项目开发的限制条件;
风险分析──分析所选方案,考虑如何识别和消除风险;
实施工程──实施软件开发;
客户评估──评价开发工作,提出修正建议。
沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版本。
螺旋模型是软件开发的高级策略,不仅适合结构化方法且更适合面向对象方法。它的实施、管理和技术水平产生深远的影响,是最有前途的过程模型之一。
d) 喷泉模型:喷泉模型对软件复用和生存周期中多项开发活动的集成提供了支持,主要支持面向对象的开发方法。“喷泉”一词本身体现了迭代和无间隙特性。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的系统。所谓无间隙是指在开发活动,即分析、设计和编码之间不存在明显的边界,
e) 智能模型:智能模型是基于知识的软件开发模型,它综合了上述若干模型,并把专家系统结合在一起。该模型应用基于规则的系统,采用归约和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。