论文部分内容阅读
随着对软件的需求越来越大,要求越来越高,软件开发机构越来越迫切地需要能够更有效地开发更高质量软件的方法。但是,日前软件开发的情况并不理想。很多系统常常最终不能交付,或者最终交付的系统经常性地发生延期或超出预算;系统常常不能满足用户的需要,其结果是不得不一遍又一遍地开发。为了解决这些问题,出现了较多软件开发方法。其中以Rational公司的RUP过程和近几年Kent Beck等人提出的XP敏捷开发过程具有代表性。 本文在对当前两种软件开发过程(RUP和XP)进行分析和比较的基础上,给出了一种基于RUP和XP(RXP)的软件开发过程——RXP软件开发过程。RXP软件开发过程,是一种适于开发Web应用系统的过程。本过程吸取了RUP过程中设计与文档的特点,又遵守了XP的快速开发、重构、测试先行等原则,既适合了现代软件开发的实际情况,又不必使开发者陷入过分设计而导致开发进度缓慢的困境,最终达到快速、和谐的开发系统,较好的满足了用户需求的目的。 RXP软件开发过程是一种经过裁剪的RUP过程,在设计工作中以软件体系结构为目标,并在过程中引入了XP的若干实践方法,因此它可以避免RUP过分设计的缺点和避免XP完全依靠源代码的缺点。在这一过程中分三个工作流:捕获需求、设计、实现。捕获需求工作流中采用用例模板、界面和领域模型来捕获较精确的用户需求。设计的目标是获得系统的软件体系结构,它是系统的高层模型图,从而可以避免过分设计的缺点。软件体系结构采用UML语言描述。同时,模式大量应用在设计工作流中,从而可以获得良好的设计。在实现工作流中,XP开发过程中的重构、测试先行和持续集成的实践方法被引入。整个开发周期被分解为若干个迭代,整个系统就是这些迭代成果的集合。最后,使用本过程开发了个信息发布系统,以揭示如何在实践中使用并验证这一开发过程。整个开发过程进行了两次迭代。本文详细论述了第一次迭代过程及其细节,并简要论述了第二次迭代过程。