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