软件工程基础——软件过程模型
瀑布模型(SDLC):结构化方法中的模型,是结构化的开发,开发过程如同瀑布一般,一步一步的走下去,直到最后完成项目开发,只适用于需求明确或二次开发(需求稳定),当需求不明确时,最终开发的项目会错误,有很大的缺陷。
原型:与瀑布模型相反,原型针对的是需求不明确的情况,首先枸构造一个功能模型,演示给用户看,并按用户要求及时修改,中间再通过不断演示与用户沟通,最终设计出项目,就不会出现与用户要求不符合的情况,采用迭代的思想,不适合超大项目开发。
增量模型:首先开发核心模块功能,而后与用户确认,之后再开发次核心模块功能,即每次开发一部分功能,并于用户需求确认,最终完成项目开发,优先级最高的服务最先交付,但由于并不是从系统整体角度规划各个模块,因此不利于模块划分。难点在于如何让将客户需求划分为多个增量。与原型模型不同的是增量模型的每一次增量版本都都可作为独立可操作的作品,而原型的构造一般是为了演示。
螺旋模型:是多种模型的混合,针对需求不明确的项目,与原型类似,但是增加了风险分析,这也是其最大的特点。适合大型项目开发。螺旋模型四步:制定计划——风险分析——实施工程——用户评估。
V模型:特点是增加了多轮测试,并且这些测试贯穿于软件开发的各个阶段,不像其他模型都是开发完再测试,很大程度上保证了项目的准确性。
喷泉模型:特点是面向对象的模型,而上述其他的模型都是结构化的模型,使用了迭代思想和无间隙开发。
基于构件的开发模型CBSD:特点是增强的复用性,再系统开发过程中,会构建一个构件库,供其他系统复用,因此可以提高可靠性,节省时间和成本。
形式化方法模型:建立在严格数学基础上的一种软件开发方法,主要活动是生成计算机软件形式化的数学规格说明。