软件工程模型

为了使软件生命周期中的各项任务能够有序地按照规程进行,需要一定的工作模型对各项任务给以规程约束,这样的工作模型被称为软件过程模型。它是一个有关项目任务的结构框架,规定了软件生命周期内各项任务的执行步骤与目标。 本章将介绍瀑布模型、原型模型、螺旋模型、喷泉模型和组件模型等过程模型。在web开发中不同的软件项目需要不同的过程模型提供支持,并且还需要根据项目的具体情况,软件开发机构工作方式、管理框架等,对一些标准模型进行适当的调整与补充,以适应项目应用的需要。

引言
瀑布模式
螺旋模型
快速原型模式
增量模式
喷泉模型

引言

     软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。通常使用生命周期模型简洁地描述web开发软件过程。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。常见的过程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型等。

瀑布模型

特点:

缺点:

这个特点有两重含义:

    1.必须等前一阶段的工作完成之后,才能开始后一阶段的工作;

    2.前一阶段的输出文档就是后一阶段的输入文档,前一阶段的输出文档对后一阶段的工作有致命影响。

     瀑布模型每个阶段都应坚持两个重要做法:

    1.文档是软件调研、开发、测试和维护期各类人员之间相互通信的媒介,也是软件信息存储的重要依据,因此每个阶段都必须有严谨的文档。

    2.每个阶段结束前后都要对所完成的需求文档、开发文档和测试文档进行评审,应尽早发现问题,改正错误,降低风险。

瀑布模型

快速原型模型

     所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能是最终产品能完成的功能的一部分,它通过快速构建一个可在计算机上运行的原型系统,让用户试用原型系统并收集用户反馈意见的办法,往往是从最有价值的用户真实的需求开始建立。快速原型的本质是快速地建造出对用户最有价值的原型系统,原型的用作是获知用户的真正需求,一旦需求确定了,原型系统在后续正式开发只会作为开发辅助。


优缺点:

原型类型:


模型:

原型模型

螺旋模型

   螺旋模型的基本思想就是,使用原型及其他方法来尽量降低风险,该模型在每个阶段之前都增加了风险分析过程。
   螺旋模型主要适用于内部开发的大规模软件项目。事实上项目越大,风险也越大,因此进行风险分析的必要性也越大。
   螺旋模型的基于风险驱动,需要具有丰富的风险评估经验和这方面专业知识的角色。


限制条件:

优点:

缺点:

     建设周期长,很难让用户确信这种演化方法的结果是可以控制的,由于需求量大,需求变化快,很多时候无法满足当前用户要求。

核心:

     不需要在刚开始的时候就把所有事情都定义的清清楚楚,在定义最重要的功能时,然后听取客户的意见,去实现它,之后再进入到下一个阶段,如此不断轮回重复,直到得到您满意的最终产品。

     每轮循环包含如下六个步骤:

模型:

螺旋模型



增量模型

      增量模型也称为演化模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。


构件思想:

困难:

     每个新的构件集成到现有的软件结构中必须破坏原来以开发的产品,所以必须定义很好的接口。

优点:

缺陷:

模型:

增量模型


喷泉模型

     认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。

优点:

      喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发.其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程.

缺点:

     由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理.此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况.

模型:

 喷泉模型

总结

1.软件生命周期
如同任何事物都有一个发生、发展、成熟直至衰亡的全过程一样,软件系统或软件产品也有一个定义、开发、运行维护直至被淘汰这样的全过程,我们把软件将要经历的这个全过程称为软件的生命周期。它包含:软件定义、软件开发、软件运行维护三个时期,在web软件开发框架中提供了个软件开发时期的平台,有利于B/S软件系统的快速开发。

2.瀑布模型
瀑布模型是最经典的并获得最广泛应用的软件过程模型,自顶向下、逐层开发。

3.原型模型
针对有待开发的软件系统,先开发一个原型给用户使用,然后根据用户的使用意见,对原型不断修改,使它逐步接近,并最终到达开发目标。
是原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求上的模糊认识,或用来试探某种设计是否能够获得预期结果。
4.增量模型
增量模型在整体上按照瀑布模型的流程实施开发,以方便对项目的管理,同时在软件的实际创建中将软件系统按功能分解为许多增量构件,然后逐个地创建与交付,并且都集成到系统中进行交付。
5.螺旋模型
螺旋模型是一种引入了风险分析与规避机制的过程模型,其基本方法是在各个阶段创建原型进行项目演试,来降低项目各个阶段可能遇到的风险。

6.喷泉模型
喷泉模型则是对象软件开发过程中的迭代和无缝过渡,实际项目中只是个神的存在,用的少。

网站&系统开发技术学习交流群:463167176

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:华晨软件-云微开发平台 » 软件工程模型
本文标题:软件工程模型
本文地址:http://www.hocode.com/OrgTec/Plugin/0007.html

相关文章: 初识MVC框架--Model与ViewModel

电话
电话 18718672256

扫一扫
二维码