UML系統(tǒng)分析與架構設計培訓課程
培訓目標:
1、了解UML的正確應用方法與原理; 
2、學員將了解如何把UML應用到面向對象分析和設計乃至整個軟件過程中,包括使用UML建立業(yè)務模型、需求模型、分析模型、設計模型、實現(xiàn)模型等; 
3、重點講解UML在具體的真實項目中的使用和應用過程指南,如何應用UML處理需求的變更,分析、設計出強壯的架構,建立充分的實現(xiàn)模型。強調具體項目的過程。 
4、運用系統(tǒng)分析模式進行本質分析; 
5、了解如何設計穩(wěn)健并易于擴展的架構; 
6、通過實際的案例,掌握需求、分析設計的關鍵技巧; 
7、看到好的和差的實際案例,反思自我,提高實際工作能力; 
8、深入了解如何解決實際開發(fā)問題; 
9、理解UML貫穿于迭代化、用例驅動和以構架為中心的過程; 
10、掌握如何基于UML設計的可擴展的業(yè)務架構、應用架構和程序結構。
| 
 | 
 內容 
 | 
 
| 
 第一單元: 
                        UML概念(一般介紹) 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
? 
 | 
UML的構成 
                        視圖、模型元素、圖(用例、類、對象、序列、協(xié)作、狀態(tài)、活動、構件、部署) 
                        公共機制(規(guī)約、修飾符、擴展機制) 
 
                        結構模型視圖 
                        數據類型、多重性、類、類與對象;關聯(lián)(自關聯(lián)、關聯(lián)的多重性、角色名、關聯(lián)的具體化);屬性和操作。 
 
                        行為模型視圖 
                        序列圖(對象生命線、交互的描述、時間約束的表示、條件分支的表示、重復執(zhí)行的表示、遞歸調用的表示、對象的創(chuàng)建和撤銷) 
                        協(xié)作圖、狀態(tài)圖、活動圖 
 
                        實現(xiàn)模型視圖 
                        包;子系統(tǒng);模型;構件圖 | 
 
| 
 第二單元: 
                        UML中的常見疑難問題辨析 
                        (重點) 
 | 
用例圖 
                        參與者建模中的常見問題。 
                        用例建模中的常見問題。 
                        UaseCase的本質討論。 
 
                        類設計 
                        UML中關系的辨析: 
                        依賴關系、關聯(lián)關系辨析;聚合,組合辨析。 
 
                        類設計中的常見問題: 
                        一些常見但易混淆的類關系圖; 
                        熟悉類的自關聯(lián)形式 
                        一些易混淆的重數表示方法 
                        建模為對象與建模為屬性的辨析 
                        建模為方法與建模為對象的辨析 
                        使用關聯(lián)類 
 
                        其它辨析 
                        包與組件。 
                        擴展基類與覆蓋基類等。 
                        自關聯(lián)、關聯(lián)多重性、關聯(lián)角色名辨析。  
                        消除多重繼承的常用手段。 | 
 
| 
 第三單元: 
                        UML面向對象分析及設計 
 | 
 用GRASP模式指導系統(tǒng)分析 
                        GRASP模式: 
                        信息專家、創(chuàng)建者、高內聚、低耦合、控制者、多態(tài)、間接、純虛構、保護變化  
                        領域模型介紹: 
                        充血模型、貧血模型、失血模型。  
 
                        面向對象的設計原則 
                        類設計原則 
                        單一職責原則、開-閉原則、里氏代換原則、依賴倒轉原則、接口隔離原則 
                        包內聚原則: 
                        發(fā)布與復用等價原則、共同封閉原則、共同復用原則  
                        包耦合原則: 
                        無循環(huán)的依賴原則、穩(wěn)定的依賴原則、穩(wěn)定的抽象  
 
                        應用UML建模過程 
                        概述,設計模型的內容與演進 
                        全局分析:  
                        選用架構模式;識別關鍵抽象;標識分析機制;常見的分析機制  
                        局部分析: 
                        提取分析類: 
                        分析類的類型劃分:邊界類、實體類、控制類,分析類在模型中的位置,邊界類的復用,控制類的變通。 
                        分析需求場景: 
                        消息與責任;事件序列在邊界、實體及控制類間的原則;控制類在交互圖中的表現(xiàn)特征;交互圖的正確性。 
                        整理分析類: 
                        分析類的責任和關聯(lián)關系;動態(tài)與靜態(tài)的關系;確定類的責任;設計類和子系統(tǒng)接口。 
 
                        工程中常見的架構模式 
                        系統(tǒng)軟件:  
                        分層(Layer) 
                        管道和過濾器(Pipes and Filters) 
                        黑板(Blackboard) 
                        分布式軟件:  
                        經紀人(Broker) 
                        客戶/服務器(Client/Server) 
                        點對點(Peer to Peer)  
                        交互軟件:  
                        模型-視圖-控制器(Model-View-Controller) 
                        顯示-抽象-控制(PAC)  
 
                        軟件設計中常見模式介紹 
                        模板方式模式、適配器模式、工廠方式模式、抽象工廠模式、策略模式、橋接模式、觀察者模式、命令模式、裝飾模式等。  
 
                        典型案例分析: 
                        下載系統(tǒng)、投遞系統(tǒng)、提交搜索系統(tǒng)。 
 | 
 
| 
 第四單元: 
                        用UML進行程序設計實踐 
 | 
靜態(tài)設計:  
                        按層+高內聚低耦合的原則進行模塊劃分 
                        高內聚原則;按功能分解;按業(yè)務進行分解;以數據轉換為中心分解;實際運用中的折中。 
                        劃分層次 
                        將模塊劃入對應的層;分層與分區(qū);邏輯模塊與實體組件的對應關系。 
 
                        為模塊進行職責分配 
                        隔離關注面:低耦合原則;適當采用設計模式; 
                        用設計模式優(yōu)化核心結構:經典模式運用: 
                        用橋接模式作為中心骨架。  
                        用橋接模式作為中心骨架。  
                        用工廠模式進行組裝。  
                        用命令模式處理事務。 
 
                        模塊結構的常見形式 
                        容器模塊 + 控制者 + 功能模塊 + 臨時構建的小類;單例模式;命令模式。 
 
                        核心模塊的接口設計。 
                        外觀模式;適配器模式;代理模式;中介者模式。  
 
                        其它形式的的模塊結構:變換型模塊結構;事務型模塊結構。
                        模塊間的通信及耦合設計 
                        組件式編程。  
                        通訊機制: 
                        觀察者模式;本地SDK;輪訓。  
                        解耦: 
                        針對接口編程;增加間接模塊;依賴注入。  
                        設計數據層 
                        數據結構選用的設計;數據訪問層的設計 
 
                        動態(tài)設計 
                        抽象與統(tǒng)一不同的因素 
                        根據業(yè)務尋找關鍵因素;統(tǒng)一到復雜的情況。 
                        常用的流程抽象手段: 
                        依賴注入 / 控制反轉;表格法;配置文件。 
                        邏輯控制: 
                        控制者模式;信息專家模式。 
                        消息通知機制 
                        MVC模式;觀察者模式;責任鏈模式;中介者模式。 
 
                        模塊調整: 
                        調整模塊等級。 
                        適當封裝;把屬性提升為類;將類降為屬性;將類提升為組件。  
                        用設計模式優(yōu)化設計 
                        在主體的框架上進行調整:訪問者模式;裝飾模式。  
                        編碼時構建適當的動態(tài)臨時類。 
                        命令模式;事務處理類型。  
                        效率的優(yōu)化 
                        效率與結構的折中:優(yōu)化效率的3步驟。 
 | 
 
| 
 第五單元: 
                        建模實踐及案例分析 
 | 
 領域分析及建模:數據投遞系統(tǒng) 
                        收集需求 
                        技術調研 
                        第一次迭代 
                        需求分析;獲取總體包圖;分析初步流程;流程細化:修改與調整;子系統(tǒng)選型;獲得第一次迭代的:主要用例、主流程圖。 
                        第二次迭代 
                        細化/增加需求;關于數據庫選型;初步確定一些模塊/包;主成功場景(或投遞流程);討論并調整;主用例場景與子用例場景;分層,考慮架構模式;獲得細化的協(xié)作圖、領域分析類圖、活動圖。 
                        第三次迭代 
                        細化領域分析中的類圖;細化子模塊、考慮設計模式。  
 
                        系統(tǒng)設計及重構:數據采集系統(tǒng):  
                        收集需求 
                        技術調研 
                        需求分析功能性需求分析。 
                        非功能性需求分析。  
 
                        領域分析與系統(tǒng)初步設計  
                        劃分子系統(tǒng),考慮架構模式。  
                        對子系統(tǒng)分層,畫出包圖。  
                        對每個子系統(tǒng)、畫出領域分析類圖。  
                        分析初步流程、畫出初步的活動圖。 
 
                        細化設計  
                        細化子系統(tǒng)、劃出子系統(tǒng)的包圖、主要類圖、活動圖。  
                        設計模塊間的接口。 
                        子系統(tǒng)分層。  
 
                        細化設計  
                        細化子模塊、考慮設計模式。  
                        細化模塊間的接口及數據交換格式。  
                        綜合性能瓶頸分析,決策改進措施。 
                        細化流程,列出影響因素,借助分析矩陣抽象出統(tǒng)一的流程,畫出活動圖。  
 
                        實現(xiàn)  
                        細化類圖,指導編碼。 
                        得出原型系統(tǒng)。  
 
                        迭代  
                        根據原型系統(tǒng),分析不足。  
                        根據原型系統(tǒng),分析系統(tǒng)的效率瓶頸。  
                        重構及優(yōu)化架構。 
                        適當前瞻,改進架構。 
 | 
 
| 
 第六單元: 
                        其它案例分析 
 | 
典型案例分析 
                        領域分析及建模:POS收款系統(tǒng) 
                        分析及設計:WDL解析系統(tǒng) 
                        分析及設計:XSO文件系統(tǒng)。 | 
 
 
 |