论文部分内容阅读
传统软件开发方法试图在长时间跨度内对一个软件开发项目制定出详尽的计划,然后严格按照计划进行软件开发。这类方法在计划制定结束后拒绝变化,因此它不太适应于需求快速变化的情形,并且大量的早期文档在开发过程结束后变得毫无价值,有些甚至在开发过程中就己毫无意义,这些文档就像枷锁一样注定了该方法“滞重”(Monumental)的特性。为解决快速开发系统、适应需求变化、确保质量并控制成本的问题,敏捷开发方法应运而生。敏捷开发方法是适配性而非预测性,是面向人的而非面向过程,具有短周期小增量发布的特性,强调经常性交付可以工作的软件,因此也能更快速地获取用户的反馈信息,缩短校正开发方向的时间;可以提高有效代码的产出率;可以让开发人员更有效地利用时间进行开发工作;可以节约成本。本文首先从敏捷开发方法的出现谈起,介绍了敏捷宣言及原则和几种典型的敏捷开发方法,重点介绍了极限编程方法和Scrum方法,并从CMM角度分析了极限编程方法,最后得出结论,极限编程与CMM不是对立的,而是互相补充的,而且极限编程更适合需求变化的小型项目。在了解了敏捷开发方法后,转向敏捷开发方法已成必然。所以作者采用极限编程并结合Scrum方法进行长治医学院学生信息管理系统的开发,根据XP的生命周期,首先进行项目规划和用户故事的整理,根据用户故事统计数确定迭代周期,并打破传统的任务分配方式,按照用户故事进行任务分配,并以第一个迭代周期为例,介绍了极限编程的实践方法在迭代开发过程中的应用,包括编码标准、测试驱动、结对编程、集体代码所有权、持续集成以及小型发布。极限编程方法在系统开发中的实施是本文的重点。敏捷开发方法在本系统开发中的成功实施证明了敏捷开发方法在小型项目中应用的合理性和有效性,通过实践我们也总结出敏捷开发方法的实施中应该把握其实质,不能生搬硬套,应该灵活运用,选择适合自己开发团队的实践方法,使项目获得最大的成功。