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