今天用 US$ 39 的價格續購了 Enterprise Architect Corporate Edition 的 Academic License,
基本上也是把學生證掃瞄給他們就可以了,
其實在蠻多國家要搞這個還得辦國際學生證,
但這家公司似乎掃了中文的他們看了也直接採信,
大概嫌麻煩或不差這個單一客戶吧,
另外他們的 sales 說要以教育授權續購的條件是必須在同一個教育單位,
換了的話好像就要重新買一次了。
OO
藏在 UML 規格書中的重要範例
記得發現這東西的時候是剛把自己對 UML 的認識從 1.x upgrade 到 2.0 的時候,
除了讀讀相關的書籍之外,
也在實作過程中翻閱 UML 規格書來確認 classifiers 之間是否可以存在關聯,
當時在查閱 UML Superstructure specification 時,
特別注意到了它在 Interactions 一章中的某兩個範例,
是手邊的書中都沒有提過的。
買了 Enterprise Architect Corporate Edition
前幾天 VP-UML 邁進了 6.4 版,
它在 Visual Modeling 的功能裡加入了對 design pattern 的支援,
不過限定 $299 的 Standard Edition 才能使用它,
$99 的 Modeler Edition 是無法使用的。
Boost.Serialization
在設計 editor、game 或是實現軟體系統中的 heuristic algorithm 等情況下,常需要設計 save/load 或 undo 之類的還原功能。學過 design pattern 的人大都知道 memento 和 command 這兩個 pattern。通常比較簡單的東西靠 command pattern 就能順便做出 undo 功能了,但是在其它比較複雜的狀況下就需要靠 memento pattern 來幫忙,將物件的狀態儲存起來以便隨時復原。有些語言如 Java 提供了將物件本身序列化 (serialize) 的機制,所謂序列化就是把物件狀態變成一串資料儲存起來。這樣就可以做到和 memento 相同的功能,更進一步的話還能將序列化後的資料存在 disk 上或透過網路傳遞。C++ 語言本身沒有支援 serialization 的功能,所以 boost 以 library support 的形式做了一個類似的。內建的支援有 binary、text 和 xml 三種輸出格式。這篇只會出現 text,反正用法都沒差 (唯一要注意的就是 binary 並非 portable)。
VP-UML 6.2 的 Acitivity Diagram 測試
因為真的非常迫切需要有一套完全支援 UML 2.x 的 tool 來畫圖,
去年開始就非常努力的到處找來找去,
雖然著名的 RSA (Rational Software Architect) 還不錯,
也很方便 run RUP (Rational Unified Process) 的流程,
但是它的 UML 2.x 支援度實在是太爛了...
最後找上了 Google 裡打廣告打最大的 Visual Paradigm 這家公司的產品 VP-UML。