在講解系統架構設計之前,有必要補充一下架構相關的概念,因此本博文主要講述架構、架構師和架構設計等相關的概念以及關係。這是系統架構設計的基礎,只有具備了此方面的知識之後,我們才能進一步瞭解架構師在軟體開發過程中扮演的角色,架構師如何編寫架構文檔來滿足不同利益相關者的需求等相關內容。
現在我們通過定義的概念來瞭解架構設計中的一些相關術語。 架構:架構是體現在它的組件中的一個系統的基主要組織、它們彼此的關係、與環境的關係及指導它的設計和發展的原則。 系統:系統是組織起來完成某一特定功能或一組功能的組件集。系統包括了單獨的應用程式、傳統意義上的系統、子系統、系統之系統、產品線、產品組、整個企業及感興趣的其他集合。 架構設計:一個架構的定義、文檔編寫、維護、改進和驗證正確實現的活動。 架構描述:描述一個架構的文檔集。 架構機制:對經常遇到的問題的共同的具體解決方案。 架構決策:關於一個軟體系統整體或它的一個或多個核心組件的刻意設計決策。這些決策決定非功能性特性和品質指標。 企業架構:當與業務戰略和資訊需求保持一致時,指導與將來的業務方向保持一致的解決方案的選擇、建立和實現的一組原則、指導、政策、模型、標準和流程。 通過以上定義,我們瞭解了架構中的一些相關概念,通過這些概念,我們能夠更好的理解什麼是架構、什麼是架構、架構師在架構決策中的作用是什麼,然後我們以一幅圖來詳解架構、架構師和架構設計之間的關係。 關於架構的描述: 架構定義組件的結構,同時還定義這些組件之間的互動。比如在一個訂單管理系統中,我們有客戶組件、賬戶管理組件、訂單實體組件等,我們可以通過時序圖來定義這些組件之間的調用過程(互動)。架構雖然定義結構和行為,但是它不關註定義所有的結構和行為。它只關注被認為非常重要的元素。 架構的特點: 架構必須平衡利益相關者的需要。 架構基於合理證據使決策具體化。 架構會遵循一種架構風格。 架構受它的環境影響。 架構影響Team Dev的結構。 關於架構師的說法: 架構師是負責系統架構的人、團隊或組織。 架構師的特點: 架構師是技術領導。 架構師的角色可能由一個團隊來履行。 架構師理解軟體開發流程。 架構師掌握業務領域的知識。 架構師掌握技術知識。 架構師掌握設計技能。 架構師具備編程技能。 架構師是優秀的溝通人員。 架構師進行決策。 架構師知道組織政策。 架構師是談判專家。 關於架構設計的事 定義見上面。 架構設計的優點: 架構設計解決系統的品質問題。 架構設計促進達成共識。 架構設計支援計劃編製流程。 架構設計促進架構的完整性。 架構設計有助於管理複雜性。 架構設計為重用提供基礎。 架構設計降低維護成本。 架構設計支援影響分析。 本文只是粗枝大葉的介紹了架構設計中的相關概念及特點,這是我們向架構進軍的一個前提,如你想瞭解更多架構設計方面的知識,請持續關注本站,O(∩_∩)O謝謝!