定 價:29 元
叢書名:21世紀高等學校規(guī)劃教材·軟件工程
當前圖書已被 2 所學校薦購過!
查看明細
- 作者:袁濤,孔蕾蕾 編著
- 出版時間:2014/4/1
- ISBN:9787302346920
- 出 版 社:清華大學出版社
- 中圖法分類:TP312
- 頁碼:191
- 紙張:膠版紙
- 版次:2
- 開本:16K
《統(tǒng)一建模語言UML(軟件工程第2版21世紀高等學校規(guī)劃教材)》是一本UML2.0學習和應用手冊!督y(tǒng)一建模語言UML(軟件工程第2版21世紀高等學校規(guī)劃教材)》不僅詳細闡述了UML在建模活動中的基本應用方法,而且對UML的建模圖示在軟件生命周期中的應用進行了分類。在介紹UML的10種最為重要的語言圖示時,首先強調的是該種UML圖示在軟件建;顒又械慕D康摹H缓,根據(jù)UML各種圖示的語法結構詳細解釋了該圖示在實際建模中的不同表示形式和語法,最后應用UML圖示對一個貫穿全書的真實軟件工程項目實例進行了建模示范,使讀者在深入理解UML語義、語法和圖示法的同時,能牢牢把握住學習該UML圖示的目的和意義。本書可作為高等學校計算機、電子、通信等專業(yè)高年級學生及研究生課程教學用書,同時對軟件研究者和開發(fā)人員也頗具有參考價值。
獻給:
Derek, Karen, 我的妻子和我的父母。
——袁濤
第2版前言
自《統(tǒng)一建模語言UML》出版后,已經5次印刷。我一直留意讀者對于該書的反饋。讀者“一生開心”在網上對該書的評價: “東西講得不錯, UML圖講得比較清楚,沒有案例,可惜了。”我承認該書確實需要加入更好的案例。所以,添加新案例是第2版的主要工作。在第2版中,全書被分為兩篇: 知識篇和實踐篇。知識篇主要是第1版的內容,新增案例全部放到實踐篇。由于本書所舉案例側重的是在面向對象分析和設計方法中如何應用UML建模,所以,所舉案例并沒有刻意覆蓋所有種類的UML圖模型。另外,第2版對MDA和MOF的概念以及MDA、MOF和UML之間的關系進行了補充介紹。這樣有利于讀者對UML知識體系有一個較全面的認識。第2版增加附錄C的目的是為學生提供一個創(chuàng)建面向對象設計模型的實踐平臺,首先鼓勵學生在附錄C的面向對象分析模型基礎上進一步完善系統(tǒng)的質量(可靠性、易用性、可修改性、可維護性、可重用性、可適應性等),其次要求學生參考第13章的原理采用設計模式或開源框架等方法提出各種有創(chuàng)意的解決方案,最后要求學生使用UML狀態(tài)圖、類圖、包圖和部署圖完成附錄C的全部設計任務。
袁濤負責第2版的全部新增章節(jié)的撰寫和全書校對工作。另外,我要特別感謝我的團隊成員: 惠丙凱,孔鳳娟,朱曉嵐,湯志博在整理新增附錄資料方面給予的無私幫助。
袁濤
2013年12月
第1版前言
在回國的這幾年里,我一直在努力使用UML與軟件項目開發(fā)者、我的學生以及同事進行軟件分析和設計方面的交流。 但是,我發(fā)現(xiàn)周圍還有許多軟件設計和開發(fā)人員并不熟悉UML這個在軟件工程領域已經成熟應用十幾年的建模工具。在軟件工程實踐中,甚至有相當一部分軟件設計人員、程序員和學生還在為是否學習和使用UML而困惑。我認為造成這種困惑的主要原因是對UML的應用目的和它的建模對象不十分清楚,這就使UML使用者或初學者無法有效地把UML中的建模語言與實際軟件開發(fā)中的問題建立起關聯(lián)。因此,本書不僅在UML語法方面給予了詳細的描述,而且在每種UML圖示中著重闡述了圖示的產生環(huán)境、使用目的和應用對象。 為了更好地理解本書的組織結構和目的,本書在以下三個方面進行了論述和規(guī)范。
1. 關于UML建模圖示的應用分類問題
對UML中諸多的建模圖示,人們有著不同的分類和建模理解,例如一種很常見的分類是把UML的建模圖示分為需求、靜態(tài)、行為、交互和實現(xiàn)等幾個不同領域的建模工具,但是,上述分類方式很容易給UML學習和使用帶來困惑,因為上述的幾個領域在軟件工程中幾乎是完全交叉的,并不能幫助UML使用者明確UML建模如何與實際開發(fā)相關聯(lián)。
本書在第1章導言中,較為系統(tǒng)地論述了UML建模圖示的分類方法及其在軟件開發(fā)和運行中的固有特征。 根據(jù)建模工具的特點和軟件固有特征,對UML的14種建模圖示在軟件生命周期中的應用進行了分類。 我們建議本書的讀者首先要理解導言中關于UML建模工具分類的方法和目的,然后,再以該分類方法為知識框架,進一步學習UML每一種具體的建模方法。
2. 關于面向對象分析和設計中術語的使用問題
建模的過程就是對一個事物的一個抽象化和準確化的過程。 在面向對象分析和設計中,對各種各樣建模對象的描述必須規(guī)范化。 注意,這里提出的術語規(guī)范化并不是UML,而是被UML描述的面向對象分析和設計中描述軟件結構和行為的語言。
例如,在軟件工程中經常遇到的術語: 軟件、系統(tǒng)、類、對象、實例、方法、屬性、操作、行為、狀態(tài)、成員變量、消息、靜態(tài)、動態(tài)、運行和執(zhí)行等。其中,比較容易被混淆通用的如: 方法、屬性、操作、行為、狀態(tài)、成員變量、消息、靜態(tài)、動態(tài)和運行等。 應用UML建模時,這種沒有嚴格定義指導下的術語混用,很難明確UML建模的目的和對象,這使得在使用模型進行交流時給人們帶來極大的不準確性,從而造成在不同類型的模型中,或在同類模型中由于所被描述對象的術語混用而出現(xiàn)理解上的差異。 本書為了使讀者準確理解書中強調的知識體系結構,特在此建立本書范圍內的面向對象分析和設計術語的應用規(guī)范。
1) 與軟件系統(tǒng)相關的術語
軟件系統(tǒng)是指一個具有整體功能的軟件,它與構件和類相區(qū)別。 在軟件系統(tǒng)的概念下,有兩種狀態(tài): 非執(zhí)行狀態(tài)(或靜止狀態(tài))、執(zhí)行狀態(tài)(或運行狀態(tài))。 本書不使用“動態(tài)”這個詞。 在本書中,軟件系統(tǒng)只有在運行狀態(tài)下才有行為可言,但是,無論在靜止還是運行狀態(tài)下,軟件系統(tǒng)均有各自特殊的結構形式。
2) 與類相關的術語
類是指軟件在非運行狀態(tài)下的基本結構單位,它與對象相區(qū)別。 在類的概念范圍內,本書使用描述類的術語有: 屬性(Attribute)和成員變量(Member Variable),這兩個詞基本可以相互代替使用; 方法(Method) 和操作(Operation)也可以相互代替,但是本書只用方法(Method) 這個詞匯來描述類。
3) 與對象相關的術語
對象是類在系統(tǒng)執(zhí)行狀態(tài)下的存在形式。 它與類相區(qū)別。 在對象的概念范圍內,本書使用描述對象的術語有: 屬性(Attribute)和狀態(tài)(State),這兩個詞在本書中可以代替使用; 行為(Behavior)和消息(Message),在本書中這兩個詞可以互相代替使用描述對象。
3. 本書章節(jié)的組織和內容特點
在本書中,每章的第一節(jié)講述的是UML圖示的目的和意義,這樣安排的目的是讓讀者在學習某種具體UML圖示建模之前,了解該圖示的應用領域和建模對象,以便在進一步學習圖示語法時,有助于更好地了解圖示中建模方法的設計理念,以便讀者能有的放矢地學習該建模工具。在學習UML時,學生經常提出一些典型問題,例如,順序圖與通信圖的區(qū)別; 在類圖中,關聯(lián)(Association)和依賴(Dependency)的實踐差別問題; 類圖中xor關聯(lián)的實現(xiàn)問題等。針對這些問題,本書均給出詳盡解釋,另外也提供了一些UML建模中的實施技巧。總之,本書不僅對UML語法進行解釋,而且在各個章節(jié)中盡量加入平時應用UML時積累的經驗和方法,這更有助于讀者快速理解和應用UML建模。
在描述UML語法過程中,本書針對每種UML建模圖示都以公式的形式把該建模圖示最為重要的組成元素列出,然后,根據(jù)公式中列出的每個元素做出詳細解釋,這樣可以使讀者在紛亂的UML圖示元素符號中把握其知識體系結構。
本書是以UML 2.0為基礎闡述其建模語言的,沒有關于與UML 2.0以前版本的比較。 所以,書中提到的UML,指的就是UML 2.0版。 另外,根據(jù)UML的各種不同建模語言應用的廣泛性,本書沒有對UML 2.0新引進的時間配置圖、綜合交互圖和復合結構圖進行專門闡述。
袁濤負責全書所有章節(jié)內容的組織,并完成第1、3、4、6、7、8、10章的內容撰寫; 孔蕾蕾負責第2、5、6、9、11章,以及附錄A、B和術語對照表的撰寫。
最后我要強調的是,這本書能夠問世還要特別感謝哈爾濱商業(yè)大學校長曲振濤博士的支持,同時也感謝我的好友穆業(yè)偉先生對本書出版的關心。
袁濤
2008年11月
第1部分 知識篇
第1章 導言
1.1 模型
1.2 開發(fā)軟件為什么需要模型
1.3 什么是統(tǒng)一建模語言
1.4 UML的發(fā)展史
1.5 模型驅動的軟件構架
1.5.1 MDA的三種模型
1.5.2 MDA的三個核心建模標準
1.5.3 OMG的4層模型結構
1.6 UML的建模對象
1.6.1 UML的結構模型
1.6.2 UML的行為模型
1.7 總結
第2章 用例圖 第1部分 知識篇
第1章 導言
1.1 模型
1.2 開發(fā)軟件為什么需要模型
1.3 什么是統(tǒng)一建模語言
1.4 UML的發(fā)展史
1.5 模型驅動的軟件構架
1.5.1 MDA的三種模型
1.5.2 MDA的三個核心建模標準
1.5.3 OMG的4層模型結構
1.6 UML的建模對象
1.6.1 UML的結構模型
1.6.2 UML的行為模型
1.7 總結
第2章 用例圖
2.1 基于用例的系統(tǒng)行為建模
2.2 用例圖
2.3 用例圖的表示方法
2.3.1 參與者
2.3.2 用例
2.3.3 用例之間的關系
2.4 總結
第3章 對象圖
3.1 基于對象的系統(tǒng)瞬間狀態(tài)建模
3.2 對象圖
3.3 對象圖的表示方法
3.3.1 對象
3.3.2 鏈
3.4 總結
第4章 順序圖
4.1 基于交互的對象行為建模: 交互時的行為順序
4.2 順序圖
4.3 順序圖的表示方法
4.3.1 生命線
4.3.2 活動條
4.3.3 消息
4.3.4 交互框
4.4 案例分析
4.5 總結
第5章 通信圖
5.1 基于交互的對象行為建模: 交互時的對象結構
5.2 通信圖
5.3 通信圖的表示方法
5.3.1 交互的參與者
5.3.2 鏈接
5.3.3 消息
5.4 案例分析
5.5 總結
第6章 類圖
6.1 基于類的系統(tǒng)結構建模
6.2 類圖
6.3 類圖的表示方法
6.3.1 表示類
6.3.2 類的關系
6.4 總結
第7章 狀態(tài)圖
7.1 基于狀態(tài)的對象行為建模
7.2 狀態(tài)圖
7.3 狀態(tài)圖的表示方法
7.3.1 狀態(tài)
7.3.2 遷移
7.4 案例分析
7.5 總結
第8章 活動圖
8.1 基于活動的系統(tǒng)行為建模
8.2 活動圖
8.3 活動圖的表示方法
8.3.1 活動和動作
8.3.2 活動邊
8.3.3 活動節(jié)點
8.3.4 活動劃分或泳道
8.3.5 調用其他活動
8.4 案例分析
8.5 總結
第9章 包圖
9.1 基于包的系統(tǒng)靜止狀態(tài)下的結構建模
9.2 包圖
9.3 包圖的表示方法
9.3.1 包
9.3.2 包中元素的可見性
9.3.3 包之間的關系
9.4 總結
第10章 構件圖
10.1 基于構件的系統(tǒng)靜止狀態(tài)下的結構建模
10.2 構件和構件圖
10.2.1 構件
10.2.2 構件圖
10.3 構件圖的表示方法
10.3.1 構件
10.3.2 供接口和需接口
10.3.3 構件間的關系
10.3.4 實現(xiàn)構件的類
10.3.5 外部接口——端口
10.3.6 連接器
10.3.7 顯示構件的內部結構
10.4 總結
第11章 部署圖
11.1 基于物理環(huán)境部署的系統(tǒng)靜態(tài)結構建模
11.2 部署圖
11.3 部署圖的表示方法
11.3.1 制品
11.3.2 節(jié)點
11.3.3 部署
11.3.4 部署規(guī)約
11.3.5 通信路徑
11.4 總結
第2部分 實踐篇
第12章 面向對象分析的UML模型
12.1 面向對象分析設計
12.2 分析模型
12.2.1 用例圖模型
12.2.2 在用例圖模型基礎上編寫用例
12.2.3 順序圖模型和概念類圖模型
12.3 總結
第13章 面向對象設計的UML模型
13.1 設計模型和軟件的質量問題
13.2 UML在設計建模中的應用
13.2.1 Singleton模式的順序圖模型
13.2.2 Factory Method 模式的順序圖模型
13.2.3 設計建模的UML類圖
13.3 總結
附錄A UML的擴展機制
附錄B PPS項目的部分主要用例的用例規(guī)約
附錄C 某離散性制造裝配公司的客戶端應用
附錄D 第12-13章中模型的Java可執(zhí)行程序
術語英漢對照表
參考文獻