国产亚洲免费播放片_日韩欧美中文字幕在线韩免费_亚州在线观看视频在线观看_中文字幕AV熟女_中文高清欧美日本_视频一区二区三卡在线观看免费_日本精品人妻久久久_亚洲日韩另类制服无码AV_777米奇影视狠狠狠_国产成人免费无码精品

?

您好!歡迎來到上海艾縱企業(yè)管理咨詢有限公司!

加入收藏

登錄注冊

400-676-1955

專題課程

高質(zhì)量軟件設(shè)計與設(shè)計模型 案例分析和實踐

我要報名

編輯日期 2018-06-13  閱讀次數(shù):827 次


【課程簡介】

無數(shù)軟件企業(yè)及其研發(fā)團(tuán)隊都面臨著,大量初級程序開發(fā)人員低質(zhì)量軟件開發(fā)帶來的嚴(yán)重問題,即使那些工作多年的高級程序員也存在著對提高軟件設(shè)計質(zhì)量認(rèn)識不深的問題。正是由于以上的問題,造成許多公司對運行了多年的核心業(yè)務(wù),運行維護(hù)成本越來越高,卻不能更換、一直維護(hù)下去的惡性循環(huán)。如何通過培訓(xùn),切實有效地提高員工設(shè)計開發(fā)水平,從而有效地改善軟件設(shè)計質(zhì)量,成為越來越多的軟件企業(yè)迫切需要解決的問題。

本課程不僅在講解高質(zhì)量軟件設(shè)計的理論知識,更關(guān)鍵是將這些知識投放到各個真實的設(shè)計場景中。在這些場景中,我們可以看到我們要面對的設(shè)計難題,通過對設(shè)計難題的深入剖析,尋找問題的根源,對癥下藥,從而制訂出正確的設(shè)計方案。

不僅如此,本課程的案例選取了許多在需求變更中不斷變化的設(shè)計過程,從而用慢動作的手法展現(xiàn)了,最初的需求與設(shè)計是怎樣,第一次變更的設(shè)計,第二層變更的設(shè)計,第三次變更的設(shè)計……這樣的過程展示了,如何在需求變更的過程中,通過每一次正確的設(shè)計,不讓軟件退化,來保證高質(zhì)量的軟件設(shè)計。

課程的后期,更加深入地探討軟件退化的原因,及其正確的應(yīng)對策略:兩頂帽子與小步快跑的開發(fā)過程。

 

【培訓(xùn)特色】

本課程注重實戰(zhàn),采用案例貫穿的方式,收集了大量的真實案例,針對項目過程中技術(shù)人員常犯的錯誤進(jìn)行了匯總與研討,并形成培訓(xùn)教程。通過大量的真實案例,詳細(xì)地介紹了軟件設(shè)計過程需要注意的要點以及難點,這些知識都是講師十幾年經(jīng)驗的總結(jié)。

 

【培訓(xùn)對象】

初中高級工程師、企業(yè)架構(gòu)師、軟件設(shè)計師、技術(shù)決策/解決方案人員等。

 

【培訓(xùn)時長】

3


【課程大綱】

 

 

授課內(nèi)容

第一部分 高質(zhì)量軟件設(shè)計

第一章 什么是高質(zhì)量的軟件設(shè)計

情景劇:軟件設(shè)計焦慮癥

1.    上次的設(shè)計太糟糕了,痛下決心以后要好好設(shè)計

2.    再次進(jìn)行軟件設(shè)計時卻不知道該怎樣設(shè)計

1) 思考了很多,不知如何下手

2) 需求一變更,重新回到了糟糕的狀態(tài)

探討:如何進(jìn)行高質(zhì)量的軟件設(shè)計

 

什么是高質(zhì)量的軟件設(shè)計

1.    軟件的質(zhì)量保證:內(nèi)部質(zhì)量與外部質(zhì)量

2.    高質(zhì)量軟件設(shè)計的標(biāo)準(zhǔn):易讀、易于維護(hù)、易于變更

 

第二章 軟件設(shè)計原則

易于閱讀:

1.    規(guī)范代碼、編寫注釋與表明動機(jī)

案例:代碼編寫范例與簡便易行的方法

2.    領(lǐng)域驅(qū)動設(shè)計

 

易于維護(hù)與變更

1.    互聯(lián)網(wǎng)+帶來的挑戰(zhàn)

1) 系統(tǒng)需要不斷地技術(shù)升級與改造

2) 傳統(tǒng)行業(yè)必須向互聯(lián)網(wǎng)轉(zhuǎn)型

3) 但技術(shù)變革不是換零件那么簡單

4) 剖析應(yīng)對技術(shù)變革的方案

2.    案例講解軟件設(shè)計原則

1) 低耦合

a.     依賴反轉(zhuǎn)原則(DIP

案例:購票業(yè)務(wù)類與數(shù)據(jù)訪問類

b.    開放-封閉原則(OCP

案例:需求變更與可擴(kuò)展點設(shè)計

案例:Square/Circle的解決方案

c.     里氏替換原則(LSP

案例:Rectangle/Square的問題

案例:查詢參數(shù)傳遞類的問題

2) 高內(nèi)聚

案例:評審系統(tǒng)的設(shè)計

a.     單一職責(zé)原則(SRP

案例:財務(wù)憑證變更帶來的問題

案例:超級大函數(shù)與大對象的難題

案例:MySQL讀寫分離的改造過程

b.    信息專家模式

c.     不要重復(fù)自己原則(DRY

典型的代碼重復(fù)案例

探討代碼復(fù)用的難題

 

探討軟件設(shè)計模式:

1.    設(shè)計模式的由來

2.    設(shè)計模式的發(fā)展

3.    設(shè)計模式對高質(zhì)量軟件設(shè)計的作用

 

第二部分 軟件設(shè)計模式

第三章 適配器模式

什么是適配器模式

1.    軟件設(shè)計中外部接口的難題

2.    第三方框架帶來的設(shè)計難題

3.    適配器模式及其概念

 

適配器模式的應(yīng)用

1.    適配器模式解決第三方框架帶來的難題

案例:Hibernate適配器的設(shè)計

2.    適配器模式解決外部接口的設(shè)計難題

案例:第三方支付接口的設(shè)計

案例:財務(wù)數(shù)據(jù)接口的設(shè)計

 

第四章 策略模式

什么是策略模式

1.    工資發(fā)放功能遇到的難題

1) 工資發(fā)放功能最初的設(shè)計及其問題

2) 對問題的分析過程及其新的設(shè)計思路

2.    策略模式及其概念

 

策略模式的應(yīng)用

1.    案例:工資發(fā)放功能設(shè)計改進(jìn)的過程

1) 工資發(fā)放功能的Java實現(xiàn)

2) 工資發(fā)放功能的C++實現(xiàn)

2.    案例:數(shù)據(jù)導(dǎo)出功能的設(shè)計實現(xiàn)

1) 深入理解開放-封閉原則

2) 數(shù)據(jù)導(dǎo)出功能的變更與改進(jìn)過程

3.    案例:財務(wù)憑證生成功能的設(shè)計過程

1) 財務(wù)憑證生成功能的初始需求與設(shè)計

2) 財務(wù)憑證生成功能的擴(kuò)展與分析過程

3) 財務(wù)憑證生成功能的終端設(shè)計

4) 深入理解單一職責(zé)原則

5) 學(xué)習(xí)“兩頂帽子”的設(shè)計方式

練習(xí):財務(wù)憑證生成功能的設(shè)計與實現(xiàn)

 

第五章 工廠模式

探討軟件設(shè)計中遇到的難題

1.    依賴反轉(zhuǎn)原則的設(shè)計難題

2.    開放-封閉原則的設(shè)計難題

3.    探討工廠模式的本質(zhì)

 

簡單工廠模式

1.    簡單工廠模式的C++實現(xiàn)

2.    基于配置的簡單工廠模式

3.    剖析簡單工廠如何實現(xiàn)依賴反轉(zhuǎn)原則

案例:剖析SpringbeanFactory

4.    解讀工廠模式對設(shè)計的重大意義

5.    講解如何創(chuàng)建一個工廠

1) 創(chuàng)建工廠的步驟與關(guān)鍵點

2) 利用Spring框架簡化工廠類的設(shè)計

案例:數(shù)據(jù)導(dǎo)出功能的工廠實現(xiàn)

 

工廠方法模式

1.    工廠方法模式的概念

2.    工廠方法模式的應(yīng)用

案例:SAX框架的工廠類設(shè)計

 

抽象工廠模式

1.    抽象工廠模式的概念

2.    抽象工廠模式的實現(xiàn)

案例:標(biāo)簽庫的設(shè)計改進(jìn)過程

1) 最初的標(biāo)簽庫設(shè)計

2) 運用簡單工廠的標(biāo)簽庫設(shè)計

3) 運用工廠方法的標(biāo)簽庫設(shè)計

4) 運用抽象工廠的標(biāo)簽庫設(shè)計

5) 后期基于配置的標(biāo)簽庫設(shè)計

 

第六章 單例模式

什么是單例模式

1.    設(shè)計工廠類面臨的問題

2.    單例模式及其概念

3.    如何實現(xiàn)單例模式

 

單例模式的應(yīng)用

1.    單例模式帶來的設(shè)計變革

1) 充血模型vs.貧血模型

2) 探討單例模式與性能問題

2.    單例模式改變了很多軟件的設(shè)計

 

第七章 原型模式

什么是原型模式

1.    工廠類在提供產(chǎn)品時遇到的設(shè)計問題

2.    原型模式及其概念

 

原型模式的設(shè)計實現(xiàn)

案例:函數(shù)調(diào)用的無副作用問題

案例:JavsScript中的原型模式

 

第八章 模板方法模式

什么是模板方法模式

1.    煮咖啡給我們的啟示

2.    設(shè)計工廠類的新思路

3.    模板方法模式及其概念

 

模板方法模式的作用與技巧

案例:一個工廠模板的設(shè)計與實現(xiàn)

深入理解不要重復(fù)自己原則

1.    重復(fù)代碼帶來的嚴(yán)重后果

2.    散彈式修改及其解決思路

3.    探討實現(xiàn)代碼復(fù)用的難題

4.    代碼復(fù)用在不同場合采用的方法

5.    模板方法模式在代碼復(fù)用中的作用

 

第九章 裝飾者模式

什么是裝飾者模式

1.    業(yè)務(wù)量增長帶來的多數(shù)據(jù)源問題

2.    運用裝飾者模式巧妙解決多數(shù)據(jù)源問題

3.    裝飾者模式及其概念

 

裝飾者模式的應(yīng)用

案例:多數(shù)據(jù)源的設(shè)計實現(xiàn)

1.    多數(shù)據(jù)源問題的分析設(shè)計過程

2.    多數(shù)據(jù)源的設(shè)計與實現(xiàn)

案例:商城收銀系統(tǒng)的設(shè)計變更過程

1.    商城收銀系統(tǒng)期初的設(shè)計

2.    混合策略的設(shè)計與實現(xiàn)

3.    多層裝飾者的設(shè)計與實現(xiàn)

重新理解里氏替換原則

1.    透明的功能擴(kuò)展

2.    里氏替換原則

練習(xí):商場收銀系統(tǒng)的2種設(shè)計與實現(xiàn)

第十章 橋接模式

什么是橋接模式

1.    對象繼承的泛濫

2.    橋接模式及其概念

 

橋接模式的應(yīng)用

案例:員工管理與工資發(fā)放的設(shè)計

1.    員工管理與工資發(fā)放帶來的繼承泛濫問題

2.    采用橋接模式的設(shè)計與實現(xiàn)

案例:查詢支持類的設(shè)計

1.    查詢支持類遭遇的繼承泛濫問題

2.    查詢支持類的解決方案

3.    單例模式下查詢支持類的設(shè)計

深入體會單一職責(zé)原則

 

第十一章 享元模式

什么是享元模式

1.    Hibernate是怎樣訪問數(shù)據(jù)的

2.    享元模式及其概念

 

享元模式的應(yīng)用

案例:數(shù)據(jù)緩存的設(shè)計實現(xiàn)

案例:享元模式在大數(shù)據(jù)中的應(yīng)用

 

第十二章 其它設(shè)計模式

觀察者模式:JobHunter的情景劇

代理模式:老板與秘書的差異

命令模式:像工作流一樣處理業(yè)務(wù)

外觀模式:超級家庭影院的煩惱

構(gòu)建器模式:SQL Builder的設(shè)計

組合模式:如何構(gòu)建一棵樹

中介者模式:QQ在溝通中的作用

迭代器模式:如何順序訪問一個集合

 

第三部分 基于模式的重構(gòu)

第十三章 小步快跑的開發(fā)模式

關(guān)于設(shè)計模式的思考

1.    開發(fā)新項目敢于運用設(shè)計模式設(shè)計

2.    維護(hù)老項目不敢運用設(shè)計模式設(shè)計

 

問題的分析與思考

1.    對傳統(tǒng)軟件開發(fā)模式過程的梳理

2.    傳統(tǒng)軟件開發(fā)模式的風(fēng)險與問題

 

什么是小步快跑

1.    小步快跑開發(fā)模式的步驟與特點

2.    小步快跑開發(fā)模式的應(yīng)用

案例:數(shù)據(jù)推送程序的開發(fā)過程

總結(jié):小步快跑如何能解決問題

 

第十四章 如何防止軟件退化

軟件如何會退化

1.    軟件工業(yè)時代的特點

2.    軟件工業(yè)時代的軟件研發(fā)問題

案例:演示一個遺留系統(tǒng)的退化過程

1) 軟件最初的設(shè)計

2) 軟件不斷變更與退化過程

結(jié)論:重構(gòu)是軟件發(fā)展的必然

 

軟件重構(gòu)的正確方法

1.    軟件重構(gòu)面臨的問題

2.    軟件重構(gòu)的原則與思路

3.    軟件重構(gòu)的正確步驟

案例:演示一個遺留系統(tǒng)的重構(gòu)過程

1) 運用“抽取方法”解決大函數(shù)問題

2) 運用“抽取類”解決大對象問題

3) 運用“抽取父類”提高代碼復(fù)用

4) 運用“兩頂帽子”解決新功能的擴(kuò)展

5) 運用設(shè)計模式降低代碼耦合

6) 建立合理的分層結(jié)構(gòu)

7) 運用“領(lǐng)域驅(qū)動設(shè)計”擁抱變化

4.    評估軟件重構(gòu)的效果

 



?