課程費(fèi)用

5800.00 /人

課程時(shí)長(zhǎng)

2

成為教練

課程簡(jiǎn)介

軟件架構(gòu)的概念:構(gòu)件及協(xié)作關(guān)系;典型的軟件架構(gòu)介紹:分層架構(gòu)及其派生類型;面向服務(wù)的架構(gòu)設(shè)計(jì):SOA;面向云的架構(gòu)設(shè)計(jì);用UML圖表達(dá)軟件架構(gòu);設(shè)計(jì)項(xiàng)跟蹤及其架構(gòu)重構(gòu);用代碼表達(dá)架構(gòu);數(shù)據(jù)訪問(wèn)設(shè)計(jì);業(yè)務(wù)邏輯設(shè)計(jì);界面邏輯設(shè)計(jì);.NET和C++互操作設(shè)計(jì)...等內(nèi)容。

目標(biāo)收益

培訓(xùn)對(duì)象

課程大綱

軟件架構(gòu)的概念:構(gòu)件及協(xié)作關(guān)系 ? - 架構(gòu)關(guān)注點(diǎn),定義構(gòu)件邊界+構(gòu)件之間通信 ?
- 構(gòu)件的描述:4+1視圖 ?
- 非功能性需求:可用性、可靠性、魯棒性、可維護(hù)性,可擴(kuò)展性,可測(cè)性,性能,可復(fù)用性、模塊化、易部署性等 ?
- 架構(gòu)設(shè)計(jì)方法:場(chǎng)景驅(qū)動(dòng)的迭代架構(gòu)設(shè)計(jì) ?
- 架構(gòu)師角色:輸入需求,輸出架構(gòu) ?
- 討論:如何才能成為一名合格的架構(gòu)師? ?
- 案例導(dǎo)入:必應(yīng)詞典的架構(gòu)介紹
典型的軟件架構(gòu)介紹:分層架構(gòu)及其派生類型 - 一般分層模型:數(shù)據(jù),業(yè)務(wù)+界面
- 典型的分層模型:B/S架構(gòu),C/S架構(gòu)和富客戶端應(yīng)用
- 實(shí)例:JSP/JSF應(yīng)用,ASP.NET應(yīng)用,AJAX應(yīng)用,REST風(fēng)格應(yīng)用
- 練習(xí):開(kāi)發(fā)一個(gè)簡(jiǎn)單的B/S應(yīng)用
- 案例討論:必應(yīng)詞典的分層架構(gòu)
面向服務(wù)的架構(gòu)設(shè)計(jì):SOA ? - 架構(gòu)的核心元素:容器,組件,接口和通信 ?
- 理解容器:基礎(chǔ)服務(wù),承載組件,容器間通信 ?
- 典型的容器:.NET WCF容器,J2EE應(yīng)用服務(wù)器如GlassFish ,COM容器 ?
- 理解組件:使用容器,實(shí)現(xiàn)接口,組件間通信 ?
- 非侵入式設(shè)計(jì):使用批注擴(kuò)展組件/容器 ?
- 典型的組件:WEB服務(wù),.NET WCF服務(wù) ,EJB Bean(消息,會(huì)話)等,COM組件,CORBA組件等 ?
- 理解接口:約定功能,服務(wù)接口,遠(yuǎn)程/本地接口 ?
- 練習(xí):編寫(xiě)一個(gè)簡(jiǎn)單的基于SOA的C/S應(yīng)用 ?
- 案例討論:必應(yīng)詞典中的服務(wù)
面向云的架構(gòu)設(shè)計(jì) - 云架構(gòu):云為容器,提供運(yùn)算,存儲(chǔ)和通信等基礎(chǔ)服務(wù)
- 公有云應(yīng)用:數(shù)據(jù),邏輯,界面都由公共云承載
- 混合云應(yīng)用:部分?jǐn)?shù)據(jù)/邏輯本地服務(wù)器+公有云;
- 云應(yīng)用的消息總線模型:將公有云模擬為本地資源統(tǒng)一通信
- 練習(xí):設(shè)計(jì),實(shí)現(xiàn)并部署一個(gè)基于SOA的B/S架構(gòu)的云應(yīng)用
- 案例討論:從WEB詞典到云詞典
用UML圖表達(dá)軟件架構(gòu) ? - UML圖概述:7種UML圖及繪制工具(例如VS2010的架構(gòu)師工具/ROSE繪圖工具/VISIO繪圖工具) ?
- 用例視圖:表達(dá)需求,定義系統(tǒng)邊界 ?
- 邏輯視圖:類及其關(guān)系,類的組織 ?
- 進(jìn)程視圖:表達(dá)運(yùn)行時(shí)對(duì)象間的協(xié)作關(guān)系,活動(dòng)圖,序列圖 ?
- 部署視圖:描述物理組件如何分發(fā)配置到服務(wù)器 ?
- 開(kāi)發(fā)視圖:描述在開(kāi)發(fā)環(huán)境中軟件的靜態(tài)組織結(jié)構(gòu) ?
- 練習(xí):用UML圖描述一個(gè)SOA小應(yīng)用架構(gòu)
性能設(shè)計(jì) - 主要性能指標(biāo):平均響應(yīng)時(shí)間、吞吐量或并發(fā)數(shù)、持續(xù)高速性
- 影響性能的主要因素:算法,實(shí)現(xiàn),數(shù)據(jù)庫(kù)設(shè)計(jì),通信
- 性能瓶頸探測(cè):性能探測(cè)工具及探測(cè)報(bào)告
- 練習(xí):用性能探測(cè)工具探測(cè)性能,壓力測(cè)試及內(nèi)存消耗
- 討論:必應(yīng)詞典的性能瓶頸及其對(duì)策
設(shè)計(jì)項(xiàng)跟蹤及其架構(gòu)重構(gòu) ? - 迭代設(shè)計(jì)(小步快跑模式):架構(gòu)的重構(gòu) ?
- 設(shè)計(jì)項(xiàng)版本管理 ?
- 設(shè)計(jì)項(xiàng)狀態(tài)跟蹤:設(shè)計(jì)項(xiàng)映射到代碼和測(cè)試用例 ?
- 相關(guān)工具:微軟團(tuán)隊(duì)項(xiàng)目服務(wù)器(Team Foundation Server)/其他工具 ?
- 練習(xí):利用源碼管理工具跟蹤架構(gòu)設(shè)計(jì)相關(guān)項(xiàng) ?
- 討論:必應(yīng)詞典的架構(gòu)設(shè)計(jì)過(guò)程
用代碼表達(dá)架構(gòu) - 設(shè)計(jì)元素:類,接口,模板,包
- 利用面向?qū)ο缶幊陶Z(yǔ)言:c#,Java,c++
- 依賴抽象的設(shè)計(jì)原則:針對(duì)抽象編程,封裝變化
- 使用設(shè)計(jì)模式:創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式
- 練習(xí):用抽象類和接口定義一個(gè)搜索系統(tǒng)的架構(gòu)
數(shù)據(jù)訪問(wèn)設(shè)計(jì): - 數(shù)據(jù)存儲(chǔ)設(shè)計(jì):文件,數(shù)據(jù)庫(kù),內(nèi)存,…
- 數(shù)據(jù)實(shí)體定義:主鍵,外鍵,二進(jìn)制數(shù)據(jù),約束
- 數(shù)據(jù)訪問(wèn)層設(shè)計(jì):數(shù)據(jù)表內(nèi)存表間映射
- 使用數(shù)據(jù)訪問(wèn)框架:LINQ 2 SQL/數(shù)據(jù)實(shí)體框架,JAVA 可持久化框架(JPA),ADO.NET 數(shù)據(jù)實(shí)體框架
- 練習(xí):使用數(shù)據(jù)訪問(wèn)框架操作數(shù)據(jù)庫(kù)
業(yè)務(wù)邏輯設(shè)計(jì): ? - 業(yè)務(wù)邏輯設(shè)計(jì)工具:工作流 ?
- 將業(yè)務(wù)邏輯包裝為服務(wù) ?
- 確定業(yè)務(wù)邏輯設(shè)計(jì)正確性:?jiǎn)卧獪y(cè)試 ?
- 練習(xí):用工作流實(shí)現(xiàn)一段業(yè)務(wù)邏輯,并驗(yàn)證實(shí)現(xiàn)的正確性
并行應(yīng)用設(shè)計(jì): - 識(shí)別并行任務(wù):Map-Reduce模型
- 并行模式:生產(chǎn)-消費(fèi)模式,并行,互斥和同步
- 并行實(shí)現(xiàn):多線程,線程池,并行庫(kù)
- 練習(xí): 用工作流設(shè)計(jì)并行邏輯
界面邏輯設(shè)計(jì) ? - MVC模式:模型控制視圖模式設(shè)計(jì)界面 ?
- 界面邏輯:輸入驗(yàn)證,修改模型,執(zhí)行邏輯,更新界面 ?
- 實(shí)例分析:MFC的界面邏輯,JSF的界面邏輯,AJAX應(yīng)用的界面邏輯,ASP.NE的界面 邏輯 ?
- 練習(xí):重構(gòu)一段界面代碼,使其滿足MVC模式
基于測(cè)試和基于合約的設(shè)計(jì):測(cè)試驅(qū)動(dòng)設(shè)計(jì)和合約驅(qū)動(dòng)的設(shè)計(jì) - 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)模型:紅綠紅模型
- 測(cè)試驅(qū)動(dòng)設(shè)計(jì):以通過(guò)測(cè)試用例為驅(qū)動(dòng)力迭代增量完成架構(gòu)
- 合約的概念:對(duì)實(shí)現(xiàn)方和調(diào)用方間各自的約束
- 基于合約的設(shè)計(jì):前置條件,后置條件和不變式
- 練習(xí):基于合約設(shè)計(jì)一個(gè)有理數(shù)類
設(shè)計(jì)可擴(kuò)展的框架 ? - 設(shè)計(jì)擴(kuò)展點(diǎn):虛方法,委托(實(shí)踐),依賴項(xiàng)(參數(shù)依賴,成員依賴,類型依賴)
- 可擴(kuò)展框架:使用基于聲明和配置的動(dòng)態(tài)注入依賴 ?
- 實(shí)例分析:.NET的動(dòng)態(tài)擴(kuò)展框架,Java Spring框架 ?
- 討論:必應(yīng)詞典的可擴(kuò)展性
安全性設(shè)計(jì) - 對(duì)威脅建模
- 網(wǎng)絡(luò)安全,服務(wù)器安全和軟件系統(tǒng)安全
- 常見(jiàn)安全漏洞及防范:拒絕服務(wù),SQL依賴注入,跨站點(diǎn)腳本調(diào)用,緩沖區(qū)溢出,數(shù)據(jù)泄密
- 討論:必應(yīng)詞典針對(duì)安全性的設(shè)計(jì)
.NET和C++互操作設(shè)計(jì) ? - 可選的技術(shù)評(píng)價(jià):DLL包裝,COM和托管C++ ?
- 互操作時(shí)的系統(tǒng)邊界設(shè)計(jì)
物理部署設(shè)計(jì) - 部署單元:組件,數(shù)據(jù)庫(kù)組件,數(shù)據(jù)處理組件,通信組件,中間件
- 部署配置設(shè)計(jì):定義配置項(xiàng)
- 驗(yàn)證物理部署設(shè)計(jì):使用虛擬機(jī)或TFS 實(shí)驗(yàn)室
軟件架構(gòu)的概念:構(gòu)件及協(xié)作關(guān)系 ?
- 架構(gòu)關(guān)注點(diǎn),定義構(gòu)件邊界+構(gòu)件之間通信 ?
- 構(gòu)件的描述:4+1視圖 ?
- 非功能性需求:可用性、可靠性、魯棒性、可維護(hù)性,可擴(kuò)展性,可測(cè)性,性能,可復(fù)用性、模塊化、易部署性等 ?
- 架構(gòu)設(shè)計(jì)方法:場(chǎng)景驅(qū)動(dòng)的迭代架構(gòu)設(shè)計(jì) ?
- 架構(gòu)師角色:輸入需求,輸出架構(gòu) ?
- 討論:如何才能成為一名合格的架構(gòu)師? ?
- 案例導(dǎo)入:必應(yīng)詞典的架構(gòu)介紹
典型的軟件架構(gòu)介紹:分層架構(gòu)及其派生類型
- 一般分層模型:數(shù)據(jù),業(yè)務(wù)+界面
- 典型的分層模型:B/S架構(gòu),C/S架構(gòu)和富客戶端應(yīng)用
- 實(shí)例:JSP/JSF應(yīng)用,ASP.NET應(yīng)用,AJAX應(yīng)用,REST風(fēng)格應(yīng)用
- 練習(xí):開(kāi)發(fā)一個(gè)簡(jiǎn)單的B/S應(yīng)用
- 案例討論:必應(yīng)詞典的分層架構(gòu)
面向服務(wù)的架構(gòu)設(shè)計(jì):SOA ?
- 架構(gòu)的核心元素:容器,組件,接口和通信 ?
- 理解容器:基礎(chǔ)服務(wù),承載組件,容器間通信 ?
- 典型的容器:.NET WCF容器,J2EE應(yīng)用服務(wù)器如GlassFish ,COM容器 ?
- 理解組件:使用容器,實(shí)現(xiàn)接口,組件間通信 ?
- 非侵入式設(shè)計(jì):使用批注擴(kuò)展組件/容器 ?
- 典型的組件:WEB服務(wù),.NET WCF服務(wù) ,EJB Bean(消息,會(huì)話)等,COM組件,CORBA組件等 ?
- 理解接口:約定功能,服務(wù)接口,遠(yuǎn)程/本地接口 ?
- 練習(xí):編寫(xiě)一個(gè)簡(jiǎn)單的基于SOA的C/S應(yīng)用 ?
- 案例討論:必應(yīng)詞典中的服務(wù)
面向云的架構(gòu)設(shè)計(jì)
- 云架構(gòu):云為容器,提供運(yùn)算,存儲(chǔ)和通信等基礎(chǔ)服務(wù)
- 公有云應(yīng)用:數(shù)據(jù),邏輯,界面都由公共云承載
- 混合云應(yīng)用:部分?jǐn)?shù)據(jù)/邏輯本地服務(wù)器+公有云;
- 云應(yīng)用的消息總線模型:將公有云模擬為本地資源統(tǒng)一通信
- 練習(xí):設(shè)計(jì),實(shí)現(xiàn)并部署一個(gè)基于SOA的B/S架構(gòu)的云應(yīng)用
- 案例討論:從WEB詞典到云詞典
用UML圖表達(dá)軟件架構(gòu) ?
- UML圖概述:7種UML圖及繪制工具(例如VS2010的架構(gòu)師工具/ROSE繪圖工具/VISIO繪圖工具) ?
- 用例視圖:表達(dá)需求,定義系統(tǒng)邊界 ?
- 邏輯視圖:類及其關(guān)系,類的組織 ?
- 進(jìn)程視圖:表達(dá)運(yùn)行時(shí)對(duì)象間的協(xié)作關(guān)系,活動(dòng)圖,序列圖 ?
- 部署視圖:描述物理組件如何分發(fā)配置到服務(wù)器 ?
- 開(kāi)發(fā)視圖:描述在開(kāi)發(fā)環(huán)境中軟件的靜態(tài)組織結(jié)構(gòu) ?
- 練習(xí):用UML圖描述一個(gè)SOA小應(yīng)用架構(gòu)
性能設(shè)計(jì)
- 主要性能指標(biāo):平均響應(yīng)時(shí)間、吞吐量或并發(fā)數(shù)、持續(xù)高速性
- 影響性能的主要因素:算法,實(shí)現(xiàn),數(shù)據(jù)庫(kù)設(shè)計(jì),通信
- 性能瓶頸探測(cè):性能探測(cè)工具及探測(cè)報(bào)告
- 練習(xí):用性能探測(cè)工具探測(cè)性能,壓力測(cè)試及內(nèi)存消耗
- 討論:必應(yīng)詞典的性能瓶頸及其對(duì)策
設(shè)計(jì)項(xiàng)跟蹤及其架構(gòu)重構(gòu) ?
- 迭代設(shè)計(jì)(小步快跑模式):架構(gòu)的重構(gòu) ?
- 設(shè)計(jì)項(xiàng)版本管理 ?
- 設(shè)計(jì)項(xiàng)狀態(tài)跟蹤:設(shè)計(jì)項(xiàng)映射到代碼和測(cè)試用例 ?
- 相關(guān)工具:微軟團(tuán)隊(duì)項(xiàng)目服務(wù)器(Team Foundation Server)/其他工具 ?
- 練習(xí):利用源碼管理工具跟蹤架構(gòu)設(shè)計(jì)相關(guān)項(xiàng) ?
- 討論:必應(yīng)詞典的架構(gòu)設(shè)計(jì)過(guò)程
用代碼表達(dá)架構(gòu)
- 設(shè)計(jì)元素:類,接口,模板,包
- 利用面向?qū)ο缶幊陶Z(yǔ)言:c#,Java,c++
- 依賴抽象的設(shè)計(jì)原則:針對(duì)抽象編程,封裝變化
- 使用設(shè)計(jì)模式:創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式
- 練習(xí):用抽象類和接口定義一個(gè)搜索系統(tǒng)的架構(gòu)
數(shù)據(jù)訪問(wèn)設(shè)計(jì):
- 數(shù)據(jù)存儲(chǔ)設(shè)計(jì):文件,數(shù)據(jù)庫(kù),內(nèi)存,…
- 數(shù)據(jù)實(shí)體定義:主鍵,外鍵,二進(jìn)制數(shù)據(jù),約束
- 數(shù)據(jù)訪問(wèn)層設(shè)計(jì):數(shù)據(jù)表內(nèi)存表間映射
- 使用數(shù)據(jù)訪問(wèn)框架:LINQ 2 SQL/數(shù)據(jù)實(shí)體框架,JAVA 可持久化框架(JPA),ADO.NET 數(shù)據(jù)實(shí)體框架
- 練習(xí):使用數(shù)據(jù)訪問(wèn)框架操作數(shù)據(jù)庫(kù)
業(yè)務(wù)邏輯設(shè)計(jì): ?
- 業(yè)務(wù)邏輯設(shè)計(jì)工具:工作流 ?
- 將業(yè)務(wù)邏輯包裝為服務(wù) ?
- 確定業(yè)務(wù)邏輯設(shè)計(jì)正確性:?jiǎn)卧獪y(cè)試 ?
- 練習(xí):用工作流實(shí)現(xiàn)一段業(yè)務(wù)邏輯,并驗(yàn)證實(shí)現(xiàn)的正確性
并行應(yīng)用設(shè)計(jì):
- 識(shí)別并行任務(wù):Map-Reduce模型
- 并行模式:生產(chǎn)-消費(fèi)模式,并行,互斥和同步
- 并行實(shí)現(xiàn):多線程,線程池,并行庫(kù)
- 練習(xí): 用工作流設(shè)計(jì)并行邏輯
界面邏輯設(shè)計(jì) ?
- MVC模式:模型控制視圖模式設(shè)計(jì)界面 ?
- 界面邏輯:輸入驗(yàn)證,修改模型,執(zhí)行邏輯,更新界面 ?
- 實(shí)例分析:MFC的界面邏輯,JSF的界面邏輯,AJAX應(yīng)用的界面邏輯,ASP.NE的界面 邏輯 ?
- 練習(xí):重構(gòu)一段界面代碼,使其滿足MVC模式
基于測(cè)試和基于合約的設(shè)計(jì):測(cè)試驅(qū)動(dòng)設(shè)計(jì)和合約驅(qū)動(dòng)的設(shè)計(jì)
- 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)模型:紅綠紅模型
- 測(cè)試驅(qū)動(dòng)設(shè)計(jì):以通過(guò)測(cè)試用例為驅(qū)動(dòng)力迭代增量完成架構(gòu)
- 合約的概念:對(duì)實(shí)現(xiàn)方和調(diào)用方間各自的約束
- 基于合約的設(shè)計(jì):前置條件,后置條件和不變式
- 練習(xí):基于合約設(shè)計(jì)一個(gè)有理數(shù)類
設(shè)計(jì)可擴(kuò)展的框架 ?
- 設(shè)計(jì)擴(kuò)展點(diǎn):虛方法,委托(實(shí)踐),依賴項(xiàng)(參數(shù)依賴,成員依賴,類型依賴)
- 可擴(kuò)展框架:使用基于聲明和配置的動(dòng)態(tài)注入依賴 ?
- 實(shí)例分析:.NET的動(dòng)態(tài)擴(kuò)展框架,Java Spring框架 ?
- 討論:必應(yīng)詞典的可擴(kuò)展性
安全性設(shè)計(jì)
- 對(duì)威脅建模
- 網(wǎng)絡(luò)安全,服務(wù)器安全和軟件系統(tǒng)安全
- 常見(jiàn)安全漏洞及防范:拒絕服務(wù),SQL依賴注入,跨站點(diǎn)腳本調(diào)用,緩沖區(qū)溢出,數(shù)據(jù)泄密
- 討論:必應(yīng)詞典針對(duì)安全性的設(shè)計(jì)
.NET和C++互操作設(shè)計(jì) ?
- 可選的技術(shù)評(píng)價(jià):DLL包裝,COM和托管C++ ?
- 互操作時(shí)的系統(tǒng)邊界設(shè)計(jì)
物理部署設(shè)計(jì)
- 部署單元:組件,數(shù)據(jù)庫(kù)組件,數(shù)據(jù)處理組件,通信組件,中間件
- 部署配置設(shè)計(jì):定義配置項(xiàng)
- 驗(yàn)證物理部署設(shè)計(jì):使用虛擬機(jī)或TFS 實(shí)驗(yàn)室

活動(dòng)詳情

提交需求