XML是面向机器的数据格式,虽然手工编写困难,但处理效率高。当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴。有史以来第一次,这个世界拥有了一种用来结构化文档和数据的通用且适应性强的格式,它不仅仅可以用于 WEB,而且可以被用于任何地方。

UML建模通过使用图表可视化地表示业务过程流程以及软件和数据组件之间的交互作用。标准的UML图表包括类图表、用例图表、状态图表、活动图表、协作图表、顺序图表和部署图表。

XML元数据交换(XMI),旨在简化数据集成的另一种OMG规范,用于表示UML对象的一种流行格式;UML图表可以以XMI格式存储,相反,UML图表也可以从XMI文件中创建。为此,XMI简化了UML图表数据的传输,许多UML工具支持这种交换功能。

在本文中,我们将用一个示例EnterpriseJavaBean(EJB)部署描述符ejb-jar.xml生成一个XMI文档。

如果没有自动以XMI格式存储UML图表的工具,那么可以使用XSLT生成XMI文档。由示例部署描述符创建的XMI文档显示一个UML类图表;该图表将表现部署描述符EJB的分析视图。论文检测,OracleJDeveloper。论文检测,OracleJDeveloper。该XMI文档将在JDeveloper 10g中被转换成一个UML图表。

1. 预备设置

需要oracle.xml.parser.v2.oraxsl类来从XML文档中生成XMI文档。首先,下载Oracle XML开发人员工具包(XDK),并将《XDK10g》/lib/xmlparserv2.jar添加到Classpath中。《XDK10g》是安装XDK的目录。然后,下载并安装JDeveloper 10g。

2. 生成UML类图表

如上面所述,UML类图表显示一个类中的不同实体。在本部分中,我们将通过示例EJB部署描述符为一个UML类图表创建一个XMI文件。

容器管理的持久性(CMP)实体EJB的示例ejb-jar.xml部署描述符指定了一个EJB类中的不同的字段和查询方法。由ejb-jar.xml创建的UML类图表将显示EJB Bean类和EJB接口中的不同属性和方法。分析视图UML类图表包含一个具有三个水平区域的矩形。较上面的区域显示类名,中间区域显示与EJB中的字段相对应的类属性,较下面的区域显示EJB bean类和EJB接口中的方法。图1中显示了一个示例类图表。

图1 UML类图表

UML类图表中的XMI表示包含与UML类图表中的类、属性和操作相对应的XML元素和属性。下表列出了一个XMI文档的一些元素。

元素应用程序常用属性

XMIXMI 文档的根元素xmi.version=“1.2” xmlns:UML=“org.omg.xmi.namespace.UML”

XMI.content包含传输的实际数据

XMI.header代表 XMI 文档

UML.Model代表 UML 模型xmi.id、isSpecificaTIon、name、isRoot、isLeaf、isAbstract

UML:Namespace.ownedElement包含 UML:Class、UML:Attribute、UML:OperaTIon、UML:Package 和 UNL:Stereotype 元素

UML:Class代表 UML 类xmi.id、visibility、isSpecificaTIon、isRoot、isLeaf、isAbstract、isAcTIve、name

UML:Attribute代表 UML 类属性xmi.id、visibility、isSpecification、ownerScope、name、type

UML:Operation代表 UML 类图表方法xmi:id、name、Visibility、isSpecification、ownerScope、isQuery、concurrency、isRoot、isLeaf、isAbstract

UML:Parameter代表方法参数xmi:id、name、isSpecification、kind

UML:Package代表一个类图表包xmi:id、name、visibility、isAbstract、isRoot、isLeaf

UML:Stereotype (JDeveloper当前不支持)代表类图表模板(例如《《entity》》)xmi.id、name、visibility、isSpecification、isRoot、isLeaf、isAbstract

3. 生成XMI文件

创建一个XSLT将示例XML文档转换成一个XMI文件,该文件包含UML类图表在XMI和UML命名空间内的元素。在JDeveloper中选择File》New来创建XSLT。在显示的New Gallery框架中,选择General》XML,然后在列出的项目中选择XSLT Stylesheet。论文检测,OracleJDeveloper。在本例中,通过一个名为UMLAnalysisView.xslt的XSLT文件,将示例XML文档ejb-jar.xml转换成一个XMI文档UMLAnalysisView.xmi。在示例ejb-jar.xml中,所有的CMP字段都是String类型。如果一些字段不是String类型,那么需要修改该XSLT。oraxsl实用程序用于XSLT转换。

》java oracle.xml.parser.v2.oraxsl ejb-jar.xml

UMLAnalysisView.xslt UMLAnalysisView.xmi

在示例代码中提供了所有三个文件。

4. 在JDeveloper 10g中显示UML类图表

在这一部分中,我们将把XMI文档导入到JDeveloper中,以生成一个分析视图类图表。首先,启动JDeveloper 10g并创建一个项目,如图2所示。

如图3选择File》New,打开一个XMI文档。

图2 创建一个JDeveloper项目图3 打开一个XML文档

在显示的框架中,从XMIImport中选择General》Diagrams》UML Class Diagrams,如图4所示。选择要从中创建我们的UML类图表的XMI文档(UMLAnalysisView.xmi)。

图4 从XMI Import中选择UML Class Diagram

然后将在Applications-Navigator框架中为UMLAnalysisView.xmi文档添加一个名为ClassDiagram for XMI Import的节点,如图5所示。论文检测,OracleJDeveloper。

图5 Class Diagram XMI Import节点

要显示UML类图表,如图6所示,右键单击Class Diagram XMIImport,然后选择Open。

图6 打开ClassDiagram XMI Import

然后将显示与UMLAnalysisView.xmiXMI相对应的UML类图表,如图7所示。

图7 JDeveloper中的UML类图表

类图表的较上面的区域包含类名称。论文检测,OracleJDeveloper。中间的区域包含类属性,它们对应ejb-jar.xml中的cmp字段。还指定了属性的数据类型。底下的区域包含了与EJB Bean类和接口中的create、finder、getter和setter方法相对应的类操作。类操作包含了方法的返回类型。分析视图类图表也可能包含其他特性,如ejbSelect和各种业务方法。论文检测,OracleJDeveloper。

5. 结论

正如所看到的,XMI格式使得传输用来重建UML图表的UML图表元数据变得非常方便。如果没有UML工具将UML图表导入到XMI文档中,那么可以直接从XML文档中创建XMI文档。

oracle中的柱状图,详解Oracle中XMI开发UML图表技术相关推荐

  1. oracle的uml图,详解Oracle中XMI开发UML图表技术

    描述 XML是面向机器的数据格式,虽然手工编写困难,但处理效率高.当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用 ...

  2. oracle中调试存储过程,详解Oracle调试存储过程

    详解Oracle调试存储过程 一 调试关键步骤 1.在要调试的存储过程右键,选择编辑以进行调试,截图如下: 2.点击小瓢虫,弹出调试窗口,截图如下: 3.输入7839员工编号,点击确认,进行调试,截图 ...

  3. linux中create命令详解,linux中 pmap 命令详解

    通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x, --extended show details -X show eve ...

  4. linux中dd命令详解,Linux中DD命令详解

    Linux中DD命令详解 1.dd命令简介 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的 ...

  5. oracle dg切换步骤,详解Oracle dg 三种模式切换

    oracle dg 三大模式切换 =================================== 1  最大性能模式MAXIMUM PERFORMANCE   ------默认模式 ===== ...

  6. oracle中imp命令详解,ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP命令详细对照...

    ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP 命令详细对比 一.EXPDP IMPDP EXP IMP 可以实现 1.可以实现逻辑备份和逻辑恢复 2.可以在数据库用户之间 ...

  7. java 中的vector_详解Java中的Vector

    Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Array存储的 Vector 是线程安全的,在大多数方法上存在synchronized关键字 //Vec ...

  8. oracle临时表的优点,详解Oracle临时表的几种用法和意义

    举例: create global temporary table Classes (Class_id Number(5), Class_Name Varchar2(8), Class_Memo va ...

  9. linux中ping命令详解,linux中的ping命令的详细解释

    linxu下的ping命令的主要功能就是确定网络状态,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的ping命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的 ...

最新文章

  1. oracle表空间更改用户,ORACLE创建表空间、创建用户、更改用户默认表空间以及授权、查看权限...
  2. java的初始化顺序
  3. 2、MySQL备份类型
  4. 关于域帐户将计算机加入域登陆上限问题
  5. linux cut性能,Linux cut
  6. php嵌套查询mysql语句_mysql 查询嵌套
  7. java算法判断链表有没有闭环_前端算法系列之二:数据结构链表、双向链表、闭环链表、有序链表...
  8. ldap协议 java_java如何调用ldap协议【LdapContext】
  9. 无法远程连接Oracle
  10. Python 序列化模块(json,pickle,shelve)
  11. 毕设/私活/必备,一个挣钱的标准开源前后端分离【springboot+vue+redis+Spring Security】脚手架--若依框架
  12. 如何设计一款IRR计算器
  13. 基于SSM的酒店客房管理系统的设计(包含数据库、完美运行、可远程调试)
  14. javaweb学习笔记(XML基础)
  15. 免费可商用图片网站合集
  16. 适配器模式实战场景和本质
  17. 吴恩达深度学习作业(week2)-(1)
  18. 各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码
  19. 概率论与数理统计学习笔记——第二讲——概率(2.3概率的基本性质)
  20. 牛客练习赛51c-勾股定理

热门文章

  1. html文件用safari打开方式,如何使用openURL()读取在safari中打开的html文件 - c#代码 - 源码查...
  2. java 字符串 面试_Java 字符串面试题
  3. 超级直播sop直播源.zip_超级直播app壳 打造自己的直播app
  4. vue导入非es6 js文件_Vue项目兼容IE11
  5. thinkphp导入css失败,为什么用thinkphp总是提示css错误?
  6. python加法怎么写_51NOD 大数加法以及python写法
  7. python语言编写的modbus协议_RTU Modbus从机的python脚本
  8. python实现文件上传功能_python实现上传下载文件功能
  9. u盘安装ubuntu_简单实用的ubuntu18.04安装
  10. matlab imfilter函数,Matlab的imfilter函数用法详解