软件开发模型

软件开发模型


          软件开发模型:Software Development Model

          是指软件开发全部过程、活动和任务的结构框架。

          软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 

          软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。

          本书主要讲了常用的六种开发模型,具体介绍如下:

软件开发模型_第1张图片

一、瀑布模型

          瀑布模型规定了各项软件工程活动,包括制定开发计划、需求分析和说明、软件设计、程序编码、测试和运行、维护,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

软件开发模型_第2张图片

二、快速原型模型

          快速原型模型的基本思路是:软件开发人员根据用户提出的软件基本需求快速开发一个原型,以便向用户展示软件系统应有的部分或全部的功能和性能,在征求用户对原型的评价意见后,进一步使需求精确化、完全化,并据此改进、完善原型,如此迭代,直到软件开发人员和用户都确认软件系统的需求并达成一致的理解为止。

软件开发模型_第3张图片

三、增量模型

          增量模型规定软件的开发过程是一次开发产品的一个部分。首先应该开发产品的基本部分,然后再逐步开发产品的附加部分。为了使所开发的产品的各个部分最后能有机地组合起来,首先应该有一个统—的体系结构设计。

软件开发模型_第4张图片

四、螺旋模型

          沿螺旋线自内向外每旋转一圈便开发出一个更为完善的新的软件版本,例如,在第一圈,在制定计划阶段,确定了初步的目标、方案和限制条件以后,转入风险分析阶段,对项目的风险进行识别和分析。如果风险分析表明,需求有不确定性,但是风险可以承受,那么在实施开发阶段,所建的原型会帮助开发人员和用户,对需求做进一步的修改。

          软件开发完成后,客户会对工程成果做出评价,给出修正建议。在此基础上进入第二圈螺旋,再次进行制定计划、风险分析、实施开发和客户评估等工作。假如风险过大,开发者和用户无法承受,项目有可能终止。多数情况下,软件开发过程是沿螺旋线的路径连续进行的,自内向外,逐步延伸,最终总能得到一个用户满意的软件版本。

软件开发模型_第5张图片

五、喷泉模型

          喷泉模型是以面向对象的软件开发方法为基础,以用户需求为动力,以对象来驱动的模型。

软件开发模型_第6张图片

六、形式化方法模型

          形式化方法模型包含了一组活动,它们带来了计算机软件用数学描述的方法。形式化于计算机的系统。用于软件形式化开发方法的模型有两种:变换模型和净室软件过程模型。

          变换模型:是一种用于软件的形式化开发的方法。在软件需求分析确定以后,便用形式化的规格说明语言将其描述为“形式化软件规格说明”,然后对其进行一系列自动或半自动的变换,最终得到软件系统的目标程序。

软件开发模型_第7张图片

          净室软件工程模型:也是软件开发的一种形式化方法,它力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作,以生成极高质量的软件。它使用盒结构规约进行分析和设计建模,并且强调将正确性验证而不是测试,作为发现和消除错误的主要机制。它使用测试来获取认证,使被交付的软件的出错率达到最低。

你可能感兴趣的:(软件开发模型)