內容簡介
UseCase是軟體系統需求分析師的必備利器。二十年來,UseCase的基礎概念和技術都沒有改變,但UseCase技能的培養,則是軟體開發人員適用未來任何軟體系統開發的需要。本書針對目前軟體開發人員經常遇到的系統需求分析問題,闡述如何運用UseCase技術加以解決。首先對UseCase的基礎觀念和技術的各個方面分別進行說明和解析,然後通過4個翔實的開發案例來幫助讀者深入理解UseCase-Driven軟體開發技術的實踐套用。
作者簡介
高煥堂,台灣軟體架構設計大師,從事IT行業近30年,台灣OO技術的代表人物。現任MISOO軟體開發與管理顧問公司首席架構師,編著過十餘本軟體技術相關書籍。多年來一直與UMLChina密切聯繫,與大陸軟體人員分享軟體“設計”的觀點、技術和哲理。
目錄
第1章認識UseCase
1.1什麼是UseCase
1.2認識UseCase及其場景
1.3UseCase模型與UseCase描述
1.4UseCase、對象與系統的親密關係
1.5UseCase的經濟意義
1.6UML從3個角度表達UseCase
1.6.1從用戶角度看UseCase
1.6.2從用戶與系統的互動角度看UseCase
1.6.3從對象的合作角度看UseCase
1.7以UseCase表達創新功能
1.8UseCase間的關係
1.8.1包含關係
1.8.2擴展關係
1.9以UseCase表達WebService接口
1.9.1UseCase與WebService接口的親密關係
1.9.2UseCase與WebService的套用示例
1.10免費的UML開發工具staruml
1.11習題
第2章使用StarUML繪製UseCase圖
2.1創建新UseCase圖
2.1.1創建新UseCase圖的途徑之一
2.1.2創建新UseCase圖的途徑之二
2.1.3刪除UseCase圖的途徑
2.1.4關閉UseCase圖的途徑
2.1.5UseCase圖的工具箱
2.2繪製UseCase圖的內容
2.2.1新增Actor
2.2.2刪除Actor
2.2.3為Actor添加Stereotype
2.2.4新增UseCase
2.2.5為UseCase添加Stereotype
2.2.6刪除UseCase
2.2.7新增結合關係
2.2.8刪除關聯關係
2.2.9綜合練習
2.3編寫UseCase描述
2.3.1文檔頁區
2.3.2批註
2.4習題
第3章找出優質的系統UseCase
3.1何謂優質的系統UseCase
3.2關心企業服務
3.2.1“企業UseCase圖”示例
3.2.2“業務活動圖”示例
3.3從“業務UseCase圖”出發
3.3.1美妙的關聯性
3.3.2程式的演練
3.3.3StarUML的套用
3.4從“企業活動圖”出發
3.4.1美妙的關聯性
3.4.2程式演練與實例解說:以機器人控制系統為例
3.5習題
第4章如何編寫UseCase描述
4.1一般場景與替代場景
4.2UseCase描述的格式
4.2.1常見的格式
4.2.2編碼的格式
4.3實例觀摩與演練
4.4習題
第5章UseCase的分解
5.1從活動的分解看UseCase
5.2UseCase伴隨對象的分解而分解
5.3習題
第6章UseCase的溝通
6.1UseCase溝通的困惑
6.2釐清“溝通”的涵義
6.3UseCase圖不表達UseCase的溝通
6.4習題
第7章TestCase的設計與執行
7.1認識TestCase分析
7.2“青蛙王子”實例解說
7.2.1系統開發
7.2.2TestCase設計
7.2.3編寫TestCase代碼
7.3習題
第8章UseCase實現示例之一
8.1整體系統規劃
8.1.1整體系統的UseCase圖
8.1.2整體系統的類圖
8.2使用VisualBasic.Net開發
“販賣機控制系統”
8.2.1設計UseCase圖
8.2.2設計序列圖
8.2.3編寫VisualBasic.Net代碼
8.3開發客戶端應用程式系統
8.3.1設計UseCase圖
8.3.2設計序列圖
8.4以Java實現本章示例
8.5習題
第9章UseCase實現示例之二
9.1UseCase-Driven與I&I
9.2進行企業目標分析
9.2.1繪製企業UseCase圖
9.2.2編寫UseCase描述
9.3導出系統UseCase圖
9.4分析主要類
9.5設計詳細類圖
9.6疊代一:“客戶入會”
9.6.1設計序列圖
9.6.2編寫Java代碼
9.7疊代二:“查詢會員數據”
9.7.1設計序列圖
9.7.2編寫Java代碼
9.8依序疊代下去,完成整個項目
9.9習題
第10章UseCase實現示例之三
10.1基礎“錄音”概念和技術
10.1.1認識PCM規格
10.1.2設定錄音格式
10.1.3設定緩衝區格式
10.1.4將音頻數據寫入.wav音頻檔案
10.1.5使用Win32所提供的API
10.2“聲音錄製”示例分析與設計
10.2.1繪製系統UseCase圖
10.2.2繪製類圖
10.2.3繪製序列圖
10.3使用VisualBasic.Net實現“聲音錄製”示例
10.4擴展“聲音錄製”示例
10.4.1新(擴展的)系統的分析與設計
10.4.2新(擴展的)系統的實現
10.5習題
第11章UseCase實現示例之四
11.1認識嵌入式/實時系統
11.2簡介UML的Stereotype概念
11.3認識systemC
11.3.1簡介
11.3.2編寫一個簡單的SystemC程式
11.4ToggleLight系統的分析與設計
11.4.1分析系統UseCase
11.4.2分析系統類
11.4.3表達UseCase的實現
11.4.4以UseCase表達進程的合作
11.4.5設計序列圖
11.5使用C++和SystemC實現ToggleLight系統
11.5.1編寫應用程式代碼
11.5.2編寫Win32應用程式代碼
11.5.3開始模擬
11.6習題
第12章UseCase實現示例之五
12.1簡介Spring的IoC概念
12.1.1先認識“正向控制”
12.1.2“反向控制”的意義
12.1.3Spring框架的IoC機制
12.2Spring套用示例分析與設計
12.2.1繪製系統UseCase圖
12.2.2IoC模組的UseCase圖
12.2.3繪製類圖
12.2.4繪製序列圖
12.2.5設計Spring的Bean定義檔案
12.3Spring套用示例的實現
12.4習題
第13章UseCase實現示例之六
13.1簡介塗鴉的概念
13.1.1形形色色的塗鴉程式
13.1.2“塗鴉程式”示例說明
13.2“塗鴉程式”示例分析與設計
13.2.1繪製系統UseCase圖
13.2.2繪製類圖
13.2.3繪製Scribble類的狀態圖
13.2.4繪製序列圖
13.3使用Eclipse/Java實現“塗鴉程式”示例
13.4習題
第14章UseCase實現示例之七
14.1簡介AHP層次分析法
14.2AHP的分析步驟
14.3採用“成對相比”法得到權數值
14.3.1成對相比
14.3.2由“成對比值”算出“權數值”
14.3.3“成對比值”的一致性檢驗
14.4“AHP程式”示例分析與設計
14.4.1繪製系統UseCase圖
14.4.2繪製類圖
14.4.3繪製序列圖
14.5使用Eclipse/Java實現“AHP程式”示例
14.5.1準備決策數據
14.5.2以Java編寫AHP程式
14.6習題
……