課程簡介
本課程的目標在于為敏捷與精益開發(fā)環(huán)境中的軟件架構設計提供指導。正如Martin Fowler在《Is Design Dead?》一文中所描述的,實施敏捷方法的團隊很容易陷入對軟件架構和軟件設計的困惑。但是,有效的軟件架構方法不僅能大幅降低設計風險,而且在敏捷環(huán)境下更容易發(fā)揮其應有的價值。課程講師在軟件架構領域和敏捷軟件開發(fā)領域工作多年,能夠深入軟件架構的本質(zhì)以及敏捷和精益的核心思想,引導學員掌握軟件架構設計的基本工具及核心思想,從而做出有效的軟件架構設計。
目標收益
通過培訓學員可以掌握軟件架構的核心思想和基本方法,開始運用敏捷建模方法進行軟件架構設計和驗證。軟件開發(fā)團隊可以逐步導入架構設計工作坊等開發(fā)實踐,更好地發(fā)揮軟件架構在產(chǎn)品開發(fā)中的價值。
培訓對象
本課程的培訓對象是已經(jīng)使用或擬導入敏捷與精益方法軟件團隊的技術負責人、架構師和軟件開發(fā)人員。
課程大綱
軟件架構的 本質(zhì) |
內(nèi)容一:常識與謬誤:關于軟件架構的基本觀點 1. 常見的軟件架構認知誤區(qū) 2. 軟件架構到底是什么——基本概念解析 3. 軟件架構的核心目標 4. 軟件架構的涉眾分析和關鍵成功要素 |
軟件架構和 敏捷過程 |
內(nèi)容二:讓軟件架構在敏捷和精益方法下有效 1. 價值與風險導向的架構設計(WHY) 2. 面向溝通的架構設計與敏捷建模(WHAT) 3. 演進式設計與架構的相對穩(wěn)定沖突嗎?(HOW) 4. 誰是架構師?(WHO) |
架構建模和 視圖 |
內(nèi)容三:模型和視圖——架構師的標準語言 1. 模型和視圖的關鍵概念 2. Kruchten 4+1、SEI和Rational 視圖集標準 3. 架構建模工具介紹 4. 軟件架構逆向工程 5. 練習:為既有設計進行架構描述 |
軟件架構設計方法 |
內(nèi)容四:基于質(zhì)量屬性非功能性需求進行軟件架構設計 1. 非功能性需求:架構設計的驅(qū)動因素 2. 質(zhì)量屬性場景與效用樹 3. 練習:發(fā)現(xiàn)關鍵質(zhì)量屬性 內(nèi)容五:軟件架構模式 4. 風格、模式和框架 5. 深入理解軟件架構模式 6. 練習:軟件架構模式分析 7. 軟件架構模式和質(zhì)量屬性場景 內(nèi)容六:領域驅(qū)動設計和軟件架構 8. 領域概念的發(fā)現(xiàn) 9. 合理地進行職責分配和接口設計 10. 何時對軟件架構進行演進? |
軟件架構的驗證與評估 |
內(nèi)容七:架構評估——低成本的軟件架構驗證方法 1. 敏捷和精益方法下的軟件架構驗證 2. 基于折中的架構評估方法 3. 構造架構原型 |
軟件架構工作坊 |
內(nèi)容八:有效的組織軟件架構設計和實施 1. 為什么需要軟件架構工作坊 2. 如何有效組織 3. 練習:軟件架構工作坊 4. 優(yōu)秀軟件架構案例剖析 |
軟件架構的 本質(zhì) 內(nèi)容一:常識與謬誤:關于軟件架構的基本觀點 1. 常見的軟件架構認知誤區(qū) 2. 軟件架構到底是什么——基本概念解析 3. 軟件架構的核心目標 4. 軟件架構的涉眾分析和關鍵成功要素 |
軟件架構和 敏捷過程 內(nèi)容二:讓軟件架構在敏捷和精益方法下有效 1. 價值與風險導向的架構設計(WHY) 2. 面向溝通的架構設計與敏捷建模(WHAT) 3. 演進式設計與架構的相對穩(wěn)定沖突嗎?(HOW) 4. 誰是架構師?(WHO) |
架構建模和 視圖 內(nèi)容三:模型和視圖——架構師的標準語言 1. 模型和視圖的關鍵概念 2. Kruchten 4+1、SEI和Rational 視圖集標準 3. 架構建模工具介紹 4. 軟件架構逆向工程 5. 練習:為既有設計進行架構描述 |
軟件架構設計方法 內(nèi)容四:基于質(zhì)量屬性非功能性需求進行軟件架構設計 1. 非功能性需求:架構設計的驅(qū)動因素 2. 質(zhì)量屬性場景與效用樹 3. 練習:發(fā)現(xiàn)關鍵質(zhì)量屬性 內(nèi)容五:軟件架構模式 4. 風格、模式和框架 5. 深入理解軟件架構模式 6. 練習:軟件架構模式分析 7. 軟件架構模式和質(zhì)量屬性場景 內(nèi)容六:領域驅(qū)動設計和軟件架構 8. 領域概念的發(fā)現(xiàn) 9. 合理地進行職責分配和接口設計 10. 何時對軟件架構進行演進? |
軟件架構的驗證與評估 內(nèi)容七:架構評估——低成本的軟件架構驗證方法 1. 敏捷和精益方法下的軟件架構驗證 2. 基于折中的架構評估方法 3. 構造架構原型 |
軟件架構工作坊 內(nèi)容八:有效的組織軟件架構設計和實施 1. 為什么需要軟件架構工作坊 2. 如何有效組織 3. 練習:軟件架構工作坊 4. 優(yōu)秀軟件架構案例剖析 |