企業(yè)管理培訓(xùn)分類導(dǎo)航
企業(yè)管理培訓(xùn)公開課計劃
企業(yè)培訓(xùn)公開課日歷
2025年
2024年
研發(fā)管理培訓(xùn)公開課
研發(fā)管理培訓(xùn)內(nèi)訓(xùn)課程
熱門企業(yè)管理培訓(xùn)關(guān)鍵字
您所在的位置:名課堂>>公開課>>研發(fā)管理培訓(xùn)公開課
軟件設(shè)計全程演練與最佳實踐
【課程編號】:MKT027672
軟件設(shè)計全程演練與最佳實踐
【課件下載】:點擊下載課程綱要Word版
【所屬類別】:研發(fā)管理培訓(xùn)|項目管理培訓(xùn)
【時間安排】:2025年08月19日 到 2025年08月21日5000元/人
2025年05月06日 到 2025年05月08日5000元/人
2024年09月03日 到 2024年09月05日5000元/人
【授課城市】:北京
【課程說明】:如有需求,我們可以提供軟件設(shè)計全程演練與最佳實踐相關(guān)內(nèi)訓(xùn)
【課程關(guān)鍵字】:北京軟件設(shè)計培訓(xùn)
我要報名
咨詢電話: | |
手 機(jī): | 郵箱: |
課程介紹
在軟件產(chǎn)品的開發(fā)組織中,軟件設(shè)計人員是軟件企業(yè)新產(chǎn)品、新技術(shù)體系的構(gòu)建者,是目前軟件開發(fā)中急需的高層次技術(shù)人才。為此,培訓(xùn)中心特舉辦“軟件設(shè)計全程演練與最佳實踐”培訓(xùn)班,具體事宜通知如下:
授課思路
一般的書籍和培訓(xùn),往往是重點介紹設(shè)計原則和模式,之后給出幾個簡單的在理想情況下的應(yīng)用;或者是拿出最終設(shè)計來講解,然后告訴他的設(shè)計的是多么靈活,多么的好。但是當(dāng)你課程結(jié)束后,回到工作之中卻發(fā)現(xiàn)情況是完全的不一樣,這時你只有束手無策。
本課程重點關(guān)注提升軟件設(shè)計師技能,整個課程由多個實戰(zhàn)案例貫串始終,老師帶領(lǐng)大家通過案例實戰(zhàn)練習(xí),一起走完項目的全過程。案例練習(xí)中老師著重闡述和分析在實際項目中遇到的問題,提煉架構(gòu)決策的思維方法,使學(xué)員體會在項目各個階段中架構(gòu)的發(fā)展演化規(guī)律,從而在實戰(zhàn)中提煉理論,培養(yǎng)學(xué)員的實際應(yīng)用能力。課程主要特點:
1、理論與實踐相結(jié)合,注重案例的講解。
2、有深刻的理論深度,準(zhǔn)確把握設(shè)計原則與要義。
3、全真案例講解,學(xué)員邊做邊學(xué),具體、深刻。
4、能夠?qū)W(xué)員提出的案例進(jìn)行咨詢,指導(dǎo)分析、設(shè)計。
培訓(xùn)對象
1、中高級程序員、系統(tǒng)分析員、架構(gòu)設(shè)計師、產(chǎn)品市場技術(shù)人員。
2、具備IT部門工作經(jīng)驗,將負(fù)責(zé)信息化系統(tǒng)規(guī)劃等相關(guān)任務(wù)的技術(shù)人員。
3、希望加強軟件架構(gòu)理論和實踐能力的軟件開發(fā)人員。
4、負(fù)責(zé)軟件產(chǎn)品規(guī)劃與定義的相關(guān)人員。
5、需要了解軟件設(shè)計全過程的項目經(jīng)理。
學(xué)員基礎(chǔ)
1、3年以上開發(fā)經(jīng)驗,經(jīng)歷過頻繁需求變更或者系統(tǒng)重復(fù)開發(fā)的折磨。
2、熟悉Java/C#/C++任意一種面向?qū)ο笳Z言或者具備面向?qū)ο缶幊袒靖拍睢?/p>
課程目標(biāo):
1、了解軟件設(shè)計基本原理、主要原則和國內(nèi)外主流方法論。
2、掌握前沿技術(shù)的同時,獲得解決實際問題的規(guī)范和能力。
3、幫助軟件企業(yè)完善軟件架構(gòu)設(shè)計、評審流程,改善軟件開發(fā)質(zhì)量和效率。
培訓(xùn)內(nèi)容
時間內(nèi)容案例實踐與練習(xí)
Day1
(9:00-12:00)
第一部分:架構(gòu)設(shè)計思想與原理
一、架構(gòu)設(shè)計的內(nèi)涵
1. 概念和定義
2. 架構(gòu)原理
3. 架構(gòu)的三個層次
4. 企業(yè)架構(gòu)設(shè)計的產(chǎn)物
5. 大型系統(tǒng)架構(gòu)設(shè)計的產(chǎn)物
6. 中小型系統(tǒng)設(shè)計的產(chǎn)物
二、架構(gòu)設(shè)計的外延
1. 架構(gòu)設(shè)計方法體系
2. 架構(gòu)與軟件工程
3. 架構(gòu)與模式
三、架構(gòu)師的成長
1. 架構(gòu)師關(guān)鍵素質(zhì)
2. 架構(gòu)師職業(yè)發(fā)展建議
3. 設(shè)計師與設(shè)計技能
4. 設(shè)計師能力模型案例分析,某研發(fā)中心引入敏捷的實戰(zhàn)分析,什么才是真正的敏捷
1、 某研發(fā)團(tuán)隊5年前引入敏捷的失敗教訓(xùn)-能力比方法重要,但改變方法比改變能力簡單多了
2、優(yōu)秀的設(shè)計來自優(yōu)秀的設(shè)計師,因此應(yīng)該首先是尊重個體的主動和創(chuàng)造性,提高個體工作技能,而不是應(yīng)用了一種流程,消滅了個體的活力。首先關(guān)注人,才能真敏捷。
Day1
(13:00-16:00)
第二部分:中小型項目案例分析與實踐
一、良好需求是優(yōu)秀設(shè)計的開端
1、 不管你在何處工作,構(gòu)建些什么,用何種語言,在軟件開發(fā)上,一直最痛苦的事情是什么? 或者什么是你開發(fā)之中最討厭的問題是什么?---需求變更 2、殺死一個程序員不需要刀,只要需求變3次就好了!!
3、軟件不斷變更法則:真實世界中使用的程序必須進(jìn)行變更,否則它在環(huán)境中的作用就會越來越小.
4、需求改變的態(tài)度-拒絕變化無用,積極心態(tài)面對變化
二、針對變化的敏捷過程與設(shè)計
1、而敏捷對預(yù)測未來的方式是全新的,強調(diào)通過提高團(tuán)隊的能力、設(shè)計的彈性和流程的靈活性來適應(yīng)變化。這種思路對軟件開發(fā)也是很大的沖擊。
2、軟件設(shè)計的目標(biāo)-靈活性,因為增加一個功能特性的成本并不單單是為這些功能編碼所花費時間的成本,還應(yīng)該包括特性擴(kuò)展的障礙成本。現(xiàn)在我們遇到的最大障礙是現(xiàn)在系統(tǒng)的混亂,難以擴(kuò)展。
3、發(fā)現(xiàn)和封裝變化的原則——找出應(yīng)用中可能需要變化之處,把它們獨立出來,不要和那些不需要變化的代碼交織在一起.
4、抽象穩(wěn)定接口(抽象類),針對接口編程,而不是針對實現(xiàn)編程
5、分離變化維度,單一職責(zé)原則
6、動態(tài)綁定還是靜態(tài)綁定,多用組合,少用繼承
7、創(chuàng)建與使用分離,創(chuàng)建有變化也要封裝
網(wǎng)上訂單、嵌入式項目系統(tǒng)案例練習(xí):
1、現(xiàn)場模擬架構(gòu)需求獲取過程,點評要點;
2、采用敏捷方式設(shè)計案例系統(tǒng)組成架構(gòu)模型;
3、故障單類型的增加后,設(shè)計如何通過代碼進(jìn)行演化
Day2
(9:00-12:00)
第三部分:改造類項目案例分析與實踐
一、軟件復(fù)用與基于框架技術(shù)的架構(gòu)設(shè)計
1、框架的選擇/已有系統(tǒng)的架構(gòu)
2、 軟件通用服務(wù)組件的設(shè)計
3、 軟件復(fù)用的管理策略:復(fù)用已有的東西,比自己編寫更容易。如果不容易,大家就不會去復(fù)用。
4、軟件復(fù)用之道:對象級別、模塊、架構(gòu)層次復(fù)用5、在詳細(xì)設(shè)計之中,分析發(fā)現(xiàn)共同的行為的抽象和共同的機(jī)制來實現(xiàn)
6、詳細(xì)設(shè)計的核心——領(lǐng)域建模,領(lǐng)域模型中的常見問題
二、軟件腐化與希波克拉底宣言
1、 First, Do No Harm. 首先,做到不傷害!— Hippocrates 希波克拉底
2、 Proxy代理模式與軟件修改方案
3、 decorator模式與遺留軟件修改
三、軟件改造過程
1、初始設(shè)計的問題分析
2、拙劣設(shè)計常見癥狀以及如何發(fā)現(xiàn)和治療
3、在詳細(xì)設(shè)計中如何對設(shè)計問題進(jìn)行重構(gòu)
4、代碼壞味道
5、常見的重構(gòu)設(shè)計方式
6、重構(gòu)到設(shè)計模式
7、流程審核的改變 薪酬系統(tǒng)、出租系統(tǒng)等案例設(shè)計分析與實操演練
1、結(jié)合多個案例項目進(jìn)行分析,怎樣發(fā)現(xiàn)和封裝變化,如何通過具體的手段來進(jìn)行適應(yīng)這些變化
2、分析真實項目,如何做的詳細(xì)設(shè)計,給我們哪些啟示,我們可以學(xué)習(xí)到什么
3、分析我們在項目之中是那些原因?qū)е铝藳]有實現(xiàn)這些目標(biāo).
4、案例分析—如何維護(hù)遺留系統(tǒng)而不是遺留系統(tǒng)變爛
5、通過該案例分析,對比有時是因為人員的設(shè)計技能導(dǎo)致加速軟件的腐化
6、通過該案例分析,講師加入項目之后,將進(jìn)行哪些重構(gòu)
Day2
(13:00-16:00)
第四部分:大型系統(tǒng)項目案例分析與實踐(上)
一、優(yōu)秀大型系統(tǒng)架構(gòu)設(shè)計的要點
1、什么是好的設(shè)計和衡量的手段,世界大師的觀點(Robert C Martin , Peter Code,` James Shor)
2、一個好的系統(tǒng)設(shè)計應(yīng)該有如下的性質(zhì):可擴(kuò)展性、靈活性、可插入性。-Peter Code [CODE99]
3、可擴(kuò)展性(Extensibility)容易添加新的功能. 結(jié)合案例,通過那些手段如何實現(xiàn)該目標(biāo)
4、靈活性(Flexibility)代碼修改平穩(wěn)地發(fā)生. 結(jié)合案例,通過那些手段如何實現(xiàn)該目標(biāo)
5、可插入性(Pluggability)容易將一個類抽出去,同時將另一個有同樣接口的類加入進(jìn)來. 結(jié)合案例,通過那些手段如何實現(xiàn)該目標(biāo)
二、優(yōu)秀大型系統(tǒng)架構(gòu)設(shè)計的最佳實踐
1、合理的架構(gòu)設(shè)計來源于正確的需求過程;
2、業(yè)務(wù)建模和需求分析中的架構(gòu)因素;
3、采用原型法降低架構(gòu)風(fēng)險;
4、架構(gòu)風(fēng)險管理方法與決策;
5、幾種典型高層架構(gòu)介紹;
6、高層架構(gòu)設(shè)計的應(yīng)用技巧和實踐;
7、高層架構(gòu)的表示;
8、非功能性需求對架構(gòu)的影響;
9、架構(gòu)評審與決策;
10、ATAM的參與人員、步驟和結(jié)果;軍隊大型信息系統(tǒng)設(shè)計分析與實操演練
一、需求分析案例練習(xí)
1、案例背景介紹
2、提出問題,捕獲需求
3、工作量與開發(fā)計劃制定
二、架構(gòu)設(shè)計案例練習(xí)
1、邏輯架構(gòu)視圖設(shè)計案例練習(xí)
2、物理架構(gòu)視圖設(shè)計案例練習(xí)
3、運行架構(gòu)視圖設(shè)計案例練習(xí)
4、數(shù)據(jù)視圖設(shè)計案例練習(xí)
5、非功能需求對架構(gòu)的影響
Day3
(9:00-12:00)
第五部分:大型系統(tǒng)項目案例分析與實踐(下)
一、靈活性設(shè)計的最佳實踐
1、 多態(tài)(polymorphism)和針對接口的編程
2、數(shù)據(jù)驅(qū)動(Data-Driven Design)
3、元數(shù)據(jù)驅(qū)動設(shè)計
4、反射驅(qū)動(Meta-data or Reflective )
5、解釋器驅(qū)動
6、腳本引擎技術(shù)
二、演化式設(shè)計(Emergent Design)
1、 演化式設(shè)計 Emergent Design
2、演化設(shè)計--重構(gòu)帶來了一種新的構(gòu)設(shè)計方法,稱為反思性設(shè)計(Reflective Design)。除了創(chuàng)建一種設(shè)計并用代碼實現(xiàn)它之外,你現(xiàn)在還可以分析已有代碼的設(shè)計并改善它。尋求改進(jìn)的一種最好的方法是通過代碼嗅覺(code smells).
3、在詳細(xì)設(shè)計之中,如何對發(fā)現(xiàn)問題的設(shè)計進(jìn)行重構(gòu)
二、軟件設(shè)計原則/模式
1、項目系統(tǒng)的演變,以及設(shè)計原則的應(yīng)用效果,通過項目的演化分析這些核心設(shè)計原則的應(yīng)用場景
2、通過一個大型實例,傳遞Clean Code,設(shè)計原則等,包括DIY原則,Tell Don't Ask原則,Soild原則(Single Responsibility原則,Open Closed原則,Liskov Substitution原則,Interface Segregation原則,Dependency Inversion原則)。
三、架構(gòu)評審與架構(gòu)重構(gòu)
1、現(xiàn)場設(shè)計案例系統(tǒng)部署架構(gòu)模型,并開展ATAM評估;
2、現(xiàn)場設(shè)計案例系統(tǒng)數(shù)據(jù)架構(gòu)模型,討論中間件對架構(gòu)決策的影響;
3、實操細(xì)化架構(gòu)設(shè)計練習(xí),嘗試優(yōu)化分解架構(gòu)設(shè)計,使之適應(yīng)未來架構(gòu)變化。銀行、政府等多領(lǐng)域大型核心系統(tǒng)設(shè)計最佳實踐案例分析
1、結(jié)合多個案例項目進(jìn)行分析,怎樣發(fā)現(xiàn)和封裝變化,如何通過具體的手段來進(jìn)行適應(yīng)這些變化
2、很多公司習(xí)慣做大量的預(yù)習(xí)設(shè)計,這被證明是風(fēng)險很高的做法。好的架構(gòu)和設(shè)計是演進(jìn)出來的,通過這個環(huán)節(jié)了解演進(jìn)式設(shè)計的方法,包括演進(jìn)式設(shè)計的方法、工具、模式等內(nèi)容。
3、案例分析,根據(jù)課程介紹的壞癥狀,進(jìn)行重構(gòu)合理的設(shè)計;
4、如何計劃重構(gòu)活動以實現(xiàn)架構(gòu)演進(jìn),如何從設(shè)計方法、技術(shù)債務(wù)、復(fù)雜性等角度看架構(gòu)演進(jìn)
Day3
(13:00-16:00)
第六部分 千萬級訪問量網(wǎng)站架構(gòu)變遷案例分析與最佳實踐
一、用戶體驗與交互設(shè)計
1.基本概念
2.6大設(shè)計原則
3.亞馬遜網(wǎng)站案例剖析
二、千萬級訪問量的大型網(wǎng)站架構(gòu)變遷
1.物理分離webserver和數(shù)據(jù)庫
2.增加頁面緩存
3.增加頁面片段緩存
4.數(shù)據(jù)緩存
5.增加webserver
6.分庫
7.分表、DAL和分布式緩存
8.增加更多的webserver
9.數(shù)據(jù)讀寫分離和廉價存儲方案
10.大型分布式應(yīng)用和廉價服務(wù)器群時代某Web互聯(lián)網(wǎng)電子商務(wù)系統(tǒng)設(shè)計最佳實踐和案例分析
1、如何從開源起步
2、隨著訪問量的增加如何變遷架構(gòu);
3、淘寶 VS 12306,兩類系統(tǒng)架構(gòu)的差異性分析;
4、IBM小型機(jī)會被大量X86服務(wù)器替代嗎?各自的應(yīng)用背景與優(yōu)勢分析;
5、云計算、移動應(yīng)用等新興技術(shù)的發(fā)展意味著什么?創(chuàng)業(yè)黃金期的到來。
楊老師
由業(yè)界知名軟件架構(gòu)師親自授課:
楊老師 中科院計算所培訓(xùn)中心特聘講師,總后信息化顧問,國家SOA技術(shù)專家委常務(wù)委員、ISO國際標(biāo)準(zhǔn)組織SOA組中國區(qū)代表(首批4人小組成員)、國家人事部考試中心計算機(jī)命題評審委員會委員、軍隊信息化標(biāo)準(zhǔn)委員會副秘書長。
近期服務(wù)的部分客戶:上海移動、中國東方航空公司、中國工商銀行、湯森路透研發(fā)中心、安捷倫、朗訊科技、武警總部、總裝科技班、山東城市信用社、西門子、羅克韋爾、金風(fēng)科技、中油金卡等100余家企業(yè)提供培訓(xùn)咨詢,培訓(xùn)學(xué)員近5000人,培訓(xùn)風(fēng)格注重與企業(yè)現(xiàn)狀結(jié)合,實用性、互動性強,深受企業(yè)及學(xué)員的好評。