《Applying UML and Patterns》打通你的任督二脈,
將UML與開發流程結合得更密切
只要接觸到物件導向分析與設計的課題,熟悉UML工具及設計樣式(Design Patterns)是不可避免的,想當年剛開始接觸UML時,公司的前輩便丟給我《UML Distilled》這本書,其實,對於一個已經被傳統瀑布式開發流程荼毒許久的我來說,K完這本書之後完全不知其所云(可能是資質太差,無法感受到其精髓),更別說是上手了。後來也是不斷地收集網路上UML相關討論,才零零碎碎,片片斷斷地搞清楚UML在做什麼,慢慢地與實務面結合起來。
坊間不乏探討UML及Design Patterns的書籍,有些內容只是枯燥地逐一介紹UML每個圖例及符號的使用方法,有些書籍完全不提專案實務上的運用,而有些書籍只舉出無關痛癢的例子(像是車子與輪胎的老掉牙故事),對於複雜的現實需求毫無助益,讀者看了這些書也很難將理論應用上手(筆者便是其中的一位)。當筆者接觸到《Applying UML and Patterns》時,翻開封面看到內頁的流程圖(Sample Unified Process Artifact Relationships)和GRASP原則,深深覺得相見恨晚,許多我對UML塵封已久的疑慮都可以從這本書中找到。
結合作者多年實務經驗,內容詳細完整
本書在架構設計上依開發流程分成四大部份,從第一部份Inception階段探討如何定義及分類需求,如何利用使用案例圖(Use Case Diagram)及活動圖(Activity Diagram)將需求具體化。到第二部份Elaboration階段初期,討論如何將需求建構出領域模型(Domain Model),分門別類地規劃出物件及其間的關係,運用Class Diagram進行需求分析。第三部份Elaboration階段中期,則討論如何加入Patterns來進行物件設計,不斷改良上個階段的設計內容。而第四部份Elaboration階段後期則包括軟體架構(Architecture)及框架(Framework)設計。
對於學習UML的讀者來說,UML符號及其代表意義的問題都不大,比較大的問題會是在每個UML圖的使用時機,以及如何將抽象的轉化成UML方式來表現。光這個觀念筆者也是花了不少時間才建立起來。本書值得推薦的是,作者依開發流程分別說明每個階段會用到的UML圖有那些,詳細描述每個UML圖在引用時需要,並說明與前後階段的關連性,讓讀者能對UML的用意更有深刻體會。
而設計樣式(Design Patterns)相信也是許多開發人員難以消化的課題。本書針對四人幫所著之《Design Patterns》一書中常用Patterns的運用也有專章說明,除了介紹Patterns本身的用法之外,同時亦提到在設計及實作階段時運用這些Pattern時應該留意的重點,並搭配程式碼讓讀者更了解最終透過UML工具產生的程式內容。
光介紹UML是不夠的,結合實務及流程才重要
案例研究也是本書的另一個值得推薦的優點。許多UML書籍不是過度著墨在標記(Notations)的使用方式,就是很少與軟體開發流程結合,所以讀者常會有知道一大堆的UML圖,但卻說不出來那個階段該套用什麼樣的工具。作者以實例方式貫穿本書,讓讀者可以從需求階段開始,循序漸進地思考如何流暢地利用UML工具套用到開發流程的每個階段中。
本書目前為第三版,與前個版本內容的差別主要在於本書以UML第二版標準來介紹,增加了一個大家都十分熟悉的「大富翁遊戲」當做案例研究,在反覆及演進式開發過程中歸納出更多的使用技巧。同時在這個版本中加入敏捷(Agile Modeling)理論、重構(Refactoring)、以及測試導向開發(Test-Driven Development)的討論,亦說明如何套用UML於此輕量級的開發流程中。另外改良原有內容,加入更多的圖片及學習小技巧來輔助說明,並再加入一些業界較受歡迎的方法論進來,讓讀者更容易閱讀而且更實用。
《作者簡介》陳宏一
現任億訊國際資深顧問,交通大學資訊管理研究所碩士。曾任職於南亞科技資訊部工程師、資迅人網路研發副理、數位營運研發專案經理、艾群科技產品研發部經理,專精於OOAD、J2EE Technology、Web application development、軟體開發流程及專案管理等;通過SCJP、SCWCD、 SCJD、SCEA等認證。曾參與線上社群網站規劃設計、電子商務網站規劃設計、金流整合及後臺管理系統規劃設計、線上遊戲系統監控管理平臺及計費系統規劃設計、網路開店系統平臺架構設計、WAP Portal規劃設計等專案規劃與建置。
熱門新聞
2026-01-16
2026-01-16
2026-01-18
2026-01-16
2026-01-16
2026-01-18
2026-01-16