本書介紹使用UML進行軟件建模的方法與軟件工程的基礎知識。全書主要分為三部分。第1部分(第1~3章)簡要介紹軟件工程的產(chǎn)生、發(fā)展歷史及重要作用,對面向對象方法的概念和原則加以闡釋,由此推出UML的概念和作用,介紹UML的基本概念模型,并介紹多種UML建模的重要工具。第2部分(第4~13章)對每種UML圖進行具體介紹,內(nèi)容涵蓋UML中的用例圖、類圖、對象圖、包圖、順序圖、通信圖、狀態(tài)機圖、活動圖、組件圖、部署圖。第3部分(第14~17章)結合UML的使用過程,介紹統(tǒng)一軟件開發(fā)過程的相關概念,并且通過小型網(wǎng)上書店系統(tǒng)、小型二手貨交易系統(tǒng)、汽車服務管理系統(tǒng)三個具體案例,使讀者在實際開發(fā)過程中加深對使用UML的理解。本書理論與實踐結合,可以很好地幫助讀者掌握UML建模的基本思想,并學會讀懂和建立UML模型。本書既可作為高等院校計算機類相關專業(yè)的教材,也可作為軟件從業(yè)人員的學習指導用書。
為便于教學,本書提供豐富的配套資源,包括教學大綱、教學課件、電子教案、開發(fā)文檔、程序源碼、模擬試卷、實驗素材、在線作業(yè)、習題答案和750分鐘的微課視頻。本書提供9個完整的項目案例:小型網(wǎng)上書店系統(tǒng)|小型二手貨交易系統(tǒng)|汽車服務管理系統(tǒng)|技術分享類博客網(wǎng)站|學習生活交流論壇|青年租房管理系統(tǒng)|圖書影視交流平臺|問卷星球|在線音樂播放平臺。
前言
黨的二十大報告指出: 教育、科技、人才是全面建設社會主義現(xiàn)代化國家的基礎性、戰(zhàn)略性支撐。必須堅持科技是優(yōu)質生產(chǎn)力、人才是優(yōu)質資源、創(chuàng)新是優(yōu)質動力,深入實施科教興國戰(zhàn)略、人才強國戰(zhàn)略、 創(chuàng)新驅動發(fā)展戰(zhàn)略,開辟發(fā)展新領域新賽道,不斷塑造發(fā)展新動能新優(yōu)勢。高等教育與經(jīng)濟社會發(fā)展緊密相連,對促進就業(yè)創(chuàng)業(yè)、助力經(jīng)濟社會發(fā)展、增進人民福祉具有重要意義。
本書第1版出版于2018年5月,第2版出版于2021年5月,得到了許多高校教師和學生的肯定,在教學中取得了良好的效果。為了能及時反映軟件工程領域UML的進展,保持教材內(nèi)容的先進性,編者對第2版進行了全面的修訂、再組織和更新,形成了現(xiàn)在的第3版。
本書改動內(nèi)容如下。
(1) 對各章的內(nèi)容重新進行了梳理,改正了所發(fā)現(xiàn)的錯誤,以及修改了不適當?shù)拿枋觥?br />
(2) 將8個項目案例調整成10個。其中,替換了“學習生活交流論壇”和“書籍影視交流平臺”; 增加了“問卷星球”和“在線音樂播放平臺”。
(3) 全書的微課視頻從620分鐘增加為750分鐘。
(4) 第2章增加了對“軟件建!钡拿枋觥
(5) 第3章的“UML建模工具”移到了第2章。
(6) 每一章的章首都增加了“本章學習目標”,章后都增加了“填空題”。
(7) 附錄A改為“軟件設計模式及應用”。
(8) 附錄B改為“附加案例”。
希望通過這樣的修改之后,教師和學生會更喜歡這本教材;希望本教材信息容量大、知識性強、面向對象的開發(fā)能力的全面培養(yǎng)和實際應用的這些特點能夠很好地延續(xù)下去。
為便于教學,本書提供豐富的配套資源,包括教學大綱、教學課件、電子教案、程序源碼、在線題庫、習題答案和750分鐘的微課視頻。
資源下載提示
課件等資源: 掃描封底的“圖書資源”二維碼,在公眾號“書圈”下載。
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
在線自測題: 掃描封底的作業(yè)系統(tǒng)二維碼,再掃描自測題二維碼,可以在線做題及查看答案。
微課視頻: 掃描封底的文泉云盤防盜碼,再掃描書中相應章節(jié)的視頻講解二維碼,可以在線學習。
本書的作者為呂云翔、趙天宇,曾洪立參與了部分內(nèi)容的編寫并進行了素材整理及配套資源制作等。
由于軟件工程在不斷發(fā)展中,UML面向對象分析、建模與設計的教學方法本身也還在探索中,加之編者的水平和能力有限,本書難免有疏漏之處,懇請各位同仁和廣大讀者批評指正。
編者2025年5月
目錄
資源下載
第1部分
第1章軟件工程與面向對象方法
1.1軟件工程
1.1.1軟件工程的歷史
1.1.2軟件工程的目標和原則
1.2面向對象方法
1.2.1面向對象方法簡介
1.2.2面向對象方法的歷史
1.2.3面向對象方法的概念
1.2.4面向對象方法的優(yōu)點
小結
習題1
第2章UML
2.1軟件建模簡介
2.1.1什么是模型
2.1.2建模的重要性
2.1.3建模的基本原理
2.2UML簡介
2.3UML的歷史
2.3.1UML出現(xiàn)的歷史背景
2.3.2UML的誕生與標準化
2.3.3UML 2的誕生
2.4UML的目標與應用范圍
2.4.1UML的目標
2.4.2UML的應用范圍
2.5UML建模工具
小結
習題2
第3章認識UML
3.1UML構造塊
3.1.1事物
3.1.2關系
3.1.3圖
3.2UML通用機制
3.2.1規(guī)格說明
3.2.2修飾
3.2.3通用劃分
3.2.4UML擴展機制
3.3“4+1”視圖模型
3.3.1“4+1”視圖模型的概念和組成
3.3.2“4+1”視圖模型要解決的問題
3.3.3運用“4+1”視圖方法進行軟件架構設計
小結
習題3
第2部分
第4章用例圖
4.1用例圖簡介
4.2用例圖的組成元素
4.2.1參與者
4.2.2用例
4.2.3用例圖中的關系
4.3用例描述與文檔
4.3.1什么是用例描述
4.3.2前置條件與后置條件
4.3.3事件流
4.3.4補充約束
4.3.5用例文檔
4.4應用用例圖建模
4.4.1用例圖建模技術
4.4.2用例圖使用要點
4.5實驗: 繪制“機票預訂系統(tǒng)”的用例圖
小結
習題4
第5章類圖
5.1什么是類圖
5.2類圖的組成元素
5.2.1類
5.2.2接口
5.2.3類圖中的關系
5.2.4類的高級概念
5.3應用類圖建模
5.3.1類圖建模技術
5.3.2使用類圖進行正向工程與逆向工程
5.3.3面向對象的設計原則
5.4實驗: 繪制“機票預訂系統(tǒng)”的類圖
小結
習題5
第6章對象圖
6.1什么是對象圖
6.2對象圖的組成元素
6.2.1對象
6.2.2鏈
6.3應用對象圖建模
6.3.1對象圖建模技術
6.3.2使用對象圖進行逆向工程
6.3.3對象圖使用要點
6.4實驗: 繪制“機票預訂系統(tǒng)”的對象圖
小結
習題6
第7章包圖
7.1什么是包圖
7.2包圖的組成元素
7.2.1包
7.2.2包的依賴關系
7.3包圖的建模技術
7.4實驗: 繪制“機票預訂系統(tǒng)”的包圖
小結
習題7
第8章順序圖
8.1什么是順序圖
8.2順序圖的組成元素
8.2.1對象與生命線
8.2.2激活
8.2.3消息
8.3順序圖中的結構化控制
8.4順序圖的建模技術
8.5順序圖的變體——時間圖
8.6實驗: 繪制“機票預訂系統(tǒng)”“登錄”用例的順序圖
小結
習題8
第9章通信圖
9.1什么是通信圖
9.2通信圖的組成元素
9.2.1對象
9.2.2鏈
9.2.3消息
9.3通信圖與順序圖
9.4通信圖的建模技術
9.5實驗: 繪制“機票預訂系統(tǒng)”“查詢航班”用例的通信圖
小結
習題9
第10章狀態(tài)機圖
10.1什么是狀態(tài)機圖
10.1.1狀態(tài)機
10.1.2狀態(tài)機圖
10.2狀態(tài)機圖的組成元素
10.2.1簡單狀態(tài)
10.2.2轉換
10.2.3偽狀態(tài)
10.2.4復合狀態(tài)
10.3狀態(tài)機圖的建模技術
10.4實驗: 繪制“機票預訂系統(tǒng)”“航班”類的狀態(tài)機圖
小結
習題10
第11章活動圖
11.1什么是活動圖
11.2活動圖的基本組成元素
11.2.1動作和活動節(jié)點
11.2.2開始和終止
11.2.3控制流
11.2.4判斷節(jié)點
11.2.5合并節(jié)點
11.2.6泳道
11.3活動圖的高級組成元素
11.3.1分叉節(jié)點與結合節(jié)點
11.3.2對象流
11.3.3擴展區(qū)域
11.4活動圖的建模技術
11.5實驗: 繪制“機票預訂系統(tǒng)”“購買機票”用例的活動圖
小結
習題11
第12章組件圖
12.1什么是組件圖
12.2組件圖的組成元素
12.2.1組件
12.2.2接口
12.2.3端口
12.2.4組件的內(nèi)部結構
12.3組件圖的建模技術
12.4實驗: 繪制“機票預訂系統(tǒng)”的組件圖
小結
習題12
第13章部署圖
13.1什么是部署圖
13.2部署圖的組成元素
13.2.1節(jié)點
13.2.2連接
13.3部署圖的建模技術
13.4實驗: 繪制“機票預訂系統(tǒng)”的部署圖
小結
習題13
第3部分
第14章統(tǒng)一軟件開發(fā)過程
14.1統(tǒng)一軟件開發(fā)過程概述
14.1.1什么是軟件開發(fā)過程
14.1.2統(tǒng)一軟件開發(fā)過程簡介
14.1.3統(tǒng)一軟件開發(fā)過程的發(fā)展歷程
14.2過程總覽
14.3階段和迭代——時間維度
14.3.1起始階段
14.3.2細化階段
14.3.3構建階段
14.3.4轉化階段
14.3.5迭代
14.4過程的靜態(tài)結構
14.4.1工作者
14.4.2活動
14.4.3制品
14.4.4工作流
14.4.5核心工作流
14.5在統(tǒng)一軟件開發(fā)過程中使用UML
14.5.1起始階段常用的UML圖
14.5.2細化階段常用的UML圖
14.5.3構建階段常用的UML圖
14.5.4轉化階段常用的UML圖
小結
習題14
第15章案例: 小型網(wǎng)上書店系統(tǒng)
15.1需求分析
15.1.1項目背景描述
15.1.2系統(tǒng)需求分析
15.1.3用戶管理模塊
15.1.4訂單管理模塊
15.1.5書目管理模塊
15.2系統(tǒng)的UML基本模型
15.2.1需求分析階段模型
15.2.2基本動態(tài)模型
15.3類的設計與實現(xiàn)
15.3.1系統(tǒng)設計類
15.3.2類的實現(xiàn)
15.4系統(tǒng)的組件圖和部署圖
15.4.1系統(tǒng)的組件圖
15.4.2系統(tǒng)的部署圖
第16章案例: 小型二手貨交易系統(tǒng)
16.1需求分析
16.1.1子系統(tǒng)劃分
16.1.2系統(tǒng)功能需求
16.1.3非功能需求
16.2系統(tǒng)設計
16.2.1系統(tǒng)設計類圖
16.2.2關鍵用例的動態(tài)模型
16.2.3類的代碼框架
第17章案例: 汽車服務管理系統(tǒng)
17.1需求分析
17.1.1系統(tǒng)功能需求
17.1.2車輛及路線管理模塊
17.1.3人員管理模塊
17.1.4信息管理模塊
17.2系統(tǒng)的UML基本模型
17.2.1需求分析階段模型
17.2.2基本動態(tài)模型
17.3系統(tǒng)中的類
17.3.1系統(tǒng)類圖
17.3.2生成類的代碼框架
17.4系統(tǒng)的劃分與部署
17.4.1系統(tǒng)的包圖
17.4.2系統(tǒng)的部署圖
附錄A軟件設計模式及應用
A.1軟件設計模式
A.1.1工廠模式
A.1.2橋接模式
A.1.3策略模式
A.1.4其他模式
A.2軟件設計模式應用
附錄B附加案例
參考文獻