软件生存期介绍

软件生存期(Life cycle):软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期。软件生存期的六个步骤:制定计划、需求分析、设计、程序编码、测试、运行维护。


软件设计包括:概要设计、详细设计;测试包括:单元测试、组装测试;运行/维护:改正性维护、适应性维护、完善性维护。


软件生存期模型介绍六种:瀑布模型、快速原型模型、螺旋模型、渐增模型、喷泉模型、B模型。(前四种比较常用,后两种不常用,所以下面重点介绍前四种)


瀑布模型:规定软件生命周期自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。

软件生存期介绍_第1张图片

缺点:(1)开发过程一般不能逆转,否则代价太大; 

           (2)实际的项目开发很难严格按该模型进行;  

           (3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。  

           (4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。

优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。

适用范围:(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化; 

                  (2)开发人员对软件的应用领域很熟悉; 

                  (3)用户的使用环境非常稳定; 

                  (4)开发工作对用户参与的要求很低。


快速原型模型

软件生存期介绍_第2张图片

优点:(1)可以得到比较良好的需求定义,容易适应需求的变化; 

           (2)有利于开发与培训的同步;  

           (3)开发费用低、开发周期短且对用户更友好。

缺点:(1)客户与开发者对原型理解不同; 

           (2) 准确的原型设计比较困难; 

           (3) 不利于开发人员的创新。 

使用范围:(1)对所开发的领域比较熟悉而且有快速的原型开发工具; 

                  (2)项目招投标时,可以以原型模型作为软件的开发模型;  

                  (3)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。


螺旋模型

软件生存期介绍_第3张图片

优点:(1)设计上的灵活性,可以在项目的各个阶段进行变更; 

           (2)以小的分段来构建大型系统,使成本计算变得简单容易;  

           (3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性; 

           (4) 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。 

缺点:(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失; 

          (2)过多的迭代次数会增加开发成本,延迟提交时间。

使用范围:螺旋模型只适合于大规模的软件项目。


渐增模型

软件生存期介绍_第4张图片

优点:(1)采用渐增模型的优点是人员分配灵活,刚开始不用投入大量人力资源;                  (2)如果核心产品很受欢迎,则可增加人力实现下一个增量; 

           (3)可先发布部分功能给客户,对客户起到镇静剂的作用;

           (4)开发的始终开发人员和用户都共同参与,有问题可以随时修改,从而很好的满足了用户的需求。

缺点:(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;  

           (2)渐增模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

使用范围:(1)进行已有产品升级或新版本开发,渐增模型是非常适合的; 

                  (2)对完成期限严格要求的产品,可以使用渐增模型;  

                  (3)对所开发的领域比较熟悉而且已有原型系统,渐增模型也是非常适合的。


喷泉模型

软件生存期介绍_第5张图片


B模型

软件生存期介绍_第6张图片


OK,软件生存期就介绍到这里,欢迎大家提出宝贵的建议和意见。

你可能感兴趣的:(【软工视频和文档】)