軟件重構(gòu)與設(shè)計模式其它上課時間:
培訓對象:
注重實效的開發(fā)人員、開發(fā)工程師、開發(fā)團隊負責人等。
培訓內(nèi)容:
培訓受眾:
注重實效的開發(fā)人員、開發(fā)工程師、開發(fā)團隊負責人等。 課程收益:
了解實效編程
掌握面向?qū)ο蟮木幊淘瓌t
掌握UML在設(shè)計中的應(yīng)用
掌握職責分配模式的應(yīng)用
掌握設(shè)計模式的應(yīng)用
掌握測試驅(qū)動開發(fā)方法
掌握重構(gòu)的手法
了解如何選擇和使用框架 培訓頒發(fā)證書:
中科院計算所職業(yè)培訓中心“軟件設(shè)計師”結(jié)業(yè)證書。 課程大綱:
關(guān)于舉辦“軟件重構(gòu)與設(shè)計模式”培訓的通知
各有關(guān)單位:
中國科學院計算技術(shù)研究所是國家專門的計算技術(shù)研究機構(gòu),同時也是中國信息化建設(shè)的重要支撐單位,中科院計算所培訓中心是致力于高端IT類人才培養(yǎng)及企業(yè)內(nèi)訓的專業(yè)培訓機構(gòu)。中心憑借科學院的強大師資力量,在總結(jié)多年大型軟件開發(fā)和組織經(jīng)驗的基礎(chǔ)上,自主研發(fā)出一整套課程體系,其目的是希望能夠切實幫助中國軟件企業(yè)培養(yǎng)高級軟件技術(shù)人才,提升整體研發(fā)能力,迄今為止已先后為國家培養(yǎng)了數(shù)萬名計算機專業(yè)人員,并先后為數(shù)千家大型國內(nèi)外企業(yè)進行過專門的定制培訓服務(wù)。
軟件重構(gòu)是指在不改變軟件功能和外部可見性的情況下,為了改善軟件的結(jié)構(gòu),提高清晰性、可擴展性和可重用性而對軟件進行的改造。簡而言之,重構(gòu)就是改進已經(jīng)寫好的軟件的設(shè)計。在敏捷開發(fā)方法學中,重構(gòu)常常是軟件開發(fā)循環(huán)的一部分,開發(fā)者通過增加新的測試和功能,或者重構(gòu)代碼來改善內(nèi)部的一致性和清晰性。重構(gòu)也是代碼維護中的一部分,既不修正錯誤,又不增加新的功能性,而是用于提高代碼的可讀性或者改變代碼的結(jié)構(gòu)和設(shè)計,使其在將來更容易被維護。特別是,在現(xiàn)有的程序的結(jié)構(gòu)下,給一個程序增加一個新的行為會非常困難,因此開發(fā)人員可能先重構(gòu)這部分代碼,使加入新的行為變得容易。
本課程的目標是:了解實效編程、掌握面向?qū)ο蟮木幊淘瓌t、掌握UML在設(shè)計中的應(yīng)用、掌握職責分配模式的應(yīng)用、掌握設(shè)計模式的應(yīng)用、掌握測試驅(qū)動開發(fā)方法、掌握重構(gòu)的手法以及了解如何選擇和使用框架。具體事宜通知如下:
一、培訓對象
注重實效的開發(fā)人員、開發(fā)工程師、開發(fā)團隊負責人等。
二、學員基礎(chǔ)
具有項目設(shè)計、開發(fā)工作經(jīng)驗。
三、師資
由業(yè)界知名人士親自授課:
姜老師:培訓中心高級講師,國家“863項目”專家,首席架構(gòu)師,敏捷開發(fā)資深實踐者,具有多年在第一線成功管理大型軟件項目的經(jīng)驗,對軟件項目組織具有深刻見解和實踐知識。
四、培訓目標
了解實效編程
掌握面向?qū)ο蟮木幊淘瓌t
掌握UML在設(shè)計中的應(yīng)用
掌握職責分配模式的應(yīng)用
掌握設(shè)計模式的應(yīng)用
掌握測試驅(qū)動開發(fā)方法
掌握重構(gòu)的手法
了解如何選擇和使用框架
五、培訓內(nèi)容
本課程內(nèi)容理論性與實踐性都較強,采取講課、討論、實踐三者結(jié)合的方式,形成一整套解決問題的方法。
第一部 好的設(shè)計:“球不是這么踢的”
讓目標指導行動
設(shè)計已死
足夠好的軟件
化整為零,個個擊破
先實現(xiàn)后設(shè)計
目標:理解重構(gòu)的基本思想,掌握關(guān)鍵的重構(gòu)技巧。
第二部分 用例驅(qū)動設(shè)計:用例與功能
用例場景
健壯性分析圖
時序圖
協(xié)作圖
類圖
包圖
邏輯框架和層
模型-視圖分離原則
目標:理解用例驅(qū)動設(shè)計的基本方法,掌握關(guān)鍵UML應(yīng)用技巧。
第三部分 領(lǐng)域驅(qū)動設(shè)計:何為“領(lǐng)域驅(qū)動設(shè)計”
通用語言
模型驅(qū)動設(shè)計
面向深層理解的重構(gòu)
保持模型一致性
目標:理解領(lǐng)域驅(qū)動設(shè)計的基本方法,掌握關(guān)鍵重構(gòu)技巧。
第四部分 職責驅(qū)動設(shè)計:GRASP是什么
創(chuàng)建者
信息專家
低耦合
控制器
高內(nèi)聚
多態(tài)
純虛構(gòu)
間接性
防止變異
目標:理解職責驅(qū)動涉及的基本方法,掌握關(guān)鍵的重構(gòu)技巧。
第五部分 測試驅(qū)動開發(fā):TDD
紅色
綠色
重構(gòu)
模式
目標:理解測試驅(qū)動開發(fā)的基本思想,掌握關(guān)鍵的開發(fā)技巧。
第六部分 設(shè)計模式與變遷
行為型模式
創(chuàng)建型模式
結(jié)構(gòu)型模式
目標:理解設(shè)計模式的基本內(nèi)容,掌握關(guān)鍵的重構(gòu)技巧。
第七部分 設(shè)計原則:“重構(gòu)怎么能沒有原則”
開閉原則
里氏科夫替換原則
單一職責原則
接口隔離原則
依賴倒置原則
不要重復(fù)你自己原則
你不需要它原則
KISS原則行為型模式
目標:理解基本面向?qū)ο蟮脑O(shè)計原則,掌握結(jié)構(gòu)優(yōu)化的重構(gòu)技巧。
以上大綱僅用于羅列課程中的知識點,在實際授課時將會穿插在實際案例里,并非完全按時間順序講解。
六、培訓時間、地點
七、證 書
培訓結(jié)束,頒發(fā)“軟件設(shè)計師”結(jié)業(yè)證書。
八、費 用
培訓費:4900元/人(含教材、證書、午餐、等)食宿統(tǒng)一安排,費用自理。 培訓師介紹:
姜老師:國家“863項目”專家,首席架構(gòu)師,敏捷開發(fā)資深實踐者,具有多年在第一線成功管理大型軟件項目的經(jīng)驗,對軟件項目組織具有深刻見解和實踐知識。