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