论文部分内容阅读
随着计算机应用领域的不断扩大和互联网的蓬勃发展,企业对软件的需求越来越大,各软件开发机构也越来越迫切地需要能够更有效地开发高质量软件的方法。但是,目前软件开发情况并不理想,很多项目常常最终不能交付或不能满足用户需要。为了解决这些问题,许多学者研究了大量的软件开发方法,其中最著名的是Rational公司的RUP(Rational Unified Process)方法和由Kent Beck等人提出的极限编程(Extreme Programming-XP)。RUP描述了一系列相关的软件工程流程,它们具有相同的结构,即相同的流程构架。RUP有三大特点:用例驱动、以构架为中心和迭代式开发。XP是一个针对某种特定环境(需求变化快的小型团队)的具体过程实施模型和方法论。它是一种演进式的原型化方法,具有沟通高效、设计简单、反馈迅速等特点,是一种轻载、敏捷的过程方法。在一些软件开发项目中,单纯地使用RUP和XP中的一种方法可能会有局限,不能达到满意的效果,需要寻找二者之间的平衡点,将二者相结合使用,以满足软件开发过程的需要。本文详细分析了RUP和XP的优点以及各自在实际应用中的局限和误区,通过对二者之间主要矛盾问题的研究,给出了一个以RUP过程思想为基础,结合XP若干实践的开发过程——UXP。UXP采用先进的迭代式开发方法,以架构为中心,在开发过程中加入了对项目环境的敏捷程度的分析,根据系统各部分功能和敏捷程度的不同,将系统划分为多个子系统,针对各子系统的具体情况结合使用RUP和XP的关键实践。这样可以将RUP和XP的关键实践应用在最擅长的领域内,并有效结合,避免各自在某些情况下使用时的局限。本文最后通过对作者参与的一个软件项目前期开发时延期原因的分析,根据UXP过程对项目的后期开发做了规划,并介绍了如何按照规划顺利完成了项目第二部分的开发,展示了UXP过程在实际项目中的应用效果。