简介
同时使用Rational扩展开发环境(XDE)和IBM的WebSphere Studio,你可以拥有一个完整优秀的整合平台,用于构建电子商务应用程序。你可以做需求分析、面向对象的设计,并且建模你用来构建和测试代码的相同的信息模型。换句话说,一个工程所有的参与者现在可以"拿着同样的乐谱歌唱了"。在以前,当开发者进行开发过程任务的时候,重复的工具经常需要他们从一个工具向另一个工具导出信息。为了给你一个关于这些不同工具功能的直观熟悉,我将在本文中使用下面的方案。
有时候,一个新工程的设计师或者体系结构设计者从头开始设计工程,完全控制这个应用程序的每个方面。然而,通常他们必须处理先前存在的组件并且几乎总要处理先前存在的关系数据库。
在本方案中,假定你要实现一个网络金融应用程序,答应最终用户从他们的的帐目上付款。作为这个小型应用程序设计师和实现者,你还被要求使用一个现有的并且使用良好的数据库中的表。
在你的机构中,最近还有一个硬性规定,要求所有新开发项目必须遵循一个正式的"需求、分析和设计"过程。开发过程的这个阶段所选择的工具是Rational XDE,而IBM的WebSphere Studio application Developer是用于辅助开发和应用程序服务器测试。把这个系统分解成小的模块:
1. 获得描述你需要构建的应用程序的一些要求。
2. 创建一个使用案例模式图,显示这个系统内行动者和使用案例之间的关系。
3. 创建一个顺序图,显示在一个时间顺序中对象的交互(消息)。
4. 反向操纵一个关系数据库来创建一些企业javaBean (EJB)组件。
5. 创建一个类模式图并修改一个Java类。
6. 配置代码到WebSphere Application Server中,使用WebSphere Studio提供的单元测试器测试。
收集需求
第一步一般情况下是收集需求,通常通过走访这个计划构建的应用程序的潜在的最终用户。需求还可以来自手工方式或者使用某个现有的应用程序执行某些特定的任务的人。对于我们的网络ATM案例,我们收集的需求是一个客户从账户上付款给收款人。把这个需求生成文档,如下:
需求A:"最终用户需要输入他们的ID号,和一个口令,来验证这些帐户是他们自己的。一旦核准后,顾客可以选择"Make Payment(付款)"。用户然后将选择一个指定的帐目,输入支付的数额和收款人的id号(用户名)。"
在现实的情况中,在这个阶段获得尽可能多的细节是非常重要的,因为稍后在开发过程中,你将需要实现或者生成程序逻辑来执行这些任务。为了获得这个任务,你将需要启动XDE;XDE被设计作为WebSphere Studio或者其它整合Eclipse技术的产品的一个插件程序。你可以把需求输入XDE,并在工程和版本控件下保存这些文件,而不管你选择了什么源码治理程序系统。从这些需求中,你可以开始制定你的使用案例。使用案例是使用方案的描述。此时,你要知道你的用户是谁;他们是这个使用案例不可分割的部分。
接下来我将进入一个简要的使用案例,来描述使用网络金融应用程序付款这个使用方案。
创建一个工程和模型
在你可以输入一个使用案例之前,你需要建立一个XDE建模工程和一个模型。我假定你已经安装了XDE和WebSphere Studio Application Developer,并且已经启动了这个工具环境。确信你正在Modeling视窗中。要进入Modeling视窗,可从Perspective菜单,选择Open > Other。选择Modeling,并且点击OK。想要创建一个新的XDE模型工程,需要:
1. 在File菜单,选择New > PRoject。出现New Project(新建项目)对话框。
2. 在新建项目对话框左边的窗格中,选择Modeling。在右边的窗格,选择Basic Modeling Project。
3. 点击 Next.
4. 在Project name对话框中,输入一个新建项目的名称。在本方案中,称它WebBankModel。
5. 选中Use default location复选框。
6. 点击Finish。
现在你的工程被创建好了,你可以创建一个模型放入这个工程。一个工程可以有多个模型。为了创建一个新模式,请从Modeling视窗:
1.在File菜单,点击New > Model。
2.在File Type窗格中,选择Rational XDE,并选择blank model作为模板区域。
3.在File name对话框,输入新模型文件的名称。使用WebBankModel.。
4.在Destination文件夹中,选择你上面输入的工程名。
5.点击Finish。
这个模型在Model EXPlorer中出现;在模式图窗口,主使用案例模式图打开。你现在可以开始构建一个高级的使用案例模式图,来描述一个大致近似于你需要构建的应用程序的模型。待会你还可以补充一些细节,但是这就OK了。首先,你可能想添加一个行动者(actor)。在UML领域,一个行动者被定义为一个模型元素,描述当一个用户与被建模的系统之间相互作用时所扮演的角色。虽然这样,它还是不能完全的描述一个人。它还可以描述一个机构、系统或者与这个系统相互作用的机器。你的第一行动者将描述这个网络金融应用程序的用户。你现在可以使用下面的步骤把行动者添加到你的模型:
1.在Model Explorer.中选择你的模型
2.点击右键并选择Add UML > Actor.
3.命名你的行动者,比如WebBankCustomer.
4.重复步骤2和3添加另一个行动者,并命名它为Transaction System,来描述你将查询的外部数据库。
添加使用案例
接下来,你想添加一些使用案例。一个使用案例指定行动者与之交互的系统的行为,但是它不会显示实现那些行为的内部结构。因为此时你知道一些关于你需要的综合的高级信息,你可以添加一些使用案例。你应该添加一个案例,用来验证最终用户,另一个案例用来核对帐户余额,还有一个案例用来付款。为了把这些案例添加到你的模型,你需要:
1.在Model Explorer中选择你的模型
2.点击右键并选择Add UML > Use Case.
3.命名你的Use,比如AuthorizeUser.
4.重复步骤2和3来创建补充的使用案例,并命名它们为TransferFunds、AccountBalance和MakePayment。
构建一个使用案例模式图
你应该有了四个使用案例,来描述你的系统需要的一般功能。你现在可以构建你的一个使用案例模式图,来描述你的系统的一个基本的概况。一个使用模式图可以在一个模型中包含所有的使用案例和行动者,或者它们中的一些。在你有一个空白Use Case Diagram编辑器之前,你必须有一个空的窗口面板。你可以检查工具箱(默认情况下,在modeling视窗最左边的窗格中),看看是否有与使用案例有关的东西,比如行动者、使用案例和连接物。
绘制模式图很轻易;你刚才添加的所有的组件都被包含在你前面创建的模型中。只要简单地拖放你的两个行动者和四个使用案例到布局平面上即可。一般偏好把你的最终用户放在左边,事务处理系统放在右方。使用案例可以垂直地放在它们之间。
Associations(连接物)是描述行动者和使用案例之间信息交流的关系。因为你的最终用户有执行这些事件的需求,所以你应该添加连接物到你的使用案例模式图中。添加三个连接物,从WebBank最终用户行动者到这 三个使用案例,用于验证、划帐和检查余额。当这些完成后,模型应该类似于图1那样。
图1.行动者和使用案例模型
创建一个用于描述行为的顺序图
既然你已经开发了一个描述高级系统功能的使用实例模式图,你现在就可以把精力集中到你想添加到这个不是数据库固有的系统中去的特定行为。非凡是,因为你将从一个现有的数据库中反操纵一些要害的类,所以你可能需要添加不是基本数据模型的一部分的程序逻辑。你想创建一个顺序图来显示这些系统对象中的一些,以及它们之间的交互作用。一个顺序图就是一个UML模式图,提供在一个给定的方案中合作的对象之间按时间顺序通信的一个视图。在分析阶段,顺序图可用于确定什么对象和方法将需要被实现。为了添加一个用于MakePayment使用案例的顺序图,需要:
1.在Model Explorer中选择你的使用案例
2.点击右键并选择Add Diagram > Sequence:Role
3.命名你的模式图为MakePaymentDiagram。
现在你可以把一些组件添加到你的模型上。因为这个使用案例模式图是十分高级的,在ATMUser、MakePayment使用案例和Transaction system事务处理系统之间有一个连接物,指明主要用户在哪里以及帐户信息是从何处来。对于这个顺序图,你想细化出现在你需要用来构建你的系统的重要工件之间的消息通信。为了"连接"这些条目,你想要添加一些消息用来描述模式图中对象之间出现的一个通信。在XDE中,一个lifeline是一个用来描述在一段时间内一个对象的存在性的标记。为了添加一些lifeline和消息:
1.从Model Explorer中选择行动者WebBankCustomer,并把它拖到工作区上面,沿着左边垂直排列。
2.对TransactionSystem做同样的操作。
3.拖放一个Lifeline图标(从工具箱中)到另外两个lifeline之间。
4.重命名这个lifeline为WebPage。
5.在ATMUser和WebPage之间添加一条消息,并命名为Enter(acct,payee,amt)。
6.在WebPage和TransactionSystem之间添加另一个消息,并命名为MakePayment(acct,payee,amt)。
7.创建从TransactionSystem到WebPage以及从WebPage到WebBankCustomer的返回信息。
8.保存你的模式图( ctl - S)。
一个完整的顺序图如图2所示。
图2、顺序模式图
你可以在这个使用案例模式图中创建一个"注解",并把它连接到顺序图中,让你从某个特定的功能领域,在设计过程中深入的挖掘。为了创建一个注解,你需要:
1. 打开你的使用案例模式图WebBankModel,假如它还没有被打开的话。
2. 创建一个注解并把它连接到MakePayment使用案例。
3. 把表示顺序图的图标拖到那个连接使用案例的注解上。
4. 在使用案例模式图中的注解上双击,打开顺序图。
创建EJB工程
因为在这个方案中你要操作一个现有的数据库,我将跳到后面介绍你感爱好的表,并且使用Application Developer的工具为你构建一些最基本的类。这是十分通用的,因为许多应用程序是使用对已存在并将使用的数据库的最基本的理解来构建的。你将反操纵你的网络应用程序知道的一些Java类中的表定义,还要理解基本的关系表。
企业JavaBean ( EJB)组件是J2EE规范的一部分,让你把生命周期行为封装进实体中,来描述你的业务领域中的事物,比如一个顾客或者帐目。虽然这个规范有一点复杂,但是其思想是如读取并写入持久性存储这样的基本操作以一种标准方式被处理。这个工具能为你有效地构建EJB组件,而运行时间服务器(如WebSphere Application Server)能有效地治理它们的操作。
在构造你的EJB组件之前,你需要创建一个工程,把它们放进去。从任何视窗:
1.选择File > New > Project > J2EE,并选择Enterprise Application Project
2.命名这个工程为ATM并且接受EJB和网络工程的默认值。假如你愿意,你可以删除应用程序客户端工程,因为你不会用到那个文件夹。
此时你可以研究一下ATM工程中名为application.xml的XML文件,描述把所有组成一个J2EE企业应用程序的组件联合起来的线索。查看这个文件的一个好方法是从J2EE视窗的Navigator视图,文件在META-INF目录的ATM工程下。假如你双击这个文件名,XML编辑器让你使用不同的方式察看这个文件,比如一般的,来源或者其它的。这个工具为J2EE应用程序嵌入了智能XML配置文件。
打开Application Developer的一个数据视窗。假如一个数据视窗还没有打开,你可以从主菜单打开:
1.选择Perspective > Open > Other然后选择Data。现在你需要创建到你的ATM数据库的一个连接。
2.从DBExplorer视图,点击右键然后选择New Connection。你可以填充字段,如图3中所示。
图3创建一个到数据库的连接
当你全部填充完的时候点击Finish。你可以展开一些图标,查看一下你的表是否在那里。你的表应该在那,名为YourId.Account和YourId.Csutomer。接下来,你将把这些表导入创建J2EE工程时创建的EJB工程中。你要:
1.展开DBExplorer中的条目(在Data视窗),在ATM条目上点击右键,然后选择Import to Folder...。
2.在弹出菜单上点击Browse,选择你的名为ATMEJB的工程,然后点击Finish。在询问你创建元信息时回答yes。
3.假如你切换到J2EE视窗和J2EE视图你在Databases目录看到这个信息。
创建对象--关系的映射
有好几个理由要创建一个对象--关系的映射。一个关系模型和一个对象模型之间有内在差别,为了高效率的编程,需要解析并说明它们。另一个原因是给使用一个应用程序服务器的程序员一些Java类,这些Java类将存在于应用程序服务器中,用来持久化应用程序数据。在给应用程序更多的灵活性的同时,关系映射还能减轻数据库和服务器的操作负荷。
为了创建这个映射,可从这个J2EE视窗:
1.选中ATMEJB模块
2.点击右键,选择Generate > EJB to RDB Map
3.在弹出窗口中选择bottom - Up O/R Map
4.设置open mapping editor upon completion复选框,让你查看你创建了什么。
5.点击Finish。
当这些完成后,映射编辑器应该类似于图4那样。
图 4.创建一个关系映射
photoshop入门教程
Photoshop实例教程
Photoshop
cs教程
滤镜
鼠绘
Photoshop照片处理
Photoshop视频教程
Photoshop作品展示
特效
抠图
反操纵EJB工程
现在你可以利用这个工具的功能为你生成一个Java代码模型。假如我们正在建模一个大型的应用程序,它只有一小部分是由我们的EJB组件组成,那么我们能够很好的描述整个应用程序,包括我们自己生成的EJB代码,一般情况下被用做会话或者实体Bean。为了使操作更加轻易,你要打开一个带有建模视窗的J2EE视图。打开一个模型视窗,并且从这个菜单项选择Perspective > Show View > Other... > J2EE > J2EE View。
建模视窗下的J2EE视图应该打开,为了使代码编辑和查看更加轻易,需要对Basic视窗下的Outline视图做同样的操作。此时你可以把一个Java代码模型添加到你的ATMEJB工程中,使用下面的步骤:
1.选中ATMEJB模块
2.选择New > Other,打开一个向导
3. 选择Modeling,选择Model然后点击Next.
4. 在下一个屏幕页面中,选择File types下的Java;和模板下的Java Code Model,把这个模型命名为JavaCodeModel_ATM并且点击Finish,如图5中所示
图5添加一个Java代码模型
为了反操纵这个模型:
1.在Navigator视图中,在这个模型文件上点击右键,选择Reverse Engineer,在对话框中回答yes。
2.设置root为<WAS Install DIR>\workspace\ATMEJB\ejbModule,并且点击OK.
3.通过点击Add recursively添加*.java文件,点击OK。