2008/07/04

統一塑模語言 UML

請自行參考 UML 組織,這邊有工具列表,個人推薦BoUML。推薦一本書:Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado 著,朱子傑譯,碁峰出版的,UML2 百寶箱。

先簡單介紹一下 UML, 你要蓋房子,或讓人參觀預售屋,弄個模型屋出來是最正常的。蓋房子之前,會先把藍圖設計出來才開始蓋,車子也類似,還會先模擬風切、撞擊等,這一切,都叫「塑模」,也就是先建個模型,看看合不合用,再來真正動手。

台灣大部份的軟體工程師(硬體的我不熟,想來也差不多吧?)常常忽略這樣的步驟,做完需求,分析完,就開始動手寫程式,常常搞到最後該加的班加不完,臭蟲還是一直出現。因此跟大家介紹 UML,就是希望能讓大家少點加班時間,多點回家陪家人的時間,顧好自己的身體。

一般軟體工程的步驟:

需求:UML 以「use case」的方式來捕捉客戶或使用者的需求。從案例探討著手,會發現不同需求、需求間的關聯,怎樣進入不同的狀態,操作過程會有哪些活動等等。

分析:分析要從建立類別及物件著手,整個問題(系統)由什麼類別組成?其運作機制如何?類別間的關係如何?在使用案例裡又如何實現其間的活動?有些人以為這邊在講的是物件導向程式語言裡的類別,其實不算是,後面我們再來介紹。

設計:分析的成果,必須擴展成技術上的解決方案。這時才要考慮使用者介面,資料庫等等。設計必須定義詳細的規格。

實作:就是所謂的 coding。因為 UML 是以物件為基礎,因此一般也使用物件導向程式語言,例如 Java, C++, 甚至是 Perl, Python,卻沒有 C, shell script. 實作已經不算是 UML 真正有定義的事,但是卻有工具可以幫你把 UML 產生相對應的程式語言表示法,也算是相得益彰。

測試:一般測試常常由工程人員測完就算了,其實還可以分幾類,單元測試、整合測試、系統測試、生產測試、驗收測試。不同的測試團隊會有不同的測試模型,這也是 UML 重要的功用。

更技術的討論,我想移至wadefs 討論區去完成,希望將來也採這樣的方式進行。

0 意見: