課程簡介
目前,在軟件開發(fā)領(lǐng)域,各種框架、模型以及設(shè)計模式充斥著整個IT行業(yè),縱觀現(xiàn)在的各種軟件開發(fā)技術(shù)培訓,我們發(fā)現(xiàn)幾乎所有的培訓中都會出現(xiàn)UML知識的培訓。毋庸置疑,UML已經(jīng)成為了現(xiàn)在的軟件開發(fā)技術(shù)的基礎(chǔ)。但是如何透徹理解UML,迅速掌握UML的精髓卻是所有技術(shù)人員一直以來困惑的地方。
目標收益
1、了解UML的正確應用方法與原理;
2、學員將了解如何把UML應用到面向?qū)ο蠓治龊驮O(shè)計乃至整個軟件過程中,包括使用UML建立業(yè)務模型、需求模型、分析模型、設(shè)計模型、實現(xiàn)模型等;
3、重點講解UML在具體的真實項目中的使用和應用過程指南,如何應用UML處理需求的變更,分析、設(shè)計出強壯的架構(gòu),建立充分的實現(xiàn)模型。強調(diào)具體項目的過程。
4、運用系統(tǒng)分析模式進行本質(zhì)分析;
5、了解如何設(shè)計穩(wěn)健并易于擴展的架構(gòu);
6、通過實際的案例,掌握需求、分析設(shè)計的關(guān)鍵技巧;
7、看到好的和差的實際案例,反思自我,提高實際工作能力;
8、深入了解如何解決實際開發(fā)問題;
9、理解UM
培訓對象
課程大綱
第一單元:UML簡介 |
?UML4+1視圖的意義 ?邏輯視圖、開發(fā)視圖、物理視圖、運行視圖、場景視圖、數(shù)據(jù)視圖、功能視圖 ?UML圖概覽—應用時機、建模方法 ?UML在開發(fā)過程中得使用解析(需求分析階段、系統(tǒng)分析階段、架構(gòu)設(shè)計階段、詳細設(shè)計階段) ?UML建模案例分析 ?UML建模工具在架構(gòu)視圖的應用 |
第二單元:UML模型視圖詳解 |
?UML的構(gòu)成 視圖、模型元素、圖(用例、類、對象、序列、協(xié)作、狀態(tài)、活動、構(gòu)件、部署)公共機制(規(guī)約、修飾符、擴展機制) ?結(jié)構(gòu)模型視圖 數(shù)據(jù)類型、多重性、類、類與對象;關(guān)聯(lián)(自關(guān)聯(lián)、關(guān)聯(lián)的多重性、角色名、關(guān)聯(lián)的具體化);屬性和操作。 ?行為模型視圖 序列圖(對象生命線、交互的描述、時間約束的表示、條件分支的表示、重復執(zhí)行的表示、遞歸調(diào)用的表示、對象的創(chuàng)建和撤銷) 協(xié)作圖、狀態(tài)圖、活動圖 ?實現(xiàn)模型視圖 包;子系統(tǒng);模型;構(gòu)件圖 數(shù)據(jù)采集系統(tǒng)等介紹 |
第三單元:UML中的常見疑難問題辨析 |
?用例圖 ?參與者建模中的常見問題。 ?用例建模中的常見問題。 ?UaseCase的本質(zhì)討論。 ?UML中關(guān)系的辨析:依賴關(guān)系、關(guān)聯(lián)關(guān)系辨析;聚合,組合辨析 ?類設(shè)計中的常見問題: ?一些常見但易混淆的類關(guān)系圖 ?熟悉類的自關(guān)聯(lián)形式 ?一些易混淆的重數(shù)表示方法 ?建模為對象、屬性、方法的辨析 ?使用關(guān)聯(lián)類 ?其它辨析:包與組件、擴展基類與覆蓋基類等、自關(guān)聯(lián)、關(guān)聯(lián)多重性、關(guān)聯(lián)角色名辨析 消除多重繼承的常用手段 |
第四單元:RUP的UML建模與分析 |
?設(shè)計模型的內(nèi)容與演進。 ?全局分析:選用架構(gòu)模式;識別關(guān)鍵抽象;標識分析機制;常見的分析機制 ?局部分析:提取分析類:析類的類型劃分:邊界類、實體類、控制類,分析類在模型中的位置,邊界類的復用,控制類的變通。 ?分析需求場景:消息與責任;事件序列在邊界、實體及控制類間的原則;控制類在交互圖中的表現(xiàn)特征;交互圖的正確性。 ?整理分析類:分析類的責任和關(guān)聯(lián)關(guān)系;動態(tài)與靜態(tài)的關(guān)系;確定類的責任;設(shè)計類和子系統(tǒng)接口。 超市收款系統(tǒng)、圖形繪制系統(tǒng) |
第五單元:面向?qū)ο蟮腢ML建模 |
?業(yè)務建模:業(yè)務UseCase圖、系統(tǒng)UseCase圖、業(yè)務Actor與系統(tǒng)Actor的區(qū)別、Actor建模中得注意事項、UseCase建模中的注意事項 ?需求建模:include,extend和泛化。 ?領(lǐng)域分析:UI類、控制類,實體類、邊界類;類間的關(guān)系;流程圖。 ?面向?qū)ο笤O(shè)計:劃分子系統(tǒng)、分層、設(shè)計類和包 超市收銀系統(tǒng)等 ?練習:某系統(tǒng)分析及建模 |
第六單元:軟件設(shè)計的基本原則及其UML表達 |
軟件設(shè)計中,如何劃分模塊,如何分配模塊的職責是重要的內(nèi)容。本節(jié)結(jié)合多個案例,討論 ?如何進行架構(gòu)設(shè)計,什么是好的架構(gòu),怎么驗證架構(gòu)的合理性。 ?如何進行組件(模塊化)化設(shè)計,在架構(gòu)基礎(chǔ)上保證組件及框架的復用。 內(nèi)容一 模塊及組件的職責分配設(shè)計 ?分層與分區(qū)的考慮/領(lǐng)域模型 ?基于面向?qū)ο蟮慕M件職責分配 內(nèi)容二 軟件設(shè)計中如何有效地組織多個模塊 ?設(shè)計控制器模塊 ?控制模塊與其它模塊的交互 ?設(shè)計不同類型的模塊在系統(tǒng)中的交互機制 典型案例分析:某文檔驗證系統(tǒng)設(shè)計,闡述對系統(tǒng)的整體把握能力 內(nèi)容三 設(shè)計出靈活性及高可擴展性高的架構(gòu) ?多態(tài)在組件設(shè)計中的使用 ?間接模式在架構(gòu)設(shè)計中的價值及其使用 |
第七單元 : 某分布式系統(tǒng)架構(gòu)及建模實踐 |
內(nèi)容一 系統(tǒng)平臺化架構(gòu)中的要點討論 ?平臺化中的業(yè)務分治、接口管理及彈性支撐分布式服務 ?多業(yè)務系統(tǒng)中無平臺的障礙 ?底層服務抽取分析 ?統(tǒng)一用戶/機構(gòu)、角色/權(quán)限、資源/存儲中的問題辨析 ?分析每個子系統(tǒng),定位其本質(zhì) ?模塊在系統(tǒng)中的層次位置確定及分析 ?大規(guī)模系統(tǒng)的特點及其與小系統(tǒng)的區(qū)別 內(nèi)容二 平臺化架構(gòu)設(shè)計實踐 ?身份認證、SSO及服務授權(quán) ?設(shè)定平臺與應用間交互的基本原則 ?處理平臺化對現(xiàn)有系統(tǒng)的沖擊 ?平臺化與業(yè)務系統(tǒng)中角色權(quán)限的分治 ?平臺化中業(yè)務系統(tǒng)數(shù)據(jù)互通的方式 ?分散分布式系統(tǒng)與集中分布式系統(tǒng)的選擇 ?微服務及分布式調(diào)用框架在平臺中的使用 ?平臺+應用的系統(tǒng)如何考慮部署模式 ?如何設(shè)計系統(tǒng)的HA及負載均衡 ?第3方系統(tǒng)對接服務(集成分析) 案例分析:結(jié)合某分布式系統(tǒng)進行逐步講解 |
第一單元:UML簡介 ?UML4+1視圖的意義 ?邏輯視圖、開發(fā)視圖、物理視圖、運行視圖、場景視圖、數(shù)據(jù)視圖、功能視圖 ?UML圖概覽—應用時機、建模方法 ?UML在開發(fā)過程中得使用解析(需求分析階段、系統(tǒng)分析階段、架構(gòu)設(shè)計階段、詳細設(shè)計階段) ?UML建模案例分析 ?UML建模工具在架構(gòu)視圖的應用 |
第二單元:UML模型視圖詳解 ?UML的構(gòu)成 視圖、模型元素、圖(用例、類、對象、序列、協(xié)作、狀態(tài)、活動、構(gòu)件、部署)公共機制(規(guī)約、修飾符、擴展機制) ?結(jié)構(gòu)模型視圖 數(shù)據(jù)類型、多重性、類、類與對象;關(guān)聯(lián)(自關(guān)聯(lián)、關(guān)聯(lián)的多重性、角色名、關(guān)聯(lián)的具體化);屬性和操作。 ?行為模型視圖 序列圖(對象生命線、交互的描述、時間約束的表示、條件分支的表示、重復執(zhí)行的表示、遞歸調(diào)用的表示、對象的創(chuàng)建和撤銷) 協(xié)作圖、狀態(tài)圖、活動圖 ?實現(xiàn)模型視圖 包;子系統(tǒng);模型;構(gòu)件圖 數(shù)據(jù)采集系統(tǒng)等介紹 |
第三單元:UML中的常見疑難問題辨析 ?用例圖 ?參與者建模中的常見問題。 ?用例建模中的常見問題。 ?UaseCase的本質(zhì)討論。 ?UML中關(guān)系的辨析:依賴關(guān)系、關(guān)聯(lián)關(guān)系辨析;聚合,組合辨析 ?類設(shè)計中的常見問題: ?一些常見但易混淆的類關(guān)系圖 ?熟悉類的自關(guān)聯(lián)形式 ?一些易混淆的重數(shù)表示方法 ?建模為對象、屬性、方法的辨析 ?使用關(guān)聯(lián)類 ?其它辨析:包與組件、擴展基類與覆蓋基類等、自關(guān)聯(lián)、關(guān)聯(lián)多重性、關(guān)聯(lián)角色名辨析 消除多重繼承的常用手段 |
第四單元:RUP的UML建模與分析 ?設(shè)計模型的內(nèi)容與演進。 ?全局分析:選用架構(gòu)模式;識別關(guān)鍵抽象;標識分析機制;常見的分析機制 ?局部分析:提取分析類:析類的類型劃分:邊界類、實體類、控制類,分析類在模型中的位置,邊界類的復用,控制類的變通。 ?分析需求場景:消息與責任;事件序列在邊界、實體及控制類間的原則;控制類在交互圖中的表現(xiàn)特征;交互圖的正確性。 ?整理分析類:分析類的責任和關(guān)聯(lián)關(guān)系;動態(tài)與靜態(tài)的關(guān)系;確定類的責任;設(shè)計類和子系統(tǒng)接口。 超市收款系統(tǒng)、圖形繪制系統(tǒng) |
第五單元:面向?qū)ο蟮腢ML建模 ?業(yè)務建模:業(yè)務UseCase圖、系統(tǒng)UseCase圖、業(yè)務Actor與系統(tǒng)Actor的區(qū)別、Actor建模中得注意事項、UseCase建模中的注意事項 ?需求建模:include,extend和泛化。 ?領(lǐng)域分析:UI類、控制類,實體類、邊界類;類間的關(guān)系;流程圖。 ?面向?qū)ο笤O(shè)計:劃分子系統(tǒng)、分層、設(shè)計類和包 超市收銀系統(tǒng)等 ?練習:某系統(tǒng)分析及建模 |
第六單元:軟件設(shè)計的基本原則及其UML表達 軟件設(shè)計中,如何劃分模塊,如何分配模塊的職責是重要的內(nèi)容。本節(jié)結(jié)合多個案例,討論 ?如何進行架構(gòu)設(shè)計,什么是好的架構(gòu),怎么驗證架構(gòu)的合理性。 ?如何進行組件(模塊化)化設(shè)計,在架構(gòu)基礎(chǔ)上保證組件及框架的復用。 內(nèi)容一 模塊及組件的職責分配設(shè)計 ?分層與分區(qū)的考慮/領(lǐng)域模型 ?基于面向?qū)ο蟮慕M件職責分配 內(nèi)容二 軟件設(shè)計中如何有效地組織多個模塊 ?設(shè)計控制器模塊 ?控制模塊與其它模塊的交互 ?設(shè)計不同類型的模塊在系統(tǒng)中的交互機制 典型案例分析:某文檔驗證系統(tǒng)設(shè)計,闡述對系統(tǒng)的整體把握能力 內(nèi)容三 設(shè)計出靈活性及高可擴展性高的架構(gòu) ?多態(tài)在組件設(shè)計中的使用 ?間接模式在架構(gòu)設(shè)計中的價值及其使用 |
第七單元 : 某分布式系統(tǒng)架構(gòu)及建模實踐 內(nèi)容一 系統(tǒng)平臺化架構(gòu)中的要點討論 ?平臺化中的業(yè)務分治、接口管理及彈性支撐分布式服務 ?多業(yè)務系統(tǒng)中無平臺的障礙 ?底層服務抽取分析 ?統(tǒng)一用戶/機構(gòu)、角色/權(quán)限、資源/存儲中的問題辨析 ?分析每個子系統(tǒng),定位其本質(zhì) ?模塊在系統(tǒng)中的層次位置確定及分析 ?大規(guī)模系統(tǒng)的特點及其與小系統(tǒng)的區(qū)別 內(nèi)容二 平臺化架構(gòu)設(shè)計實踐 ?身份認證、SSO及服務授權(quán) ?設(shè)定平臺與應用間交互的基本原則 ?處理平臺化對現(xiàn)有系統(tǒng)的沖擊 ?平臺化與業(yè)務系統(tǒng)中角色權(quán)限的分治 ?平臺化中業(yè)務系統(tǒng)數(shù)據(jù)互通的方式 ?分散分布式系統(tǒng)與集中分布式系統(tǒng)的選擇 ?微服務及分布式調(diào)用框架在平臺中的使用 ?平臺+應用的系統(tǒng)如何考慮部署模式 ?如何設(shè)計系統(tǒng)的HA及負載均衡 ?第3方系統(tǒng)對接服務(集成分析) 案例分析:結(jié)合某分布式系統(tǒng)進行逐步講解 |