软件工程——六种模型

  • 瀑布模型

    

思想:1.从制做时间上按工序把问题化简测试

                     2.将功能实现与制做分开便于分工协做设计

特色:1.时间顺序性和依赖性blog

                  2.推迟实现的观点开发

                         3.质量保证的观点文档

优势:1.奠基了软件工程方法的基础;原型

                    二、流水依赖,便于分工协做数学

                               3.退出物理实现,易于修改文档,有复审质量保证产品

缺点:1.和用户见面较晚class

                   2.成功率低,通常为25%效率

使用范围: 1.适用于系统要求明确的系统

                           2.各类应用软件的开发都可以使用

开发方法:遵循生命期划分,明确各阶段任务上一阶段完成任务后产生的文档给下一阶段,不听阶段任务有不一样级别的软件人员承担。

  • 快速原型模型

思想:找出主需求快速创建原型,对原型评价修改测试

方法:1.丢弃型开发:第一次开发的原型不适最终的,为了获取数据 

                   2.间増式开发:第一次原型基础上修改,再以第二次原型为核心修改

好处:用户和设计人员一直在一块儿

  • 演化模型

 

     因为开发初期对需求认识不够,很难一次开发成功,会出现返工。

第一次试验开发,目标是探索可行性,弄清软件需求

第二次在此基础上得到较为满意的产品(第二次有多是屡次)

  • 渐増模型

基本思想:容许从部分需求出发,先创建一个不全面的系统经过测试这个系统,进一步是系统扩充和完善。

优势:开发的始终开发人员和用户都共同参与,有问题能够及时修改,从而很好的知足用户的需求

适用范围:适用于那些知识型软件系统的开发(需求不明确)

特色:1.总体结构没有瀑布模型清晰

                  2.软件文档不严格

                          3.周期长,成本高

                                  4.与用户见面快,开发效率高

  • 螺旋模型(大型开发)

       制定计划——肯定软件目标,选定实施方案,弄清项目开发的限制条件

       风险分析——分析所选方案,考虑如何识别和消除风险

      实事工程——实施软件开发

      客户评估——评价开发工做,提出修正建议

屡次原型反复并增长风险评估的开发模型

  • 喷泉模型(各阶段无明显界限)

认为软件的各个周期是相互重叠的和屡次反复的

哪一个阶段有问题就去找哪一个阶段

 

最后说一下“变换型”

思想:从软件需求的形势规格说明出发,通过一系列的程序变化,获得最终的结果。

特色:有严格的数学理论和形式化的技术支持,但目前在研究和实验阶段,不能实用。