2007年12月17日星期一

開始測試Umbrello 1.5.8

在Linux環境下的開源UML工具,我認為比較成熟的有ArgoUML、BOUML及 Umbrello這幾套,各自有自己的優點及短處。就介面及功能而言,個人覺得Umbrello的設計最好,十分易用,可是程式的穩定度則是當中最差的。 1.5.5到1.5.7版本經常會crash,尤其是當內容澎漲到一定大少時,增減或修改關聯,甚至是修改屬性名稱都有機會觸發。

最可怕的情況是資料錯亂,會突然間出現重複的資料,刪了都沒用,程式重新啟動後又會見到。那是我最痛苦的時候,幸好問題在1.5.7版內修正了。

不過crash的問題仍在,結果只能當作草稿之用,一旦開始crash時就得把設計匯出成為程式碼,再決定是以那個狀態開始編程,還是開一個新檔把程式碼匯入。當然後者最多只能保留Class Diagram,其他類型的文件還是沒救。

概然那麼麻煩,又為何繼續使用Umbrello呢?

因為她仍然比其他軟件好用啊!而且實際進行開發時,Software Engineering內所謂的設計及實踐階段,界線往往都是糢糊不清。缺乏足夠的時間去進行設計,遺漏及失誤要在實踐時才能發現,結果是一邊編程,一邊 又為設計進行修正。預期不斷手動更新,倒不如用其他工具按當前的程式碼製作文件,這樣子會更有效率。

以我通常的做法為例子,第一步會在紙上起草軟件的大網,接著在Umbrello內繪製Class Diagram,太過複雜的話還會畫Sequence Diagram。差不多時候就會按Code Generation,然後分工合作,埋頭苦幹地寫下去……

這時Umbrello的內容已經沒用,取而代之是利用Doxygen製作說明及設計文件,像Class Diagram及Call tree等資訊都能由Doyxgen提供,Doxygen亦可以管理Sequence Diagram,故此還要用到的Umbrello的場合機乎沒有,除排是要設計新模組或進行新項目。所以我才能忍受Umbrello的bug那麼久……

當然,一個會crash的程式是相當之不方便的。跟據1.5.8的Changelog,似乎已經將好幾個相關的bug解決了:

Crash when changing the association type to containment (147202)
Crash when changing the attribute name (147919)

那麼是時候昇級上去做測試了,遲些匯報結果。

2008-03-10加入 :

1.5.8 相當之穩定,只是有個老問題還沒解決,就是進行Classes Import時,有些情況會致Umbrello無限制地不斷估用記憶體。一定要人手把它殺掉。


沒有留言:

Creative Commons License
本網誌Ben Lau製作,以共享創意署名-非商業性-相同方式共享 3.0 香港 授權條款釋出。