培訓(xùn)搜索引擎
生產(chǎn)管理
軟件重構(gòu)與設(shè)計(jì)模式
參加對象:注重實(shí)效的開發(fā)人員、開發(fā)工程師、開發(fā)團(tuán)隊(duì)負(fù)責(zé)人等。公開課編號
GKK2854
主講老師
姜老師
參加費(fèi)用
4900元
課時(shí)安排
2天
近期開課時(shí)間
2014-08-12
舉辦地址
加載中...
其他開課時(shí)間
此公開課暫無其他開課計(jì)劃!
電話:010-68630945/18610481046 聯(lián)系人:尹老師
公開課大綱
課程背景
軟件重構(gòu)是指在不改變軟件功能和外部可見性的情況下,為了改善軟件的結(jié)構(gòu),提高清晰性、可擴(kuò)展性和可重用性而對軟件進(jìn)行的改造。簡而言之,重構(gòu)就是改進(jìn)已經(jīng)寫好的軟件的設(shè)計(jì)。在敏捷開發(fā)方法學(xué)中,重構(gòu)常常是軟件開發(fā)循環(huán)的一部分,開發(fā)者通過增加新的測試和功能,或者重構(gòu)代碼來改善內(nèi)部的一致性和清晰性。重構(gòu)也是代碼維護(hù)中的一部分,既不修正錯(cuò)誤,又不增加新的功能性,而是用于提高代碼的可讀性或者改變代碼的結(jié)構(gòu)和設(shè)計(jì),使其在將來更容易被維護(hù)。特別是,在現(xiàn)有的程序的結(jié)構(gòu)下,給一個(gè)程序增加一個(gè)新的行為會(huì)非常困難,因此開發(fā)人員可能先重構(gòu)這部分代碼,使加入新的行為變得容易。
課程目標(biāo)
了解實(shí)效編程、掌握面向?qū)ο蟮木幊淘瓌t、掌握UML在設(shè)計(jì)中的應(yīng)用、掌握職責(zé)分配模式的應(yīng)用、掌握設(shè)計(jì)模式的應(yīng)用、掌握測試驅(qū)動(dòng)開發(fā)方法、掌握重構(gòu)的手法以及了解如何選擇和使用框架。具體事宜通知如下:
培訓(xùn)對象
注重實(shí)效的開發(fā)人員、開發(fā)工程師、開發(fā)團(tuán)隊(duì)負(fù)責(zé)人等。
學(xué)員基礎(chǔ)
具有項(xiàng)目設(shè)計(jì)、開發(fā)工作經(jīng)驗(yàn)。
師資
由業(yè)界知名人士親自授課:
姜老師:培訓(xùn)中心高級講師,國家“863項(xiàng)目”專家,首席架構(gòu)師,敏捷開發(fā)資深實(shí)踐者,具有多年在第一線成功管理大型軟件項(xiàng)目的經(jīng)驗(yàn),對軟件項(xiàng)目組織具有深刻見解和實(shí)踐知識。
培訓(xùn)目標(biāo)
l 了解實(shí)效編程
l 掌握面向?qū)ο蟮木幊淘瓌t
l 掌握UML在設(shè)計(jì)中的應(yīng)用
l 掌握職責(zé)分配模式的應(yīng)用
l 掌握設(shè)計(jì)模式的應(yīng)用
l 掌握測試驅(qū)動(dòng)開發(fā)方法
l 掌握重構(gòu)的手法
l 了解如何選擇和使用框架
培訓(xùn)內(nèi)容
本課程內(nèi)容理論性與實(shí)踐性都較強(qiáng),采取講課、討論、實(shí)踐三者結(jié)合的方式,形成一整套解決問題的方法。
第一部 好的設(shè)計(jì):“球不是這么踢的”
讓目標(biāo)指導(dǎo)行動(dòng)
設(shè)計(jì)已死?
足夠好的軟件
化整為零,個(gè)個(gè)擊破
先實(shí)現(xiàn)后設(shè)計(jì)
目標(biāo):理解重構(gòu)的基本思想,掌握關(guān)鍵的重構(gòu)技巧。
第二部分 用例驅(qū)動(dòng)設(shè)計(jì):用例與功能
用例場景
健壯性分析圖
時(shí)序圖
協(xié)作圖
類圖
包圖
邏輯框架和層
模型-視圖分離原則
目標(biāo):理解用例驅(qū)動(dòng)設(shè)計(jì)的基本方法,掌握關(guān)鍵UML應(yīng)用技巧。
第三部分 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì):何為“領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)”
通用語言
模型驅(qū)動(dòng)設(shè)計(jì)
面向深層理解的重構(gòu)
保持模型一致性
目標(biāo):理解領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的基本方法,掌握關(guān)鍵重構(gòu)技巧。
第四部分 職責(zé)驅(qū)動(dòng)設(shè)計(jì):GRASP是什么?
創(chuàng)建者
信息專家
低耦合
控制器
高內(nèi)聚
多態(tài)
純虛構(gòu)
間接性
防止變異
目標(biāo):理解職責(zé)驅(qū)動(dòng)涉及的基本方法,掌握關(guān)鍵的重構(gòu)技巧。
第五部分 測試驅(qū)動(dòng)開發(fā):TDD
紅色
綠色
重構(gòu)
模式
目標(biāo):理解測試驅(qū)動(dòng)開發(fā)的基本思想,掌握關(guān)鍵的開發(fā)技巧。
第六部分 設(shè)計(jì)模式與變遷
行為型模式
創(chuàng)建型模式
結(jié)構(gòu)型模式
目標(biāo):理解設(shè)計(jì)模式的基本內(nèi)容,掌握關(guān)鍵的重構(gòu)技巧。
第七部分 設(shè)計(jì)原則:“重構(gòu)怎么能沒有原則”?
開閉原則
里氏科夫替換原則
單一職責(zé)原則
接口隔離原則
依賴倒置原則
不要重復(fù)你自己原則
你不需要它原則
KISS原則行為型模式
目標(biāo):理解基本面向?qū)ο蟮脑O(shè)計(jì)原則,掌握結(jié)構(gòu)優(yōu)化的重構(gòu)技巧。
以上大綱僅用于羅列課程中的知識點(diǎn),在實(shí)際授課時(shí)將會(huì)穿插在實(shí)際案例里,并非完全按時(shí)間順序講解。
軟件重構(gòu)是指在不改變軟件功能和外部可見性的情況下,為了改善軟件的結(jié)構(gòu),提高清晰性、可擴(kuò)展性和可重用性而對軟件進(jìn)行的改造。簡而言之,重構(gòu)就是改進(jìn)已經(jīng)寫好的軟件的設(shè)計(jì)。在敏捷開發(fā)方法學(xué)中,重構(gòu)常常是軟件開發(fā)循環(huán)的一部分,開發(fā)者通過增加新的測試和功能,或者重構(gòu)代碼來改善內(nèi)部的一致性和清晰性。重構(gòu)也是代碼維護(hù)中的一部分,既不修正錯(cuò)誤,又不增加新的功能性,而是用于提高代碼的可讀性或者改變代碼的結(jié)構(gòu)和設(shè)計(jì),使其在將來更容易被維護(hù)。特別是,在現(xiàn)有的程序的結(jié)構(gòu)下,給一個(gè)程序增加一個(gè)新的行為會(huì)非常困難,因此開發(fā)人員可能先重構(gòu)這部分代碼,使加入新的行為變得容易。
課程目標(biāo)
了解實(shí)效編程、掌握面向?qū)ο蟮木幊淘瓌t、掌握UML在設(shè)計(jì)中的應(yīng)用、掌握職責(zé)分配模式的應(yīng)用、掌握設(shè)計(jì)模式的應(yīng)用、掌握測試驅(qū)動(dòng)開發(fā)方法、掌握重構(gòu)的手法以及了解如何選擇和使用框架。具體事宜通知如下:
培訓(xùn)對象
注重實(shí)效的開發(fā)人員、開發(fā)工程師、開發(fā)團(tuán)隊(duì)負(fù)責(zé)人等。
學(xué)員基礎(chǔ)
具有項(xiàng)目設(shè)計(jì)、開發(fā)工作經(jīng)驗(yàn)。
師資
由業(yè)界知名人士親自授課:
姜老師:培訓(xùn)中心高級講師,國家“863項(xiàng)目”專家,首席架構(gòu)師,敏捷開發(fā)資深實(shí)踐者,具有多年在第一線成功管理大型軟件項(xiàng)目的經(jīng)驗(yàn),對軟件項(xiàng)目組織具有深刻見解和實(shí)踐知識。
培訓(xùn)目標(biāo)
l 了解實(shí)效編程
l 掌握面向?qū)ο蟮木幊淘瓌t
l 掌握UML在設(shè)計(jì)中的應(yīng)用
l 掌握職責(zé)分配模式的應(yīng)用
l 掌握設(shè)計(jì)模式的應(yīng)用
l 掌握測試驅(qū)動(dòng)開發(fā)方法
l 掌握重構(gòu)的手法
l 了解如何選擇和使用框架
培訓(xùn)內(nèi)容
本課程內(nèi)容理論性與實(shí)踐性都較強(qiáng),采取講課、討論、實(shí)踐三者結(jié)合的方式,形成一整套解決問題的方法。
第一部 好的設(shè)計(jì):“球不是這么踢的”
讓目標(biāo)指導(dǎo)行動(dòng)
設(shè)計(jì)已死?
足夠好的軟件
化整為零,個(gè)個(gè)擊破
先實(shí)現(xiàn)后設(shè)計(jì)
目標(biāo):理解重構(gòu)的基本思想,掌握關(guān)鍵的重構(gòu)技巧。
第二部分 用例驅(qū)動(dòng)設(shè)計(jì):用例與功能
用例場景
健壯性分析圖
時(shí)序圖
協(xié)作圖
類圖
包圖
邏輯框架和層
模型-視圖分離原則
目標(biāo):理解用例驅(qū)動(dòng)設(shè)計(jì)的基本方法,掌握關(guān)鍵UML應(yīng)用技巧。
第三部分 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì):何為“領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)”
通用語言
模型驅(qū)動(dòng)設(shè)計(jì)
面向深層理解的重構(gòu)
保持模型一致性
目標(biāo):理解領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的基本方法,掌握關(guān)鍵重構(gòu)技巧。
第四部分 職責(zé)驅(qū)動(dòng)設(shè)計(jì):GRASP是什么?
創(chuàng)建者
信息專家
低耦合
控制器
高內(nèi)聚
多態(tài)
純虛構(gòu)
間接性
防止變異
目標(biāo):理解職責(zé)驅(qū)動(dòng)涉及的基本方法,掌握關(guān)鍵的重構(gòu)技巧。
第五部分 測試驅(qū)動(dòng)開發(fā):TDD
紅色
綠色
重構(gòu)
模式
目標(biāo):理解測試驅(qū)動(dòng)開發(fā)的基本思想,掌握關(guān)鍵的開發(fā)技巧。
第六部分 設(shè)計(jì)模式與變遷
行為型模式
創(chuàng)建型模式
結(jié)構(gòu)型模式
目標(biāo):理解設(shè)計(jì)模式的基本內(nèi)容,掌握關(guān)鍵的重構(gòu)技巧。
第七部分 設(shè)計(jì)原則:“重構(gòu)怎么能沒有原則”?
開閉原則
里氏科夫替換原則
單一職責(zé)原則
接口隔離原則
依賴倒置原則
不要重復(fù)你自己原則
你不需要它原則
KISS原則行為型模式
目標(biāo):理解基本面向?qū)ο蟮脑O(shè)計(jì)原則,掌握結(jié)構(gòu)優(yōu)化的重構(gòu)技巧。
以上大綱僅用于羅列課程中的知識點(diǎn),在實(shí)際授課時(shí)將會(huì)穿插在實(shí)際案例里,并非完全按時(shí)間順序講解。
上一篇:軟件開發(fā)培訓(xùn)課程《面向?qū)ο蟮腏avaScript及HTML5》
下一篇:質(zhì)量管理培訓(xùn)課程《軟件質(zhì)量控制與質(zhì)量保證》
培訓(xùn)現(xiàn)場
講師培訓(xùn)公告