西门子PLC模块CPU226CNDC/DC/DC
段之间产生大量的文档,增加了开发工作量;由于开发过程是线性的,用户只有在整个过程结束时,才能看到开发成果;开发过程中间,很难响应用户的变更要求;早期的错误,也要等到开发后期的测试阶段才能发现,这样会产生严重的后果。
瀑布模型仅适合于在软件需求比较明确、开发技术比较成熟、工程管理比较严格的场合下使用。
2.2.2 原型法模型
一般来说,软件需要解决以前从未解决的问题,或者当前的解决方案需要不断更新,以适应业务环境的不断变化。软件开发具有迭代性,需要不断地反复尝试,通过比较和选择不同的设计,*终确定令人满意的问题解决方案。
从瀑布模型的起源来看,它借鉴了硬件领域的做法,是从制造业的角度看待软件开发。制造业是重复生产某一特定的产品,软件开发却不是这样的。随着人们对待解决问题的逐步理解以及对可选方案的评估,软件是在不断地演化的。软件开发是一个创造的过程,而不是一个制造的过程。
原型法模型(prototypemodel)是针对瀑布模型提出来的一种改进。它的基本思想是从用户需求出发,快速建立一个原型,使用户通过这个原型初步表达出自己的要求,并通过反复修改、完善,逐步靠近用户的全部需求,*终形成一个完全满足用户要求的新体系。
一般又把原型分为三类:抛弃式,目的达到即被抛弃,原型不作为*终产品。演化式,系统的形成和发展是逐步完成的,它是高度动态迭代和高度动态的,每次迭代都要对系统重新进行规格说明、重新设计、重新实现和重新评价,是对付变化*为有效的方法,这也是与下半部分说明了一个迭代开发的三个发布。实际上,许多组织将迭代开发和增量开发方法结
与瀑布模型相比,迭代开发有以下三个重要优点。
(1)降低了适应用户需求变更的成本。重新分析和修改文档的工作量比瀑布模型要少很多。
(2)在开发过程中更容易得到用户对于已完成的开发工作的反馈。用户可以评价软件的现实版本,并可以看到已经实现了多少。这比让用户从软件设计文档中判断工程进度要好很多。
(3)使得更快地交付和部署有用的软件到客户方变成了可能,不是所有的功能都已经包含在内。但与瀑布模型相比,用户可以更早地使用软件并创造商业价值。随着互联网技术和应用的迅速发展,软件开发面临着需求频繁变化和快速交付的挑战。在这种情况下,人们开始尝试一种新型的敏捷开发方法。敏捷方法采用增量和迭代的开发过程,强调团队紧密的协作。这种方法已经取代了传统的瀑布模型,被众多的软件企业广泛地应用。
传统的瀑布模型,是*典型的预见性开发方法。它要求需求在开发初期就完全确定,并且在整个过程中很少变化,整个开发过程是计划驱动的,严格按照需求、设计、编码、测试、维护的步骤顺序展开。实际上软件开发更专注于交付的价值。也就是说,高质量的交付产品是*重要的,而这个产品不是一次构建形成,是需要经过迭代演进来形成的。
互联网时代,是一个快鱼吃慢鱼的时代。堂。该会议的成果就是创建了敏捷联盟并发表了代表敏捷精神原则的“敏捷宣言”。敏捷宣言可以概括为四种核心价值和十二条原则,用于指导迭代的以人为中心的软件开发方法。“敏捷宣言”强调的敏捷软件开发的四种核心价值如下所示。
(1)“个体和交互”胜过“过程和工具”。
相对于过程和工具,他们更强调个人和交互的价值。这种观点包括给开发人员提供他们所需的资源,并相信他们能够做好自己的工作。开发团队将他们组织起来,让他们进行面对面交互式的沟通,而不是通过文档进行沟通。
(2)“可以工作的软件”胜过“面面俱到的文档”。
他们更喜欢在生产运行的软件上花费时间,而不是将时间花费在编写各种文档上。也就是说,对成功的主要测量指标是软件正确工作的程度。
(3)“客户合作”胜过“合同谈判”。
他们将精力集中在与客户的合作上,而不是在合同谈判上,从而客户成为软件开发过程的一个关键方面。
(4)“响应变化”胜过“遵循计划”。
他们专注于对变化的反应,而不是创建一个计划而后遵循这个计划,因为他们相信不可能在开发的初始就预测到所有的需求。
“敏捷宣言”提出的十二条基本原则已经应用于管理大量的业务以及IT相关项目中,包括商业智能。这十二条基本原则如下所示。
(1)我们的*高目标是,通过尽早和持续地交付有价值的软件来使客户满意。
(2)欢迎对需求提出变更,到了项目开发的后期,也要善于利用需求变更,帮助客户创造竞争优势。快速地推出产品,就