UML 草圖工具
2004 年 6 月 16 日
我繪製了許多 UML 圖表,但我沒有使用 CASE 工具。原因是我對 UmlAsSketch 感興趣,而不是所有儲存庫的東西。到目前為止,我的常規選擇一直是 Visio。儘管 Visio 附帶 UML 範本,但我沒有使用內建的範本 - 我比較喜歡 Pavel Hruby 的範本。
Visio 對我來說非常好用,它仍然是我的首選。但我承認我心猿意馬。Visio 只能在 Windows 上執行 - 我也使用 Mac 和 Unixen,所以有一個可以在所有(或實際上是常見資料格式)上執行的工具會很好。我喜歡與他人合作,所以某個開源軟體可以讓他們繪製圖表,即使他們無法使用 Visio。
我在 Mac 上玩了一點 OmniGraffle,還不足以真正評估它的功能 - 儘管它確實產生了看起來很漂亮的反鋸齒輸出。UMLet 也是一個看起來很有趣的專案。
然而,我最想要做的事情是用文字指定我的 UML 圖表。這聽起來可能很奇怪 - 畢竟 UML 圖表是圖表,為什麼要使用文字?文字有一些優點。圖表佈局的很大一部分在圖表形式中很無聊,用文字來做會容易得多 - 使用圖表作為視覺化而不是編輯機制。文字格式也允許您使用 cvs 和 diff 輕鬆追蹤隨著時間的變化。
因此,我對 UmlGraph 很感興趣。其中最吸引我的部分是使用老牌 pic 程式碼的順序圖編輯器。此頁面 顯示 pic 巨集如何建立順序圖的漂亮文字表示。當然,pic 巨集中有一些限制,我可以想像一個更緊湊、更清晰的文字表示。
objects thread, t:thread tool, :Toolkit peer, p:Peer, unborn trace found: a1:run(3) -> thread: run() -> tool: callbackLoop() -> self create -> peer handleExpose() -> peer: return delete -> peer
那只是我腦中浮現的。我不知道在實務上是否真的有效。無論如何,我打算試驗 UmlGraph,看看它對我來說如何。pic 程式碼非常小,如果我想做一些變更,我可以輕鬆地調整它。
UmlGraph 的類別圖產生器很不錯,它可以從 Java 原始檔產生東西。然而,對於一個圖形語法來說,它看起來相當笨拙,而且我希望可以控制類別的擺放位置。足以說明客戶在訂單的左邊。因此,或許可以用類似 這個圖形 的東西來表示
layout row: Controller, EmbeddedAgent, URLStreamHandler, ChannelIterator SetTopController below: URLStreamHandler PowerManager below: SetTopController interface URLStreamHander operations OpenConnection() parseURL() setURL() toExternalForm() class SetTopController specializes Controller EmbeddedAgent implements URLStreamHandler attributes authorizationLevel operations startUp() shutDown() connect() associations -> PowerManager class ChannelIterator dependencies -> SetTopController keyword:friend
再次強調,這只是我腦中浮現的點子。重要的是,我很高興看到有人朝這個方向前進,而且希望看到更多。
以下是人們告訴我的類似草圖工具
- MetaUml
- TWiki Draw 外掛程式
- Sequence
- Agent UML 工具
- yUML:在網頁中從嵌入在 img 標籤中的文字規格繪製類別和用例圖形。具有粗糙的風格。
- PlantUML