?
目標收益
本課程屬于架構設計的高端課程,需要學員具備軟件設計的實際工作經驗,處于項目和系統控制或主導的角色,課程希望能夠給學員提供更寬的視野,提升站在更高的角度思考問題的能力。
本課程并不準備用工匠式的方式說明問題,而是更深入的研討現代軟件系統優化設計的各種方法和思路,旨在提高企業技術人員的整體水平,并且對于任何一種編程語言背景的系統架構的開發和思維方法都是適用的。
在實戰演練過程中,將針對性地向學員詳解架構設計方法和原則,為項目團隊更好的對軟件項目的系統架構提供解決問題的思路和方法,能有效地提升學員理解和掌握高級系統架構的知識、并應用于項目開發過程的能力。
培訓對象
架構設計師、項目經理、技術經理、項目組長、技術骨干、技術支持人員或其他對系統架構設計有興趣的相關人員
課程大綱
?
| 主題 |
內容 |
|
? 系統架構概覽
|
?
|
|
? 架構設計的背景與目標
|
? 架構師和系統架構的定義
? 何為高級系統架構師?
? 架構設計師的知識結構
? 架構的職責是什么?
? 案例分析:煙囪系統
? 架構的思考:組成派VS.決策派
? 架構設計要關注什么?
? 架構設計的常見方法?
? 分層的細化
? 分區的引入
? 機制的提取
? 架構設計與迭代開發
? 什么是優雅的架構?
? 系統功能的模塊化原則
? 基于構件的架構設計
|
|
? 軟件系統架構的模型和方法
|
? 架構的架構
? 邏輯架構
? 開發架構
? 運行架構
? 物理架構
? 數據架構
? 案例分析:NGBOSS, CRM, 移動電子商務, 寬帶P-BOSS系統, 智能網絡視頻監控系統, DTV-OSS
? 4+1視圖法則
? UML在架構設計中的應用方法
? 系統建模與架構設計過程
|
|
? 系統架構與軟件開發過程的結合
|
? 軟件架構與面向對象分析設計過程的結合
? 軟件開發——工程VS.創作
? 規范過程下的敏捷——大象與猴子的故事
? 純粹敏捷的缺陷
? 架構設計與敏捷開發
? 架構驅動的增量開發模型
? 分析癱瘓的后果
? 架構驅動開發的節奏
? 合作型組織與反饋控制
? 軟件架構的設計過程
? 業務架構概念
? 產品架構概念
? 架構基線
? 子系統架構
? 構件架構
? 架構設計與TDD測試驅動開發
|
|
? 基于質量屬性的架構設計決策和改進
|
? 軟件質量與架構
? 軟件質量的定義
? 質量屬性對架構的影響
? 基于質量屬性的架構策略
? 軟件架構的質量評估
? ATAM(架構權衡分析方法)
? 軟件架構的重構與優化
? 軟件重構與設計模式
? 重構的時機和方法
? 架構設計之軟件設計原則
? SRP
? LSP
? DIP
? ISP
? OCP
? 軟件架構中設計模式的應用案例分析
? 利用外觀(Fa?ade)模式封裝子系統的變化
? 利用適配器封裝接口變化
? 用模板方法封裝業務單元的變化
? 利用裝飾器模式封裝核心業務單元
? 用工廠模式封裝對象創建過程的變化
? 利用觀察者模式處理業務單元的變化
? 在團隊并行開發中使用代理模式
? 過度設計的架構
|
|
? 常見架構體系的介紹和案例分析
|
? 架構設計的層面
? Infra-structural
? Platform
? Application
? 多層架構的介紹和對比分析
? 1 tier
? 2 tier
? N tier
? J2EE架構和.NET架構分析
? 幾種典型的高層架構介紹及其案例說明
? 客戶機-服務器體系結構(C/S Architecture)
? 多級體系結構(N-tier Architecture)
? 流程處理體系結構(Procedural processing architecture)
? 代理體系結構(Agent architecture)
? 聚合體系結構(Aggregate architecture)
? 聯邦體系結構(Federation architecture)
? 架構與框架的區別,Architecture VS. Framework
? Framework技術
? 性能優化的常見架構方法
? 負載均衡架構設計
? 為什么需要集群技術?
? 負載均衡的算法和架構
? 會話管理和Session的故障恢復
? 軟件可靠性質量解決方案
? 系統安全性及其防護措施
|
|
? 面向服務的基礎架構(SOA)
|
?
|
|
? 大規模高并發系統架構設計及其案例分析
|
?
|
|
? 架構設計案例——分組互動實踐
|
?
|
|
? 架構文檔寫作
|
?
|
|
? 架構與管理
|
?
|
|
? 架構設計實戰要領
|
? |