软件的生命周期和软件开发模型

一、软件的生命周期

    软件从最开始被开发直到最后被淘汰的过程称为软件的生命周期。关于软件的生命周期的划分标准不统一、名称也各不相同,但大致都包含计划、分析、设计、编程、测试和维护这几个阶段。

二、常见的软件开发模型

1.瀑布模型

    开发过程完全按照软件的生命周期各阶段的顺序,上一阶段完成以后才能开始下一阶段。

    优点:开发郭晨采用规范的方法;规定了各阶段必须提交的文档;每个阶段结束后进行严格的评审工作。

    缺点:过于理想化、不够灵活、当用户的需求发生变更时需付出高额的代价。

    适用范围:用户需求明确并无变更的小型系统的开发。

2.快速原型模型

    第一步是快速建立一个能够反映用户主要需求的软件原型,让用户去使用,提出意见;然后开发人员参照用户提出的而易见快速去修改原型,然后再次让用户试用……直到用户认为这个原型系统能够满足其所有的需求,然后开发人员便可以根据该原型系统去完成需求文档,并利用文档去开发满足用户真实需求的软件。

    适用范围:需求不够明确的项目。

3.演化模型

    也是原型开发模型的一种,但与快速原型模型不同。快速原型模型中原型的作用获得用户的真正需求,一旦需求确定,原型即被抛弃。而演化模型是从初始模型逐渐演化为最终软件产品的渐进过程。快速原型模型是“抛弃式”的,演化模型是“渐进式”的。

4.增量模型

    也是原型开发模型的一种,与上面二者不同,增量模型是“递增式”的。该模型将软件划分成为一系列的增量构件。分别进行设计、编程、集成和测试。每个构件有多个相互作用的模块构成,并且能够完成特定的功能。该模型要求软件体系结构必须是开放的,加入薪构件也是比较容易的。

5.螺旋模型

    结合瀑布和演化的优点,增加了风险分析。包含4个方面:制定计划、风险分析、实施工程、客户评估。

6.喷泉模型

    主要用于描述面向对象的开发过程。名称体现了面向对象开发过程的迭代和无间隙特征。无间隙表示开发过程不存在明显的边界,允许开发活动交叉、迭代进行。

7.基于构件的模型

    构件是功能相对独立课重用的软件单元。基于构件的模型是利用模块化方法,将整个系统模块化,服用构件库中的构件,通过组合构造软件的过程。软件的开发不再一切从头开始,开发过程即是构件的组装,维护就是构件的升级、替换和扩充。

    优点:构件组装导致了软件的复用性,提高了开发的速率;允许多个项目同时开发,降低了费用,提高了可维护性。

    缺点:没有通用的组装标准;可重用性不易协调;构件库的质量会直接影响软件的质量。

8.快速应用开发模型(RAD)

    是瀑布模型的一个变种,强调极端的开发周期。通过大量使用可重复用的构建,来缩短开发时间。

9.统一过程方法(UP)

    是统一的软件开发过程,是一个通用的过程框架,基于构件,使用统一的建模语言UML。

    三个特点:用例驱动、以基本架构为中心、迭代和增量。

    四个阶段:初始阶段、细化阶段、构建阶段和交付阶段。四个阶段是一个开发周期,每经过四个阶段就会产生一代软件,但每一次迭代的侧重点都在不同的阶段。

10.极限编程(XP)

    是敏捷方法中的一种。

    4大价值观:沟通、简单、反馈、勇气

    5大原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值