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