Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469116
  • 博文数量: 83
  • 博客积分: 92
  • 博客等级: 民兵
  • 技术积分: 690
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 13:33
文章分类

全部博文(83)

文章存档

2014年(3)

2013年(59)

2012年(16)

2011年(5)

我的朋友

分类: Java

2013-09-18 17:08:20

原文地址: 敏捷J2EE(1) 作者:jieforest

敏捷J2EE(1)


敏捷开发方法、敏捷J2EE框架、敏捷开发实践
一、影响J2EE项目成败的四大因素,即人、方法、架构和实践。
(1)人
软件项目开发的主体,构建一个人员结构合理的团队,时项目成功的基础。
(2)方法
方法是指导人进行软件开发的一套规则。包括过程、规则、实践和技术。好的开发方法能够更有效的指导项目实践。
(3)架构
需要根据特定的环境来分析和判断。架构是一门平衡的艺术,平衡好系统实际的需求,才能够设计出优秀的架构。
(4)实践
软件开发过程中的行为习惯和常用手法,如持续集成、测试驱动开发等。
二、敏捷开发方法
1、敏捷开发方法有很多,包括极限编程(eXtreme programming)、SCRUM、动态系统开发方法(dynamic system development method)、Crystal等。
这些方法着眼于快速交付高质量可工作软件,并做到客户满意。
敏捷开发方法的核心价值观是:简单、交流、反馈和勇气。
2、敏捷宣言
1)个体和交互胜过过程和工具;
2)可以工作的软件胜过面面俱到的文档;
3)客户合作胜过合同谈判;
4)响应变化胜过遵循计划。
3、极限编程
极限编程是一种轻量级的软件工程方法学,它力图通过简单而有效的方法来改变软件开发周期冗长的状态。
1)极限编程的生命周期:(6部分)
探索、计划、迭代、产品化、维护和发布。
(1)探索阶段,客户描述出他们的需求。需求卡片,概念性验证,几周或几月。
(2)计划。计划第一次迭代需要完成的内容。需求模块的估计
(3)迭代。项目被划分为若干个开发周期,每个迭代周期的实践大致在1~4个工作周。
(4)产品化阶段,通常在产品的当前版本正式发布到用户前几周,此阶段需要进行相关的集成测试和检查,可能还会发现一些新的问题和需求。
(5)维护。在产品发布给用户之后,根据需求还需要继续进行产品的跟踪或新的开发,此时为开发的维护阶段。
(6)发布。发布阶段是版本的最后发布期,此时用户已经再也没有新的功能需求增加到系统中。
2)角色与职责
XP的开发过程中通常包含以下角色:
(1)开发人员:负责源代码和测试代码的编写;
(2)客户:编写需求和功能性测试,并决定需求是否满足要求;
注意:极限编程里的客户角色并不是指通常的最终用户,客户角色可能是由需求开发人员来担当。
(3)测试人员:协助客户来编写功能测试,并执行功能测试;还需维护测试工具,与他人交流测试结果;
(4)跟踪人员:负责开发过程的反馈,从开发团队中收集项目相关的信息,并及时把项目的信息反馈给相关人员;
(5)教练:是对极限编程有深入理解和实践的角色,负责指导项目人员的开发过程实践;
(6)顾问:是外部成员,通常负责帮助解决在开发过程中遇到的技术难题;
(7)项目经理:负责与团队的所有成员保持良好的沟通,并根据项目当前的状况做出合适的决定。
3)实践
XP编程是源于现有开发方法的最佳实践的集合,极限编程的优势就在于能够在需求频繁变更的情况下,通过有效的实践方法来使项目获得成功。
包含13个最佳实践,如:小版本发布;测试驱动开发;持续集成等。
(1)完整团队:XP项目的所有参与者(开发人员、测试人员、客户等)都在同一个开放的工作空间工作。团队的成员能够及时的进行项目的交流和合作。
(2)计划游戏:开发人员估计实现客户需求所需的成本,然后客户决定实现的范围和发布的时间。
(3)客户测试:选择已完成的一部分,通过一定的测试方法来测试该特性是否能正常工作。
(4)小版本发布:在项目开发过程中选择合适的周期进行发布,让客户尽早得到可运行的版本。
(5)集体所有:任何开发人员都可以在任何时候改进任何代码。
(6)编码标准:在系统中使用统一的编码规范。
(7)持续集成:每隔一定时间就对系统的代码进行集成,持续的集成有助于尽早发行系统中存在的问题。
(8)隐喻:将整个系统联系在一起的全局视图。
(9)可接收的步调:保持团队合适的开发速度。
(10)测试驱动开发:根据需求编写单元测试,然后编写实现来保证单元测试的通过。
(11)结对编程:所有的产品软件都是由两个程序员并排坐在一起,在同一台机器上共同完成。
(12)简单设计:用尽可能简单的方法来实现当前的需求。
(13)重构:在不改变系统功能的情况下,对系统的结构进行调整改进,使系统更整洁和易于扩展。

阅读(1158) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~