几种软件开发模型

来源:互联网 发布:ios版cf手游刷枪软件 编辑:程序博客网 时间:2024/05/16 23:32

以下为自己根据书本和网络上相关内容的总结,仅供参考

瀑布模型

适合:大中型项目

瀑布模型是最早出现的软件开发模型,它将软件生命周期分为

1.制定计划

2.需求分析

3.软件设计

4.程序编写

5.软件测试

6.运行维护

并规定它们按照这个顺序自上而下进行工作,形如瀑布流水。

特点:

A)在瀑布模型中,软件开发的各项活动严格按照线性方法进行,当前的活动接受上一活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。

B)瀑布模型强调文档的作用。

衍生:

V模型(注重活动和正确性的瀑布模型),螺旋模型(与原型化模型结合的瀑布模型),增量模型(分段的瀑布模型)......

原型化模型

适合:中小型项目

在形成一组基本需求之后,通过快速分析方法构造出待建的原型版本,然后根据顾客在使用原型的过程中提出的意见对原型进行修改,从而得到原型的更新版本,这一过程重复进行,直至得到满足顾客需求的系统。

特点:

A)适用于需求不确定性高的系统。

B)一般从用户界面开发入手,首先形成系统界面原型,用户运行界面原型。

C)允许开发人员快速构造整个系统或者系统的一部分。

D)重复设计直到用户、客户、开发人员对结果满意。

敏捷方法

适合:中小型项目

敏捷开发的目标是“尽可能早地、持续地交付有价值的软件”。人们认为,通过在软件开发过程中加入灵活性,敏捷方法可以使用户在开发周期的后期增加或改变需求。

特点:

A)强调个人和交互的价值。注重面对面的交流而非进行文档沟通;

B)更喜欢在生产可运行的软件上花时间,而非将时间花在编写文档上。对成功的主要测量标准是软件正确工作的程度。

C)将精力花在和客户的合作上而非合同谈判上,使客户成为开发过程中的一个关键方面。

D)注重对变化的反应,而不是创建一个计划然后遵循这个计划。

具体方法:

1.极限编程(XP

2.水晶法(Crystal

3.并列争球法(Scrum

4.自适应软件开发(ASD

 

下面对极限编程进行简单介绍:

极限编程强调:交流、简单性、勇气、反馈

交流:客户与开发人员间持续交流看法

简单性:鼓励开发人员选择最简单的设计或实现来处理客户需求

勇气:承诺尽早和经常交付功能

反馈:开发人员间、客户和开发人员间互相提供反馈

 

实际开发过程中常常是根据客户和开发人员的需要对一组软件开发模型进行定义、裁剪和组合,而不是集中于单个模型。

0 0
原创粉丝点击