敏捷开发——
一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,目标是提高开发效率和响应能力。除了原则和实践,模式也是很重要的,多研究模式及其应用可以使你更深层次的理解敏捷开发。
其代表方法有:统一开发过程:Rational Unified Process(RUB)、敏捷建模:Agile Modeling(AM)、极限编程:Extreme Programming、自适应软件开发:Adaptive Software Development(ASD)、水晶方法体系:Crystal等等。
RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。
敏捷建模:简称AM,是一种最近才出现的软件思想。他的核心原则:主张简单、拥抱变化、你的第二个目标是可持续性。简单的说,你在开发的时候,你要能想象到未来、递增的变化、令投资人的投资最大化、有目的的建模、多种模型、高质量的工作、快速反馈、软件是项目的主要目标、轻装前进。
补充原则有:内容比表示更重要、三人行必有我师、了解你的模型、了解你的工具、局部调整、开放诚实的沟通。
极限编程:是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。
极限编程过程主要是是:需求分析、设计、编码和测试。