软件开发模型瀑布模型的介绍是什么?
喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。
该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。
软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。
无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。
喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。
该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。
其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。
此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。
http://baike.baidu.com/view/756139.htm
软件开发流程的瀑布模型主要包含哪些步骤
瀑布开发模型可以分为六个不同步骤,义如下: 1.需求分析:2.设计:这一步包括了“定义硬件和软件架构、组件、模块、界面和数据等来满足指定的需求(Wikipedia)。
”它包括了硬件和软件架构的定义,确定性能和安全参数,设计数据存储容器和限制,选择集成开发环境(IDE)和编程语言,并指定异常处理、资源管理和界面连接性的策略。
这一阶段还强调了用户接口的设计,包括与浏览和可用性相关的问题,这一步骤的输出结果是一份或多份设计说明书,这些说明书将在下一阶段使用。
3.实现:这一步包含了根据设计说明书来构建产品,通常,这一阶段是由开发团队来执行的,开发团队包括了程序员、界面设计师和其他的专家,他们使用的工具包括编译软件、调试软件、解释软件和媒体编辑软件。
这一阶段将生成一个或多个产品组件,它们是根据每一条编码标准而编写的,并且经过了调试、测试并进行集成以满足系统架构的需求。
对于大型开发团队而言,建议使用版本控制工具来追踪代码树的变化,这样在出现问题的时候可以还原以前的版本。
4.测试:在这一阶段,独立的组件和集成后的组件都将进行系统性验证以确保没有错误并且完全符合第一阶段所制定的需求。
一个独立的质量保证小组将定义“测试实例”来评估产品是完全实现了需求还是只有部分满足。
5.安装:在产品通过测试并且被鉴定为符合需求的产品后,就会进入到安装阶段,这一阶段包括了在客户站点进行系统或产品的安装和使用,这可以通过互联网或者物理媒介进行,通常交付使用的产品都带有正式的版本号,这为今后的产品升级提供了便利。
6.维护:这一阶段发生在安装之后,包括了对整个系统或某个组件进行修改以改变属性或者提升性能,这些修改可能源于客户的需求变化或者系统使用中没有覆盖到的缺陷,通常,在维护阶段对产品的修改都会被记录下来并产生新的发布版本(称作“维护版本”并伴随升级了的版本号)以确保客户可以从升级中获益。
...
用瀑布模型开发的软件项目过程管理
主要的软件过程模型有:瀑布模型,演化模型(如增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。
瀑布模型(waterfall model)是1970年有W.Royce提出的,它给出了软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段过渡,最终得到所开发的软件产品。
瀑布模型如下图所示,有时也称为软件生存周期模型。
瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是:(1)接受上一阶段的结果作为本阶段活动的输入。
(2)依据上一阶段活动的结果实施本阶段应完成的活动。
(3)对本阶段的活动进行评审。
(4)将本阶段活动的结果作为输出,传递给下一阶段。
瀑布模型是最早出现的也是应用最广泛的过程模型,对确保软件开发的顺利进行、提高软件项目的质量和开发效率起到重要作用。
在大量的实践过程中,瀑布模型也逐渐暴露出它的不足。
首先,客户常常难以清楚地描述所有的要求,而且在开发过程中,用户的需求也常常会有所变化,使得不少软件的需求存在着不确定性;在某个活动中发现的错误常常是由前一阶段活动的错误引起的,为了改正这一错误必须回到前一阶段,这就导致了瀑布的倒流,也就是说,实际的软件开发很少能按瀑布模型的顺序没有回流地顺流而下。
其次,瀑布模型使得客户在测试完成以后才能看到真正可运行的软件,此时,如果发现不满足客户需求的问题(由于需求不确定性),那么修改软件的代价是巨大的。
不是任何软件都可采用瀑布模型的,瀑布模型适合于结构化方法,也就是面向过程的软件开发方法。
软件项目或产品选择瀑布模型必须满足下列条件:在开发时间内需求没有或很少变化;分析设计人员应对应用领域很熟悉;低风险项目(对目标、环境很熟悉);用户使用环境很稳定;用户除提出需求以外,很少参与开发工作。
为什么要使用软件开发模型
一、有助于按照现实或者实际情况进行直观的描述。
二、能够规定软件或者模型的结构,行为,属性。
三、能够指导软件构造的模板。
四、对决策进行文档化当然建模并不只适用于大的系统,甚至像非常小的一个应用,我们都可以建模,在建模中受益,然而越大的软件,功能越杂,业务越不清晰,从而阻挠软件开发者的思路和效率。
在这种情况下,我们使用建模的重要性就越大,一个很简单的原因是:因为不能理解一个很复杂而庞大的软件工程,所以要对他建模 。
而且人们对复杂的事物或者问题的理解是有局限的,人们总是习惯去理解 简单易懂的东西。
所以通过建模可以 缩小研究范围,只着重研究其很小的一部分功能,这就要求了一个复杂的软件系统“分而治之”,从而通过建模简单化。
从而你会发现其实很复杂的系统软件或者工程总是变得很简单,解决了这小部分的简单问题,就形成了复杂而庞大的软件或者工程。
建模能帮助开发组更好地进行系统规划,并帮助他们进行架构软件,使用开发效率提高。
如果不建模,项目越复杂,就越会失败或者出现错误的东西。
软件工程软件开发v模型有哪些基本划分
V模型是对瀑布模型的修正,强调了验证活动,由Paul Rook在1980年率先提出。
在瀑布模型中,由于早期的错误可能要等到开发后期的测试阶段才能发现,所以可能带来严重的后果。
V模型就是在这点上改进了瀑布模型,即在软件开发的生存期中,开发活动和测试活动几乎同时开始,这两个并行的动态的过程就会极大地减小bug和error出现的概率。
V模型是瀑布模型的变种,它反映了测试活动与分析和设计的关系
敏捷开发模式和瀑布模型啥意思
展开全部 瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。
包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。
敏捷开发模式是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。
它们的具体名称、理念、过程、术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用....
软件工程:若开发一个学生信息管理系统,应该采用哪种开发模型?...
瀑布模型(Waterfall Model)是一个项目开发架构,瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。
1、瀑布模型有以下优点1)为项目提供了按阶段划分的检查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
增量迭代应用于瀑布模型。
迭代1解决最大的问题。
每次迭代产生一个可运行的版本,同时增加更多的功能。
每次迭代必须经过质量和集成测试。
2、瀑布模型有以下缺点1)在项目各个阶段之间极少有反馈。
2)只有在项目生命周期的后期才能看到结果。
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
尽管瀑布模型招致了很多批评,但是它对很多类型的项目而言依然是有效的,如果正确使用,可以节省大量的时间和金钱。
面向对象这个概念很抽象...不过我觉得是3者当中最适合于软件系统的开发。
每个人对于面向对象这个概念的看法都有点不同,开发的系统越多,对于面向对象这个概念就理解的越深刻。
有关于面向对象的解释,你可以参考下这个:http://baike.baidu.com/view/125370.html?wtp=tt原型模型的特点:(1)开发人员和用户在“原型”上达成一致。
这样一来,可以减少设计中的错误和开发中的风险,也减少了对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。
(2)缩短了开发周期,加快了工程进度。
(3)降低成本。
原型模型的缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。
这往往给工程继续开展带来不利因素。
不宜利用原型系统作为最终产品。
采用原型模型开发系统,用户和开发者必须达成一致:原型被建造仅仅是用户用来定义需求,之后便部分或全部抛起,最终的软件是要充分考虑了质量和可维护性等方面之后才被开发。
转载请注明出处51数据库 » 软件工程瀑布开发模型