出版時間:2012-3 出版社:中國水利水電出版社 作者:譚云杰 頁數(shù):526
Tag標簽:無
內容概要
本書以UML為載體,將面向對象的分析設計思想巧妙地融入建模過程中,通過貫穿全書的實例將軟件系統(tǒng)開發(fā)過程中方方面面的知識有機地結合在一起,用生動的語言和精彩的事例將復雜枯燥的軟件過程講解得津津有味。
全書分為四個部分。第一部分講述面向對象分析的一些基本概念,及學習建模需要了解的一些基本知識。第二部分對UML的基礎概念重新組織和歸納整理,進行擴展和討論,引申出針對UML的這些概念在面向對象方法中應用方法的思考。第三部分以一個實例貫穿全篇,闡述如何使用UML從頭到尾地實施一個項目。第四部分針對在現(xiàn)實中經(jīng)常遇到并且較難掌握的問題進行深入的探討,升華在前幾篇學習到的知識。
本書可供正在學習編程、軟件工程等知識,準備將來從事IT行業(yè)的讀者、正努力向設計師或系統(tǒng)分析員轉變的技術人員及期望對軟件分析設計更上一層樓的設計人員學習和提高之用。
作者簡介
譚云杰:
CSDN專家博客coffeewoo博主。資深架構師,PMP獲得者,擅長于系統(tǒng)建模和系統(tǒng)分析設計。從事過電力、政府、航空等多個行業(yè)的管理軟件開發(fā)工作和工作流中間件產(chǎn)品的研發(fā)工作,擁有十多個軟件項目的分析設計經(jīng)驗和架構設計經(jīng)驗,其中不乏中型和大型軟件項目。目前就職于某著名跨國軟件企業(yè)中國研發(fā)中心,從事產(chǎn)品研發(fā)工作。
作者使用UML進行系統(tǒng)分析建模至今已十年有余,對系統(tǒng)建模、分析和設計有深刻而獨道的見解。在其博客上發(fā)表的OO系統(tǒng)分析員之路系列文章短短時間內便獲得了十幾萬的點擊量,深受讀者的喜愛。
書籍目錄
大象希形
再版序
寫給讀者的話
關于本書
如何閱讀本書
免費下載資源使用說明
Part I 你需要了解
第1章 為什么需要UML
1.1 面向過程還是面向對象
1.1.1 面向過程方法
1.1.2 面向過程的困難
1.1.3 面向對象方法
1.1.4 面向對象的困難
1.2 UML帶來了什么
1.2.1 什么是UML
1.2.2 統(tǒng)一語言
1.2.3 可視化
1.2.4 從現(xiàn)實世界到業(yè)務模型
1.2.5 從業(yè)務模型到概念模型
1.2.6 從概念模型到設計模型
1.2.7 面向對象的困難解決了嗎
1.3 統(tǒng)一過程簡介
1.3.1 RUP是什么
1.3.2 RUP與UML
1.3.3 RUP與軟件工程
1.3.4 RUP與最佳實踐
1.3.5 RUP與本書
第2章 建?;A
2.1 建模
2.2 用例驅動
2.3 抽象層次
2.4 視圖
2.5 對象分析方法
Part II 在學習中思考
第3章 UML核心元素
3.1 版型
3.2 參與者
3.2.1 基本概念
3.2.2 發(fā)現(xiàn)參與者
3.2.3 業(yè)務主角
3.2.4 業(yè)務工人
3.2.5 參與者與涉眾的關系
3.2.6 參與者與用戶的關系
3.2.7 參與者與角色的關系
3.2.8 參與者的核心地位
3.2.9 檢查點
3.3 用例
3.3.1 基本概念
3.3.2 用例的特征
3.3.3 用例的粒度
3.3.4 用例的獲得
3.3.5 用例和功能的誤區(qū)
3.3.6 目標和步驟的誤區(qū)
3.3.7 用例粒度的誤區(qū)
3.3.8 業(yè)務用例
3.3.9 業(yè)務用例實現(xiàn)
3.3.10 概念用例
3.3.11 系統(tǒng)用例
3.3.12 用例實現(xiàn)
3.4 邊界
3.4.1 邊界決定視界
3.4.2 邊界決定抽象層次
3.4.3 靈活使用邊界
3.5 業(yè)務實體
3.5.1 業(yè)務實體的屬性
3.5.2 業(yè)務實體的方法
3.5.3 獲取業(yè)務實體
3.6 包
3.7 分析類
3.7.1 邊界類
3.7.2 控制類
3.7.3 實體類
3.7.4 分析類的三高
3.8 設計類
3.8.1 類
3.8.2 屬性
3.8.3 方法
3.8.4 可見性
3.9 關系
3.9.1 關聯(lián)關系(association)
3.9.2 依賴關系(dependency)
3.9.3 擴展關系(extends)
3.9.4 包含關系(include)
3.9.5 實現(xiàn)關系(realize)
3.9.6 精化關系(refine)
3.9.7 泛化關系(generalization)
3.9.8 聚合關系(aggregation)
3.9.9 組合關系(composition)
3.10 組件
3.10.1 完備性
3.10.2 獨立性
3.10.3 邏輯性
3.10.4 透明性
3.10.5 使用組件
3.11 節(jié)點
3.11.1 分布式應用環(huán)境
3.11.2 多設備應用環(huán)境
第4章 UML核心視圖
4.1 靜態(tài)視圖
4.1.1 用例圖
4.1.2 類圖
4.1.3 包圖
4.2 動態(tài)視圖
4.2.1 活動圖
4.2.2 狀態(tài)圖
4.2.3 時序圖
4.2.4 協(xié)作圖
第5章 UML核心模型
5.1 用例模型概述
5.2 業(yè)務用例模型
5.2.1 業(yè)務用例模型主要內容
5.2.2 業(yè)務用例模型工件的取舍
5.2.3 何時使用業(yè)務用例模型
5.3 概念用例模型
5.3.1 概念用例模型的主要內容
5.3.2 獲得概念用例
5.3.3 何時使用概念用例模型
5.4 系統(tǒng)用例模型
5.4.1 系統(tǒng)用例模型的主要內容
5.4.2 獲得系統(tǒng)用例
5.5 領域模型
5.5.1 讀者須知
5.5.2 基本概念
5.5.3 領域模型的主要內容
5.6 分析模型
5.6.1 如何使用分析模型
5.6.2 分析模型的主要內容
5.6.3 分析模型的意義
5.7 軟件架構和框架
5.7.1 軟件架構
5.7.2 軟件框架
5.7.3 何時使用架構和框架
5.8 設計模型
5.8.1 設計模型的應用場合
5.8.2 設計模型的主要內容
5.8.3 從分析模型映射到設計模型
5.9 組件模型
5.9.1 何時使用組件模型
5.9.2 廣義組件的用法
5.10 實施模型
何時使用實施模型
第6章 統(tǒng)一過程核心工作流簡介
6.1 業(yè)務建模工作流程
6.1.1 工作流程
6.1.2 活動集和工件集
6.1.3 業(yè)務建模的目標和場景
6.2 系統(tǒng)建模工作流程
6.2.1 工作流程
6.2.2 活動集和工件集
6.2.3 系統(tǒng)建模的目標
6.3 分析設計建模工作流程
6.3.1 工作流程
6.3.2 活動集和工件集
6.3.3 分析設計的目標
6.3.4 推薦的分析設計工作流程簡介
6.4 實施建模工作流程
6.4.1 工作流程
6.4.2 活動集和工件集
6.4.3 推薦的實施建模工作流程
第7章 迭代式軟件生命周期
Part III 在實踐中思考
第8章 準備工作
8.1 案例說明
8.2 了解問題領域
8.2.1 了解業(yè)務概況
8.2.2 整理業(yè)務目標
8.3 做好涉眾分析
8.3.1 什么是涉眾
8.3.2 發(fā)現(xiàn)和定義涉眾
8.3.3 涉眾分析報告
8.4 規(guī)劃業(yè)務范圍
8.4.1 規(guī)劃業(yè)務目標
8.4.2 規(guī)劃涉眾期望
8.5 整理好你的思路
8.5.1 劃分優(yōu)先級
8.5.2 規(guī)劃需求層次
8.5.3 需求調研計劃
8.6 客戶訪談技巧
8.6.1 溝通的困難
8.6.2 溝通技巧
8.7 提給讀者的問題
第9章 獲取需求
9.1 定義邊界
9.1.1 盤古開天——從混沌走向清晰
9.1.2 現(xiàn)在行動:定義邊界
9.1.3 進一步討論
9.1.4 提給讀者的問題
9.2 發(fā)現(xiàn)主角
9.2.1 女媧造人——誰來掌管這個世界
9.2.2 現(xiàn)在行動:發(fā)現(xiàn)主角
9.2.3 進一步討論
9.2.4 提給讀者的問題
9.3 獲取業(yè)務用例
9.3.1 炎黃之治——從愚昧走向文明
9.3.2 現(xiàn)在行動:獲取業(yè)務用例
9.3.3 進一步討論
9.3.4 提給讀者的問題
9.4 業(yè)務建模
9.4.1 商鞅變法——強盛的必由之路
9.4.2 現(xiàn)在行動:建立業(yè)務模型
9.4.3 進一步討論
9.4.4 提給讀者的問題
9.5 領域建模
9.5.1 風火水土——尋找構成世界的
基本元素
9.5.2 現(xiàn)在行動:建立領域模型
9.5.3 進一步討論
9.5.4 提給讀者的問題
9.6 提煉業(yè)務規(guī)則
9.6.1 牛頓的思考——揭穿蘋果的秘密
9.6.2 現(xiàn)在行動:提煉業(yè)務規(guī)則
9.6.3 進一步討論
9.6.4 提給讀者的問題
9.7 獲取非功能性需求
9.7.1 非物質需求——精神文明是
不可缺少的
9.7.2 現(xiàn)在行動:獲取非功能性需求
9.7.3 進一步討論
9.7.4 提給讀者的問題
9.8 主要成果物
提給讀者的問題
第10章 需求分析
10.1 關鍵概念分析
10.1.1 阿基米德杠桿——找到撬動地球的
支點
10.1.2 現(xiàn)在行動:建立概念模型
10.1.3 進一步討論
10.1.4 提給讀者的問題
10.2 業(yè)務架構
10.2.1 拼圖游戲——我們也想造個世界
10.2.2 現(xiàn)在行動:建立業(yè)務架構
10.2.3 進一步討論
10.2.4 提給讀者的問題
10.3 系統(tǒng)原型
第11章 系統(tǒng)分析
11.1 確定系統(tǒng)用例
11.1.1 開始規(guī)劃——確定新世界的萬物
11.1.2 現(xiàn)在行動:確定系統(tǒng)用例
11.1.3 現(xiàn)在行動:描述系統(tǒng)用例
11.1.4 進一步討論
11.1.5 提給讀者的問題
11.2 分析業(yè)務規(guī)則
11.2.1 設定規(guī)則——沒有規(guī)矩不成方圓
11.2.2 現(xiàn)在行動:分析業(yè)務規(guī)則
11.2.3 提給讀者的問題
11.3 用例實現(xiàn)
11.3.1 繪制藍圖——世界將這樣運行
11.3.2 現(xiàn)在行動:實現(xiàn)用例
11.3.3 進一步討論
11.3.4 提給讀者的問題
11.4 軟件架構和框架
11.4.1 設計架構——新世界的骨架
11.4.2 什么是軟件架構
11.4.3 什么是軟件框架
11.4.4 軟件架構的基本構成
11.4.5 應用軟件架構
11.4.6 提給讀者的問題
11.5 分析模型
11.5.1 設計功能零件——讓世界初步
運轉起來
11.5.2 現(xiàn)在行動:建立分析模型
11.5.3 進一步討論
11.5.4 提給讀者的問題
11.6 組件模型
11.6.1 設計功能部件——構建世界的
基礎設施
11.6.2 現(xiàn)在行動:建立組件模型
11.6.3 進一步討論
11.6.4 提給讀者的問題
11.7 部署模型
11.7.1 安裝零部件——組裝一個新世界
11.7.2 現(xiàn)在行動:建立部署模型
11.7.3 提給讀者的問題
第12章 系統(tǒng)設計
12.1 系統(tǒng)分析與系統(tǒng)設計的差別
12.2 設計模型
12.2.1 按圖索驥——為新世界添磚加瓦
12.2.2 現(xiàn)在行動:將分析模型映射到
設計模型
12.2.3 進一步討論
12.2.4 提給讀者的問題
12.3 接口設計
12.3.1 暢通無阻——構建四通八達的
神經(jīng)網(wǎng)絡
12.3.2 現(xiàn)在行動:設計接口
12.3.3 進一步討論
12.3.4 提給讀者的問題
12.4 包設計
12.4.1 分工合作——組織有序世界
才能更好
12.4.2 現(xiàn)在行動:設計包
12.4.3 進一步討論
12.5 提給讀者的問題
第13章 數(shù)據(jù)庫設計
13.1 關公戰(zhàn)秦瓊——面向對象與關系
模型之爭
13.2 相輔相成——面向對象的數(shù)據(jù)庫設計
13.3 平衡的藝術——數(shù)據(jù)庫設計的方法
和策略
13.3.1 OR-Mapping策略
13.3.2 對象—關系平衡策略
13.4 進一步討論——數(shù)據(jù)庫設計到底
有多重要
第14章 開發(fā)
14.1 生成代碼
14.1.1 現(xiàn)在行動:生成代碼
14.1.2 進一步討論
14.2 分工策略
14.2.1 縱向分工策略
14.2.2 橫向分工策略
14.2.3 選擇適合你的開發(fā)分工策略
Part IV 在提煉中思考
第15章 測試
15.1 質量保證——新世界需要穩(wěn)健運行
15.2 設計和開發(fā)測試例
15.3 提給讀者的問題
第16章 理解用例的本質
16.1 用例是系統(tǒng)思維
16.2 用例是面向服務的
16.3 善用用例方法
第17章 理解用例驅動
17.1 用例與項目管理
17.2 用例與可擴展架構
第18章 用例驅動與領域驅動
18.1 用例驅動與領域驅動的差異
18.2 領域驅動的理想與現(xiàn)實
18.3 如何決定是否采用領域驅動方法
第19章 理解建模的抽象層次
19.1 再討論抽象層次
19.1.1 層次高低問題
19.1.2 層次不交叉問題
19.2 如何決定抽象層次
19.3 抽象層次與UML建模的關系
第20章 劃分子系統(tǒng)的問題
20.1 面向對象的子系統(tǒng)問題
20.2 UC矩陣還適用嗎
20.3 如何劃分子系統(tǒng)
第21章 學會使用系統(tǒng)邊界
21.1 邊界是面向對象的保障
21.2 利用邊界來分析需求
21.2.1 邊界分析示例一
21.2.2 邊界分析示例二
21.3 邊界意識決定設計好壞
第22章 學會從接口認知事物
22.1 怎樣描述一件事物
22.2 接口是系統(tǒng)的靈魂
第23章 學會正確選擇
23.1 屁股決定腦袋——學會綜合權衡
23.2 理辯則明——學會改變視角
第24章 學會使用設計模式
24.1 如何學習設計模式
24.2 如何使用設計模式
附錄 UML視圖常用元素參考
圖目錄
表目錄
后記
章節(jié)摘錄
版權頁:你需要了解… …何為面向對象?很多人不懂;很多人以為懂了,其實沒懂,面向對象的精髓在抽象;面向對象的困難在抽象;面向對象的成功于成功的抽象。正所謂成也抽象,敗也抽象,還是打好基本功,從基本的面向對象開始吧。1 為什么需要EML過程還是對象?這是個問題。談到UML,第一個繞不開的話題就是面向對象,就讓我們先從基本的方法開始,逐步揭開面向對象的面紗吧。1.1 面向過程還是面向對象面向對象如今在軟件行業(yè)是如此著名的一個術語,以至于人們以為面向對象是現(xiàn)代科學發(fā)展到一定程度才出現(xiàn)的研究成果。在很多人看來,面向過程和面向對象都是一種軟件技術。例如把面向過程歸納為結構化程序設計、DFD圖、ER模型、UC矩陣等,而面向對象則被歸納為繼承、封裝、多態(tài)、復用等具體手技術。事實上,上述的所有技術都只是人們在采用不同的方法來認識和描述這個世界時所采用的工具,它們都只是表征而不是本征。讓我們先來看看公認的面向對象大師,也是UML創(chuàng)始人之一的Grady Booch在2004年IBM Deceloper Works Live!大會的訪談中講過的一段流傳甚廣的話。
編輯推薦
《大象:Thinking in UML(第2版)》是一本講軟件的分析、設計與建模的書;一本將晦澀的概念與項目的實踐緊密結合的書;一本讓您與似是而非的感覺做個了斷的書;一本充滿思想與智慧的書……字字珠璣,醍醐灌頂。從來沒有一本書,帶給軟件開發(fā)人員如此醍醐灌頂?shù)母惺?。軟件江湖盛傳的“UML第一書”,開發(fā)人員夢寐以求的“九陽真經(jīng)”,真正助您打通軟件開發(fā)“任督二脈”。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
大象:Thinking in UML(第2版) PDF格式下載