迭代,敏捷开发和UP

  什么是软件开发中的迭代开发?

  就是开发被组织成一系列固定的短期小项目,称为迭代,每次迭代都产生,经过测试、集成并可执行的局部系统。系统在迭代中持续扩展和精化,并以循环反馈和调整为核心驱动力,最终成为一个编程系统产品。

  迭代开发,又被称为增量式开发,进化式开发,或者IID(Iterative and Incremental Development)

  迭代开发的历史可以追溯到20世纪50年代末的美国Mercury空间项目,在20世纪80年代得到发展,Frederick Brooks在他的《人月神话》中阐述了瀑布方法的缺陷,以及使用IID的必要性,20世纪90年代IID已经被公认为瀑布方法的后继者。

 

  那什么是敏捷开发?

  敏捷开发是迭代开发的一种,应用时间定量的迭代和进化式开发,使用自适应计划,提倡增量交付并包含其他提倡敏捷性的价值和实践。

  2001年,敏捷联盟成立,他们发表了敏捷宣言。

  敏捷的特点是,增量开发,快速原型,适用于中小型项目。

  敏捷有很多门派,Xp、Scrum、UP,DSDM等等……他们都是在20世纪90年代发展起来的。

 

  UP是Unified Process的缩写(统一过程),他是十分灵活和开放的,只要是其他敏捷方法中有用的实践,都鼓励引进,如:Xp的测试驱动,重构,持续集成;Scrum的公共项目室,日常会议等。

 

  UP分为四个阶段:

  1,初始,Inception:大体上的构思,业务案例,范围和模糊评估

  2,细化,Elaboration:高风险核心架构的解决,确定大多数需求,更为实际的评估

  3,构造,Construction:实现风险较低的元素

  4,移交,Transition:进行beta测试和部署

 

  UP的过程:

  1,在第一次迭代前,召开需求工作会议,业务和开发人员出席,进行高阶需求分析,例如确定用例名称,关键部分功能需求。

        选择具有架构意义的,高风险的10%用例和特性,进行详细分析。

  2,第一次迭代前,召开迭代计划会议

  3,在3-4周完成第一次迭代

  4,第一次迭代快结束时,召开第二次需求工作会议,对上一次会议的所有材料进行复查和精化,然后又开始对另外的10%-15%用例进行深入分析。并计划下一次迭代。

  5,四到五次迭代以后可能已经详细记录了80-90%的需求,但只实现了系统的10%,这是细化阶段

  6,此后需求已经基本稳定,一般不再召开需求会议,接下来进入构建阶段。

 

  具体来说:

  1,初始阶段包括的行为:编写用例,补充性规格说明,词汇表,设想,业务规则等其他非功能需求。

  2,细化阶段的每次迭代:领域模型,SSD(系统顺序图),操作契约,确定逻辑架构(宏观组织结构),UML包图,画交互图(顺序图,通信图),画类图,设计可见性,映射为代码,应用GRASP模式和GOF模式,用UML工具逆向工程,从代码生成图形,用4+1视图模型文档化架构。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值