首页 | 互联网 | IT动态 | 网络设备 | 服务器 | IDC | 安全 | Cisco | Windows | Linux | Java | .Net | Oracle | CIW | 华为 | 专题
IT技术 | 网页设计 | 平面设计 | 电子书下载 | 教学视频 | 方案 | 数字网校 | 直播室 | 虚拟考场 | 面授培训 | 搜索 | 博客 | 沙龙 | 论坛
首页 | JAVA | C# | VB | VB.NET | C/C++ | delphi | 工程管理 | 其他语言 | 论坛
免费注册一站通帐号,参与直播、论坛、下载、博客、网摘、评论,展现我的风采!
您现在的位置: 中国IT实验室 >> 桌面开发 >> 工程管理 >> 文章正文
XMI与UML合力推动产品开发
来源:STcore.com  时间:2007-4-7

  在软件开发过程中,无数组织依赖 UML(统一建模语言)。然而,用于管理 UML 本身的软件却有着灵活性差以及难于使用的口碑。本文讲述了丹麦开发公司 Ideogramic ApS 是怎样扩展 XMI(针对诸如 UML 的元数据的 XML 规范),以及探讨了“XML 化(XMLization)”的优点及局限性。 UML(统一建模语言)是一种软件建模表示法。这么说通常意味着使用 UML 的建模者并不是通过编写计算机程序来开始软件开发项目的。相反,他们相互讨论,在索引卡上作记录,绘制图形,进行少量的技术实践,评审图形以及进行其它一些抽象概念的设计,进行这些工作是为了编写代码时能获得更高的工作效率。典型的 UML“工作产品”包括所获取的位于一堆堆物理的记录(索引)卡片上的类概要,如同图 1 中所示的图形以及称为用例(use case)的叙述,该用例描述了期望用户将怎样同交付的软件产品交互。
 
  简单地讲,UML 的目的在于成为人类工程学。它的成功基于这样一个事实:当人们在白板上书写或在小组内通过讨论解决问题时,他们表达有用想法和对事物的理解的效率特别高。
 
  已经证明这些方法同人们的表达方式非常吻合,但是他们本身不适宜于完成计算机化这一过程。虽然以数字化的方式获取白板上的绘图是可能的。但这么做的代价通常很昂贵,并且所产生的数据难于发送、控制版本、归档、验证、转换。对于管理以源代码或 HTML(它是 Web 页面的基础)形式表示的数据,计算机的基础设施早已做好了准备。
 
  通过以文本方式提供“序列化”UML 数据的构件,XML 消除了二者之间的部分差距。“XML 元数据交换(XMI)”是一项开放的工业标准,它将 XML 应用到诸如 UML 的抽象系统。XMI 方法捕捉和表达 UML 表达的关系,而抛弃特定 UML 图的大多数可视细节。这种将事物划分成必不可少的内容与可有可无的形式的做法增强了 UML 的可管理性。
 
  本文研究了 XMI 对这个 Ideogramic ApS 小开发公司的影响。另外,还特别讲述了如下问题,即 XML 标准和一些逐渐成熟的工具(这些工具集成了市场上其它一些标准)是如何使得一个组织能够把精力集中在它自己的产品开发上。
 
  Ideogramic ApS Ideogramic ApS 是一家专业从事手势数字化(gestural digitization)和协作开发公司。该公司已经将一些理论知识精心转化成了产品,正如该公司的网站所描述的那样:“对编程的直觉工具支持,特别结合了诸如电子白板和图形输入板计算机等基于笔的界面。”
 
  设计者可以使用任意多的常见输入设备 — 先进的电子白板、轨迹球等 — Ideogramic 的专利产品“手势识别”算法将这些草图转换成 UML 图。捕捉到这些结果,并将其表示成 XMI,然后加以调整,输入到可视化建模工具(譬如,Rational Software Corporation 软件公司的 Rational Rose)中。
 
  这一过程是值得研究的,因为直到几年以前这一过程还不是很过硬。不同供应商的产品之间的互操作性是如此之差,以致于那些具有好的 UML 想法的人,在想把该想法推向市场时,都不得不随之带一套包罗万象的工具集。虽然 XMI 只实现了部分标准化,但是现在它已经足以允许 Ideogramic 把精力集中在他们最拿手的地方:相信第三方的产品可以处理此结果。
 
  工作示例为了更好的理解 Ideogramic 的“手势识别”是如何工作的,我们将采用一个包含单个类 Small 的示例。图 1 显示了由“手势识别”对设计者所画的略微有点潦草的草图进行了一点加工的样子。
 

图 1. 手势识别产生的 UML 图


  

  当然,Ideogramic 的产品还包括许多工具,您可以选择这些工具来以图形方式精心制作这样的图形。尽管如此,我们所感兴趣的是位于 XMI 中的缺省序列化。该产品事实上将图 1 保存到清单 1 中所示的文档实例中。
 
  有关于实现的现状

  至少,这是目标。这个梦想的实现还不完美。正如 Ideogramic 的产品经理 Klaus Marius Hansen 于 2001 年秋季所说的, “XMI 标准本身不支持所有需求,所以非常遗憾的是供应商对它的实现各不相同。”
 
  Ideogramic 的解决方案是尽可能多地使用 XMI,并且在不能使用 XMI 的情况下定义扩展。由于 UML、XMI以及其它市场化产品都在不断地变化,因此维持版本的一致性是一项挑战,但是“手势识别”是一项功能强大的技术,在这方面作出努力是值得的。用 Hansen 的话说就是:“所有这些为我们带来了许多工作:使用不同工具进行测试,产生可替代的实现方案等等,但是这些辛苦是值得的。”
 
  下面的部分更进一步研究了 Ideogramic 工程师所采取的步骤,他们采取这些步骤来在维持他们的产品实现的最佳灵活性的同时扩展和促成 XMI.对 XMI 的功能扩展XMI 目前仅解决了纯 UML 模型信息。然而,实际上用户也需要保留原理图。这项工作的一个示例是清单 1 中所显示的标记 .该标记是对标准 XMI 的专门针对 Rational Rose 的扩展,该扩展提供了图的表示信息。这一标记和相关的标记相互传递大小、位置、颜色以及其它 UML 中未定义,但作为基础对使用 UML 构建的 Rational 工具是必不可少的信息。Unisys XMI 首先使用了这些扩展的 Ideogramic 格式。
 
  Ideogramic 通过编码那些部分的,因而是无效 UML 的图形来进一步扩展 XMI.在预备工作期间,“根除”同一个仅仅为一个端点定义的类的联系是很有价值的。Ideogramic 还允许在图上进行徒手画。
 
  从某些意义上来说,XMI 的体系结构标准化产生作用使得 Ideogramic 的 UML 实现“Rational 化”。尽管本文几乎专门将 XMI 作为一种 UML 序列化来进行讨论,但 XMI 的定义事实上比这要广泛的多。严格的讲,XMI 对从“对象管理集团(OMG)元对象设施(MOF)”模型到大量的装入器、保存器以及模式的映射进行序列化。UML 仅仅是最受欢迎的 MOF 模型。
 
  由于“手势识别”的目标是 XMI,所以在它与 UML 的细节方面结合的不是很紧密。从软件工程的观点上来说,“手势识别”并不同某个特定方法学相联系,Hansen 说:“我们的目标不是支持任何特定已指定的过程。但是我们试图提供能够用于这些过程的商业对象表示法(Business Object Notation,BON)、极限编程(Extreme Programming)、Rational 统一过程(Rational Unified Process)的灵活工具”。事实上,Ideogramic 已经开始开发基于手势的建模工具,其目标是 e-GIP Software AG 开发的专用表示法。这种表示法,依次同 Jeffrey Conklin 开发的“基于问题的信息系统(Issue-Based Information System,gIBIS)”的图形格式相联系。
 

 

[1] [2] 下一页  

【责编:Lili】

中国IT教育热线咨询

相关文章
解析UML的静态建模机制
使用模式集成UML视图
解析UML的动态建模机制
UML建模工具比较
详解从UML到BPEL
解析UML的要点与应用
用UML模型实现大型实时监控应用软件
UML在嵌入式系统设计中的应用
推荐文章
· 用C#创建COM对象
· IT管理十大失误及其对策
· VC中利用MFC设计绘图程序初步
· JAVA中对象创建和初始化过程
· C语言中的位域的使用
· 浅谈Java桌面应用程序开发
· C#的前途如何?
· 几种VC++数据库开发技术的相对比较
 精彩友情推荐
·锐捷交换机报价
·锐捷交换机
·锐捷网络网络交换机
·smc交换机
·smc交换机报价
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
最新更新 推荐文章
·Visual Basic 9.0隐式类型的局部…09-30
·JMX+J2SE5.0实现Web应用的安全管…09-30
·多线程、Socket技术及委托技术的…09-21
·Visual C#多线程参数传递浅析09-21
·浅谈Java中利用JCOM实现仿Excel编…09-21
·基于Java的界面布局DSL的设计与实…09-21
·Java开发中的事件驱动模型实例详…09-21
·并发工程原则应用到软件项目中09-06
·Delphi初学者应小心的六大陷阱09-06
·VC开发多语言界面支持的简单方法09-06
·用C#创建COM对象09-06
·用C#创建COM对象09-06
·IT管理十大失误及其对策08-30
·VC中利用MFC设计绘图程序初步08-23
·JAVA中对象创建和初始化过程08-23
·C语言中的位域的使用08-09
·浅谈Java桌面应用程序开发08-09
·C#的前途如何?08-02
·几种VC++数据库开发技术的相对比较07-12
·用Visual C#实现网络封包监视07-12
·VB.NET中的TextBox控件详解07-12
·VB.NET实现PC与掌上电脑PPC的双向通信07-05
  培训中心