架構師
其他
軟件架構
架構設計
軟件設計
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

高級系統(tǒng)架構設計師培訓

楊朔

中科院軟件所 架構師、項目經(jīng)理

一直致力于軟件工程的研究和實踐,對國外的軟件工程的理論和實踐有透徹的理解和研究,每年軟件所都將國外知名的軟件工程知名認識邀請到所里,進行理論和實踐的交流,對比國內(nèi)外在軟件工程上的異同,融合東西方軟件研究的成果,在軟件所的諸多項目中實踐,大部分的項目是成功的,也有幾個項目是失敗,對于經(jīng)驗和教訓的吸納,在10多年的實踐悟出了軟件架構的真諦。

作為項目的主要成員和負責人參與并領導完成了多個大型復雜項目,具有豐富的項目管理經(jīng)驗。所參與實施和咨詢的項目涉及建設工程、制造和IT領域。既通曉國際項目環(huán)境和管理模式,又熟悉中國企業(yè)的管理實踐。在項目管理理論,方法工具和應用實踐方面均具有高水平。持續(xù)6年代團隊開發(fā)項目,目前團隊分布在北京,上海、深圳、廣州、天津,石家莊以及蘭州,遠程合作開發(fā),團隊規(guī)模165人,實現(xiàn)了跨地區(qū)的軟件開發(fā),歷經(jīng)了幾十個軟件項目的設計與開發(fā)。

一直致力于軟件工程的研究和實踐,對國外的軟件工程的理論和實踐有透徹的理解和研究,每年軟件所都將國外知名的軟件工程知名認識邀請到所里,進行理論和實踐的交流,對比國內(nèi)外在軟件工程上的異同,融合東西方軟件研究的成果,在軟件所的諸多項目中實踐,大部分的項目是成功的,也有幾個項目是失敗,對于經(jīng)驗和教訓的吸納,在10多年的實踐悟出了軟件架構的真諦。 作為項目的主要成員和負責人參與并領導完成了多個大型復雜項目,具有豐富的項目管理經(jīng)驗。所參與實施和咨詢的項目涉及建設工程、制造和IT領域。既通曉國際項目環(huán)境和管理模式,又熟悉中國企業(yè)的管理實踐。在項目管理理論,方法工具和應用實踐方面均具有高水平。持續(xù)6年代團隊開發(fā)項目,目前團隊分布在北京,上海、深圳、廣州、天津,石家莊以及蘭州,遠程合作開發(fā),團隊規(guī)模165人,實現(xiàn)了跨地區(qū)的軟件開發(fā),歷經(jīng)了幾十個軟件項目的設計與開發(fā)。

課程費用

5800.00 /人

課程時長

2

成為教練

課程簡介

本課程將對軟件生命周期與軟件架構進行介紹,重點講述面向?qū)ο蟪绦蛟O計原則與模式及方法論、用UML輔助系統(tǒng)分析與設計、借鑒RUP的設計過程、設計模式與軟件設計思想、架構設計實踐等要點,并結合軟件架構設計案例進行進一步分析

目標收益

培訓對象

課程大綱

軟件生命周期與軟件
架構介紹
軟件架構介紹
IT行業(yè)的人才結構與軟件架構師的定位
軟件架構師應掌握的知識體系
軟件架構設計的特點、層次、分類
軟件架構的主要理論、方向和趨勢
軟件工廠,實現(xiàn)軟件開發(fā)的產(chǎn)業(yè)化
軟件生命周期進程模型介紹
RUP與XP
Agile與CMMI
MSF
技術架構視圖─面向?qū)ο蟪绦蛟O計原則與模式及方法論 衡量軟件系統(tǒng)質(zhì)量的標準
軟件系統(tǒng)開始變壞的表現(xiàn):硬化、脆弱、綁死、膠著。
軟件系統(tǒng)關鍵的質(zhì)量特性:正確性、健壯性、可擴展性、可復用性、兼容、可移植性、高效性、timeliness、economy and functionality
面向?qū)ο笤O計的基本原則
類的設計原則:
開閉原則、依賴倒置原則、Liskov替換原則、單一職責原則、接口分離原則、組合復用原則、所知最少原則
例:會議管理系統(tǒng)等、API函數(shù)的啟示等
包內(nèi)聚原則:發(fā)布與復用等價原則、共同封閉原則、共同復用原則
包耦合原則:無循環(huán)的依賴原則、穩(wěn)定的依賴原則、穩(wěn)定的抽象
用GRASP模式指導架構設計
GRASP架構模式:
信息專家、創(chuàng)建者、高內(nèi)聚、低耦合、控制者、多態(tài)、間接、純虛構、保護變化

典型案例分析:
違反信息專家模式案例分析
應用信息專家模式案例分析
應用GRASP模式精化架構設計案例分析
軟件架構設計的關鍵因素
什么是架構, 它和系統(tǒng)是如何關聯(lián)的。
如何獲得可維護性、可擴展性、可重用性、互操作性等。
在系統(tǒng)中如何組織組件(Component) 。
如何組織組件(Component)的內(nèi)部。
如何保持平臺相關的細節(jié)和應用的分離。
如何應用封裝(encapsulation)、抽象(abstraction)和委派(delegation)的原則。
如何應用設計模式來實現(xiàn)好的結構。
案例分析
模板容器、Movie查詢等
用UML輔助系統(tǒng)分析與設計 UML中的常見疑難問題辨析
用例圖
- 參與者建模中的常見問題
- 用例建模中的常見問題
- UaseCase的本質(zhì)討論

類設計
- UML中關系的辨析: 依賴關系、關聯(lián)關系辨析;聚合,組合辨析

類設計中的常見問題:
- 一些常見但易混淆的類關系圖;
- 熟悉類的自關聯(lián)形式;使用關聯(lián)類;
- 一些易混淆的重數(shù)表示方法
- 建模為對象與建模為屬性 / 建模為方法與建模為對象的辨析。

其它辨析
- 包與組件
- 擴展基類與覆蓋基類等;自關聯(lián)、關聯(lián)多重性、關聯(lián)角色名辨析
- 消除多重繼承的常用手段
借鑒RUP的設計過程 借鑒RUP的設計過程
全局分析:
選用架構模式;識別關鍵抽象;標識分析機制;常見的分析機制

局部分析:
提取分析類:
分析類的類型劃分:邊界類、實體類、控制類,分析類在模型中的位置,邊界類的復用,控制類的變通。
分析動態(tài)場景:
消息與責任;事件序列在邊界、實體及控制類間的原則;控制類在交互圖中的表現(xiàn)特征;交互圖的正確性。
整理分析類:
分析類的責任和關聯(lián)關系;動態(tài)與靜態(tài)的關系;確定類的責任;設計類和子系統(tǒng)接口。
設計模式與軟件設計思想 GOF設計模式
- 使用GOF設計模式,借鑒前人的經(jīng)驗。
- 分析創(chuàng)建型模式:
- 單例模式(Singleton)、工廠模式、抽象工廠模式(Abstractfactory)
- 分析結構型模式:
- 橋梁模式(Bridge)、裝飾模式(Decorator)、適配器模式(Adapter)、代理模式(Proxy)、組合模式(Composite)
- 分析行為型模式:
- 命令模式(Command )、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、訪問者模式(Template Method)
設計模式深入討論
- 設計模式的本質(zhì):
- 隔離變化點;間接;透明;局部雙向依賴;邏輯與功能;用接口抹平差異、延遲調(diào)用。
- 模式的推演:
- 掌握模式的本質(zhì),而非形式。
- 設計模式的高級運用:
- 高手的選擇;神似而非形似;一切以工程實際為標準;可以犧牲掉的特征;簡化的模式;防止濫用;自創(chuàng)的模式。
常用的軟件架構風格及適用情況分析
- 系統(tǒng)軟件
- 分層(Layer)、管道和過濾器(Pipes and Filters)、黑板(Blackboard)
- 分布式軟件
- 經(jīng)紀人(Broker) 、客戶/服務器(Client/Server)、點對點(Peer to Peer)
- 交互軟件
模型-視圖-控制器(Model-View-Controller)、顯示-抽象-控制(Presentation-Abstraction-COntrol)
SOA的設計思想
- SOA的概念
- SOA的設計目標
異構性Heterogeneity;可伸縮性Scalability;適用性Availability;分布式Distribution; .機動性Flexibility;可見性
典型案例分析
媒體顯示、數(shù)據(jù)采集系統(tǒng)、編輯器、文件解析器。
架構設計實踐 靜態(tài)設計
- 按層+高內(nèi)聚低耦合的原則進行模塊劃分
高內(nèi)聚原則;按功能分解;按業(yè)務進行分解;以數(shù)據(jù)轉(zhuǎn)換為中心分解;實際運用中的折中。
- 劃分層次
- 將模塊劃入對應的層;分層與分區(qū);邏輯模塊與實體組件的對應關系。
- 為模塊進行職責分配
隔離關注面:低耦合原則;適當采用設計模式;
用設計模式優(yōu)化核心結構:經(jīng)典模式運用:
用橋接模式作為中心骨架。
用橋接模式作為中心骨架。
用工廠模式進行組裝。
用命令模式處理事務。
模塊結構的常見形式
容器模塊 + 控制者 + 功能模塊 + 臨時構建的小類;單例模式;命令模式。
核心模塊的接口設計。
外觀模式;適配器模式;代理模式;中介者模式。
其它形式的的模塊結構:變換型模塊結構;事務型模塊結構。
模塊間的通信及耦合設計
- 組件式編程。
- 通訊機制:
- 觀察者模式;本地SDK;輪訓。
- 解耦:
- 針對接口編程;增加間接模塊;依賴注入。
- 設計數(shù)據(jù)層
數(shù)據(jù)結構選用的設計;數(shù)據(jù)訪問層的設計
動態(tài)設計
- 抽象與統(tǒng)一不同的因素
根據(jù)業(yè)務尋找關鍵因素;統(tǒng)一到復雜的情況。
- 常用的流程抽象手段:
依賴注入 / 控制反轉(zhuǎn);表格法;配置文件。
- 邏輯控制:
控制者模式;信息專家模式。
- 消息通知機制 MVC模式;觀察者模式;責任鏈模式;中介者模式。
模塊調(diào)整
- 調(diào)整模塊等級。
適當封裝;把屬性提升為類;將類降為屬性;將類提升為組件。
- 用設計模式優(yōu)化設計
在主體的框架上進行調(diào)整:訪問者模式;裝飾模式。
- 編碼時構建適當?shù)膭討B(tài)臨時類。
命令模式;事務處理類型。
- 效率的優(yōu)化 效率與結構的折中:優(yōu)化效率的3步驟。
軟件架構設計案例分析 綜合架構案例剖析
- 商店POS系統(tǒng)架構設計
- 薪酬系統(tǒng)架構設計
- 倉庫管理系統(tǒng)架構設計
實戰(zhàn)典型案例分析(以實際項目案例為背景)
- 需求分析、領域建模:零售店銷售系統(tǒng)
- 設計模式的綜合運用:Dvc文件分析系統(tǒng)
- 架構分析:互聯(lián)網(wǎng)商品數(shù)據(jù)分析系統(tǒng)
- 綜合案例分析:圖像處理系統(tǒng) 基于搜索的二次開發(fā)系統(tǒng)
軟件生命周期與軟件
架構介紹
軟件架構介紹
IT行業(yè)的人才結構與軟件架構師的定位
軟件架構師應掌握的知識體系
軟件架構設計的特點、層次、分類
軟件架構的主要理論、方向和趨勢
軟件工廠,實現(xiàn)軟件開發(fā)的產(chǎn)業(yè)化
軟件生命周期進程模型介紹
RUP與XP
Agile與CMMI
MSF
技術架構視圖─面向?qū)ο蟪绦蛟O計原則與模式及方法論
衡量軟件系統(tǒng)質(zhì)量的標準
軟件系統(tǒng)開始變壞的表現(xiàn):硬化、脆弱、綁死、膠著。
軟件系統(tǒng)關鍵的質(zhì)量特性:正確性、健壯性、可擴展性、可復用性、兼容、可移植性、高效性、timeliness、economy and functionality
面向?qū)ο笤O計的基本原則
類的設計原則:
開閉原則、依賴倒置原則、Liskov替換原則、單一職責原則、接口分離原則、組合復用原則、所知最少原則
例:會議管理系統(tǒng)等、API函數(shù)的啟示等
包內(nèi)聚原則:發(fā)布與復用等價原則、共同封閉原則、共同復用原則
包耦合原則:無循環(huán)的依賴原則、穩(wěn)定的依賴原則、穩(wěn)定的抽象
用GRASP模式指導架構設計
GRASP架構模式:
信息專家、創(chuàng)建者、高內(nèi)聚、低耦合、控制者、多態(tài)、間接、純虛構、保護變化

典型案例分析:
違反信息專家模式案例分析
應用信息專家模式案例分析
應用GRASP模式精化架構設計案例分析
軟件架構設計的關鍵因素
什么是架構, 它和系統(tǒng)是如何關聯(lián)的。
如何獲得可維護性、可擴展性、可重用性、互操作性等。
在系統(tǒng)中如何組織組件(Component) 。
如何組織組件(Component)的內(nèi)部。
如何保持平臺相關的細節(jié)和應用的分離。
如何應用封裝(encapsulation)、抽象(abstraction)和委派(delegation)的原則。
如何應用設計模式來實現(xiàn)好的結構。
案例分析
模板容器、Movie查詢等
用UML輔助系統(tǒng)分析與設計
UML中的常見疑難問題辨析
用例圖
- 參與者建模中的常見問題
- 用例建模中的常見問題
- UaseCase的本質(zhì)討論

類設計
- UML中關系的辨析: 依賴關系、關聯(lián)關系辨析;聚合,組合辨析

類設計中的常見問題:
- 一些常見但易混淆的類關系圖;
- 熟悉類的自關聯(lián)形式;使用關聯(lián)類;
- 一些易混淆的重數(shù)表示方法
- 建模為對象與建模為屬性 / 建模為方法與建模為對象的辨析。

其它辨析
- 包與組件
- 擴展基類與覆蓋基類等;自關聯(lián)、關聯(lián)多重性、關聯(lián)角色名辨析
- 消除多重繼承的常用手段
借鑒RUP的設計過程
借鑒RUP的設計過程
全局分析:
選用架構模式;識別關鍵抽象;標識分析機制;常見的分析機制

局部分析:
提取分析類:
分析類的類型劃分:邊界類、實體類、控制類,分析類在模型中的位置,邊界類的復用,控制類的變通。
分析動態(tài)場景:
消息與責任;事件序列在邊界、實體及控制類間的原則;控制類在交互圖中的表現(xiàn)特征;交互圖的正確性。
整理分析類:
分析類的責任和關聯(lián)關系;動態(tài)與靜態(tài)的關系;確定類的責任;設計類和子系統(tǒng)接口。
設計模式與軟件設計思想
GOF設計模式
- 使用GOF設計模式,借鑒前人的經(jīng)驗。
- 分析創(chuàng)建型模式:
- 單例模式(Singleton)、工廠模式、抽象工廠模式(Abstractfactory)
- 分析結構型模式:
- 橋梁模式(Bridge)、裝飾模式(Decorator)、適配器模式(Adapter)、代理模式(Proxy)、組合模式(Composite)
- 分析行為型模式:
- 命令模式(Command )、觀察者模式(Observer)、狀態(tài)模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、訪問者模式(Template Method)
設計模式深入討論
- 設計模式的本質(zhì):
- 隔離變化點;間接;透明;局部雙向依賴;邏輯與功能;用接口抹平差異、延遲調(diào)用。
- 模式的推演:
- 掌握模式的本質(zhì),而非形式。
- 設計模式的高級運用:
- 高手的選擇;神似而非形似;一切以工程實際為標準;可以犧牲掉的特征;簡化的模式;防止濫用;自創(chuàng)的模式。
常用的軟件架構風格及適用情況分析
- 系統(tǒng)軟件
- 分層(Layer)、管道和過濾器(Pipes and Filters)、黑板(Blackboard)
- 分布式軟件
- 經(jīng)紀人(Broker) 、客戶/服務器(Client/Server)、點對點(Peer to Peer)
- 交互軟件
模型-視圖-控制器(Model-View-Controller)、顯示-抽象-控制(Presentation-Abstraction-COntrol)
SOA的設計思想
- SOA的概念
- SOA的設計目標
異構性Heterogeneity;可伸縮性Scalability;適用性Availability;分布式Distribution; .機動性Flexibility;可見性
典型案例分析
媒體顯示、數(shù)據(jù)采集系統(tǒng)、編輯器、文件解析器。
架構設計實踐
靜態(tài)設計
- 按層+高內(nèi)聚低耦合的原則進行模塊劃分
高內(nèi)聚原則;按功能分解;按業(yè)務進行分解;以數(shù)據(jù)轉(zhuǎn)換為中心分解;實際運用中的折中。
- 劃分層次
- 將模塊劃入對應的層;分層與分區(qū);邏輯模塊與實體組件的對應關系。
- 為模塊進行職責分配
隔離關注面:低耦合原則;適當采用設計模式;
用設計模式優(yōu)化核心結構:經(jīng)典模式運用:
用橋接模式作為中心骨架。
用橋接模式作為中心骨架。
用工廠模式進行組裝。
用命令模式處理事務。
模塊結構的常見形式
容器模塊 + 控制者 + 功能模塊 + 臨時構建的小類;單例模式;命令模式。
核心模塊的接口設計。
外觀模式;適配器模式;代理模式;中介者模式。
其它形式的的模塊結構:變換型模塊結構;事務型模塊結構。
模塊間的通信及耦合設計
- 組件式編程。
- 通訊機制:
- 觀察者模式;本地SDK;輪訓。
- 解耦:
- 針對接口編程;增加間接模塊;依賴注入。
- 設計數(shù)據(jù)層
數(shù)據(jù)結構選用的設計;數(shù)據(jù)訪問層的設計
動態(tài)設計
- 抽象與統(tǒng)一不同的因素
根據(jù)業(yè)務尋找關鍵因素;統(tǒng)一到復雜的情況。
- 常用的流程抽象手段:
依賴注入 / 控制反轉(zhuǎn);表格法;配置文件。
- 邏輯控制:
控制者模式;信息專家模式。
- 消息通知機制 MVC模式;觀察者模式;責任鏈模式;中介者模式。
模塊調(diào)整
- 調(diào)整模塊等級。
適當封裝;把屬性提升為類;將類降為屬性;將類提升為組件。
- 用設計模式優(yōu)化設計
在主體的框架上進行調(diào)整:訪問者模式;裝飾模式。
- 編碼時構建適當?shù)膭討B(tài)臨時類。
命令模式;事務處理類型。
- 效率的優(yōu)化 效率與結構的折中:優(yōu)化效率的3步驟。
軟件架構設計案例分析
綜合架構案例剖析
- 商店POS系統(tǒng)架構設計
- 薪酬系統(tǒng)架構設計
- 倉庫管理系統(tǒng)架構設計
實戰(zhàn)典型案例分析(以實際項目案例為背景)
- 需求分析、領域建模:零售店銷售系統(tǒng)
- 設計模式的綜合運用:Dvc文件分析系統(tǒng)
- 架構分析:互聯(lián)網(wǎng)商品數(shù)據(jù)分析系統(tǒng)
- 綜合案例分析:圖像處理系統(tǒng) 基于搜索的二次開發(fā)系統(tǒng)

活動詳情

提交需求