敏捷式开发
敏捷开发: 敏捷开发以⽤户的需求进化为核⼼,采⽤迭代、循序渐进的⽅法进⾏软件开发 敏捷开发是多种软件开发项⽬管理⽅法的集合,是⼀种开发⽅法
敏捷开发是紧紧围绕⽤户需求,以⽤户的反馈为导向,快速开发,快速验证,快速修正的迭代式开发打造⼤量精品
瀑布式开发
瀑布式开发:是⼀种⽼旧的计算机软件开发⽅法,是最典型的预见性的⽅法,严格遵循预先计划的,从需求到设计,从设计到编码,从编码到测试,从测试到提交⼤概这样的流程,要求每⼀个开发阶段都要做到最好。特别是前期阶段,设计的越完美,提交后的成本损失就越少。 瀑布式的主要的问题是它的严格分级导致的⾃由度降低,项⽬早期即作出承诺导致对后期需求的变化难以调整,代价⾼昂。
瀑布式⽅法在需求不明并且在项⽬进⾏过程中可能变化的情况下基本是不可⾏的.
迭代式开发
迭代式开发: 整个开发⼯作被组织为⼀系列的短⼩的、固定长度(如2周-4周)的⼩项⽬,被称为⼀系列的迭代,这叫迭代开发
每次只设计和实现这个产品的⼀部分,逐步逐步完成的⽅法叫迭代开发,每次设计和实现⼀个阶段叫做⼀个迭代. 每⼀次迭代都包括了需求分析、设计、实现与测试. 迭代开发是软件开发的⽣命周期模型,每⼀个迭代都是⼀个完整的瀑布模型,是⼀种开发过程
迭代式开发适合那些需求信息不明确的项⽬
优点:
降低风险
得到早期⽤户反馈
持续的测试和集成
使⽤变更
提⾼复⽤性
螺旋式开发
螺旋式开发,适合⼤型复杂的系统,核⼼就在于您不需要在刚开始的时候就把所有事情都定义的清清楚楚。您轻松上阵,定义最重要的功能,实现它,然后听取客户的意见,之后再进⼊到下⼀个阶段。如此不断轮回重复,直到得到您满意的最终产品
制定计划:确定软件⽬标,选定实施⽅案,弄清项⽬开发的限制条件;
风险分析:分析评估所选⽅案,考虑如何识别和消除风险;
实施⼯程:实施软件开发和验证;
客户评估:评价开发⼯作,提出修正建议,制定下⼀步计划。
很⼤程度上是⼀种风险驱动的⽅法体系,因为在每个阶段之前及经常发⽣的循环之前,都必须⾸先进⾏风险评估。