作者:Ssplash IBM
XP(eXtreme Programming)由Kent Beck提出,是一种人性化的软件开发过程,属于轻型的软件开发过程,特点是提倡设计实现的简单性,开发人员之间的相互交流,开发结果的即时反馈以及开发人员的进取精神。根据这种思想,进行J2EE应用的开发在以下两个方面需要着重注意,一个是进行良好的设计,一个是进行有效的测试。
J2EE的开发与一般的程序开发有所不同,主要的EJB组件分布在不同节点上的J2EE应用服务器上,不同类型的组件对于资源的消耗不同,所以在应用的整个程序结构设计中,应该遵循一定的原则。这些设计已经转化为设计模式,在SUN的网站上已经对这些模式进行了整理。
这些模式按照层次的划分进行分类,分别对应于表示层,应用层,连接层。J2EE的经典范例,Java Pet Store对于这些模式的使用给出了具体的描述,但这种描述着重与设计结果,而对于设计的变化过程没有描述。而在开发一个项目中,这种设计的变化过程是一个值得进行讨论的话题。
从设计方面而言,用户需求的变化总是在不断进行的,为了跟踪用户的变化,应用的设计是一个迭代的过程,因此我们应该着眼于用户当前的需要,主要完成用户已经确认的功能,并且为设计的修改提供良好的接口。所以小组成员的分配按以下进行:
用户界面:分析人员,界面设计人员,美工,程序员
表示层/应用层:分析人员,程序员
连接层:程序员,老系统开发人员
这种分工是根据不同层次的不同需求进行划分的。而进行简要设计的原则就是摒弃一切当前不需要的功能,自然在工作刚开始的时候,将集中于表示层/应用层的开发。最初的结构大概类似以下:
根据需求的变化,加上设计模式的使用,经过多次迭代开发后,结构大概如下:
之后是美工以及界面设计人员的工作,对于已经存在的有效应用进行修饰,以形成一个有效的整体。
XP的开发结果及时反馈的要求在不断的开发迭代过程中尤显重要,设计模式的不断引入,必然会导致代码的不断重构,如何保证重构后代码的有效性呢?通过引入一个测试框架进行测试案例的格式统一以及管理,提高测试的自动化,将有效的保证开发的质量。
这个框架由以下部件组成:
Ant(Jakarta Project的一个子项目),Junit(XP提供的Java测试框架)。
Ant/Junit 的测试框架,能够很好的对普通的Java类进行测试,但是EJB运行于一个应用服务器中,脱离服务器的测试是一个不完全的测试,我们需要考虑一些方法以解决这个问题,下面列出了对于不同组件类型采取的不同测试方法:
GUI ANT+Junit对GUI代码进行测试
Java 类ANT+JUnit
Servlet Junit(现有的J2eeUnit开发版已经能够测试)
EJB 实现了Junit接口的Servlet+JUnit
这个测试框架除了能够进行测试工作,还可以通过对测试案例的变化情况跟踪项目的进展。譬如根据三类测试案例(用户已经确认并通过,用户已经确认但未通过,用户考虑但未确认的)的比例变化情况跟踪项目的进展情况等等。通过使用该框架,也就达到了XP中有效反馈的部分要求。
J2EE的开发在国内是一个比较新的方向,在开发过程中不可避免的遇到一些问题。以上描述了在开发过程中能够利用的一些新技术以及新的思想,希望对于以后的开发有一定的参考。
(出处:http://www.knowsky.com)