架構師訓練營第 1 期 - 第 01 周總結
軟件架構是甚麼
系統軟件的整體結構與系統組件間關係的抽象描述
指導系統軟體各方面的設計
軟件架構 = {元素、形式,關係/約束}
如何表達軟件架構
建立模型
模型: 系統的完整抽象
針對問題的關鍵點、關鍵關係進行抽象
對某個領域特定問題的求解及解決方案
從領域問題到計算機系統的映射
目的
與不同關注人溝通
保存軟件設計的最終結果
模型的表達
常用 UML 、4 + 1 視圖等工具表達
單一視圖無法完整表達架構
以完整的視圖集來表達架構的方方面面
架構師是什麼
架構師是做架構設計的人
架構師是對系統架構負責的人
架構師是一個角色並不是一個職位
架構師的職責
負責設計系統架構
負責解決架構問題
負責對客戶、管理層、工程師解釋、溝通系統架構
負責確保系統按照架構設計被開發出來
架構師的產出
系統架構圖
UML 圖
4+1 視圖
其他可以代表架構的圖
架構設計文件
目的在保存軟件設計的最終結果
保留少量、重要的視圖
避免涉及過多內容和實現細節
針對不同的相關方、不同的關注點,產生不同的架構視圖及文件
架構師須具備的能力
平均以上的編程能力
基礎技術的掌握能力
基礎技術
操作系統
網路
演算法
分布式系統
.....
重點在了解
技術原理
技術應用情境
技術的限制
常用技術產品的理解與應用能力
消息對列
緩存
數據庫
根據系統的需求選用適當的技術產品
性能優化與分析故障能力
理解性能測試的各項工具
解讀性能測試的結果
針對系統性能瓶頸進行調適
常用架構模式和框架的理解與應用能力
根據系統需求、公司規範、工程師能力選用適當模式及框架
業務理解與功能模塊及非功能模塊拆解能力
根據業務理解對系統進行分析、設計
依據需求、分析結果進行功能拆解
完成系統開發與設計能力
高性能系統的設計
高可用系統的設計
業務擴展性架構設計
建模及產生設計文檔的方法和能力
精確的表達設計意圖
快速學習能力
發現事物背後的規律
發現知識背後的規律
發現技術背後的本質、思想、特點、規律
不斷的學習、實踐、思考
溝通與領導能力
對客戶溝通
對管理層溝通
對工程師溝通
溝通各相關部門、協調各種利益訴求
版权声明: 本文为 InfoQ 作者【Panda】的原创文章。
原文链接:【http://xie.infoq.cn/article/158d831bbffa90544cb5766ca】。未经作者许可,禁止转载。
评论