论文部分内容阅读
由于软件危机的存在,迫使IT行业的管理者和专家们寻找解决危机的软件方法。传统的软件方法,譬如:软件能力成熟度模型(Capability Maturity Model,CMM)、软件统一过程(Rational Unified Process,RUP),都曾经解决了一些问题,但是随着软件经济的发展,用户需求的不确定和变化快成为软件行业的显著特点,传统软件方法不能很好地对这些问题进行解决,而且还增加了软件开发的成本。于是,敏捷(Agile)软件方法的诞生成为了一种需要和可能,它是一种轻量型的软件方法,这是相对于传统的重量级而言的。常见的敏捷软件方法包括:Crystal、ASD(Adaptive Software Development)、SCRUM、FDD (Feature Driven Development)、XP(Extreme Programming),其中最为著名的就是由Kent Beck等人提出的极限编程(XP)。对软件方法在实际系统中的研究与应用,一直以来是这方面的重要研究课题之一。 本文系统地研究了敏捷(Agile)软件方法中的极限编程(XP)方法,讲解了XP的理论知识以及它的十二种实践方法,并且对十二种实践方法在实际系统中进行了研究与应用,还有对敏捷建模和极限建模,都给出了详细、系统的阐述。此外,文中还对XP和CMM、XP和RUP,进行了比较和鉴别。最后,针对XP从项目管理和软件过程的角度给出了总结。 本文在对极限编程(XP)研究的基础上,形成的主要创新点如下: 1.用户故事词典的形成;2.建立逻辑的结对编程的概念;3.权限级的集体代码所有制的灵活用法;4.虚拟现场客户的建立;5.内部小型发布的过程;6.站立式晨会调整为站立式午会;7.提倡和谐、竞争式开发;8.项目小组人员形成每周工作笔记