软件开发模式介绍

软件开发

软件测试


浏览:1437 次

1.构建和修复模型

在这个模型中,既没有规范,也没有设计,软件随着客户的需求不断地修改。在这个模型中,开发人员获得项目并立即根据需求编写程序,并在调试后生成软件的第一个版本。在提供给用户使用后,如果程序中出现错误或用户提出了新的要求,开发人员将再次修改代码,直到用户和测试得到满足。

这是一种类似车间的开发方法。在改变模型的同时改变模型的优点无疑是早期结果很快。

编写没有太严格逻辑的小程序是可以的,但这种方法对于任何规模的开发都不令人满意。主要问题是:

(1) 缺乏规划和设计环节,软件的结构随着不断修改而越来越差,导致无法继续修改;

(2) 忽视需求环节给软件开发带来巨大风险;

(3) 如果不考虑测试和程序的可维护性以及没有任何文档,维护软件是非常困难的。

2.瀑布模型

瀑布模型将软件生命周期分为六个基本活动:计划制定、需求分析、软件设计、编程、软件测试和运行维护。它还规定了它们自上而下和相互连接的固定顺序,就像瀑布流水一样,一步一步地往下流。

在瀑布模型中,软件开发的所有活动都严格以线性方式进行。当前活动接受上一活动的工作结果并实现所需的工作内容。当前活动的工作结果需要验证。如果验证通过,则结果将用作下一个活动的输入,下一活动将继续。否则,将返回修改。

优点:事先严格遵循计划的步骤和顺序,一切都是一步一步严格的。

(1) 为项目提供了阶段检查点

(2) 当一个阶段完成后,您只需要关注后续阶段

(3) 瀑布模型可以应用于迭代模型

缺点:缺乏灵活性,过于线性和理想化,不适合现代软件开发

(1) 每个阶段的划分是完全固定的,阶段之间生成大量文档,这大大增加了工作量;

(2) 由于开发模型是线性的,用户只能在整个过程的最后看到开发结果,从而增加了开发的风险;

(3) 早期错误可能要到开发后期的测试阶段才能发现,这将导致严重后果。

(4) 连接各种软件生命周期需要很长时间,团队成员的通信成本很高。

(5) 当需求未知且在项目期间可能发生变化时,瀑布法基本上是不可行的。

3.快速原型模型

快速原型模型的第一步是构建快速原型,以实现客户或未来用户与系统之间的交互。用户或客户评估原型并进一步细化待开发软件的需求。通过逐步调整原型以满足客户的需求,开发人员可以确定客户的真正需求是什么;第二步是在第一步的基础上开发让客户满意的软件产品。

显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确而导致的开发风险,并具有显著的效果。

快速原型的关键是尽快构建软件原型。一旦确定了客户的真正需求,构建的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是快速建立原型,然后快速修改原型以反映客户需求。

快速原型模型有点融合了“边做边改”和“瀑布模型”的优点。

优点:

(1) 生命周期短

(2) 整合“边做边改”和“瀑布模型”的优势

(3) 减少因软件需求不明确而导致的开发风险

(4) 适用于小型交互式系统和大型系统的某些部分

缺点:

(1) 这可能导致系统设计不佳、效率低下和维护困难

4.增量模型

在增量模型中,软件作为一系列增量组件进行设计、实现、集成和测试。每个组件都由代码片段组成,这些代码片段提供由多个相互作用形成的特定功能