本書是由多年從事軟件工程教學的教師和科研人員根據教學的特點精心組織和編寫的。本書從面向對象技術的基本概念開始,由淺入深地介紹了UML語言建模的基本語法、建模的基本步驟、RUP開發過程等,重點章節配套實例講解,最后通過一個應用案例詳細介紹了基于UML語言的面向對象建模開發過程。全書共12章,第1章~第3章介紹了面向對象分析與設計技術的基本概念;第4章~第10章詳細介紹了基于UML語言進行面向對象建模的詳細方法和步驟以及注意事項;第11章介紹了RUP開發過程;第12章通過一個應用案例詳細介紹了面向對象開發的過程。
目 錄
第1章 軟件工程和建模\\t(1)
1.1 軟件工程的發展歷史\\t(1)
1.2 軟件工程的基本原理\\t(2)
1.3 軟件生命周期\\t(3)
1.4 軟件開發模型\\t(5)
1.5 軟件開發方法\\t(10)
1.5.1 面向過程的開發方法\\t(10)
1.5.2 面向數據結構的開發方法\\t(10)
1.5.3 面向對象的開發方法\\t(11)
1.6 軟件開發方法的評價與選擇\\t(12)
1.7 軟件建模\\t(14)
本章小結\\t(16)
習題1\\t(16)
第2章 面向對象技術\\t(17)
2.1 什么是面向對象\\t(17)
2.2 面向對象的基本概念\\t(18)
2.3 面向對象的分析\\t(22)
2.4 面向對象的設計\\t(23)
2.4.1 面向對象的設計準則\\t(23)
2.4.2 面向對象的設計過程\\t(25)
2.5 面向對象方法比較\\t(28)
2.5.1 Booch面向對象方法\\t(29)
2.5.2 Jacobson的面向對象方法\\t(31)
2.5.3 Coad-Yourdon面向對象方法\\t(32)
2.5.4 OMT面向對象方法\\t(34)
2.6 面向對象開發語言和建模工具\\t(36)
本章小結\\t(36)
習題2\\t(36)
第3章 UML語言基礎\\t(37)
3.1 UML發展歷史\\t(37)
3.2 UML的主要內容\\t(38)
3.2.1 UML語義\\t(39)
3.2.2 UML 表示法\\t(39)
3.2.3 對象約束語言\\t(41)
3.3 UML中的符號和圖形\\t(41)
3.3.1 模型的概念\\t(41)
3.3.2 模型元素\\t(41)
3.3.3 模型元素之間的關系\\t(42)
3.3.4 模型組織\\t(43)
3.4 公共機制\\t(46)
3.4.1 修飾\\t(46)
3.4.2 說明\\t(46)
3.4.3 公共劃分\\t(46)
3.5 擴展機制\\t(47)
3.5.1 構造型\\t(47)
3.5.2 標記值\\t(48)
3.5.3 約束\\t(48)
3.6 UML的特點和應用領域\\t(49)
3.6.1 UML的主要特點\\t(49)
3.6.2 UML的應用領域\\t(50)
本章小結\\t(52)
習題3\\t(52)
第4章 用例圖\\t(53)
4.1 概述\\t(53)
4.2 系統\\t(54)
4.3 活動者\\t(55)
4.3.1 定義\\t(55)
4.3.2 確定活動者\\t(55)
4.3.3 活動者之間的關系\\t(56)
4.4 用例\\t(57)
4.4.1 定義\\t(57)
4.4.2 用例表示法\\t(57)
4.4.3 用例描述\\t(57)
4.5 用例之間的聯系\\t(59)
4.5.1 泛化聯系\\t(59)
4.5.2 使用聯系\\t(59)
4.5.3 包含聯系\\t(60)
4.5.4 擴展聯系\\t(60)
4.6 用例建模\\t(61)
4.6.1 建立用例圖\\t(61)
4.6.2 用例建模中應注意的問題\\t(61)
4.7 實例講解\\t(62)
4.7.1 班級信息管理系統\\t(62)
4.7.2 圖書借閱管理系統\\t(63)
本章小結\\t(65)
習題4\\t(65)
第5章 對象圖和類圖\\t(67)
5.1 概述\\t(67)
5.2 對象類定義\\t(67)
5.2.1 類的名稱\\t(68)
5.2.2 定義屬性\\t(68)
5.2.3 定義操作\\t(69)
5.3 對象類的關聯\\t(70)
5.3.1 關聯的定義\\t(70)
5.3.2 關聯類型\\t(71)
5.3.3 聚合和組合\\t(72)
5.3.4 泛化\\t(72)
5.3.5 依賴\\t(73)
5.4 對象圖\\t(73)
5.5 接口\\t(74)
5.6 高級對象類\\t(75)
5.6.1 抽象類\\t(75)
5.6.2 模板對象類\\t(76)
5.7 對象類圖建模\\t(76)
5.7.1 建立對象類圖\\t(76)
5.7.2 類和對象建模中應注意的問題\\t(77)
5.8 實例講解\\t(79)
5.8.1 圖書借閱管理系統類圖\\t(79)
5.8.2 旅游賓館客房預訂管理\\t(79)
本章小結\\t(80)
習題5\\t(80)
第6章 交互圖\\t(82)
6.1 概述\\t(82)
6.2 序列圖\\t(82)
6.2.1 序列圖的組成\\t(83)
6.2.2 同步消息和異步消息\\t(85)
6.2.3 分支和條件\\t(85)
6.2.4 循環\\t(86)
6.2.5 時間約束\\t(86)
6.2.6 對象創建和銷毀\\t(87)
6.2.7 自調用和回調\\t(87)
6.3 協作圖\\t(88)
6.3.1 協作圖的組成\\t(88)
6.3.2 對象的創建與銷毀\\t(89)
6.3.3 同步消息和異步消息\\t(90)
6.3.4 自調用和回調\\t(90)
6.4 交互圖建模\\t(91)
6.4.1 建立交互圖\\t(91)
6.4.2 交互圖建模的基本步驟\\t(92)
6.4.3 交互圖建模中應注意的問題\\t(92)
6.5 實例講解——圖書借閱管理系統交互圖\\t(93)
6.5.1 圖書借閱管理系統序列圖\\t(93)
6.5.2 圖書管理系統協作圖\\t(95)
本章小結\\t(96)
習題6\\t(96)
第7章 狀態圖\\t(97)
7.1 概述\\t(97)
7.2 狀態及其分類\\t(97)
7.2.1 狀態\\t(97)
7.2.2 狀態的種類\\t(99)
7.3 狀態機和狀態圖\\t(103)
7.3.1 狀態機\\t(103)
7.3.2 狀態圖\\t(103)
7.4 消息、事件和狀態遷移\\t(105)
7.4.1 消息\\t(105)
7.4.2 事件\\t(106)
7.4.3 守衛條件\\t(108)
7.4.4 動作表達式\\t(109)
7.4.5 狀態遷移的種類\\t(109)
7.5 并發狀態圖\\t(112)
7.5.1 并發子狀態\\t(112)
7.5.2 同步\\t(113)
7.6 狀態圖建模\\t(114)
7.6.1 建立狀態圖\\t(114)
7.6.2 狀態圖建模中應注意的問題\\t(115)
7.7 實例講解\\t(116)
本章小結\\t(116)
習題7\\t(117)
第8章 活動圖\\t(118)
8.1 活動圖概述\\t(118)
8.2 活動圖的組成\\t(118)
8.2.1 組成要素\\t(119)
8.2.2 動作流\\t(120)
8.2.3 泳道\\t(121)
8.2.4 對象流\\t(122)
8.3 活動分解\\t(123)
8.4 活動圖的并發與同步\\t(124)
8.4.1 并發與同步\\t(124)
8.4.2 同步狀態\\t(125)
8.4.3 動態并發\\t(125)
8.5 活動圖建模\\t(126)
8.5.1 建立活動圖\\t(126)
8.5.2 活動圖建模中應注意的問題\\t(127)
8.6 實例講解\\t(127)
本章小結\\t(128)
習題8\\t(128)
第9章 包圖\\t(129)
9.1 概述\\t(129)
9.2 包的基本含義\\t(129)
9.2.1 包的語義和表示\\t(129)
9.2.2 包的嵌套\\t(131)
9.2.3 標準構造型\\t(131)
9.3 包的聯系\\t(132)
9.3.1 依賴\\t(132)
9.3.2 泛化\\t(134)
9.4 包圖\\t(135)
9.5 包圖建模\\t(135)
9.5.1 建立包圖\\t(135)
9.5.2 包圖建模中應注意的問題\\t(137)
本章小結\\t(138)
習題9\\t(138)
第10章 物理圖\\t(139)
10.1 概述\\t(139)
10.2 構件圖\\t(139)
10.2.1 構件\\t(139)
10.2.2 構件的種類\\t(142)
10.2.3 構件的聯系\\t(143)
10.2.4 建立構件圖\\t(144)
10.3 配置圖\\t(148)
10.3.1 節點\\t(148)
10.3.2 節點的聯系\\t(149)
10.3.3 建立配置圖\\t(150)
10.4 物理圖建模\\t(153)
本章小結\\t(154)
習題10\\t(154)
第11章 RUP統一建模過程\\t(155)
11.1 軟件過程概述\\t(155)
11.1.1 軟件過程介紹\\t(155)
11.1.2 當前流行的軟件開發過程\\t(156)
11.2 RUP簡介\\t(159)
11.2.1 RUP過程\\t(159)
11.2.2 RUP過程的特點\\t(167)
11.3 RUP的核心工作流\\t(168)
11.3.1 業務建模\\t(168)
11.3.2 需求\\t(169)
11.3.3 分析和設計\\t(171)
11.3.4 實現\\t(172)
11.3.5 測試\\t(173)
11.3.6 部署\\t(175)
11.3.7 核心支持工作流\\t(176)
本章小結\\t(178)
習題11\\t(179)
第12章 應用系統案例\\t(180)
12.1 系統概述\\t(180)
12.2 系統需求\\t(181)
12.2.1 系統總體功能需求\\t(181)
12.2.2 各關鍵模塊需求\\t(181)
12.3 系統用例模型\\t(183)
12.3.1 確定系統范圍和系統邊界\\t(183)
12.3.2 確定活動者\\t(183)
12.3.3 定義用例\\t(184)
12.3.4 建立用例圖\\t(184)
12.3.5 用例描述\\t(186)
12.4 設計實體類模型\\t(193)
12.4.1 識別對象類\\t(193)
12.4.2 類圖\\t(194)
12.4.3 類屬性\\t(195)
12.5 設計接口和控制類模型\\t(196)
12.5.1 識別接口類\\t(197)
12.5.2 識別控制類\\t(198)
12.5.3 系統類模型\\t(199)
12.6 設計動態模型\\t(199)
12.6.1 數據訪問類(Access)\\t(199)
12.6.2 建立序列圖\\t(199)
12.7 系統部署\\t(205)
12.7.1 建立構件圖\\t(205)
12.7.2 建立配置圖\\t(206)
本章小結\\t(206)
習題12\\t(206)