20181118-軟體開發架構6
阿新 • • 發佈:2018-11-20
學習目標
聽<軟體架構相關音訊>軟體開發架構一節
待解決問題
構件的概念 ?
構件是面向軟體體系架構的可複用軟體模組。構件(component)是可複用的軟體組成成份,可被用來構造其他軟體。它可以是被封裝的物件類、類樹、一些功能.
如何表達一個專案的架構,用什麼圖表?
架構設計作為一個系統開發的中間產品,交付的是什麼內容?
各種架構風格的適用場景?
網際網路應用 BS架構的應用 ria 富網際網路是什麼意思?
學習內容
特定領域軟體架構
領域分析
這個階段的主要目標是獲得領域模型(Domain Model).領域模型描述領域中系統之間共同的需求.領域模型所描述的需求陳曾為領域需求
準備性活動:
定義領域邊界-->從而明確分析的物件
識別資訊源 -->即領域分析和整個領域工程中資訊的來源.可能的資訊源包括現存系統,技術文獻,問題域和系統開發的專家 使用者需求和市場分析,領域演化的歷史記錄等.
分析領域中系統的需求,確定哪些需求是被領域中的系統廣泛共享的,從而建立領域模型.
領域設計
目標:獲得DSSA(特定領域軟體架構) 這個階段通過獲得DSSA,也就同時形成了重用基礎設施的規約. 領域實現 目標:依據領域模型和DSSA開發和組織可重新資訊.這些可重新資訊可能是從現有系統中提取出來的,也可能是需要通過新的開發得到 參與的人員:領域實現人員 領域設計人員 領域分析人員 領域專家 以上的過程是一個反覆的,逐漸求精的過程. 建立過程 (5個階段及其目標)
發展過程有3個階段
目標:獲得DSSA(特定領域軟體架構) 這個階段通過獲得DSSA,也就同時形成了重用基礎設施的規約. 領域實現 目標:依據領域模型和DSSA開發和組織可重新資訊.這些可重新資訊可能是從現有系統中提取出來的,也可能是需要通過新的開發得到 參與的人員:領域實現人員 領域設計人員 領域分析人員 領域專家 以上的過程是一個反覆的,逐漸求精的過程. 建立過程
- 定義領域範圍->確定什麼在感興趣的領域中及本過程導何時結束.
- 定義領域特定的元素->編譯領域字典和領域術語的同義詞詞典.
- 定義領域特定的設計和實現需求約束->描述解空間中有差別的特性.
- 定義領域模型和架構->產生一般的架構,並說明構成他們的模組或構件的語義和語法.
- 產生 蒐集可重用的產品單元->為DSSA增加構件使得它可以被用來產生問題域中的新應用.
- 評估小組
- 專案決策者
- 其他專案干係人
- 整理場景
- 對場景進行細化
- 確定場景的優先順序
- 分配效用
- 確定期望的質量屬性響應級別的效用
- 計算各種架構策略的總收益
- 根據受成本限制影響的投資收益率來選擇架構策略.
演化方式 | 革命方式 | |
基於現有產品 | 基於現有產品架構設計產品線的架構,經演化現有構件,開發產品線構件 | 核心資源的開發基於現有產品集的需求和可與測的,將來需求的超集 |
全新產品線 | 產品線核心資源歲產品新成員的需求而演化 | 開發滿足所有預期產品線成員的需求的核心資源 |
- 開發階段
- 配置分發階段
- 演化階段
成功實施產品線的因素
對要實施產品線的領域具備長期和身後的經驗
一個用於構建產品的好的核心資源庫
好的產品線架構
好的管理(軟體資源 人員組織和過程等)支援