摘要
Java 2企业版本(The Java 2 Enterprise Edition,J2EE)平台由4个主要的部分组成:规范,参考实现,兼容性测试包和BluePrints程序。BluePrints描述了一个分布式组件体系的最佳练习和设计指导方针。这篇文章介绍了一个由八个步骤组成的J2EE开发方法论,该方法是基于Rational Unified Process和BluePrints应用例子的。通过这篇文章,你将可以更好地理解J2EE体系的许多重要主题,并且可以应用这些知识来扩展和修改这个简单的方法论,从而解决各种特定的商业问题。
在商业领域,我们使用Java 2企业版本(J2EE)来解决商业问题,开发商业的软件,或者为其它的商业项目提供联系的服务。如果一个公司要使用多层的体系来建立一个电子商务的网站,在其整个开发周期中,通常都需要经理、体系构建人员、设计人员、编程人员、测试人员和数据库专家参与进来。
为了让不同的部分可以有效地工作,我们通常都需要一个软件开发流程。一个经典的开发流程包括有瀑布模型、快速应用开发(RAD)和最终编程。在这篇文章中,我们将集中介绍一个流行的软件设计流程--Rational Unified Process(RUP)。RUP提供了一个专门的方法来为不同的角色分配任务。它的目标是在一个可预计进度和预算内,确保我们生产出高质量的软件以符合用户的需要。
我使用RUP作J2EE开发有三个方面的原因。首先,RUP是以体系为中心的;在提交资源作全方位的开发之前,它首先开发出一个可执行的体系原型。第二,RUP是迭代的而且是基于组件的。该体系的基本通常是包含有一个架构,它可以方便地通过迭代地增加组件,从而在不影响系统其它部分的基础上,自定义和扩展一个系统的功能。第三。RUP使用一个工业标准的语言--UML,可以将系统的体系和组件以可视化的模型展示。RUP有4个不同的开发阶段:初始(inception), 细化(elaboration), 构建(construction)和转换(transition)。这篇文章将从一个技术的观点来介绍J2EE开发的8个基本步骤,它是维持以体系为中心的。
1、需求分析
需求分析用来描述系统应该和不应该做什么,从而开发者和用户可以创建一个初始化的商业联系。你可以用商业的概念、该领域的术语、框图或者其它方法将功能性的需求写成文档,而非功能性的需求,例如性能和事务,可以写在附加的需求文档中。你可以用文本或者HTML来创建高级别的UI模型,采取哪种方式,要看你在该项目中介入的深度。
图一展示了一个典型的电子商务系统。viewOrder图说明的是一个用户通过web登录至系统,查看订单的列表,并且可点击进去查看每张订单的细节。addLineItems说明的是用户浏览产品目录,选择感兴趣的产品,并且将它们加入到购买订单中。
******************图一************
II、面向对象的分析
分析产生问题域模型:类、对象和交互。你的分析应该脱离任何的技术或者实现的细节,而应该包含有一个理想的模型。对象分析可帮助你理解问题和获得问题领域方面的知识。你必须维护一个纯领域的模型,它不包含技术的细节,这是由于商业流程的改变要比信息技术慢得多。
上面的两步--需求分析和面向对象的分析并不是J2EE特有的,对于许多面向对象的方法论来说,都是很常见的。图2展示了一个高级别的对象分析模型,它是一个宠物店的例子应用。它说明了我们由需求分析use cases中确定的主要概念。我们将这些概念模型化到对象中,并且确定它们的关系。
****************图二*****************
需求和对象分析的结果是J2EE体系开发的一个入门点。要开发一个体系,你可选择一个垂直的部分--通常是一个关键的部分,例如是订单领域的对象模型--来作对象设计、实现、测试和开发。(一个垂直的部分,是一个RUP概念,是系统的一小部分。开始点是use case的一个子集,如图1所示,还有领域分析模型,如图三所示。一个垂直部分的实现就会产生一个全功能的迷你系统,包括所有层,例如用户界面层的JavaServer Pages(JSPs),中层的商业对象,例如是Enterprise JavaBeans (EJBs)和后台的数据库)。你可以将由原型中得到的经验应用到域对象中,并且将这些认识作为对象设计阶段的一个设计指导方针。
**************图三*****************