论文部分内容阅读
随着日益增多的软件需求,一个个软件应运而生。但是真正能达到用户要求的软件却很难完成。其原因有很多方面,工期的限制,软件可扩展性,需求的随时变动等都会为软件的完成增加难度。一个完成速度快,拥有高质量的代码,而成本又低的软件成了所有用户也是开发人员的渴望。在以往的开发过程中,速度快、低成本就会导致低质量;高质量也必然会导致完成时间较长等现象,显然很难同时达到这些要求。而敏捷开发是一种增量、迭代式的开发,是一种速度、质量、成本都能兼顾到的开发过程。早在多年前,敏捷开发便被提出,但在国内能真正能根据敏捷开发的要求,达到敏捷开发宗旨的却少之又少,所以针对敏捷开发的应用仍有待深入。本文中的软件开发过程便采用了敏捷开发的方式,并研究了如何在软件开发过程中更有效的运用。敏捷开发目前包括了七大主流,根据不同的侧重点又分为两大类型:一种注重管理方面的强化,加强人员们之间的交流,如:SCRUM, ASD等;另一种则是改进软件开发的过程,如:XP, DSDM等。在本文中,诠释的是后者。无论是哪种类型的敏捷开发,其宗旨都是以人为本,最大提高生产率。在本课题中,便会采用其中一种对敏捷开发进行研究。本文论述了运用敏捷开发中的测试驱动开发方法,并将其运用到开发RegisterEditor软件的过程中,以及在整个敏捷开发过程中的采用的测试方法。RegisterEditor是一个嵌入式工具软件,用来协助芯片设计者进行芯片设计的。它打破了原始的设计芯片的方法,芯片设计者不再是事无巨细地去设计每个寄存器组中的每个寄存器,每个寄存器中每个比特位的详细信息,仅仅需要简单的操作便可很快地创建一个所需芯片。主要研究内容有以下几方面:1.在RegisterEditor开发过程中应用了敏捷开发中的测试驱动,并研究了如何将重构、设计模式、测试融合在一起去进行开发。2.在整个开发过程中,如何将测试贯穿到底,最大程度上减少后期发现的bug。不同类型的测试会发现系统中不同的问题。通过使用功能测试、回归测试、性能测试、压力测试等,不断的对RegisterEditor进行改进,进而达到客户的要求。3.针对用户需求的不断改动,如何能快速达到用户要求并按时给予交付。4.采用面向对象的方法和RCP开发技术,利用Eclipse完成了RegisterEditor软件的研发。最后,对全文做了总结并对敏捷开发进行了展望。