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