硬核:常见软件过程模型的比较
硬核:常见软件过程模型的比较
硬核:常见软件过程模型的比较,最好的拍照软件,店铺进销存软件,学习口语的软件瀑布模型(经典生命周期)提出了软件开发的系统化的、顺序的方法。其流程从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一 个完整的软件并提供持续的技术支持。
3. 提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
2. 依赖早期调研和需求分析,很难适应在许多项目开始阶段必然存在的不确定性。
3. 流程单一,必须要完成前一阶段的任务,才能进行下一阶段,开发过程中的成功经验无法用于本产品。
4. 测试在后期引入,对于系统存在的重大缺陷,如果在可执行程序评审之前没有被发现,将可能造成重大损失。
增量过程模型以迭代的方式运用瀑布模型,把软件产品作为一系列的增量构件来设计、编码、集成和测试。
每个构件由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型时,第一个增量往往是核心功能。
2.逐步增加产品功能可以使用户有充裕的时间学习和适应新产品,从而减少一个 全新的软件可能给客户组织带来的冲击。
2. 大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。
RAD模型是一种侧重于短暂的开发周期的增量软件过程模型,它是瀑布模型的“高速”变体,通过基于构建的构建方法实现快速开发。开发团队能够在非常短的时间内创造出“全功能系统”
1. 对于大型的可伸缩的项目,RAD 需要大量的人力资源来创建多个相对的独立的 RAD 团队
2. 如果开发者和用户没有为短时间内急速完成整个系统做好准备,RAD 项目将会失败。
4. 如果系统需求是高性能,并且需要通过调整构件接口的方式来提高性能,不能采用 RAD 模型
不适合技术风险很高的开发,不适合系统需求是高性能,并且需要通过调整构件接口的方式来提高性能的产品开发。
从需求收集开始,开发者和客户在一起定义软件的总体目标,标识已知的需求并且规划出需要进一步定义的区域。
然后是“快速设计”,它集中于软件中那些对客户可见的部分的表示,这将导致原型的创建,并由客户评估并进一步精化待开发软件的需求。
逐步调整原型使其满足客户的需求,这个过程是迭代的。其流程从听取客户意见开始、随后是建造/修改原型、客户测试运行原型、然后回头 往复循环直到客户对原型满意为止。
由于这种模型可以让客户快速的感受到实际的系统(虽然这个系统不带有任何质量的保证),所以客户和开发者都比较喜欢 这种过程模型(对于那些仅仅用来演示软件功能的公司而言或从来不考虑软件质量和不害怕长期维护的公司而言)。
2、 大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。
螺旋模型是一种演进式软件过程模型,结合了原型的迭代性质和瀑布模型的系统性和可控性的特点,具有快速开发越来越完善软件版本的潜力。
开发步骤:沿螺线自内向外,每旋转一圈便开发出更为完善的一个新的软件版本。
例如,在第一圈,确定了初步的目标、方案和限制条件以后,转入右上象限,对风险进行识别和分析。
如果风险分析表明,需求有不确定性,那么在右下的工程象限内,所建的原型会帮助开发人员和客户,考虑其它开发模型,并对需求做进一步修正。客户对工程成果做出评价之后,给出修正建议。
在此基础上需再次计划,并进行风险分析。在每一圈螺线上,风险分析的终点做出是否继续下去的判断。
假如风险过大,开发者和用户无法承受,项目有可能终止。多数情况下沿螺线的活动会继续下去,自内向外,逐步延伸,最终得到所期望的系统。
协同开发模型(协同工程),可以表示唯一系列的框架活动、软件工程动作和任务以及相应的状态。
基于构件的开发模型具有许多螺旋模型的特点,本质上是演化模型,需要以迭代方式构建软件。不同之处在于,基于构件开发模型采用预先打包的软件构件开发程序。
开发过程:对所需构件进行评估 考虑构件的集成 设计系统的软件框 架将构件放入框架进行测试
形式化方法使得软件工程师们能够通过应用一个严格的数学符号体系来规约、开发、 和验证基于计算机的系统。
在开发中使用形式化方法时,它们提供了一种机制,能够消除 使用其它软件过程模型难以克服的很多问题。
二义性、不完整性、不一致性能被 更容易地发现和纠正,而不是通过专门的评审,是通过对应用的数学分析。
1、形式化规约可直接作为程序验证的基础,可以尽早的发现和纠正错误(包括那些其它情况下不能发现的错误)。
2、开发出来的软件具有很高的安全性和健壮性,特别适合安全部门或者软件错误会造成经济损失的开发者。
3、 不能将这种模型作为对客户通信的机制,因为客户对这些数学语言一无所知。
统一过程模型是一种“用例驱动、以体系结构为核心、迭代及增量”的软件过程框架,由 UML 方法和工具支持。它是一种增量模型,定义了五个阶段:
d、 转化阶段,将软件从开发人员传递给最终用户,并由用户完成 beta 测试和验收测试
3.如果不加控制的让用户过早接触没有测试完全,版本不稳定的产品可能对用 户和开发团队都带来负面的影响
相关文章
- 免费好用的录音转文字有那些好用的录音转文字软件
- 电脑怎么设置applocker
- 专业度较高的视频剪辑工具有哪些?
- 安卓“灵动岛”App上架谷歌应用商店再也不用羡慕隔壁iPhone
- 有奖|少数派 9 周年庆这 30+ 个正版软件和教程超低折扣啦
- 纯干货分享选择局域网和内网沟通软件的三大原则
- 手机多款App频繁自动启动 十几分钟访问手机照片和文件近25000次
- 海康威视IVMS-4200新版本新增4大功能又删除4个功能你知道吗
- 百度杀毒也关闭那些年火爆的杀毒软件缘何由盛转衰?
- 一文读懂企业究竟需要什么样的数据架构
- 怎么将pdf转cad?30秒搞定的pdf转cad免费转换器!
- 还在烦恼tts文本转语音怎么用吗?这三款软件轻松实现tts文本转语音
- 奥运背后的海南故事识字软件免费
- 清华大学走“国际轨道”700多门课全程英语授课网友坐不住了
- 小块头大肚量 四款主流压缩软件对对碰
- 都用旗舰芯片手机软件去水印
- 什么抢票软件最好用?6款好用的抢票软件推荐
- 基于学情的高中学生英语词汇复习实践
- 股票行情快报:久其软件9月28日主力资金净卖出74059万元
- 常用相移振荡器(lkHz快速起动门控电路)