副標(biāo)題 |
軟件項(xiàng)目經(jīng)理必修課 |
主辦單位 |
巔峰培訓(xùn)會員單位 |
學(xué)員對象 |
軟件工程師、項(xiàng)目經(jīng)理 |
授課時間 |
2009年12月5-6日 、常年舉辦,歡迎索取最新安排 |
授課顧問 |
趙老師 |
授課地點(diǎn) |
北京 搜索北京課程
|
每班人數(shù) |
|
報價 |
1800 |
課程目的 |
|
本課程是程序員走向項(xiàng)目經(jīng)理的快速捷徑,更是項(xiàng)目經(jīng)理提升技術(shù)管理水平的葵花寶典,課程對軟件企業(yè)提高工作效率,促進(jìn)軟件生產(chǎn)能力,具有不可多得的推動作用。
課程起源:代碼是軟件工程師的基本功,但相當(dāng)一部分程序員寫了幾年代碼仍然不得章法,被認(rèn)為“沒有程序的味道”,而且還養(yǎng)成了許多錯誤的編程習(xí)慣,這導(dǎo)致很多企業(yè),工作效率低下,產(chǎn)品或項(xiàng)目交付延期且要不斷地加班加點(diǎn)的惡性循環(huán)局面。這種狀況不僅加大了企業(yè)的運(yùn)營成本,影響了企業(yè)的生產(chǎn)力水平,而且嚴(yán)重制約了企業(yè)的快速發(fā)展。
為此,如何降低軟件項(xiàng)目或產(chǎn)品成本,提高軟件工程師的生產(chǎn)力水平,我們邀請了多位軟件過程改進(jìn)著名專家和程序高手,收集了大量的真實(shí)案例,針對項(xiàng)目過程中技術(shù)人員常犯的錯誤進(jìn)行了匯總,研討,并最終形成改進(jìn)解決方案的培訓(xùn)教程。課程將通過大量的真實(shí)案例和代碼,以“魔鬼訓(xùn)練”式的代碼訓(xùn)練方式讓學(xué)員通過親自動手操作來理解代碼設(shè)計,編寫,重構(gòu)以及調(diào)試。
課程收獲:代碼能力訓(xùn)練是根據(jù)2/8原則,程序編寫中常見的錯誤80%都是重復(fù)的理論,本課程總結(jié)了程序員非常易犯的若干種錯誤,匯聚了軟件開發(fā)常見的多種設(shè)計模式以及多個編程實(shí)戰(zhàn)技巧,重點(diǎn)側(cè)重于程序員實(shí)際職業(yè)能力的提升。講師從程序編寫人員的基本編程習(xí)慣開始講解,通過大量的真實(shí)案例,貫穿了設(shè)計、編碼、重構(gòu)、調(diào)試等整個軟件生命周期過程,詳細(xì)地介紹了各個階段需要注意的要點(diǎn)以及難點(diǎn),這些知識都是培訓(xùn)師十幾年編程經(jīng)驗(yàn)的總結(jié),如何避免重復(fù)犯錯,讓代碼更具健壯性是代碼能力的關(guān)鍵點(diǎn)。
本課程是程序員走向成熟并迅速成長為項(xiàng)目經(jīng)理的必經(jīng)之路。
|
|
課程內(nèi)容 |
|
課程綱要:
第一單元:面向?qū)ο蟪绦蛟O(shè)計的原則與模式
1.衡量軟件系統(tǒng)質(zhì)量的標(biāo)準(zhǔn)
從一個案例說起:
工程中常見的設(shè)計不佳的系統(tǒng)舉例,分析其中設(shè)計失敗的關(guān)鍵之處。
1) 復(fù)合文件系統(tǒng)。
2) 資源庫系統(tǒng)。
問題所在
1)強(qiáng)耦合的壞處。2)低內(nèi)聚的缺陷。3)避免“打補(bǔ)丁”式的修改。
2.用面向?qū)ο笤O(shè)計的原理優(yōu)化設(shè)計
類的設(shè)計原則:開閉原則、依賴倒置原則、Liskov替換原則、單一職責(zé)原則、接口分離原則、組合復(fù)用原則、所知最少原則
通過案例說明:
1) 練習(xí):對磁盤文件的處理,依賴注入的具體使用場合。
2) Liskov替換原則:
a) 例:會議管理系統(tǒng)。
b) 例:GUI組件
c) 例:線/線段。
d) 其它:脆弱基類的討論。
3) 練習(xí):設(shè)計媒體墻系統(tǒng);關(guān)注單一職責(zé)原則,討論各個方案的優(yōu)缺點(diǎn)。
4) 接口設(shè)計中的問題:
a) 接口功能要內(nèi)聚,接口中方法的數(shù)量要合適。
b) 擴(kuò)展:內(nèi)接口與外接口。核心部分對外暴露內(nèi)接口,其它部分暴露出供外調(diào)用的外接口。
c) 擴(kuò)展:普通接口與智能接口。智能接口供高層調(diào)用者,或不關(guān)心細(xì)節(jié)的調(diào)用者調(diào)用,普通接口供關(guān)系細(xì)節(jié)的調(diào)用者調(diào)用。
d) 工程實(shí)踐中經(jīng)常遇到的接口設(shè)計疑惑;簡單但易出錯的陷阱。
通過舉例說明包內(nèi)聚原則,耦合原則:
1) 常見的解耦方法。
2) 例:代碼的壞味道:分散的變化。
3) 與保護(hù)變化、隔離關(guān)注面、職責(zé)單一等的關(guān)系。
3. GRASP模式在程序設(shè)計中的運(yùn)用
GRASP模式:信息專家、創(chuàng)建者、高內(nèi)聚、低耦合、控制者、多態(tài)、間接、純虛構(gòu)、保護(hù)變化
案例分析:
1) 商店收銀系統(tǒng):違反信息專家的設(shè)計方式,使用信息專家的設(shè)計方式。
2) 面向?qū)ο笈c信息專家模式的聯(lián)系;面向?qū)ο蟮谋举|(zhì)是什么。
3) 商務(wù)系統(tǒng):大型系統(tǒng)中的信息專家模式運(yùn)用。
4) 數(shù)據(jù)分析系統(tǒng):數(shù)據(jù)字典使用中的創(chuàng)建者模式。
5) 工程中常見的包組織形式及創(chuàng)建者模式在其中的使用。
6) 資源庫系統(tǒng):低耦合的設(shè)計要點(diǎn)。
7) 信息抽取系統(tǒng):不要死板地套用3層/4層結(jié)構(gòu),系統(tǒng)中低耦合設(shè)計要點(diǎn)。
8) 保存Html文檔:高內(nèi)聚的指導(dǎo)意義。
9) 對長函數(shù)的處理:控制者模式。
10) Socket編程:控制者模式舉例。
11) 角色設(shè)計:用間接模式來處理不斷變化的加密需求。
4. 面向?qū)ο笤O(shè)計中的經(jīng)驗(yàn)原則介紹(20條)
1) 當(dāng)類包含多于6個數(shù)據(jù)成員時,可以把邏輯相關(guān)的數(shù)據(jù)成員劃分為一組,然后用一個新的包含類去包含這一組成員。 等等。
第二單元:靈活使用GOF設(shè)計模式避免走彎路
1.常用模式
模板方式模式、適配器模式、工廠方式模式、抽象工廠模式、策略模式、橋接模式、觀察者模式、命令模式、裝飾模式等。
2.需要背下來的定式――從實(shí)際中總結(jié)軟件設(shè)計中的常見用法
1) 用策略 / 橋接 / 訪問者模式作為中心骨架。
2) 用工廠 / 抽象工廠模式進(jìn)行組裝。
3) 用命令模式處理事務(wù)。
3. 模式案例分析:
1) 練習(xí)及分析:WDL解析系統(tǒng):
a) 初始設(shè)計的缺陷分析。
b) 用模式重構(gòu):外觀模式實(shí)現(xiàn)智能接口。
c) 橋接模式處理多對多的變化。
d) 模板方法模式統(tǒng)一流程。
e) 抽象工廠模式組織使用方案。
f) 單例模式的典型運(yùn)用。
g) 適配器模式用于組織第3方模塊。
2) ERO系統(tǒng)的設(shè)計分析:不能套用模式的場合。
a) 典型場合下的典型設(shè)計。
b) 深入分析后的領(lǐng)悟。
c) 按工程實(shí)際進(jìn)行設(shè)計,而非套用模式。
3) 薪酬系統(tǒng):
a) 從需求中做的抽象。
b) 橋接模式的典型運(yùn)用。
c) 策略的選擇:抽象工廠模式組織使用。
4) 練習(xí):貨運(yùn)系統(tǒng):
a) 策略模式的典型運(yùn)用。
b) 抽象工廠模式的運(yùn)用。
c) 對本系統(tǒng)中的常見錯誤設(shè)計分析,領(lǐng)悟策略模式的要點(diǎn)。
3.GOF高級話題討論:
拋棄眾多的原則、模式,看問題的本質(zhì):設(shè)計模式的實(shí)用分類及運(yùn)用。
模式的高級運(yùn)用分析:
1) 對間接類模式的本質(zhì)分析。
2) 對多對多類型模式的本質(zhì)分析。
3) 對命令模式的本質(zhì)分析。
4) 對主體-附加類模式的本質(zhì)分析。
5) 設(shè)計模式其實(shí)不難!
第三單元:用UML輔助系統(tǒng)分析與設(shè)計
1.UML中的常見疑難問題辨析
1. 用例圖:UseCase的本質(zhì)討論。
2. 類設(shè)計
案例分析:
1) 搜索引擎中的建模:依賴關(guān)系、關(guān)聯(lián)關(guān)系辨析
2) 商場收銀系統(tǒng)中的類設(shè)計:建模為屬性 / 類 / 基類-派生類 / 策略模式的抉擇。
3) 雜志訂閱系統(tǒng)中的類設(shè)計。
4) 汽車銷售系統(tǒng)中的類設(shè)計。
3. 其它辨析:略
2.借鑒RUP的設(shè)計過程。
邊界類、實(shí)體類、控制類的設(shè)計要點(diǎn)。
案例分析:
1. 復(fù)合文件編輯系統(tǒng):
系統(tǒng)設(shè)計中的常見問題。
2. WDL文件解析系統(tǒng):
初始設(shè)計的問題分析。
第四單元:對不良代碼的重構(gòu)
1. 常見的不良代碼:
重復(fù)的代碼、過長的函數(shù)、過大的類、過長的參數(shù)列表、發(fā)散式變化、分散的修改、偽面向?qū)ο蟮恼{(diào)用、數(shù)據(jù)泥團(tuán)、基本類型的誤用、switch-case結(jié)構(gòu)的誤用、平行繼承體系、過薄的類、只有局部意義的成員變量、過度耦合的消息鏈、過薄的中間對象、緊耦合類、相似的類、只有數(shù)據(jù)的類、濫用類的繼承關(guān)系
2. 對代碼與結(jié)構(gòu)重構(gòu)的實(shí)際運(yùn)用:
1) 結(jié)構(gòu)不良的系統(tǒng)的典型表現(xiàn)。
2) 劃分邏輯層次。
3) 把整理好的模塊劃歸不同的邏輯層。
4) 提取控制類 + 純虛構(gòu)類,整理流程。
5) 整理模塊間、層間的消息通知機(jī)制。
6) 數(shù)據(jù)層的考慮。
7) 運(yùn)用命令模式等,重構(gòu)主要的函數(shù)調(diào)用。
第五單元:框架搭建及實(shí)例分析
工程中常見的架構(gòu)風(fēng)格及案例討論:
1. 系統(tǒng)軟件:
分層(Layer)、管道和過濾器(Pipes and Filters)、黑板(Blackboard)
1) 數(shù)據(jù)采集系統(tǒng):用分層組織系統(tǒng)的設(shè)計。
2) 搜索系統(tǒng):用分層組織系統(tǒng)的設(shè)計。
3) 信息分析系統(tǒng):管道過濾器的實(shí)際使用。
4) 信息分析系統(tǒng):黑板模式的實(shí)際使用。
5) 人工智能系統(tǒng):黑板模式的實(shí)際使用。
2. 分布式軟件:
1) 討論:異構(gòu)系統(tǒng)間的通訊模式:經(jīng)紀(jì)人(Broker)的典型運(yùn)用場景。
2) 客戶/服務(wù)器(Client/Server)模式。
3) 點(diǎn)對點(diǎn)(Peer to Peer)模式。
3. 交互式軟件:
1) MVC模式的具體運(yùn)用:圖像模板編輯工具中的典型運(yùn)用。
2) 顯示-抽象-控制(PAC).
第六單元:案例分析:略
|
|
備注 |
|
課程對象:具有1-3年編程經(jīng)驗(yàn)的程序員、項(xiàng)目經(jīng)理
課程時間:12月5-6日
培訓(xùn)費(fèi)用:1800元/人
報名須知:請認(rèn)真填寫《報名回執(zhí)表》,并經(jīng)單位確認(rèn)后,發(fā)送傳真或電子郵件至聯(lián)系人。
|
|
提交時間 |
2009/11/24 0:00:48
|
聯(lián)系方法 |
O1O-8243115O |
E_mail |
30989665@QQ.com - 下載報名表.DOC |