免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
XMI 與 UML 合力推動產(chǎn)品開發(fā)



Ideogramic 套件演示面向 UML 的 XML 處理

級別: 中級

Cameron Laird
副總裁, Phaseit Inc.
2003 年 3 月

在軟件開發(fā)過程中,無數(shù)組織依賴 UML(統(tǒng)一建模語言)。然而,用于管理 UML 本身的軟件卻有著靈活性差以及難于使用的口碑。本文講述了丹麥開發(fā)公司 Ideogramic ApS 是怎樣擴展 XMI(針對諸如 UML 的元數(shù)據(jù)的 XML 規(guī)范),以及探討了“XML 化(XMLization)”的優(yōu)點及局限性。

UML(統(tǒng)一建模語言)是一種軟件建模表示法。這么說通常意味著使用 UML 的建模者并不是通過編寫計算機程序來開始軟件開發(fā)項目的。相反,他們相互討論,在索引卡上作記錄,繪制圖形,進行少量的技術(shù)實踐,評審圖形以及進行其它一些抽象概念的設(shè)計,進行這些工作是為了編寫代碼時能獲得更高的工作效率。典型的 UML“工作產(chǎn)品”包括所獲取的位于一堆堆物理的記錄(索引)卡片上的類概要,如同 圖 1中所示的圖形以及稱為 用例(use case)的敘述,該用例描述了期望用戶將怎樣同交付的軟件產(chǎn)品交互。

簡單地講,UML 的目的在于成為人類工程學(xué)。它的成功基于這樣一個事實:當人們在白板上書寫或在小組內(nèi)通過討論解決問題時,他們表達有用想法和對事物的理解的效率特別高。

已經(jīng)證明這些方法同人們的表達方式非常吻合,但是他們本身不適宜于完成計算機化這一過程。雖然以數(shù)字化的方式獲取白板上的繪圖是可能的。但這么做的代價通常很昂貴,并且所產(chǎn)生的數(shù)據(jù)難于發(fā)送、控制版本、歸檔、驗證、轉(zhuǎn)換。對于管理以源代碼或 HTML(它是 Web 頁面的基礎(chǔ))形式表示的數(shù)據(jù),計算機的基礎(chǔ)設(shè)施早已做好了準備。

通過以文本方式提供“序列化”UML 數(shù)據(jù)的構(gòu)件,XML 消除了二者之間的部分差距?!癤ML 元數(shù)據(jù)交換(XMI)”是一項開放的工業(yè)標準,它將 XML 應(yīng)用到諸如 UML 的抽象系統(tǒng)。XMI 方法捕捉和表達 UML 表達的 關(guān)系,而拋棄特定 UML 圖的大多數(shù)可視細節(jié)。這種將事物劃分成必不可少的內(nèi)容與可有可無的形式的做法增強了 UML 的可管理性。

本文研究了 XMI 對這個 Ideogramic ApS 小開發(fā)公司的影響。另外,還特別講述了如下問題,即 XML 標準和一些逐漸成熟的工具(這些工具集成了市場上其它一些標準)是如何使得一個組織能夠把精力集中在它自己的產(chǎn)品開發(fā)上。

Ideogramic ApS
Ideogramic ApS 是一家專業(yè)從事手勢數(shù)字化(gestural digitization)和協(xié)作開發(fā)公司。該公司已經(jīng)將一些理論知識精心轉(zhuǎn)化成了產(chǎn)品,正如該公司的網(wǎng)站所描述的那樣:“對編程的直覺工具支持,特別結(jié)合了諸如電子白板和圖形輸入板計算機等基于筆的界面?!?/p>

設(shè)計者可以使用任意多的常見輸入設(shè)備 — 先進的電子白板、軌跡球等 — Ideogramic 的專利產(chǎn)品“手勢識別”算法將這些草圖轉(zhuǎn)換成 UML 圖。捕捉到這些結(jié)果,并將其表示成 XMI,然后加以調(diào)整,輸入到可視化建模工具(譬如,Rational Software Corporation 軟件公司的 Rational Rose)中。

這一過程是值得研究的,因為直到幾年以前這一過程還不是很過硬。不同供應(yīng)商的產(chǎn)品之間的互操作性是如此之差,以致于那些具有好的 UML 想法的人,在想把該想法推向市場時,都不得不隨之帶一套包羅萬象的工具集。雖然 XMI 只實現(xiàn)了部分標準化,但是現(xiàn)在它已經(jīng)足以允許 Ideogramic 把精力集中在他們最拿手的地方:相信第三方的產(chǎn)品可以處理此結(jié)果。

工作示例
為了更好的理解 Ideogramic 的“手勢識別”是如何工作的,我們將采用一個包含單個類

Small
的示例。圖 1 顯示了由“手勢識別”對設(shè)計者所畫的略微有點潦草的草圖進行了一點加工的樣子。

圖 1. 手勢識別產(chǎn)生的 UML 圖

當然,Ideogramic 的產(chǎn)品還包括許多工具,您可以選擇這些工具來以圖形方式精心制作這樣的圖形。盡管如此,我們所感興趣的是位于 XMI 中的缺省序列化。該產(chǎn)品事實上將圖 1 保存到 清單 1中所示的文檔實例中。

XMI 定義了一個“插頭”,該“插頭”允許 Ideogramic 同其它產(chǎn)品(譬如 Rational Rose 或其它的 UML 制圖工具)緊密結(jié)合。這使得 Ideogramic 能夠解脫出來把全部精力集中在精益求精地提高其“手勢識別”工具的獨特價值上。例如,一個組織向 Rational Rose 保證,它能夠?qū)⒖梢暬9ぞ吲c它的 Ideogramic UML 結(jié)合在一起。它之所以能有信心這么做是因為依賴 XML 在這兩者之間來回傳遞信息。除了單向迭代之外,對往返迭代也是可能的,從而甚至逆向工程的 Rational 圖可以“流”回 Ideogramic,作為進一步協(xié)作和細化的基礎(chǔ)。

有關(guān)于實現(xiàn)的現(xiàn)狀
至少,這是目標。這個夢想的實現(xiàn)還不完美。正如 Ideogramic 的產(chǎn)品經(jīng)理 Klaus Marius Hansen 于 2001 年秋季所說的, “XMI 標準本身不支持所有需求,所以非常遺憾的是供應(yīng)商對它的實現(xiàn)各不相同?!?/p>

Ideogramic 的解決方案是盡可能多地使用 XMI,并且在不能使用 XMI 的情況下定義擴展。由于 UML、XMI以及其它市場化產(chǎn)品都在不斷地變化,因此維持版本的一致性是一項挑戰(zhàn),但是“手勢識別”是一項功能強大的技術(shù),在這方面作出努力是值得的。用 Hansen 的話說就是:“所有這些為我們帶來了許多工作:使用不同工具進行測試,產(chǎn)生可替代的實現(xiàn)方案等等,但是這些辛苦是值得的?!?/p>

下面的部分更進一步研究了 Ideogramic 工程師所采取的步驟,他們采取這些步驟來在維持他們的產(chǎn)品實現(xiàn)的最佳靈活性的同時擴展和促成 XMI。

對 XMI 的功能擴展
XMI 目前僅解決了純 UML 模型信息。然而,實際上用戶也需要保留原理圖。這項工作的一個示例是清單 1 中所顯示的標記

<Diagramming.Diagram ...>
。該標記是對標準 XMI 的專門針對 Rational Rose 的擴展,該擴展提供了圖的表示信息。這一標記和相關(guān)的標記相互傳遞大小、位置、顏色以及其它 UML 中未定義,但作為基礎(chǔ)對使用 UML 構(gòu)建的 Rational 工具是必不可少的信息。Unisys XMI 首先使用了這些擴展的 Ideogramic 格式。

Ideogramic 通過編碼那些部分的,因而是無效 UML 的圖形來進一步擴展 XMI。在預(yù)備工作期間,“根除”同一個僅僅為一個端點定義的類的聯(lián)系是很有價值的。Ideogramic 還允許在圖上進行徒手畫。

從某些意義上來說,XMI 的體系結(jié)構(gòu)標準化產(chǎn)生作用使得 Ideogramic 的 UML 實現(xiàn)“Rational 化”。盡管本文幾乎專門將 XMI 作為一種 UML 序列化來進行討論,但 XMI 的定義事實上比這要廣泛的多。嚴格的講,XMI 對從“對象管理集團(OMG)元對象設(shè)施(MOF)”模型到大量的裝入器、保存器以及模式的映射進行序列化。UML 僅僅是最受歡迎的 MOF 模型。

由于“手勢識別”的目標是 XMI,所以在它與 UML 的細節(jié)方面結(jié)合的不是很緊密。從軟件工程的觀點上來說,“手勢識別”并不同某個特定方法學(xué)相聯(lián)系,Hansen 說:“我們的目標不是支持任何特定已指定的過程。但是我們試圖提供能夠用于這些過程的商業(yè)對象表示法(Business Object Notation,BON)、極限編程(Extreme Programming)、Rational 統(tǒng)一過程(Rational Unified Process)的靈活工具”。事實上,Ideogramic 已經(jīng)開始開發(fā)基于手勢的建模工具,其目標是 e-GIP Software AG 開發(fā)的專用表示法。這種表示法,依次同 Jeffrey Conklin 開發(fā)的“基于問題的信息系統(tǒng)(Issue-Based Information System,gIBIS)”的圖形格式相聯(lián)系。

讀與寫 XMI
支持所有這些能力的 Ideogramic 引擎是 tDOM,它是一種高性能 XML 處理器。跟大多數(shù) XML 產(chǎn)品不一樣,tDOM 支持 Tcl 而不是 Java。Ideogramic 將它的 UML 元模型編碼進

[incr Tcl]
。在這個標準的 Tcl 面向?qū)ο蟮臄U展中,一段 XMI 裝入代碼類似于 清單 2中所示的代碼。

這是典型的、很常規(guī)的裝入和存儲代碼的 Ideogramic 實現(xiàn)。Hansen 說:“我們甚至編寫了一些腳本,這些腳本可以用來生成最初的裝入和存儲的代碼,基于從

[incr Tcl]
代碼執(zhí)行逆向工程的 UML 模型?!睂τ?UML 元模型的每一個類,都有用于裝入特定元素以及調(diào)用同元模型結(jié)構(gòu)相符的其它方法的方法。所以,例如,類
Class
繼承類
Classifier
。類
Classifier
依次又繼承
Namespace
GeneralizableElement
并且聚集
Attributes
Operations

因而源代碼的類結(jié)構(gòu)在很大程度上模仿了 UML 元模型。用 Hansen 的話說就是:“將屬性映射到簡單的屬性,將關(guān)聯(lián)和聚合映射到

[incr Tcl]
對象之間的簡單引用。例如,對
[incr Tcl]
不能夠覆蓋基類來處理多重繼承這一情形,有一些詳細的說明?!?

這樣做的一個結(jié)果是唯一留給

DOM::scanChildren
方法的工作十分簡單。如 清單 2中的樣本代碼演示的一樣,它使用 tDOM 對 XMI 元素內(nèi)容做結(jié)構(gòu)化的轉(zhuǎn)換。

結(jié)束語
XMI 體現(xiàn)了 XML 標準化所帶來的好處。有了 XML 這項基本技術(shù),可以促使組織將他們的注意力集中在他們自己獨特的產(chǎn)品上,組織可以信任 XML“巴士”將使得他們能夠同其它組織的過程和數(shù)據(jù)相連接。

在本文中,我演示了 Ideogramic ApS 是怎樣利用 XMI 來將其“手勢識別”產(chǎn)品連接到 Rational Software 的 UML 產(chǎn)品,因而對于開發(fā)者社區(qū)來說,擴大了雙方產(chǎn)品集的使用。同時,我也講述了 Ideogramic 是怎樣擴展 XMI 以滿足其特殊目標。在某些情況下,該擴展已經(jīng)被證明是十分簡單而有效的,在其它一些情況下,它卻顯得既復(fù)雜又不全面。但無論那種狀況,這項努力已經(jīng)獲得一個極富創(chuàng)新性的小開端,這一點是很清楚的。

盡管 UML 與 XMI 仍然不十分完善,但是它們都已足夠成熟,足以支持(包括 Ideogramic 的“手勢識別”在內(nèi))成功的商業(yè)產(chǎn)品。正如我相信在這篇實例研究中所顯示的那樣,最終結(jié)果實現(xiàn)非常象任何其它 XML 引擎以及特定的基于 DTD 的應(yīng)用程序。

參考資料

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MDA是什么
深入淺出Eclipse Modeling Framework (EMF)
C++程序員必備工具
產(chǎn)品經(jīng)理之UML表達業(yè)務(wù)邏輯(非原創(chuàng))
Rhapsody — MBSE 開發(fā)工具
模型驅(qū)動開發(fā)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服