频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

基于Spring+Hibernate+Eclipse进行敏捷Java开发(1)

作者: 朱先忠编译 出处:51CTO.com  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-11-22 11:27
关 键 词:Java  Spring  Hibernate  Eclipse  敏捷
阅读提示:在本文中,作者提供了使用敏捷方法和普通Java对象(POJO)构建企业级Java应用程序的一个指南,涉及到大量的从概念到工程发布等多方面的基本内容。同时,还提供了一个基于Spring,Hibernate,Junit和Ant构建的完全可运行的示例时间表应用程序(并有相应的源代码)供您参考。

【51CTO.com独家特稿】一、简介

本文与其它典型的Java文章有所不同,这主要体现在两个方面。首先,我们没有深入讨论有关于一些API或优秀工具的细节,而是提供了使用敏捷方法和普通Java对象(POJO)构建企业级Java应用程序的一个指南。其次,本文中涉及到大量的从概念到工程发布等多方面的基本内容。因此,为了简洁起见,本文中仅提供了极少的代码摘录;然而,本文还提供了一个基于SpringHibernateJunitAnt构建的完全可运行的示例时间表应用程序(并有相应的源代码)供您参考。

现在,让我们言归正传。

二、敏捷宣言

2001年,17位软件专家(包括Martin FowlerKent BeckJon Kern)聚集到一起共同探讨有关软件开发的轻量级途径;最终,他们联合定义了术语敏捷并发出了敏捷软件开发宣言”—为这些敏捷方法提供了一组参考值和原则。

术语敏捷中融入了大范围的多种方法;其中一些包括极限编程(XP)Scrum,特征驱动开发,敏捷建模以及Crystal。而且,这其中的许多方法都倾向于至少包括过程和建模两个方面(因为它们经常联系在一起);接下来,我们将逐一展开讨论。而有关敏捷宣言和各种敏捷方法的更多细节,请访问agilemanifesto.orgagilealliance.org网站。

三、敏捷过程

一种最容易理解的敏捷过程就是Scrum。尽管XP在整个敏捷社区似乎更为引人注目,但是它较之于Scrum要更复杂些。不过,这两者却是高度互补的,因为XP提供一组优秀的工程实践,而Scrum则更多地强调产品/工程管理。事实上,最近,我更倾向于推荐首先基于Scrum进行敏捷开发,然后每次添加一项XP实践,这是因为完全基于XP进行开发对于许多组织来说还有些太冒然,并且要求他们对于许多工程的开发要作好充分的思想准备。

那么,Scrum是如何工作的呢?很简单。我们只需提供相应于产品订货(BACKLOG)中的一个应用程序的新特征或改变请求的一个列表即可。在我们的示例应用程序TimeExpression中,这些包括:

按小时工资制的雇员能够签入到一个Web应用程序并且输入对于某一周他们每天的工作小时数。
该雇员的经理必须同意这个时间表。
在同意/否定了一个时间表之后,把通知发送给该雇员并指示该时间表的更新状态。
等等……

之后,我们只要按照最高优先级特征,把它们移动到一个sprint订货表中,并且通过一个月(或更短时间内)的反复工作来实现它们(称为“sprint”),并且继续这种以月为周期的sprint直到实现所有的特征。每一个sprint(或迭代)都包含完整的软件生命周期也即:详细的要求/分析,设计,编码,单元/接受测试,以及成熟产品的发布。Scrum还建议,在每一个sprint的开始举行一次计划碰头会,而在该sprint的完成之时进行一次回顾来讨论已经取得的教训或在随后的sprint中要实现的特征。除此之外,我们还要举行每日一次的短暂碰头会(比如说,15分钟)来讨论工程的状态。图1描绘了这种Scrum过程。有关于Scrum的更多细节,请访问网站controlchaos.com

  

1Scrum敏捷过程简要描绘

敏捷过程的一个普通主题就是迭代性开发。例如,尽管XP的工作就象Scrum一样工作,但是它使用了基于每周一次的迭代的季度发行的概念(如图2所示)。还该特征are提供in该表单of用户故事,典型地是由客户使用一到三行语句来描述一下相应的特征。我在此对XP的解释可能过分简化;其实,关于XP还有其它大量内容,例如结对编程(pair programming),共同讨论(sit together)与持续构建(continuous build)等。有关于XP的更多细节请访问网站extremeprogramming.org

至此,我们已经简单分析了解了两种敏捷过程:ScrumXP。这些内容极有助于收集用户特征请求并有助于整个工程管理。然而,作为开发者,我们需要把这些特征实现到应用程序中。因此,接下来,让我们了解一下敏捷建模技术,这可能有助于我们建立用户需求和编码之间的桥接

 

2XP敏捷过程简要描绘

四、敏捷设计

根据来自thefreedictionary.com网站的定义,模型是一种初步的作品,最终的产品将基于之进行制作……也用于测试或完善一个最终的产品。因此,本文中我将使用模型一词来描述图表及其它人为绘制内容。

敏捷模型驱动开发

Scott Ambler创建的敏捷模型驱动开发(AMDD)为进行有效的建模提供了指南。不是创建广泛的模型,AMDD推荐创建足够好的模型。我最喜欢的Scott的一句话就是你的目标是构建一种共同的理解而不是编写一篇详细的文档。

AMDD建议使用两种类型的模型:需求(requirements)和架构(architecture)。需求模型有域模型(考图3)、用法模型(例如用户故事/用例,参考图4)以及UI模型(例如原型和流程图,分别参考图5和图6)等。

 

3:域模型

 

4:用法模型

 

5:原型形式的UI模型

 

6:流程图形式的UI模型

 

7:架构模型中的自由形式(freeform)的模型

架构模型中可以包括一种自由形式的模型,如图7所示。

有关于AMDD并没有太多的资料可循,因为它仅为敏捷建模提供了最小的指南。有关于敏捷建模的更多细节,请访问网站agilemodeling.com


共4页: 1 [2] [3] [4] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看52371次)
·UML类图详解 (查看46839次)
·Java编程开发手册 (查看25118次)
·UML统一建模语言 (查看24099次)
·C#技术开发指南 (查看22406次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (251个好)
·PB开发教程 (209个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有