全国服务热线:
0592-5794349

新闻中心

当前位置:新闻中心

软件开发软件开发模型

* 来源: * 作者: * 发表时间: 2020-01-28 0:32:13 * 浏览: 0
软件开发软件开发模型(SoftwareDevelopmentModel)是指软件开发的整个过程,活动和任务的结构框架。软件开发包括需求,设计,编码和测试阶段,有时还包括维护阶段。软件开发模型可以清晰,直观地表示整个软件开发过程,明确指定要完成的主要活动和任务,并用作软件项目工作的基础。对于不同的软件系统,您可以使用不同的开发方法,使用不同的编程语言,具有不同技能的人们参与工作,使用不同的管理方法和方法,并允许使用不同的软件工具和不同的软件工程。的环境。软件工程的主要链接包括人员管理,项目管理,需求分析,系统设计,程序设计,测试,维护等,如图所示。软件开发模型是软件过程的建模,也就是说,使用某个过程来连接各个环节,并且整个过程可以像工厂生产线那样以标准化的方式进行操作。较早的软件开发模型较早的软件开发模型是Wbull,Royce在1970年提出的瀑布模型。该模型给出了固定的顺序,将生命周期活动从上一阶段逐步过渡到下一阶段,例如流水,最后获得了开发的软件产品并投入使用。但是,当计算扩展到统计分析和商务领域时,大多数程序都是用高级语言编写的(例如FORTRAN,COBOL等)。瀑布模型模型还具有诸如缺乏灵活性以及无法通过并发活动来澄清不够准确的需求之类的缺点。常见的软件开发模型包括演化模型,螺旋模型,喷泉模型和智能模型。编辑本段中的典型开发模型。典型的开发模型为:1.构建和修复模型,2.瀑布模型,3.快速原型模型,4.增量模型(Incremental Model),5.螺旋模型,6.喷泉模型,7.智能模型(第四代)技术(4GL),8.混合模型,9.RUP模型,10. IPD模型1. Build-and-FixModel许多产品都是在使用quot,model进行开发的。在此模型中,既没有规格也没有设计,并且可以根据客户需求不断修改软件。在此模型中,开发人员获取项目并根据要求立即编写程序。调试后,将生成该软件的版本。在将其提供给用户之后,如果程序中存在错误或用户提出了新的请求,则开发人员将再次修改代码,直到用户满意为止。这是一种类似于车间的开发方法,适合于编写几百行的小程序,但是这种方法对于任何规模的开发都不令人满意。主要问题是:(1)缺乏规划和设计链接,软件的结构随着不断的修改而变得越来越差,导致无法继续修改​​;(2)忽视了需求链接,给软件带来了巨大的风险开发中,(3)不考虑测试和程序的可维护性,没有任何文档,软件维护非常困难。 2.瀑布模型1970年,温斯顿·罗伊斯提出了著名的“瀑布模型”。直到1980年代初,它一直是一种广泛使用的软件开发模型。如图所示,在瀑布模型中,软件生命周期分为六个基本活动,例如计划,需求分析,软件设计,编程,软件测试以及操作和维护,并从上至下进行指定。互联。固定的序列(如瀑布)会逐步向下流动。在瀑布模型中,所有软件开发活动均以严格的线性方式执行。当前活动接受上一个活动的工作结果并实现所需的工作内容。当前活动的工作结果需要验证。如果通过验证,则将结果用作下一个活动的输入,然后继续下一个活动,否则将其返回以进行修改离子。瀑布模型强调文档的作用,并且需要在每个阶段进行仔细的验证。但是,此模型的线性过程太理想了,不再适合现代软件开发模型。它几乎已被业界放弃。主要问题是:(1)每个阶段的划分是完全固定的,并且各个阶段之间会生成大量文档。大大增加了工作量。 (2)由于开发模型是线性的,因此用户只能看到开发结果,直到整个过程结束,这增加了开发的风险。 (3)早期的错误可能要等到以后的开发测试为止。它只能分阶段发现,这会带来严重的后果。我们应该认识到,“线性”是一种思维方法,它使人们更容易掌握并且熟练应用。当人们遇到复杂的商数,非线性报价问题时,他们总是试图将其分解或转化为一系列简单的线性问题,然后逐个解决。整个软件系统可能很复杂,并且单个子例程始终很简单,并且可以以线性方式实现,否则就太累了而无法工作。线性是一种简单,而简单就是美。当我们了解线性的精神时,我们不应再严格应用线性模型的外观,而应该使用它。例如,增量模型本质上是分段线性模型,螺旋模型是连续弯曲的线性模型。线性模型的阴影也可以在其他模型中找到。 3.快速原型模型快速原型模型的步骤是构建一个快速原型,以实现客户或未来用户与系统之间的交互。用户或客户评估原型,以进一步完善要开发的软件的要求。通过逐步调整原型以满足客户的需求,开发人员可以确定客户的实际需求,第二步是逐步开发客户满意的软件产品。 。显然,快速原型制作方法可以克服瀑布模型的缺点,减少因软件需求不明确而导致的开发风险,并具有明显的效果。快速原型制作的关键是尽快构建软件原型。一旦确定了客户的实际需求,便会丢弃这些原型。因此,原型系统的内部结构并不重要。重要的是必须快速建立原型,并且必须快速修改原型以反映客户的需求。 4.增量模型也称为演化模型。就像建造建筑物一样,软件也是逐步构建的。在增量模型中,软件被设计,实现,集成和测试为一系列增量组件。每个组件由提供多个交互模块形成的特定功能的代码片段组成。增量模型并不在每个阶段都提供可运行的完整产品,而是可以满足一部分客户需求的可运行产品。整个产品分为几个部分,开发人员一一交付产品。这样做的好处是软件开发可以更好地适应变化,并且客户可以不断看到正在开发的软件,从而降低了开发风险。但是,增量模型也有以下缺点:(1)由于每个组件都逐渐融入到现有的软件体系结构中,因此添加组件一定不能破坏已经构建的系统部分,这要求软件具有开放的系统结构。 (2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性使其适应变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为按需变化模型,这导致对软件过程的控制成为可能。使用增量模型时,增量通常是满足基本需求的核心产品。在将核心产品交付给用户之后,将对其进行评估以形成下一个增量开发计划,其中包括对核心产品的修改和一些新功能的发布。这个过程在每次增量发布后都会重复这些操作,直到生产出更完整的产品为止。例如,使用增量模型来开发文字处理软件。可以认为增量版本发布了基本的文件管理,编辑和文档生成功能,第二个增量版本提供了更完整的编辑和文档生成功能,第三个增量版本实现了拼写和语法检查功能,第四个增量版本完成了高级页面布局功能。 5.螺旋模型1988年,Barry Boehm正式发布了软件系统开发“螺旋模型”,该模型结合了瀑布模型和快速原型模型,强调了其他模型所忽略的风险分析,特别适合于大型复杂系统。如图所示,螺旋模型沿螺旋方向经历了多次迭代。图中的四个象限代表以下活动:(1)制定计划:确定软件目标,选择实施计划并阐明项目开发的限制。 (2)风险分析:对选定的计划进行分析和评估,考虑如何识别和消除风险;(3)实施工程:实施软件开发和验证;(4)客户评估:评估开发工作,提出修订建议,并制定下一个计划计划。螺旋模型是风险驱动的,强调替代方案和约束条件以支持软件重用,并帮助将软件质量集成到产品开发中作为一个特殊目标。然而,螺旋模型也有一定的局限性,具体如下:(1)螺旋模型强调风险分析,但是许多客户不容易接受并相信这种分析并做出相应的反应。因此,此模型通常适合内部使用的大规模软件开发。 (2)如果进行风险分析会极大地影响项目的收益,那么风险分析就没有意义,因此螺旋模型仅适用于大型软件项目。 (3)软件开发人员应善于发现可能的风险并进行准确的分析,否则会带来更大的风险。一个阶段是首先确定该阶段的目标,完成对这些目标及其约束的选择,然后从风险角度分析该计划的开发策略,尝试通过构建原型来消除各种潜在风险。如果不能排除某些风险,程序将立即终止,否则将启动下一个开发步骤。稍后,评估此阶段的结果并设计下一阶段。 6.喷泉模型(也称为面向对象的生命周期模型,OO模型):与传统的结构化寿命相比,喷泉模型具有更多的增量和迭代属性,并且生命周期的各个阶段可以相互重叠,重复和重复。 -生命周期可以嵌入到项目的整个生命周期中。就像喷水可以掉下来一样,它可以掉到中间,也可以掉到底部。 7.智能模型(四代技术(4GL))智能模型具有一套工具(例如数据查询,报告生成,数据处理,