软件工程方法论是指在软件开发过程中必须遵循的普遍行为和规则,包含方法(一种使用定义好的技术集及符号表示组织软件开发的过程,是完成软件开发各个任务的技术方法)、工具(为了运用方法而提供的自动或半自动的软件过程支撑环境)、和软件过程(规定了完成各项任务的步骤)三要素。
其目的为在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。
模型有:
瀑布模型:一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。
快速原型模型:需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。 快速原型模型是快速建立一个能反映用户主要需求的原型系统(prototype),让用户在计算机上试用它,通过实践来了解目标系统的概貌。
增量模型:增量模型也称渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能
螺旋模型:是指一步一步将软件搭建起来;在增量模型中。软件被视为一系列的增量构建来设计、实现、集成、和测试,每个构建是由多种相互作用的模块所形成的提供特定的功能的代码片段组成的。
喷泉模型:是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。