十年前我還在讀大學資訊系時,自己花錢買了Together軟體,當時Together支援的符號(Notation)是Codd和OMT。Codd符號是Peter Codd(一位OO軟體工程大師,TogetherSoft的創立者)自己設計的符號,而OMT則是Jim Rumbaugh等四人設計的符號,OMT是主流,最多人使用。

除了OMT之外,就屬Grady Booch(Rational公司)設計的Booch符號最受歡迎,所以我慫恿系主任買一套Rose(Rational公司的軟體)讓我用,禁不起我的糾纏,系主任真的買了Rose讓我玩。(註:Together已經被Borland購併,且Rational也被IBM購併。)

UML終結了百家爭鳴的戰國時代
然後大一統出現了,Jim Rumbaugh加入Rational公司,於是OMT和Booch符號整合變成UML,再加上Ivar Jacobson(Use Case設計者)也加入Rational,這使得UML成為最強勢的符號。後來Rational公司將UML呈遞到OMG成為公開的標準,更是讓UML成為一股抵擋不住的潮流。一時之間,所有的符號都銷聲匿跡,只剩下UML。

O’Reilly出版的書,鮮少有評價很差者,六、七年前出版的《UML in a Nutshell》正是一本難得一見的O’Reilly爛書。從《UML in a Nutshell》書中,不但初學者無法學會UML,已經懂UML的人也無法拿這本書當參考書,這本書的問題真的不小。也因此,當今年O’Reilly準備推出這本《UML 2.0 in a Nutshell》時,就顯得小心翼翼,不但作者換人,編輯也換人,甚至連書名也換了,不叫做《UML in a Nutshell, 2nd Ed.》,而改叫《UML 2.0 in a Nutshell》。

In a Nutshell的風格一向是:前半本書是自我學習閱讀用,後半本書是參考資料查閱用。或許是從《UML in a Nutshell》中學到的教訓,O’Reilly開始體認到並不是所有的主題都適合列出查閱用的參考資料,所以這本《UML 2.0 in a Nutshell》並不像一般的In a Nutshell書籍有後半部獨立的參考資料,也因此厚度大減,只有兩百頁。而整體的風格不像是In a Nutshell系列,比較像是O’Reilly的Essential系列。在我看來,這些都是好的改變。

由於UML和物件導向有相當緊密的關係,所以本書讀者必須先具備物件導向的概念。本書包含最新的UML 2.0,每章介紹幾種UML圖,內容的撰寫方式是Top-Down,也就是先介紹大概,再深入細節。利用許多的小範例和豐富的圖來展示如何將UML表示法應用在實際的問題上。

本書共介紹了UML的十多種圖
本書共有十二章以及兩個附錄。第一章介紹UML的基本概念。第二章到第六章介紹靜態塑模(static modeling),第七章到第十章介紹行為塑模(behavior modeling)。所謂的靜態塑模,指的是設計程式的結構,而行為塑模指的是規畫系統在執行時的互動。

在靜態塑模的部分:第二章介紹類別圖(class diagram)以及物件圖(object diagram);第三章是package diagram;第四章是composite structure diagram;第五章是元件圖(component diagram),第六章是部署圖(deployment diagram)。

在行為塑模的部分:第七章介紹使用案例圖(use case diagram);第八章介紹狀態圖(statechart diagram),包括狀態機圖(state machine diagram);第九章介紹活動圖(activity diagram);第十章介紹互動圖(interaction diagram),包括溝通圖(communication diageam)、互動概觀圖(interaction overview diagram)、循序圖(sequence diagram)、時序圖(timing diagram)。

第十一章介紹擴充UML的方式。第十二章介紹如何繪製有效的UML圖,這一章超重要的,只可惜篇幅太少。

關於UML 2.0,網路上的資源很多。你可以直接下載OMG的UML 2.0文件,網址在:http://www.omg.org/cgi-bin/apps/doc?ptc/04-10-02.pdf。另外,http://www.uml.org/#UML2.0 有許多UML相關的連結,也值得去看看。

《作者簡介》蔡學鏞
清華大學資訊工程碩士,現為寰震科技技術經理、美商歐萊禮出版社顧問、臺灣微軟特約專欄作家。曾任華碩集團軟體工程師、元智大學資訊系講師。

蔡學鏞曾擔任數個研討會講師(包括 JavaTwo、TechEd、資策會)。參與設計清華大學 Java VOD 系統,該系統並獲得第一屆 Java Cup 比賽校園組冠軍。參與設計 Java To .NET Migration,成為美國微軟十大成功案例之一。

蔡學鏞著譯有數本 Java 書籍,並在臺灣和中國的雜誌開闢技術專欄,專長的語言為 C#、REBOL、Java、C/C++。他的電子郵件信箱 xy.cai@msa.hinet.net

熱門新聞

Advertisement