假如你像大部份的軟體開發者一樣,你正在建置的系統總會變得越來越複雜。無論是桌面應用程式,還是企業級系統,複雜度是一頭毛茸茸的巨獸,你必須正視它。
統一塑模語言(UML)幫助你處理這個複雜度。無論你視 UML 的使用為一種藍圖語言(blueprint Language),草稿工具(sketch tool),或是一種程式語言,這本書將帶給你所必須知道的知識,以及將 UML 應用到專案的方法。雖然已經有許多說明 UML 的書,《UML 2.0學習手冊》將告訴你如何使用它,涵蓋主題如下:
● 在你的模型裡捕捉系統的需求,確保你的設計切合使用者的需要
● 為組成系統的各個部分及彼此間的關係進行塑模
● 為組成系統的各部分如何彼此合作進行塑模,協力滿足系統的需求
● 在現實世界裡,塑模、捕捉、及部署你的系統
既迷人又容易理解,這本書告訴你如何運用 UML,精雕細琢及傳達你的專案設計。Russ Mile 與 Kim Hamilton 根據得之不易的實務經驗(而非理論),為 UML 做出務實的介紹。無論你採用何種軟體流程及方法論,《UML 2.0 學習手冊》是你在使用 UML 2.0 時必備的參考資源。額外的資訊(包括練習)可在 http://www.learninguml2.com 找到。
作者簡介:
Russ Miles 是英國 General Dynamics 公司的軟體工程師,在那裡,他使用 Java 並開發分散式系統。然而,他目前的興趣在於面向導向(Aspect Orientation)的相關領域,特別是 AspectJ。
Kim Hamilton 是一家大型航太公司的資深軟體工程師,在那裡,她設計並實作過各式各樣的系統,包括網頁應用程式,以及分散式系統。
統一塑模語言(UML)是為系統塑模(model)的標準方式,特別是軟體系統。如果你正在進行一個 "Hello, World" 以外的現實世界系統,UML 是你技能百寶箱裡一項必備的工具,這本書正是你著手學習 UML 2.0 之處。
各界推薦
名人推薦:
「自 1997 年被公諸於世以來,統一塑模語言已經讓軟體開發產生了革命性的效應,全世界每一種整合式的軟體開發環境 — 開放原始碼,基礎標準,智慧財產 — 現在都支援 UML,更重要的是,還支援模型驅動(model-driven)的軟體開發方法。這使得學習這項最新的 UML 標準(UML 2.0),對所有軟體開發者變得非常重要。而且,就學習這個語言來講,沒有其他比這本清晰,且一步步說明的指南更好的選擇」
— Richard Mark Soley,總裁暨執行長,OMG
名人推薦:「自 1997 年被公諸於世以來,統一塑模語言已經讓軟體開發產生了革命性的效應,全世界每一種整合式的軟體開發環境 — 開放原始碼,基礎標準,智慧財產 — 現在都支援 UML,更重要的是,還支援模型驅動(model-driven)的軟體開發方法。這使得學習這項最新的 UML 標準(UML 2.0),對所有軟體開發者變得非常重要。而且,就學習這個語言來講,沒有其他比這本清晰,且一步步說明的指南更好的選擇」
— Richard Mark Soley,總裁暨執行長,OMG
目錄
目錄
前言
第 1 章 簡介
塑模語言裡有些什麼?
冗贅,含糊,混淆︰以非正式語言塑模
中庸之道︰正式語言
為何使用 UML 2.0?
模型和圖
UML 的「使用程度」
UML 與軟體開發流程
模型的視圖(View)
初嚐 UML
想要更多資訊嗎?
第 2 章 為需求塑模:使用案例
捕捉系統需求
使用案例關係(Use Case Relationship)
使用案例概觀圖
下一步
第 3 章 為系統工作流塑模︰活動圖
活動圖要點
活動與動作
決策節點和合併節點
同時做多項任務
時間事件(Time Event)
呼叫其他活動
物件
傳送與接收信號
開啟活動
結束活動與諸 Flow
活動分區或泳道(Partition 或 Swimlane)
管理複雜的活動圖
下一步
第 4 章 為系統的邏輯結構塑模︰類別與類別圖介紹
什麼是類別?
從 UML 裡的類別開始
能見度(visibility)
類別狀態︰屬性
類別行為︰操作
下一步
第 5 章 為系統的邏輯結構塑模︰進階類別圖
類別關係
限制條件(Constraint)
抽象類別 (Abstract Class)
介面(Interface)
樣板(template)
下一步
第 6 章 讓類別實例化︰物件圖
物件實例(object Instance)
連結
繫結類別樣板
下一步
第 7 章 為有序互動塑模︰循序圖
循序圖裡的參與者
時間
事件,信號,與訊息
活動條(Activation Bar)
巢狀訊息(Nested Message)
訊息箭號
以循序圖讓使用案例甦醒
以 Sequence Fragment(順序片段)管理複雜的互動
下一步
第 8 章 聚焦於互動的連結:溝通圖
參與者,連結,與訊息
以溝通圖充實互動
下一步
第 9 章 聚焦於互動的時序︰時序圖
時序圖的樣子
從循序圖建立時序圖
為時序圖加上參與者
狀態(State)
時間
參與者的狀態線
事件與訊息
時序限制
組織時序圖上的參與者
替代表示法
下一步
第 10 章 完成互動的整體圖像︰互動概觀圖
互動概觀圖的各部分
以互動概觀為使用案例塑模
下一步
第 11 章 為類別的內部結構塑模︰合成結構
內部結構(Internal Structure)
顯示類別如何被使用
以合作顯示樣式
下一步
第 12 章 管理及重利用系統零件︰元件圖
何謂元件?
UML 裡的基本元件
元件的提供介面與需求介面
顯示一同工作的元件
實現元件的類別
埠口與內部結構
黑箱與白箱的元件觀點
下一步
第 13 章 組織你的模型︰套件
套件
套件的內容
互相參考的名稱空間與類別
元素能見度(Element Visibility)
套件依賴性
匯入與存取套件
管理套件依賴性
使用套件組織使用案例
下一步
第 14 章 為物件的狀態塑模︰狀態機圖
基本要點
狀態
轉換(Transition)
軟體裡的狀態
進階狀態行為
合成狀態(composite state)
信號(Signal)
協定狀態機(Protocol State Machine)
下一步
第 15 章 為部署系統塑模︰部署圖
部署一個簡單的系統
部署的軟體︰生成物(artifact)
何謂節點?
硬體和執行環境節點
節點間的溝通
部署規格(Deployment Specifications)
何時使用部署圖
下一步
附錄 A 物件限制條件語言(Object Constraint Language)
附錄 B 調整與擴充 UML︰特性描述檔
附錄 C UML 簡史
索引
目錄
前言
第 1 章 簡介
塑模語言裡有些什麼?
冗贅,含糊,混淆︰以非正式語言塑模
中庸之道︰正式語言
為何使用 UML 2.0?
模型和圖
UML 的「使用程度」
UML 與軟體開發流程
模型的視圖(View)
初嚐 UML
想要更多資訊嗎?
第 2 章 為需求塑模:使用案例
捕捉系統需求
使用案例關係(Use Case Relationship)
使用案例概觀圖
下一步
第 3 章 為系統工作流塑模︰活動圖
活動圖要點
活動與動作
決策節點和合併節點
同時做多項任務
時間事件(Time Ev...