极限编程在软件项目开发中的应用分析

2016-03-09 00:37蔡宗慧
电脑与电信 2016年7期
关键词:开发人员代码编程

蔡宗慧

(秦皇岛职业技术学院,河北 秦皇岛 066100)

极限编程在软件项目开发中的应用分析

蔡宗慧

(秦皇岛职业技术学院,河北 秦皇岛 066100)

极限编程在软件项目开发中的应用已经十分普遍,并随着信息技术的不断发展而深入到了社会的各个行业之中。如何通过极限编程来提高软件的开发效率,使软件更加贴合用户需求,是当前值得研发人员思考的问题。本文主要分析了极限编程的概念和原则,并对软件开发中极限编程的过程和实践进行探讨,以期为软件开发行业的壮大提供一些有益的经验。

敏捷开发;极限编程;软件项目开发

1 引言

随着信息技术的不断发展,软件产品的更新换代十分迅速,因此需要严格控制产品的开发周期,以提高自身的竞争力。其次,软件还要具备快速响应和多种逻辑运算的功能,以适应不断变化的系统环境。敏捷开发就是目前最为流行的一种软件开发方法,它不仅能够快速响应用户的需求,还十分重视开发过程中人与人之间的交流,提高了软件开发效率。敏捷开发的过程是渐进的、迭代的。目前比较常见的敏捷开发有SCRUM、动态系统开发、水晶系列开发等,其中使用最为广泛的方法就是极限编程。

2 极限编程简介

极限编程的概念由美国人Kent Beck于1996年提出的,Kent Beck自九十年代初期就一直致力于探索一种新的便捷有效的软件开发方法,在经过多年的观察研究之后,终于在软件开发项目中引入了一个新的概念:极限编程(Extreme Programming),简称为XP,其中Extreme是指充分利用好的开发方法并运用到实践当中。XP作为敏捷开发的主要代表,使用起来简便灵活,具有开发效率高、风险相对低的特点,而且XP注重编程实践,适合要求严格、环境复杂的开发项目。它所提倡的软件开发理论,与以往的理论都不相同,并没有针对软件开发的细节制定繁琐规则,而是利用实践活动来约束软件开发的过程。软件项目开发的团队,可以直接使用极限编程进行工作,也可以根据自身需求进行一定的变动和改良,使软件开发工作进展更加顺利有序。

3 原则

极限编程的软件开发原则主要体现在注重实践方面,具体内容如下:

3.1 递增改变

在进行开发之前,要对软件整体结构和未来的发展制定出一个详细的计划,并在设计过程中逐步改进完善软件的各个功能,通过量变累积实现质变,使软件的开发水平呈递增的趋势,从而更好地解决软件中的问题。

3.2 快速反馈

在当前的软件应用市场中,快速反馈是用户的主要需求之一。因此开发人员要着力缩短软件开发的迭代周期,使系统能够在接收到用户指令之后及时进行反馈;这也有利于开发人员迅速检查工作质量,确认是否满足客户需求。

3.3 预留升级

在开发初期,开发人员无法预知未来市场和用户对于软件的要求,因此只能尽力做好系统中的基础功能。同时为软件的升级调整做好充分准备,在用户需要的时候对软件进行必要的更改,以更好地适应使用环境。

3.4 质量保证

无论什么时候,软件产品的质量都不容下降。在市场竞争激烈的环境下,好的质量就是产品的实力体现。一旦因为过于注重实践环节,盲目压缩迭代周期而影响了产品的质量,其结果只能是失去用户的信赖。

4 极限编程的开发过程

4.1 探索阶段

探索阶段的主要内容是通过与客户交流,获取最准确的用户要求,使得初始的开发框架能够最大限度地满足用户。常见的交流方式是运用图示,用例图将软件简洁明了地展示给用户观察。在例图中用户的角色按照其特点进行了划分,并详细规定了每种角色所拥有的功能和权限。为了使用户更好地理解正在开发的软件过程,同时使每个开发人员对自己所负责的工作和自己在全局中的作用有所了解,需要建立一个数字模型,用更加立体化的方式来表现软件开发过程。

4.2 小型发布

在建立数字模型之后,结合用户的意见进行改进,确定软件开发的技术架构,并快速确定小型发布的范围。小型发布的作用是让客户对软件进行初步的审核,在通过之后由客户代表确定系统的核心内容。同时制定出第二次发布内容,即回收不良资产及后续处置的计划。经过开发人员的计算,得出下一次发布的时间。下一次发布的内容主要还是针对不良资产信息维护与不良资产的处置需求,并适当增加关于数据查询和系统维护的内容。结合实践情况来看,小型发布的运作形式能够使系统开发时间与投产时间的差距缩小,用户的意见能够及时反馈给开发人员,并迅速在新的发布中得到解决。

4.3 迭代开发

系统每一个版本都会被分解为若干个迭代,其时长为一周,这样做的目的是为了尽快收到用户的反馈意见,并及时解决。迭代的长度是开发人员与用户在探索阶段就制定好的,在以后的开发过程中,迭代长度都将保持不变。用户通常只需要为系统角色和功能选择优先级,然后由开发人员将用户的选择分解为小型任务,每个任务执行的时间为两天左右;在达到迭代时长之后,这些任务会根据其内容及特点进行合并,然后进入到下一个迭代周期。

4.4 测试验收

在对系统进行不断地测试的同时,接收用户的反馈,并继续小型发布。在这个阶段中,开发人员和用户之间的交流仍然对软件的开发起着重要作用,既有效减少了小型发布的次数,也提高了软件开发的质量。开发人员之间也要进行沟通,互相探讨如何实现用户的角色和功能,在每一次迭代开发中逐步实现它们,使软件始终处在不断增速的开发过程之中,反复更改持续集成,最终完成整个软件的全部开发,然后进行提交。

5 极限编程的实践分析

假设某企业需要通过极限编程开发一个软件项目,其过程如下:

5.1 制定模型深度沟通

首先是制定初步的数字模型,将模型交给用户查看,在讲解的过程中不断听取用户的意见,将其收集整理为一个需求分析,内容包括主系统管理、分公司系统管理、业务统计查询、权限设置管理、网络办公模块、客户意见处理平台等。这些内容都需要开发人员与用户进行深度沟通,不断调整开发框架以适应用户的需求,并在开发初期决定迭代周期的长度与侧重内容。通常企业会选择在第一个迭代周期中重点开发业务统计查询和权限设置管理两个部分。在迭代周期内,开发人员制定出详细的流程图和文字计划,然后交于用户进行审核;在得到用户确认及新添加的信息之后,再次进行迭代开发。从第二个迭代周期开始,每一个软件的版本都可以实际运行,让用户在实践使用的过程中不断提出改良意见,以方便开发人员进行修改。

5.2 简洁设计保证实用

通常初次版本的界面十分简洁,开发人员重点放在实现软件各功能上,只提交出软件的基本框架和核心功能。在初次版本得到用户的肯定之后,再由美工人员根据客户需求进行细节改良。这个过程基本上会持续若干个迭代周期,当最终软件版本完成之后,其功能和界面都已经符合了用户的要求;在保证软件质量的基础上,最大限度地提高了软件界面的观赏性。

5.3 优化编程重视方法

编程在软件开发中是最重要的一个环节,开发人员要在编程之前制定好开发标准,以保证程序代码的优化。可以采用Spring+Struts+Hibernate的J2EE轻量级开发框架,它具有SSH结构清晰、集成多种底层操作、开发速度快的优点。服务器和数据库尽量选择J2EE开发框架,以便为开发过程中系统部署提供便利。制定严格的代码书写规范,如类名、变量名、注释等;利用版本控制系统共享和管理代码,控制代码修改,使代码保持完整性和一致性,这样既提高了代码的可读性,又加强了开发人员之间的可协调性。

在开发过程中有一个很重要的方法就是结对编程,它是由两个开发人员在同一台电脑上共同编写一组用于解决某一个问题的代码。其中一个人负责写代码,而另一个就负责检查代码。这种方法使得每组代码都有两个人来进行确认,提高代码的正确性;每遇到重要决策的时候,可以由两个人共同研究决定;在编写和检查代码时候,两个人还可以进行良好的沟通,为后期代码的修改奠定基础。可见重视方法能够有效提高软件开发的质量。

5.4 持续进行集成测试

结对编程的代码每天都要被上传到数据库中进行集成

测试,且测试包含了交换模式和持续模式,目的是为了在最逼真的实践环境中及时发现软件问题并改正,从而保证软件开发的质量。每次当代码完成数据库的集成测试之后,可以由用户进行实践使用测试,以便及时提出更改意见。开发人员之间不断进行沟通,提高了相互协作的效率,使软件在按时完成的基础上,更加符合用户需求。这样开发人员的工作压力相对减轻,软件的开发质量也有所提高。

6 总结

极限编程作为一种轻量级软件开发方法,其灵活性是与传统软件开发方法的最大区别;它能够更加清晰地体现出开发人员的意图和用户的需求,并根据实际情况进行最恰当的修改。目前国内软件开发行业不容乐观,很多项目都是时间紧、要求高、问题多,为了能够在开发过程中最大限度地满足用户要求的软件,使用极限编程是一项值得信赖的选择。

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

[2]蔡娟娟.极限编程及其应用[J].科技视界,2013(35):64.

[3]蔡志锋.高校计算机网络信息安全及防护策略研究[J].电脑与电信,2015(10):23-25.

TheApplication of Extreme Programming in Software Project Development

Cai Zonghui
(Qinhuangdao Vocational and Technical College,Qinhuangdao 066100,Hebei)

With information technology developing into various industries,the application of extreme programming becomes popular in software project development.Therefore,it is necessary for researchers to think about how to improve the efficiency of software development by extreme programming and make the software more relevant to users’requirements.This article mainly analyzes the concept and principle of extreme programming and it also discusses on the extreme programming process in the software development,hoping to provide some useful experience for the development of software industry.

agile development;extreme programming;software development

TP311.53

A

1008-6609(2016)07-0084-03

蔡宗慧,女,河北秦皇岛人,硕士,讲师,研究方向:计算机技术。

猜你喜欢
开发人员代码编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
Semtech发布LoRa Basics 以加速物联网应用
创世代码
创世代码
创世代码
创世代码
后悔了?教你隐藏开发人员选项