为什么要定义瀑布式软件开发模式
❶ 瀑布模型的优缺点
瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
瀑布模型的缺点:
(1)开发过程一般不能逆转,否则代价太大;
(2)实际的项目开发很难严格按该模型进行;
(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。
(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
瀑布模型的使用范围:
(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;
(2)开发人员对软件的应用领域很熟悉;
(3)用户的使用环境非常稳定;
(4)开发工作对用户参与的要求很低。
(1)为什么要定义瀑布式软件开发模式扩展阅读:
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:
(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。
(3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试。
❷ 什么是瀑布式开发方法,什么是V-模式开发方法,什么是CMM
瀑布式开发也就是生存周期模型,是软件工程的基础模型。其核心思想是按工序将问题简化,将功能的实现与设计分开,便于分工协作。采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
v-模式开发方法就不知道了。
CMM(Capability Maturity Model能力成熟度模型)的本质是软件管理工程的一个部分。它是对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。他通过5个不断进化的层次来评定软件生产的历史与现状。
❸ 软件开发时,什么情况用瀑布模型和原型模型
当开发的软件是已知领域和行业,并且有比较好的积累,有可重用的架构或者模型。或者软件对安全和性能有极其严格的要求,容不得半点疏漏,比如航空航天软件。这样用瀑布模型的话能够有效地控制每一环节,所有流程都有文档可循。
而规模不是很大的,商业型的应用软件,更倾向于快速得到可用的软件。
而且软件需要能够适应市场的变化作出相应的调整。
原型模型无疑是更适合的。
❹ 软件瀑布模型是什么
瀑布模型是一种基础的软件开发过程模型,因为过程的图示形似瀑布而得名。它把软件开发分为界限清晰的几个步骤,指导软件的一整个生产过程。具体包括:需求分析,概要设计,详细设计,编码,软件测试,软件维护。更多的软件过程模型,可以在传智播客社区找到详细的介绍。找不到的话官网对话框可以问一下,还能领取他们课程大纲参考学习。
❺ 什么是敏捷开发和瀑布开发
瀑布开发(传统的开发方式)
1、强调文档
前一个阶段的输出就是下一个阶段的输入,文档是个阶段衔接的唯一信息。所以很多开发人员好象是在开发文档,而不是开发软件,因为要到开发的后期才可以看到软件的“模样”。
2、没有迭代与反馈。瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应。瀑布就意味着没有回头路。
3、管理人员喜欢瀑布模型的原因是把文档理解为开发的速度,可以方便地界定不同阶段的里程碑。
敏捷开发
极限编程的思想体现了适应客户需求的快速变化,激发开发者的热情,也是目前敏捷开发思维的重要支持者。
敏捷软件开发是一个开发软件的管理新模式,用来替代以文件驱动开发的瀑布开发模式。
敏捷开发集成了新型开发模式的共同特点,它重点强调:
1.敏捷就是“快”。快才可以适应目前社会的快节奏,要快就要发挥个人的个性思维多一些个性思维的增多。
2.客户参与。以人为本,客户是软件的使用者,是业务理解的专家,没有客户的参与,开发者很难理解客户的真实需求。
3.强调软件开发的产品是软件,而不是文档。文档是为软件开发服务的,而不是开发的主体。
4.设计周密是为了最终软件的质量,但不表明设计比实现更重要。
5.迭代。软件的功能是客户的需求,界面的操作是客户的“感觉”。对迭代的强调是缩短了软件版本的周期。
6.小版本。快速功能的展现,看似简单,但对于复杂的客户需求合理地分割与总体上的统一,要很好地二者兼顾是不容易的。