首页 用Rational Rose和UML开发J2EE应用

用Rational Rose和UML开发J2EE应用

举报
开通vip

用Rational Rose和UML开发J2EE应用 用 Rational Rose 和 UML 开发 J2EE 应用 OSS 计算技术 (C) 2011 [http://www.ossez.com] 前言 成功地运用 J2EE 构建企业应用的关键和所有复杂的软件平台是一样的:有效的需求沟通、制定正确的 分析和设计决定,并且识别最佳的实现选择。 追求最佳可视化模型的公司可以更快地开发它们的软件,并且建立更高质量的系统。Unified Modeling Language (UML)就是可视模型化的软件工业标准。 在这里,我们将向你...

用Rational Rose和UML开发J2EE应用
用 Rational Rose 和 UML 开发 J2EE 应用 OSS 计算技术 (C) 2011 [http://www.ossez.com] 前言 成功地运用 J2EE 构建企业应用的关键和所有复杂的软件平台是一样的:有效的需求沟通、制定正确的 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 和设计决定,并且识别最佳的实现选择。 追求最佳可视化模型的公司可以更快地开发它们的软件,并且建立更高质量的系统。Unified Modeling Language (UML)就是可视模型化的软件工业 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 。 在这里,我们将向你介绍如何运用 UML 和 Rational Rose 2001a,它是现今最流行的基于 UML 的软件模 型化和开发工具,可用于开发基于 J2EE 的企业应用。 什么是 UML? Unified Modeling Language (UML),是始于 1997 年一个 OMG 标准,它是一个支持模型化和软件 系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造 和配置。 使用 UML 作可视化模型主要是为了了解系统的重要细节,以便项目的需求可以清晰地表达、开发出 解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 体系、并且一个选择的实现可以清晰地标识和构造。为达到这个目的,需要丰富的符号来表达模 型化的软件系统。UML 不但为基本的构造块提供了符号表示,它还提供了 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 来表达基本构造块之间的复 杂关系。这些关系都以 UML 框图的形式表示出来。 以下就让我们来看一下 UML 和 Rational Rose 是如何有助于理解、设计和实现 J2EE 应用的。 理解需求 项目失败的原因通常是由于需求没有很好地理解或者进行沟通。我们也可以很容易地理解,无论是口 头或者书面的语言,都是不严密的。 你可以应用 UML 用例模型来开发一个精确的模型来表示系统的需求,然后以这些用例为基础来推动 系统开发的其它方面。用例的作用就好象是项链上的一条线,它将所有的珍珠绑定在一起。用例在最终的 用户和系统需求之间建立起一座桥。它们可用来在功能需求和系统实现本身之间进行回溯。用例也可以作 为一个连接点,连接到一个详细的说明需求细节的用例文档。 图 1 展示了一个在线 CD 商店的部分用例框图,它们是从文本和口头的功能需求中提取出来,然后转 为用例。在这个例子中,很明显购买者(由几条线条组成的人物,表示为 UML 中的角色)可以通过 4 种 方式来使用系统(在 UML 中以椭圆表示一个用例)。 ***********图 1******** 一个简单的用例图 每个用例则通过顺序框图中的一个或者多个场景来精确描述。当然,在需求捕捉和分析的早期阶段,顺序 图是相对简单,而且也可能是不完整的。顺序图的这样一个例子如图 2 所示。在 Rational Rose 中,要为 某个用例创建顺序图,你可以在浏览器中选择它,然后从用例的菜单中选择 New>Sequence Diagram。 ***********图 2************ 一个解释付费用例的顺序图 设计一个方案 随后的阶段是用例分析,对于内部元素是如何交互来满足系统的功能需求,以及它们是如何相关,这 个阶段提供了一个初始的、高级别的定义。这个分析需要进行反复的试验,直到产生满意的解决方案。 “Analysis classes(分析类)”的行为通常是通过自然的语言描述的,比较抽象,在这个分析阶段中,它 是一个有用的工具。分析类通常都不在软件中实现,虽然我们可以做到这一点,实际上,在总体设计过程 中,分析类才会转换为精确定义的设计类和子系统。 我们首先要精心地制造顺序图,以便它们可以揭露出系统的内部运作,我们并不是通过展示角色和一个系 统的交互来分析系统,而是将系统分解成独立的分析对象。系统的职责被分解到分析级别的对象中,以便 可以得到一个更好的顺序图。在这里我们要介绍三种分析对象: .边界对象 边界对象代表系统的内部工作和它所处环境之间的交互。它包括有一个用户通过图形界面的交互,与 其它角色的交互(例如代表其它系统的角色),和设备的交互等。边界对象将系统的其它部分和外部的相 关事物隔离和保护起来。简单地说,每一个角色-用例交互对映射到一个边界对象。 . 实体对象 实体对象代表系统的重要信息。在一个很长的时间内,它们都是持久和存在的。它们的主要目的是表 达和管理系统中的信息。在模型中,系统中的关键概念以实体对象来表现。 . 控制对象 控制对象是用来模型化系统中的行为的。控制对象并不需要实现这个行为,它可能是与其它对象协作 以实现用例的行为。它的想法是为了将行为和模型下层的信息隔离开来,这样在处理以后的改变时就比较 容易。 UML 提供了 stereotype 符号,它表示为放在一个双角括号中的文本,以便和不同类型的类区别开来。 在 Rational Rose 中,你可以很容易地创建分析类,只需将类的 stereotype 字段分别修改为<>, <>和<> 就可以了。这些都可以作为创建分析级框图的基础。 付款用例顺序图的一个更新版本如图 3 所示,这里系统被分解为分析对象。在这个图中,使用图标来 代表边界、控制和实体对象(分别以一个 T、带箭头的圆圈和一个带切线的圆表示)。 当然,类通常都参与到几个用例中,因此为确保系统的一致性,理解它们的静态关系也是同样重要的。 对于捕捉不同结构元素的静态模型,UML 类图是很有用的。 首先,我们标识和放置用例中所有的类到一个类框图中。我们已经将用例的行为分布到对象中,所以 要分析每个类的操作就变得相对简单了。要注意的是,这些是分析的操作,这意味着随着我们不断地进行 分析和设计,这些操作将会不断地需要细化。 Rational Rose 可让你很简单地在顺序图中的分析类上定义新的操作,你只要选择现有的信息,并且在菜 单上选择 就可以了(如图 3 所示)。如果你已经定义了一个类的操作,你可以简单地由列表上选择现有的 操作。 ****图 3:带有分析对象的精确顺序图**** 这是 Rational Rose 中的一个典型方法,它可以提高用户的生产力,并且确保整个模型的一致性和质 量,另一个类似的有用特性包括有查询模型哪个类和消息是没有解释的(例如在模型中没有映射到真正的 类或者操作)。 还有一个方面是需要标识每个类的属性。属性代表的信息,可能是其它类需要的,也可能是类自身为履行 自己的职责需要的。在这个分析阶段,应将属性标识为普通的类型,例如数字、字符串等。 要完成用例的类图,你还需要标识类间的关系。在这个阶段中我们特别感兴趣的关系是关联、依赖和 继承。 在分析完所有的用例和为每个用例创建类框图后,我们就需要接合各种不同的分析类来得到一个统一 的分析模型。这是一个重要的活动,因为我们需要得到一个最小集合的类,并且为了避免在最后的分析模 型中出现不必要的冗余。 这个阶段的主要任务是标识在用例间重复出现的类或者只有很小改变的类。例如,对于跨用例间拥有 类似行为或者表示同样概念的控制类,我们应该将它们合并。拥有同样属性的实体类也应该被合并,它们 的行为也合并为一个类。 图 4 展示了一个初步分析级的类框图(这是根据图 1 的用例得到的)。由于我们现今只是关系类间的 关系,所以我们使用 Rational Rose 的显示过滤能力来过滤掉每个类的细节(通过不勾选 Format>Show all attributes 和 Format>Show all operations 就可以了)。 **********图 4************ 初步分析级的类框图 现软件 计期间,你必须考虑 所采用的技术带来的额外限制和需求,并且尝试映射解决方案到最优化的实现。 an (EJB) Session Beans。这个方法可以将 J2EE 层的实现模型和 Sun 的"Model 2"参考体系对应起来。 se 提供了一个简化的接口来开发 servlets 和 EJB Session Beans。图 5 显示了创建一个 servlet 对话框。 实 虽然分析模型可以帮助你解决问题提供了一个基础,不过离实现还是很远。在设 到 在我们的例子中,假设我们正在建立一个基于 Web 的应用。实现这样一个应用需要一个深思熟虑的 方法。分析模型的作用是作为一个出发点,用来决定将不同的 J2EE 技术映射到方案。例如,<<control >> 类可很好地映射到 Java Servlets 或者 Enterprise JavaBe Rational Ro 的 * ***图 5 Servlet 定义窗口***** 虽然 EJB 包含有多个接口和类,Rational Rose 还是提供了创建 EJB 的便利接口 如 。创建 EJB 的对话框 图 6 所示。在这里,对话框显示了需要创建一个无状态 Session Bean 的设置。 ****图 6**** 创 得到的 Session EJB 如图 7 所示。这是基于为 EJB 开发的 UML 模型,它是以 Sun Java Community Process 在 JSR-26 开发的。它显示了构成 EJB 的各种元素之间的关系,特别是 home 和 remote 接口和 EJB 实现类。由于 EJB 并不真正实现 home 和 remote 接口(它们是通过配置工具自动产生的对 因此关系并不是实现 home 和 remote 接口而是分别产生<<EJBRealizeHome>>和<< E 建一个无状态 Session Bean 象实现的), JBRealizeRemote>>。home 和 remote 接口的依赖关系表明 home 接口实例化 remote 接口。 ************图 7********** 一 <<boundary>>类粗略地映射到 JSP、HTML 和 form,如果你正在开发一个传统的基于客户的应 用,它映射到一个客户应用的对话框。我们使用 JSP 作为呈现实体和系统交互的的一个手段。JSP 实际上 由两个方面,也就是客户端的表现和服务器端的行为,所以它的模型 页 个无状态 Session Bean 包含有一个客户端页面和服务器端的 面,它们之间的关系是<<build>> 。一个例子如图 8 所示。 ***********图 8*********** JSP 作为服务器端和客户端页面 创建一个 JSP 比 EJB 还简单,你只需要在 browser 的菜单中选择 Web Modeler>New>Server Page 就可以了,如图 9 所示。 *************图 9*********** 在 Rational Rose 中创建一个 JavaServer Page 诸如 Catalog, Order 和 Customer 的<<entity>> 类可映射为 Entity Bean。它们的创建如上面图 6 所示。 J2EE 应用中常利用的一个技术是使用 JavaBean 在 servlets 和 JSPs 之间传送信息。在 Rational Rose 中要做到这一点是很简单的,通过在一个 Java 类上创建 attributes,并且通过如图 10 中的 attribute 规 范对话框来将 attribute 设置为属性。 *************图 10*********** 将一个 attribute 设置为属性 在整体实现模型中,创建 JSPs, servlets, JavaBeans 和 EJBs 是非常有用的。Rational Rose 可让你很 容易地模型化关系和告诉工程师其中的基本细节,不仅包括 JSPs, servlets, EJBs 和 JavaBeans,还包括实 现中涉及到的 HTML 页面和 Form。这些可以送给表现层开发者作进一步的处理,同时可与你的应用逻辑 保持兼容性。 图 11 是某个类框图的一部分,它显示了实现在线 CD 商店中涉及到的不同技术。该框图展示了各个类 以及它们如何与表现、商业逻辑和数据层排列在一起。这样,客户端的页面在左边,控制的 servlet 在中间, Entity Beans 在右边。 *************图 11************** 在线 CD 商店的部分实现模型 该框图只显示了付费和浏览 CD 细节用例中需要用到一些类。我们可以通过一个简单的付费情景来尝 试“阅读”该框图。假定你已经浏览完毕,并且选择了一些准备购买的 CD,你在主页(左边的顶部)上 选择“checkout”的选项。这样将会调用经由相关 stereotyped <<link>>显示的 MainSerlet 控制器。 MainServlet 由 Order EJB 中得到订单的细节,构造一个 Order JavaBean,并且将它设置为 session 的 一个属性,并且将请求向前送,如<<forward>>标识的一样,直到一个 Checkout JSP。Checkout JSP 使用 Order JavaBean,如 JSP 和 Order JavaBean 之间所示的<<Use Bean>>关系一样,它会构造 Checkout_Client 页面并且呈现给用户。 很明显,我们忽视了其中的一些细节。例如,在实际的项目中,你可能将使用购物车来跟踪项目;控 制的 责任 安全质量包保责任状安全管理目标责任状8安全事故责任追究制幼儿园安全责任状占有损害赔偿请求权 或许会更分散,而不只是用唯一一个 MainServlet 等。这里的主要观点是告诉你,对于设计和开 发复杂的 J2EE 应用,UML 是一个强大的工具,通过上面的例子,你将会认识到这一点。 实现工作 Rational Rose 可让你直接从框图中产生, JavaBean, HTML, Servlet 和 EJB 代码。例如,两个 JSP 间 的<<include>>关系将会在导致在相应的 JSP 中产生<%@ include file="header.jsp" %> 。同样, <<Use Bean>>将会在 JSP 中产生<jsp:useBean id="cd" class="com.rational.cdshop.util.CD" scope="session">,这样就可使用 CD JavaBean。 在 EJB 方面,除了可为 EJB2.0 中的全部三种 EJB 产生代码外(以及符合 EJB1.1 的 EJB),Rational Rose 还提供了一些特性以简化 EJB 的开发。例如,在开发 EJB 时,其中一个较麻烦的是需要在接口和实现类中 写方法的代码。Rational Rose 提供了一个菜单的选项,你只需要按一下按钮就解决了。它还提供了一个 "check and repair"菜单选项,可以验证定义的 EJB 的合法性(例如,remote 接口中的 remote 方法和 EJB 实现类中的是对应的),如果不是,可以为你修复它们。 Rational Rose 中另一个和 EJB 相关的特性是 Rational Quality Architect (RQA),可用作设计测试 EJB。例如,可以使用 RQA 为 EJB 作单元测试。还可以使用在 Rose 中定义的顺序图来作多个 EJB 的测试。 当依赖某个软件组件,但是它还未设计好,那么可以使用 RQA 来产生框架。 为了确保可以用自己的条件来实现,而无需担心 UML 模型的改变,反之亦然,Rational Rose 提供了 一个内置的代码编辑器,用户可以设置同步的选项。例如,你可以选择一直保持同步。在这种情况下,每 当你更新源代码并且保存时,Rose 中的 UML 模型就会自动被更新。有些时候,你可以只是想看一下它们 是如何处理的,并不想影响你的模型。在这种情况下,你可以在全局或者基于每个类的设置将同步关掉。 当然,当谈到实现和编码时,你将需要一个好的 IDE,例如 Sun's Forte for Java 或者 Borland JBuilder。 Rational Rose 2001a 提供的主流 IDE 的深度集成和自动同步,所以可以在享受 Rational Rose 在 UML 模型和开发 J2EE 应用好处的同时,继续使用自己最喜爱的 IDE。 关于 UML 和 J2EE 的更多方面 我们只是很简略地谈了一下使用 UML 作模型及开发 J2EE 应用。例如,通过 session 中涉及到的各种 实体,你可以使用 UML 活动图来模型化 session 管理。 另一个挑战是传达 session EJB 需要的正确操作调用顺序。一个顺序图可以标识某个情景,但是你需 要大量的顺序图来表示组件支持的各种情景(有些人尝试使用带有控制和分支语句的顺序图,但是这样只 会得到一个复杂和费解的顺序图)。另一方面,UML 状态图提供了一个强大的功能,可以模型化和传达这 些信息。通过状态图,你可以查看顺序图的每个情景,这样你就可以验证每个顺序图,并且看组件是否支 持你需要用的操作。 总结 通过使用 UML,你可以理解需求,作正确的分析和设计,并且在一个经过验证的规则上开发一个方案 和作最佳的实现,从而可以明显的提升开发可扩展、易维护和可长时间使用的软件的机会。 Rational Rose 是仅有的可以支持全程建模及 J2EE 应用设计的 UML 模型工具。
本文档为【用Rational Rose和UML开发J2EE应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_996944
暂无简介~
格式:pdf
大小:363KB
软件:PDF阅读器
页数:9
分类:互联网
上传时间:2011-05-05
浏览量:11