內(nèi) 容簡 介本書結(jié)合大量軟件分析與設(shè)計(jì)實(shí)例,重點(diǎn)介紹了UML語言體系結(jié)構(gòu)、UML元素語義、語法,并通過實(shí)際的軟件開發(fā)實(shí)例對UML建模方法進(jìn)行了詳細(xì)的講解。全書文字表述通俗易懂,技術(shù)講解深入淺出。全書分為3篇,共15章。第1篇(第1章~第12章)UML語言基礎(chǔ),內(nèi)容包括:UML語言體系結(jié)構(gòu)、UML組成元素、UML圖的表示方法、UML圖的作用;第2篇(第13章)UML建模實(shí)踐,以網(wǎng)上書店為例,重點(diǎn)介紹領(lǐng)域建模與分析過程、用例建模與分析過程、動態(tài)建模與分析過程。第3篇(第14章和第15章)UML高級技術(shù),內(nèi)容包括:Rose的雙向工程和統(tǒng)一軟件過程(RUP)。通過對本書的學(xué)習(xí),讀者可以系統(tǒng)地掌握UML語言的閱讀方法和建模方法。本書重點(diǎn)突出了UML語言的表示方法和建模方法。書中所有的概念、技術(shù)、建模方法都通過實(shí)例來演示,內(nèi)容精煉,表達(dá)簡明,實(shí)例豐富,非常適合作為高等院校計(jì)算機(jī)專業(yè)及相關(guān)專業(yè)的教材,也可以作為培訓(xùn)機(jī)構(gòu)相關(guān)專業(yè)的培訓(xùn)教材。
前 言“UML基礎(chǔ)與建模實(shí)踐”是計(jì)算機(jī)科學(xué)專業(yè)和軟件工程專業(yè)學(xué)生的必修課程,也是一門非常重要的課程。盡管市面上介紹UML語言的圖書不少,但是幾乎沒有一本書在同一個(gè)軟件分析與設(shè)計(jì)實(shí)例中全面、具體、正確地涵蓋三種重要的建模過程:領(lǐng)域建模、用例建模、動態(tài)建模,并且,在建模過程中,技術(shù)應(yīng)用和建模方法是脫節(jié)的。因此,學(xué)生不能真正理解建模技術(shù)和建模方法,在實(shí)踐中更談不上正確地運(yùn)用UML語言來實(shí)現(xiàn)面向?qū)ο蟮姆治龊驮O(shè)計(jì)。學(xué)生在建模實(shí)踐中出現(xiàn)的問題主要集中在以下三點(diǎn):第一,沒有真正理解UML表示法,不知道如何使用它們。第二,對統(tǒng)一開發(fā)過程(RUP)不理解,不知道在什么情況下采用哪種模型來構(gòu)造系統(tǒng)。第三,不知道如何運(yùn)用建模技術(shù)和建模方法。本書以網(wǎng)上書店系統(tǒng)為例,全面介紹領(lǐng)域建模、用例建模和動態(tài)建模,并且在建模過程中充分體現(xiàn)建模技術(shù)和建模方法的具體運(yùn)用。本教材為大、中型軟件系統(tǒng)的建模提供了開發(fā)步驟、技術(shù)提示和表示方法。本書特色本書以網(wǎng)上書店系統(tǒng)為例,為讀者提供了領(lǐng)域建模與分析過程、用例建模與分析過程、動態(tài)建模與分析過程,在建模過程中提供了啟發(fā)性技術(shù)和建模方法。本書體系結(jié)構(gòu)安排合理,知識組織風(fēng)格統(tǒng)一,表達(dá)通俗易懂,講解深入淺出,具體特點(diǎn)如下。(1) 在體系結(jié)構(gòu)的安排上強(qiáng)調(diào)內(nèi)容的系統(tǒng)性、連貫性、邏輯性和實(shí)用性。對UML元素的語義、語法和建模方法的講解由易到難逐層展開,便于讀者學(xué)習(xí)和理解。(2) 對UML語言的講解中,充分體現(xiàn)文字描述和圖形描述的結(jié)合。通過文字描述,詳細(xì)地定義了UML元素的語義、語法;通過圖形將UML元素可視化、規(guī)范化;對每個(gè)UML元素的講解采用實(shí)例演示,使讀者易于理解。(3) 知識表達(dá)方面,采用框架到細(xì)節(jié)方法。即首先對知識進(jìn)行概要描述,然后分解知識,簡化知識,對知識進(jìn)行詳細(xì)描述,這樣就將復(fù)雜的建模技術(shù)、建模方法簡單化,抽象問題具體化。(4) 提供完整的建模實(shí)例。以網(wǎng)上書店為例,為讀者提供了詳細(xì)的建模過程、建模技術(shù)和建模方法。整個(gè)建模流程是可以操作的,也是可以模擬的,學(xué)生能真正做到學(xué)以致用。讀者對象本書以UML設(shè)計(jì)元素為主線,以系統(tǒng)建模為目標(biāo),運(yùn)用實(shí)例系統(tǒng)地闡明UML語言基礎(chǔ)、建模技術(shù)和建模方法。本書技術(shù)、方法和實(shí)踐結(jié)合生動,知識表達(dá)通俗易懂,既適合UML語言初學(xué)者閱讀,也適合系統(tǒng)分析師、設(shè)計(jì)者和系統(tǒng)測試者閱讀;既可作為高等院校計(jì)算機(jī)專業(yè)及相關(guān)專業(yè)的教材,也可以作為培訓(xùn)機(jī)構(gòu)相關(guān)專業(yè)的培訓(xùn)教材。作者情況本書作者在大型軟件公司從事應(yīng)用系統(tǒng)的分析和設(shè)計(jì)工作,在開發(fā)系統(tǒng)過程中積累了豐富的系統(tǒng)建模方法,能熟練地運(yùn)用UML語言把系統(tǒng)需求分析和系統(tǒng)設(shè)計(jì)形式化為標(biāo)準(zhǔn)的需求分析文檔和設(shè)計(jì)文檔。本書第1章由陳輝林編寫,第2章~第15章由王愛國編寫,全書由王愛國統(tǒng)稿。聯(lián)系方式本書中的實(shí)例雖然經(jīng)過了多次測試,但難免會存在疏漏和錯誤,懇請讀者批評指正。如有建議或在學(xué)習(xí)中遇到疑難問題,歡迎大家發(fā)電子郵件與本人(11069881@qq.com)聯(lián)系。編 者
目 錄
第1篇 UML語言基礎(chǔ)
第1章 UML概述1.1 什么是UML1.1.1 UML簡史1.1.2 UML定義1.1.3 UML的特點(diǎn)1.2 什么是模型1.2.1 模型的用途1.2.2 建模目標(biāo)1.2.3 建模原則1.2.4 用UML建模的好處1.2.5 模型種類1.3 UML工具1.3.1 UML工具介紹1.3.2 如何選擇UML工具1.4 UML語言應(yīng)用1.5 小結(jié)1.6 習(xí)題第2章 UML語言體系結(jié)構(gòu)2.1 UML語言組成2.2 元素符號2.2.1 結(jié)構(gòu)符號2.2.2 行為符號2.2.3 分組符號2.2.4 注釋符號2.3 關(guān)系符號2.4 UML圖2.4.1 UML圖分類2.4.2 視圖2.5 規(guī)則2.6 公共機(jī)制2.6.1 規(guī)格描述2.6.2 修飾2.6.3 通用劃分2.6.4 擴(kuò)展機(jī)制2.7 系統(tǒng)建模與視圖2.8 小結(jié)2.9 習(xí)題第3章 類圖3.1 什么是類圖3.2 類的表示3.3 類圖中的元素3.4 類圖中的關(guān)系3.4.1 依賴關(guān)系3.4.2 泛化關(guān)系3.4.3 實(shí)現(xiàn)關(guān)系3.4.4 關(guān)聯(lián)關(guān)系3.4.5 關(guān)聯(lián)的屬性3.5 理解類圖3.6 小結(jié)3.7 習(xí)題第4章 對象圖4.1 什么是對象4.2 什么是對象圖4.3 對象的表示4.4 對象圖中的關(guān)系4.5 類圖與對象圖4.6 小結(jié)4.7 習(xí)題第5章 包圖5.1 什么是包5.2 什么是包圖5.3 包的表示5.3.1 包命名5.3.2 包中的元素5.3.3 用構(gòu)造型表示包5.4 包圖中的關(guān)系5.4.1 依賴關(guān)系5.4.2 泛化關(guān)系5.5 包的傳遞性5.6 創(chuàng)建包圖的方法5.6.1 標(biāo)識候選包5.6.2 調(diào)整候選包5.6.3 消除包的循環(huán)依賴5.7 包圖應(yīng)用5.7.1 對成組元素建模5.7.2 對體系結(jié)構(gòu)建模5.8 小結(jié)5.9 習(xí)題第6章 用例圖6.1 什么是用例圖6.2 參與者與用例6.2.1 參與者的表示6.2.2 用例的表示6.3 參與者之間的關(guān)系6.3.1 識別參與者6.3.2 參與者之間的泛化關(guān)系6.4 用例之間的關(guān)系6.4.1 包含關(guān)系6.4.2 擴(kuò)展關(guān)系6.4.3 泛化關(guān)系6.5 參與者與用例之間的關(guān)系6.6 組織用例6.7 用例規(guī)格描述6.7.1 事件流6.7.2 用例模板6.7.3 用例優(yōu)先級6.7.4 用例粒度6.8 用例描述實(shí)例6.9 用例建模要點(diǎn)6.10 小結(jié)6.11 習(xí)題第7章 交互圖7.1 順序圖7.1.1 什么是順序圖7.1.2 順序圖的表示7.1.3 表示分支、并發(fā)和循環(huán)7.1.4 順序圖應(yīng)用7.2 協(xié)作圖7.2.1 協(xié)作圖的表示7.2.2 表示循環(huán)和分支7.2.3 順序圖與協(xié)作圖的關(guān)系7.3 定時(shí)圖7.4 小結(jié)7.5 習(xí)題第8章 活動圖8.1 什么是活動圖8.2 活動圖的表示8.3 活動圖應(yīng)用8.3.1 簡單活動圖8.3.2 展示泳道的活動圖8.3.3 展示對象流的活動圖8.3.4 展示參數(shù)的活動圖8.3.5 展示別針的活動圖8.3.6 展示中斷的活動圖8.3.7 展示異常的活動圖8.3.8 展示擴(kuò)展區(qū)的活動圖8.3.9 展示信號的活動圖8.3.10 展示嵌套活動圖8.4 構(gòu)建活動圖8.4.1 對工作流程建模8.4.2 對操作流程建模8.5 小結(jié)8.6 習(xí)題第9章 交互概況圖9.1 什么是交互概況圖9.2 交互概況圖應(yīng)用9.3 小結(jié)9.4 習(xí)題第10章 狀態(tài)機(jī)圖10.1 什么是狀態(tài)機(jī)圖10.2 狀態(tài)圖的表示10.2.1 狀態(tài)的表示10.2.2 遷移的表示10.2.3 分支的表示10.3 遷移的分類10.3.1 外部遷移10.3.2 內(nèi)部遷移10.3.3 自動遷移10.3.4 復(fù)合遷移10.4 狀態(tài)的分類10.4.1 簡單狀態(tài)10.4.2 復(fù)合狀態(tài)10.4.3 歷史狀態(tài)10.4.4 子狀態(tài)機(jī)間的異步通信10.4.5 建立狀態(tài)機(jī)圖的步驟10.5 狀態(tài)機(jī)圖應(yīng)用10.6 小結(jié)10.7 習(xí)題第11章 構(gòu)件圖11.1 什么是接口和構(gòu)件11.1.1 接口11.1.2 端口11.1.3 構(gòu)件11.1.4 構(gòu)件類型11.2 什么是構(gòu)件圖11.2.1 構(gòu)件圖的作用11.2.2 構(gòu)件圖的組成元素11.3 構(gòu)件的表示11.3.1 沒有標(biāo)識接口的構(gòu)件11.3.2 標(biāo)識接口的構(gòu)件11.4 構(gòu)件間的關(guān)系11.5 構(gòu)件圖分類11.5.1 簡單構(gòu)件圖11.5.2 嵌套的構(gòu)件圖11.6 制品11.6.1 制品的表示11.6.2 制品的標(biāo)準(zhǔn)元素11.6.3 制品的種類11.6.4 制品與類的區(qū)別11.7 建模應(yīng)用11.7.1 對可執(zhí)行程序建模11.7.2 對源代碼建模11.8 小結(jié)11.9 習(xí)題第12章 部署圖12.1 什么是部署圖12.1.1 部署圖的作用12.1.2 部署圖的組成元素12.2 部署圖的表示12.2.1 節(jié)點(diǎn)12.2.2 連接12.3 部署圖應(yīng)用12.3.1 設(shè)計(jì)階段12.3.2 實(shí)現(xiàn)階段12.4 小結(jié)12.5 習(xí)題
第2篇 UML建模實(shí)踐
第13章 網(wǎng)上書店13.1 領(lǐng)域建模與分析過程13.1.1 領(lǐng)域建模方法13.1.2 領(lǐng)域建模過程13.2 用例建模與分析過程13.2.1 用例建模方法13.2.2 用例建模過程13.3 動態(tài)建模與分析過程13.3.1 動態(tài)建模方法13.3.2 動態(tài)建模過程13.4 小結(jié)13.5 習(xí)題第3篇 UML高級技術(shù)
第14章 Rose的雙向工程14.1 雙向工程簡介14.2 正向工程14.3 逆向工程14.4 實(shí)例應(yīng)用14.5 小結(jié)14.6 習(xí)題第15章 統(tǒng)一軟件過程(RUP)15.1 當(dāng)前流行的軟件過程15.2 統(tǒng)一軟件過程概述15.2.1 RUP的核心工作流15.2.2 RUP的4個(gè)階段15.2.3 RUP中的迭代模型15.3 RUP中的核心工作流15.3.1 需求工作流15.3.2 分析工作流15.3.3 設(shè)計(jì)工作流15.3.4 實(shí)現(xiàn)工作流15.3.5 測試工作流15.4 RUP裁剪15.5 RUP的十大要素15.6 小結(jié)15.7 習(xí)題附錄A UML圖總結(jié)參考文獻(xiàn)