几种软件开发模式概述

简介:

快速应用程式开发 (原名:Rapid Application Development、缩写:RAD)是指一种以最小幅度的规划并迅速地将原形完成的软件发展方法论。采用RAD进行软件开发的规划是和撰写软件本身交错同时进行的。通常能在没有大量预先规划的情况下,让软件更快写完、更容易变更需求。

瀑布模型(Waterfall Model)是由W.W.Royce在1970年最初提出的软件开发模型,在瀑布模型中,开发被认为是按照需求分析,设计,实现,测试 (确认), 集成,和维护坚定地顺畅地进行。 瀑布模型(Waterfall Model)最早强调系统开发应有完整之周期,且必须完整的经历周期之每一开发阶段,并系统化的考量分析与设计的技术、时间与资源之投入等,因此瀑布模型又可以称为‘系统发展生命周期’(System Development Life Cycle, SDLC)。由于该模式强调系统开发过程需有完整的规划、分析、设计、测试及文件等管理与控制,因此能有效的确保系统品质,它已经成为业界大多数软件开发的标准(Boehm, 1988)。

瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。

迭代式开发也被称作迭代增量式开发迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代每一次迭代都包括了需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。

螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用

敏捷软件开发又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。

目前列入敏捷方法的有:

软件开发节奏,Software Development Rhythms 
敏捷数据库技术,AD/Agile Database Techniques 
敏捷建模,AM/Agile Modeling 
自适应软件开发,ASD/Adaptive Software Development 
水晶方法,Crystal 
特性驱动开发,FDD/Feature Driven Development 
动态系统开发方法,DSDM/Dynamic Systems Development Method 
精益软件开发,Lean Software Development 
AUP(Agile Unified Process) 
Scrum 
XBreed 
极限编程,XP Extreme Programming 
探索性测试















本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/568514 ,如需转载请自行联系原作者




相关文章
|
7月前
|
Dubbo 前端开发 Java
让你在组建企业级项目时手到擒来——浅谈各类常用工具和框架概述
让你在组建企业级项目时手到擒来——浅谈各类常用工具和框架概述
|
数据可视化 IDE 安全
云巧-让开发更简单,更高效,更方便
近年来,快速迭代的新需求将引导企业改变其开发方式,进而转向使用支持快速、安全和高效的技术架构,组装式应用便成为了企业重要的战略技术趋势。组装式应用引入模块化的理念,使得各企业可以更敏捷、更有效地复用能力模块,提高商业的韧性和效率。云巧平台应运而生,能极大的改善开发环境,节省开发工作量,让开发更简单,更高效,更方便。
1915 0
|
15天前
|
监控 数据可视化 项目管理
如何利用工作计划管理软件提升项目管理透明度?高效工具推荐与使用指南
在快速发展的商业环境中,项目管理工具已成为团队协作和工作计划管理的必备利器。本文推荐2024年5款最受欢迎的工作计划管理软件:板栗看板、Wrike、TeamGantt、Smartsheet和Podio。这些工具各具特色,能有效提升项目经理的工作效率,管理复杂的项目流程。无论是简洁高效的板栗看板,还是强调跨部门协作的Wrike,或是高度定制化的Podio,都能满足不同团队的需求。选择合适的工具,需综合考虑团队规模、项目复杂度等因素。
如何利用工作计划管理软件提升项目管理透明度?高效工具推荐与使用指南
|
1月前
|
搜索推荐 安全 UED
我店平台系统开发模式
在开发我店平台模式时,需明确平台定位与目标用户,设计符合需求的功能与界面。考虑商业模式,选择盈利方式,设计创新功能如社交分享、个性化推荐等,提升用户体验。注重界面简洁、操作便捷,确保技术稳定与安全。持续迭代优化,根据用户反馈调整完善,保持竞争力。
|
2月前
|
存储 前端开发 JavaScript
前端开发中的状态管理概述与工具选择
【10月更文挑战第7天】前端开发中的状态管理概述与工具选择
31 0
|
3月前
|
JavaScript 测试技术 持续交付
构建高效的开发环境:工具与实践指南
在软件开发中,高效的开发环境对于提升生产力和代码质量至关重要。本文将介绍如何通过选择合适的工具和实践来打造高效环境,包括减少干扰、提高效率和提升代码质量。首先,文章将探讨选择正确的代码编辑器,如 Visual Studio Code 和 Sublime Text,并介绍如何配置编辑器以提高工作效率。接着,文章将讲解版本控制系统的使用,特别是 Git 的基本操作及 GitHub、GitLab 等远程仓库服务的选择。此外,还将讨论代码质量管理,包括代码审查和单元测试的最佳实践。最后,文章将介绍持续集成和持续部署(CI/CD)工具,以及如何利用命令行工具和协作工具来进一步提升开发效率。
|
4月前
|
开发者 测试技术 Android开发
Xamarin 开发者的五大常见问题及解决方案:从环境搭建到性能优化,全面解析高效跨平台应用开发的技巧与代码实例
【8月更文挑战第31天】Xamarin 开发者常遇问题及解决方案覆盖环境搭建至应用发布全流程,助新手克服技术难关。首先需正确安装配置 Visual Studio 及 Xamarin 支持,设置 iOS/Android 测试环境。利用 Xamarin.Forms 和 XAML 实现高效跨平台开发,共享 UI 和业务逻辑代码。针对性能优化,采取减少 UI 更新、缓存计算结果等措施,复杂问题则借助 Xamarin Profiler 分析。
51 0
|
5月前
|
数据采集 开发工具 Android开发
构建高效移动应用:从开发到部署的全面指南构建高效Python爬虫的实战指南
【7月更文挑战第31天】在数字时代,移动应用已成为我们日常生活和工作不可或缺的一部分。本文将引导读者穿越移动应用开发的迷宫,探索如何从零开始构建一个高效的移动应用。我们将深入讨论移动操作系统的选择、开发工具的应用、以及实际编码过程中的最佳实践。通过本文,你不仅能够获得理论知识,还将通过代码示例加深理解,最终能够独立完成一个移动应用的构建和部署。
67 2
|
5月前
|
JavaScript 开发者 微服务
构建高效网站后台:插件化管理的艺术与实践
【7月更文挑战第5天】在现代Web开发领域,随着业务需求的日益复杂多变,网站后台管理系统面临着前所未有的挑战。为了提升系统的灵活性、可维护性和可扩展性,越来越多的开发者倾向于采用“插件化”管理的方式。本文将深入探讨如何在网站后台实现高效的插件管理体系,通过理论讲解结合实际代码示例,引导开发者掌握这一先进开发模式。
123 1
|
开发者
EasyYitian软件架构迁移工具如何使用
EasyYitian软件架构迁移工具如何使用
218 0