技术开发 频道

UP还是敏捷方法?

【IT168 技术文章】

    目前UP或RUP软件开发过程已经被很多企业所采用,敏捷方法也逐渐被很多公司使用,究竟是采用UP(RUP)还是敏捷方法呢?哪个更有效呢?

    最有效的方法其实是根据企业自身的实际情况,来综合采用这两种方法,选择最适合你的非常好的实践。

    所谓非常好的实践,是指人们在多年的实践过程中总结出来的非常好的的开发软件的一些方法。

    RUP中的非常好的实践有:迭代式的开发、管理需求、使用构件架构、可视化建模、检验质量、控制变更,和使用Rational工具等。

    敏捷方法以XP为例:

    四大价值有:沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage)。

    五个原则:提供快速反馈、简单假设、制造增量式的变化、包容变化、质保工作。

    十二个实践原则:计划的制定、小版本、简单设计、测试、持续整合、重构、配对编程、代码共享、每周只工作40小时、现场客户、隐喻、编码标准。

    从文字上看两种方法中一致的有:迭代式开发、质量保证工作(检验质量,质保工作)。

    下面就来分析一下这些非常好的实践。

    1. 可视化建模

    XP虽然没有明确指出,需要进行可视化建模,但在实施过程中,编码之前,一般会在纸上划出要实现部分的草图,而且也使用UML,尽管是简单设计,但无论简单设计与否,这实际上就是在进行可视化建模。所以,在这点上与RUP是一致的。

    2. 使用构件架构

    RUP提倡利用构件提高可重用性。

    XP提倡重构、配对编程,这实际上是利用这些手段来提高代码的质量,而提高可重用性,进行可重用的构件的设计,实际上是最主要的工作,包括设计模式的使用等等。

    所以,在这一点上,两种方法的观点是一致的。

    3. 控制变更

    变更控制工具在软件开发企业中已经广泛使用,这一点不存在争议。尽管XP没有把它明确提出来。

    4. 管理需求

    XP没有管理需求的说法,但事实上对于关乎软件项目的全局的重要的功能需求,和非功能需求,是一定需要控制的,否则,如果项目进行到一半,然后推倒重来,即便是神仙恐怕也没办法让项目成功;至于对全局影响不大的变化,自然可以灵活处理,拥抱也好,放到下一个版本发布都是可行的。

    所以,在这一点上两种方法也并不矛盾。

0
相关文章