在軟件開發過程中,無數組織依賴 UML(統一建模語言)。然而,用于管理 UML 本身的軟件卻有著靈活性差以及難于使用的口碑。本文講述了丹麥開發公司 Ideogramic ApS 是怎樣擴展 XMI(針對諸如 UML 的元數據的 XML 規范),以及探討了“XML 化(XMLization)”的優點及局限性。
UML(統一建模語言)是一種軟件建模表示法。這么說通常意味著使用 UML 的建模者并不是通過編寫計算機程序來開始軟件開發項目的。相反,他們相互討論,在索引卡上作記錄,繪制圖形,進行少量的技術實踐,評審圖形以及進行其它一些抽象概念的設計,進行這些工作是為了編寫代碼時能獲得更高的工作效率。典型的 UML“工作產品”包括所獲取的位于一堆堆物理的記錄(索引)卡片上的類概要,如同圖 1 中所示的圖形以及稱為用例(use case)的敘述,該用例描述了期望用戶將怎樣同交付的軟件產品交互。
簡單地講,UML 的目的在于成為人類工程學。它的成功基于這樣一個事實:當人們在白板上書寫或在小組內通過討論解決問題時,他們表達有用想法和對事物的理解的效率特別高。
已經證明這些方法同人們的表達方式非常吻合,但是他們本身不適宜于完成計算機化這一過程。雖然以數字化的方式獲取白板上的繪圖是可能的。但這么做的代價通常很昂貴,并且所產生的數據難于發送、控制版本、歸檔、驗證、轉換。對于管理以源代碼或 HTML(它是 Web 頁面的基礎)形式表示的數據,計算機的基礎設施早已做好了準備。
通過以文本方式提供“序列化”UML 數據的構件,XML 消除了二者之間的部分差距!癤ML 元數據交換(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 中所示的文檔實例中。
XMI 定義了一個“插頭”,該“插頭”允許 Ideogramic 同其它產品(譬如 Rational Rose 或其它的 UML 制圖工具)緊密結合。這使得 Ideogramic 能夠解脫出來把全部精力集中在精益求精地提高其“手勢識別”工具的獨特價值上。例如,一個組織向 Rational Rose 保證,它能夠將可視化建模工具與它的 Ideogramic UML 結合在一起。它之所以能有信心這么做是因為依賴 XML 在這兩者之間來回傳遞信息。除了單向迭代之外,對往返迭代也是可能的,從而甚至逆向工程的 Rational 圖可以“流”回 Ideogramic,作為進一步協作和細化的基礎。
有關于實現的現狀
至少,這是目標。這個夢想的實現還不完美。正如 Ideogramic 的產品經理 Klaus Marius Hansen 于 2001 年秋季所說的, “XMI 標準本身不支持所有需求,所以非常遺憾的是供應商對它的實現各不相同!
Ideogramic 的解決方案是盡可能多地使用 XMI,并且在不能使用 XMI 的情況下定義擴展。由于 UML、XMI以及其它市場化產品都在不斷地變化,因此維持版本的一致性是一項挑戰,但是“手勢識別”是一項功能強大的技術,在這方面作出努力是值得的。用 Hansen 的話說就是:“所有這些為我們帶來了許多工作:使用不同工具進行測試,產生可替代的實現方案等等,但是這些辛苦是值得的!
共2頁: 1 [2] 下一頁 |