极限编程其应用

时间:2024-02-29 点赞:44831 浏览:85109 作者原创标记本站原创

本文是一篇软件开发论文范文,软件开发有关毕业论文开题报告范文,关于极限编程其应用相关在职毕业论文范文。适合软件开发及软件工程及管理系统方面的的大学硕士和本科毕业论文以及软件开发相关开题报告范文和职称论文写作参考文献资料下载。

【摘 要】在传统的软件工程学中,系统的分析、设计与实现在时间上先后分离,这种分离常常导致开发的软件与预期不符甚至完全失败.因此,敏捷软件开发方法应运而生,极限编程就是敏捷方法中最著名的一种轻量级的、灵活的软件工程方法.

【关 键 词】极限编程;XP;软件工程;软件开发

0引言

传统软件工程中的软件开发过程要求在开发初期确定用户的完整需求,但在具体开发实践中,人们发现早期定义的需求往往不能完全符合客户的实际需要,这种开发方法在当代这种需求不确定性大,且开发时间短的开发实践中显得越来越无力,开发者根据用户提出的需求不断修改程序,不但延长了软件开发周期,还大大提升了软件的开发成本和风险,很多企业的软件开发团队陷入了开发过程不断增长的泥潭.为了解决这个问题,业内专家们一起总结出一些能让软件开发过程具有高效且能迅速响应需求变化等特点的价值观和原则,这就是敏捷开发思想.极限编程(ExtremeProgramming,XP)是敏捷开发方法的代表,它是一种混乱而又有序的开发实践方法,利用较短的迭代周期来响应需求的变化.

1极限编程

1.1XP简介

极限编程方法是由KentBeck提出的,他从90年始一直寻找一种能使软件开发更加简洁有效的开发方法,他在认真分析比较了各种简单、快捷的软件开发方法的前提、有效性及局限性后,终于在1996年3月提出了极限编程开发方法并应用于项目中[1].极限编程是一种极为严格的、经过实践考核的轻量级软件开发方法,是敏捷软件开发方法中的典型代表.在极限编程开发过程的每个阶段都以代码为中心,侧重于客户参与、精炼设计、频繁测试,快速反馈、持续性的整合、重构等,以便在开发过程中尽量早地发现错误并及时纠正.

1.2XP价值观

1.2.1强调个人与交互,弱化过程与工具

软件开发团队是由人组成的,软件是开发者的脑力劳动的结晶,因此要进行高效地开发,各开发人员及客户必须进行有效地沟通并工作在一起.

1.2.2强调软件开发工作,弱化详尽的文档

软件开发的终极目的是得到可运行的软件,而不是文档;因此有些文档不必要花费大量的精力去制作,规规矩矩的软件工程思想反而逼迫开发人员不得不加班加点.

1.2.3强调与客户协作,弱化合同谈判

软件的服务对象是客户,只有客户满意的软件才是开发成功的软件,因此开发人员应与客户紧密联系,不断的引导客户表达并理解需求.

1.2.4强调及时响应变化,弱化遵循规则

随着软件开发工作的进行,各相关人员对正在开发系统的理解都可能发生变化,因为环境、时间都在变,所以变化是软件开发中不可避免的事实,软件过程必须反映这个事实.

1.3XP标准过程

极限编程的标准过程分为两个阶段:设计和开发[2].在第一个设计阶段中,开发人员根据现场客户提供的用户事例明确软件的需求.以系统需求为基础,使用系统隐喻规则说明系统如何实现、新的功能如何添加.在第二个开发阶段中,采用周期迭代、测试驱动的开发模式,首先编写测试脚本,再使用结对编程方式完成编码,最后进行测试.XP方法要求在开发过程中,对系统持续集成,反复的进行回归测试.XP标准过程如图1所示.

1.4XP优势

XP思想是一种新兴的编程理念,相对于传统的软件工程方法,它具有以下的优势:

图1XP标准过程

1.4.1XP技术提出的小型发布能够及时的发现错误,最大程度地缩小错误范围.

1.4.2XP技术提倡迅速响应需求的变动问题,尽可能减少因需求变动而带来的损失,并且开发出的软件最大限度地满足用户需求.

1.4.3XP技术倡导一周40小时的正常上班制度[3],因为高强度的加班遏抑了软件开发者的创新能力和工作积极性,从而给软件项目的开发进度或软件质量带来不利的影响.

1.4.4XP技术提倡简单设计的开发理念,可以减少开发者的工作量,提升开发效率.传统软件工程学认为编码必须在设计完全结束后才能开始,而实际上设计一般都存在着一些缺陷,面面俱到的设计反而会造成开发进度的迟缓.因此XP技术为IT行业的软件开发创造了一种新的先进开发思想.

2XP在考试管理系统中的应用

XP方法通过这几年的发展,已经有很多小型的软件企业自觉或不自觉地采用这种编程技术,但它一般适用于项目的分析和设计人员总数不超过10的中小型项目,当软件项目较大,参与人数较多时,就不适宜采用XP开发方法[4].因此,本文以考试管理系统为例讨论XP模型在中小型系统中的应用.

2.1项目概述

为了提高教师的工作效率及学生的学习兴趣,开发一个考试管理系统,通过对考试管理系统的功能分析,要求系统具有以下功能:根据用户权限登录不同模块、管理员可以添加、修改和删除试题、管理员可以添加、修改和删除用户和考生、可以随机显示考题、能够自动阅卷、显示倒计时、可以查看成绩等.

2.2项目开发过程中XP准则的实践情况

2.2.1与用户充分沟通,拟定开发计划

在开发中,开发者首先同客户代表进行充分的沟通,并站在用户的立场上思考明确系统的需求,确定系统的功能模块划分.考试管理系统预计分为三个短周期,每两周进行一次小型发布.第一个周期完成公共模块、系统登录模块、后台管理模块等三个模块;第二个周期完成系统管理、题库管理这两个模块;第三个周期完成考试模块、查看模块.每进行一次小型发布都要产生一个版本,并同时提交给用户进行测试,不断收集用户的反馈信息,如操作方式、界面、格式支持等方面的修改意见,以便在下个版本中及时纠正,这样就可以避免开发出与用户需求不相符的系统.

2.2.2结对编程

结对编程是XP方法中的一个重要规则,它提倡两个人共用一台电脑,共同完成同一功能模块的编码.在该项目中,为促进知识在开发团队中的传播,团队员工以一老一新原则进行搭配成对,老员工负责控制计算机并研究编程细节,编写输入代码,新员工观察输入的代码并寻找代码中出现的错误和可以改进的地方,以提高代码的质量和可读性.

2.2.3团队共同拥有代码

在开发过程中,开发者始终坚持XP中的“代码集体所有”原则,它不仅是一种代码的共享,更是一种知识的共享.所有成员的代码阅读权限一致,不但拥有自己编写的代码,也可以了解其他队员编写的代码.任何问题的解决都由团队全体成员共同讨论、修改.因此,即使有团队成员离开也不会影响整个软件项目的开发进度.

2.2.4持续集成、测试

软件开发过程中,所有团队成员每天都把代码导入共享库,每生成一个新版本都进行一次系统集成,并由用户共同参与测试,继续收集用户的反馈信息,及时响应需求变更,不断地进行回归测试,以保证软件的可靠性.该项目经过6周的迭代研发后,到最终版本发布时,系统已经能在校园网上稳定地运行了.


本系统在开发过程中,结合具体情况,灵活应用XP提供的方法、原则,找出适合本项目的软件开发模式,充分注意了系统的安全性、实用性、灵活性.最终,开发的系统中客户的需求均得以实现.

【参考文献】

[1]刘玲惠,梁晓强.敏捷软件开发中的极限编程[J].产业与科技论坛,2011,10(22):77-78.

[2]易金刚.极限编程理论的研究[J].计算机时代,2010,06:01-03.

[3]傅恒切.传统软件开发与极限编程[J].中国外资,2011,05:286.

[4]廖瑞华,文海英,胡英.极限编程(XP)方法及其应用[J].电脑知识与技术,2009,05(27):7670-7671.

[责任编辑:汤静]

相关论文

传统软件开发与极限编程

本文是一篇软件工程论文范文,关于软件工程类毕业论文格式范文,关于传统软件开发与极限编程相关开题报告范文。适合软件工程及软件开发及计算。

极限编程技术

本文是一篇软件开发论文范文,关于软件开发方面毕业论文开题报告范文,关于极限编程技术相关硕士论文范文。适合软件开发及软件工程及极限方面。

交换编程――极限编程的延伸实践

本文是一篇软件工程论文范文,软件工程方面有关毕业论文的格式,关于交换编程――极限编程的延伸实践相关学士学位论文范文。适合软件工程及软。

数学算法对计算机编程的优化

本文是一篇计算机编程论文范文,关于计算机编程毕业论文格式,关于数学算法对计算机编程的优化相关研究生毕业论文开题报告范文。适合计算机编。

iOS极限多媒体播放器

本文关于视频及浏览器及格式方面的免费优秀学术论文范文,视频方面有关论文范文集,与iOS极限多媒体播放器相关毕业论文的格式范文,对不知道。