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