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