{iThome 書評—10} 寫給SA的UML/MDA實務手冊

寫給SA的UML/MDA實務手冊 寫給SA的UML/MDA實務手冊
———————————–
作者/邱郁惠 /著
出版社/上奇科技 出版
ISBN/9789866884597

內容簡介
UML發展至今,已經成為軟體發展的通用語言。現今的應用層面廣泛,從即時系統、嵌入式系統到晶片設計,都可以見到UML的身影。本書與其他UML書籍最大的不同,就是本書不僅止於觀念與學理的論述。而且透過一個開發基金交易平台的案例進行闡述,逐步說明從需求訪談到如何利用UML/MDA,利用一套名為StarUML的開放源碼工具,產出相對應的使用案例圖文、活動圖、類別圖、循序圖和狀態圖。

本書內容兼顧入門及進階、觀念與實務,適合作為初學UML的入門書,也可作為系統分析師實務手冊。對於大專院校學生、初入資訊界之新鮮人、程式設計師、及其他非專事系統分析的開發人員,也可以藉由此書溫故知新,更加熟悉UML。

前言

本書是由國內目前應該是最為資深的 UML 研究員邱郁惠小姐所著作的。邱小姐本身沈浸在物件導向領域已有 12 年的時間,直至今年 11 月初總算出版了她的第一本著作,也可以說,這本書就像是她的小孩一樣,從孵化到誕生,據我所知,起碼花了兩年左右的時間,用心可謂良苦。事實上,我與她曾是同事,再推溯往前一些,其實她也算是我的導師之一,我對她在以前上課時所撰寫的教材,印象深刻,她總是會引用許多國外軟體名家的著作或論文,這對我當時在軟體設計啟蒙的學習上,收穫實在甚多!

本書內容對我現在而言,可能稍嫌淺顯了一些,我是花了約一個下午就把這本書給全翻閱看完了。不過的確對郁惠小姐在 UML 領域底子之深厚感到佩服,基礎理論與語法等絕不會弄錯。例如 UC 的寫作敘述上,一定是稟持著每一個動作步驟必然會有參與者 (Actor)或系統當成主詞 (這是 UC 寫作常犯的錯誤,沒有標示主詞);不會在 UC 敘述上描述所有的細節,而是以參考附件或註記欄的方式,來關連以 UC 為首的一連串相關需求文件 (包括畫面等);還有如在循序圖的表達上,作者也展露出女孩子細心的一面,對於同步或非同步的訊息傳遞,是以帶實心箭頭,還是以待開放箭頭的表達,都相當講究,並且詳細的說明兩者的差異與其應用之處。

七個層次的分析步驟,來降低 SA 對 UML 的學習門檻

先瞭解一下,本書的目標讀者為 SA (System Analyst),也就是所謂的系統分析師,而系統分析包括對系統外部的功能需求與企業流程分析,以及對系統內部的結構分析,諸如資料庫表格、欄位明細等,還有以物件導向為分析主軸的類別圖與循序圖設計等。如同其它 UML 書籍一般,本書的案例與假設環境仍以企業層級的MIS 資訊系統為主,諸如 ERP, 進銷存 等。

本書共 11 個章節,文字敘述相當簡潔優雅,才 300 多頁,但內容卻也豐富,足夠讓 SA 俱備系統分析的基礎知識。作者在書本的內容編排上,是先介紹基礎概念,包括 OO, UML 與 MDA 等;再來就是把作者所創建的七個 SA 步驟,先濃縮在一個章節,快速地跑完一個案例,讓讀者可以看到每一個階段的設計產出;然後根據每一個步驟,共七個章節分別詳細闡述之;最後則以一個完整的個案,來模擬系統分析師與企業人員之間的對話情形,以及其更詳細的產出;最後一章算是附錄了,係以嵌入式系統為主軸,來展示不同的應用領域,但仍可以利用相同的分析步驟,來產出設計文件。

在 OO 與 UML 的概念介紹上,本書僅是點綴一番,並沒有著墨太深,所以讀者最好能佐以物件導向基礎理論的書籍一同研讀較佳;倒是作者在 SA 階段是以 MDA (Model-Driven Architecture) 的開發程序為依據,蠻有意思的。 MDA 主要將 UML 產出分為 CIM (Computation Independent Model), PIM (Platform Independent Model), PSM (Platform Specific Model)等三個階段。 CIM 比較接近以企業主體為主的塑模,包括企業案例、企業流程等;PIM 偏向領域概念模型 (Conceptual Model),較不涉及實做系統的平台;PSM 則落實到系統實現時的特定平台,如以 Spring, EJB2 或 .NET 等 IT 技術。 本書因對象是 SA,所以只涵蓋到 CIM 與 PIM,並未涉及到 PSM,所以自然本書也就不會有程式碼了。

饒富創意的是,作者將她對原來輔導包括陸總部、中科院的美國 DoD AF (Department of Defense Architecture Framework) 規格的研究,帶到 MDA 的開發程序,並依觀點與層次共分為 CIM 1~3, PIM 1-4 等共七個層次 (p.1-35)。每一個階段的產出,皆有相當明確的定義,例如 CIM-3, 是定義系統範圍,產出系統的 UC (Use Case) 圖;PIM-2, 分析企業規則,產出狀態圖;PIM-3,定義靜態結構,產出類別圖 …等。對於習慣能有規範指導方針的 SA 而言,這蠻不錯的,可以很清楚知道每一個階段的主要產出為何,它們彼此之間又是如何的關連與橋接。我比較感興趣的倒是作者以狀態圖來描述企業規則,這點倒是在我所輔導的專案中少以應用到 (我將狀態圖大部分用在 UI 與 Controller 的設計上),而且所引用自 Gray 對企業規則的分類結構 (p.7-2) 定義,包括限制規則與衍生規則等,在第七章均有詳細的說明與應用,這一部份可以說是我從本書所得到最大的收穫。

本書另外較有特色的一部份是在完整的個案分析上,作者是以模擬 SA 與企業人員之間的對話,來導出各個階段的設計。可不要以為那只是模擬而已,其實對話的內容是作者在自身實際輔導的經驗中所粹取出來的,在作者每一次的輔導過程中,她總是拿著一本空白小筆記本,寫下她所碰到的各類情況與問題,相當認真,參考價值自然是甚高。藉由這些對話案例,也可以讓 SA 瞭解需求當事人他們的想法與原作者作為 SA 時的思考推理過程。

作者的用心與考究,從本書可以很明顯的感受到

看完本書後的感想是:創新仍嫌不足,但守成絕對有餘!

可以說是中規中矩的教科用書,雖然沒有讓我有感到很驚豔有趣的想法,但看來很平淡鋪陳的內容,理論基礎可是相當紮實,即使我想雞蛋挑骨頭,還真找不太出有特別顯著的謬論假設,我可以感覺得出郁惠小姐在寫這些內容時,應該是戒慎戰兢,是熟讀並參考了包括 UML 規格與諸多相關書籍及論文等著作後才下筆的。

本書應該是定位在資淺或入門的 SA 為對象,對於作為大學教科用書,我更是強烈推薦給資訊科系相關的大學或研究生。老實說,我看過國內幾本標榜 UML/OO 的軟體工程教科用書,都沒有如本書考究如此嚴謹與用心,基本上就是以如樹狀功能模組來解釋 UC, 物件循序圖等,很典型的 DFD (Data-Flow Diagram)功能分解的思維,只是藉由 UML 的“殼”來解釋而已,與所謂的物件導向式的分析設計思維根本是兩回事。這樣的教科用書,對於學生在軟體設計理論基礎知識的建立上,誤導成分反而居多,實在不甚理想。

文章導覽

   

共有 4 則迴響

  1. 看了很令人很心動
    翻過多本中文本的uml,沒有真的寫的很讓自己能夠接受的
    也許是翻譯書的關係
    英文本,又卡在英文的敘述…總是參不透其中的意義。

  2. It sounds like a very interesting book to read. I am working on business analysis as well as dealing with SDLC and involved in various project in the system integration test, user acceptance test. I’d be very much interested to explorer this book content to advance my knowledge especially in UML area. The area that I’d always want to improve and learn. Where can I buy this if ordering from overseas?

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *