曙海教學優勢
本課程,秉承二十一年積累的教學品質,以項目實現為導向,面向企事業項目實際需要,老師將會與您分享設計的全流程以及工具的綜合使用經驗、技巧。課程可定制,線上/線下/上門皆可,熱線:4008699035。
曙海培訓的課程培養了大批受企業歡迎的工程師。大批企業和曙海
建立了良好的合作關系,合作企業30萬+。曙海培訓的課程在業內有著響亮的知名度。
目標:
1.學習軟件架構設計基礎知識,掌握架構分析的一般方法;
?1.1 理解架構設計的組成和基本概念
?1.2 掌握使用軟件架構設計的一般方法進行領域分析、技術和數據架構設計;
?1.3 了解軟件架構設計在整個軟件過程中地位和作用
2.了解云計算、大數據、區塊鏈、物聯網、AI的基本概念和應用,理解這些成熟度比較高的新技術對于現實系統架構的意義。
?2.1 云計算:云計算簡史、分類、關鍵技術、安全體系、云計算的規劃與部署、行業和企業應用
?2.2 大數據與人工智能:大數據概念、組成和常用算法、系統體系架構、分布式協調、分布式通信、、大數據存儲、處理和展示技術
?2.3 物聯網簡介
3.著重理解微服務架構的整體構成、掌握微服務架構設計,了解微服務架構相關技術,熟悉SpringCloud體系,學會使用微服務來對系統進行分析和重構。
?3.1 了解微服務架構的基本概念和組成、核心要素,以及微服務架構對軟件研發組織的變革和相適應;
?3.2 掌握微服務架構的技術組成,以及其基本原理和關注點;
?3.3 熟練掌握Spring Cloud的微服務架構體系,并以此理解微服務的整體技術組成
?3.4 理解如何對已經存在的系統的微服務化的流程和注意事項。
?
第一部分 軟件技術架構
一:軟件架構介紹
?1.軟件架構設計的特點、層次、分類
?2.軟件架構的主要理論、方向和趨勢
?3.軟件生命周期進程模型介紹
二:軟件架構和需求
??? 1.概念和分析視點、物理視圖、邏輯視圖
??? 2.需求分析、表達和質量控制
三:技術架構視圖─面向對象程序設計原則與模式及方法論
?1.衡量軟件系統質量的標準
?2.面向對象設計的基本原則
?3.用GRASP模式指導架構設計:
?4.軟件架構設計的關鍵因素
四:用UML輔助系統分析與設計
?1.面向對象和UML基礎知識
?2.需求分析和UML
?3.架構設計和UML
?4.UML中的常見疑難問題辨析
?5.借鑒RUP的設計過程
五:架構的選擇和考慮因素
?1.選擇的困難
?2.架構師的職責和隱喻
?3.架構的十六大典型組成因素和選擇思路
?4.架構的總體質量評估
第二部分 逐步進入成熟期的新技術體系:云計算、大數據、物聯網和AI
一:云計算
?1 云計算概述:簡史、基本特征和分類、技術體系
?2 云計算技術:基礎架構、關鍵技術、管理、安全體系
?3 企業實踐:規劃和部署、行業和企業因公
?4 不只是技術:云計算與戰略、商業創新平臺
二:大數據
?1.大數據基礎理論:ACID、CAP、BASE;常見算法和數據結構
?2.大數據系統體系架構:資源管理調度、分布式協調、分布式通信
?3.大數據存儲:文件系統、鍵值存儲、擴展模型
?4.大數據處理、展示的常見模型
?5.一種特殊的數據架構:區塊鏈簡介和應用場景
三:AI簡介
?1. 人工智能的基本概念和應用方向;
?2. 人工智能與大數據
?3. 機器學習:泛型和架構,自己分布式算法
?4. 基于數據分析的人工智能算法和應用特點
四:物聯網簡介
?1.物聯網的概念、組成
?2.物聯網標識技術、傳感器技術
?3.物聯網的運行環境和應用層技術
?4.應用領域和展望
第三部分:微服務架構
一:應運而生的微服務和微服務架構的核心要素
?1. 軟件研發組織的模式變遷:軟件研發組織和項目成功要素、傳統軟件模式下的軟件研發組織、CS、web模式下的軟件研發組織、大規模集成軟件模式的軟件研發組織、云計算和服務化模式下的軟件研發組織
?2. 當前的技術和常見的項目組織管理模式:云計算以及云計算對開發的意義、軟件服務化的浪潮、當前技術模式下軟件研發組織的范圍、團隊管理和康威定律、云原生軟件研發組織的:微服務、持續交付、DevOps、敏捷基礎設施以及12要素;
?3. 項目經理/產品經理的核心職責和方法:項目經理工作內容、經典的項目經理職責與能力、執行項目基本流程和方法、云計算和微服務條件下項目經理承當職責、團隊、集中治理和領導
?4. 技術架構師的核心職責和最佳實踐:什么是軟件架構、價格師的職責和比喻、架構師的原則方法12要素、架構要求的標準、代碼的治理、與現實的妥協:技術債務
二:微服務技術架構
?1. 微服務架構技術介紹:軟件系統的發展趨勢:微服務,持續交付、微服務架構的概念和解決的痛點、微服務架構的構成、常見微服務架構的比較
?2. 微服務架構的軟件設計要點
?2.1 微服務的設計原則:領域驅動和業務建模、自動化的文化、內部實現的隱藏、去中心化、可獨立部署、隔離失敗、高度可觀察
?2.2 分解單塊系統
?2.3 部署和持續集成
?2.4 測試的模式
?2.5 監控
?2.6 安全
?2.7 CAP原理
?2.8 規模化的微服務:斷路器、隔離、冪等操作、緩存、自動伸縮等、動態服務注冊、文檔服務
?2.9 Docker技術
?3. SpringCloug微服務架構介紹
?3.1 SpringBoot簡介
?3.2 SpringCloud Eureka
?3.3 SpringCloud Ribbon
?3.4 SpringCloud Ribbon
?3.5 SpringCloud Hystrix
?3.6 SpringCloud Feign
?3.7 SpringCloud Zuul
?3.8 SpringCloud Config
?3.9 SpringCloud Bus
?3.10 SpringCloud Stream
?3.11 SpringCloud Sleuth
?3.13 不斷發展的SpringCloud
三:舊系統的微服務化
?1. 軟件系統的體系架構變遷:中心式、分布式;軟件分層;SOA、云計算和微服務;舊系統改造的可能性
?2. 軟件系統的功能特征對架構的選擇: 單應用、CS模式用用、層架構的應用、復雜度的因素、安全的因素
?3. 常見老舊系統架構的改造技術以及服務化的遷移設計:主要流程、理想的集成技術、領域驅動的服務劃分、共享數據庫、同步與異步、編排和系統、版本管理、絞殺者模式