架构师的自我修养
1.何為軟件架構?
? 軟件架構,指從宏觀角度說明一套軟件系統的組成和特性。 架構設計與需求分析,概要設計,詳細設計最大的區別在于“宏觀”二字。要去架構師必須具有大局觀,從全局角度思考問題。
2.軟件架構包含哪些內容?
- 邏輯架構:軟件要為哪些用戶提供什么樣的功能,架構設計中的所有決策來源于需求。架構設計不能搞經驗主義。
- 數據架構:軟件邏輯中的數據結構。功能性需求的核心是數據,所有業務流程都是圍繞數據進行的。
- 開發架構:就是軟件代碼的層次骨架。
- 運行架構:軟件在運行過程中的所體現出來的非功能需求。包括高性能,高可用,可擴展,安全等。
- 物理架構:軟件的物理部署以及網絡拓撲。
3. 架構師的職責?
3.1 架構師介于需求與研發中間的人
企業對架構師的要求:紀要技術好,也要懂業務 一名合格的架構師就需要多思考,多學習,有豐富的項目經驗
3.2 架構師是統領全局的將軍
3.3 架構師要作為技術大牛攻克技術難題
? 架構師要有一種“不吃不喝也要解決問題”的狠勁,一種見山開山,遇河架橋的精神去攻克技術難題。 但是人的精力是有限的,攻克問題不能架構師一個人單打獨斗,團隊中架構師往往起到指引方向的作用。比如指定明確的技術方向,落實主要的設計思路等。
3.4 架構師作為戰略規劃師去規劃未來戰略
? 擁有強大的戰略眼光,能幫助企業進行技術規劃,指定未來的技術發展方向。
根據側重點,架構師可以分為以下幾種類型:
- 解決方案架構師: 側重溝通客戶,理解業務,為客戶指定技術解決方案。
- 系統架構師:能力更加均衡,負責從項目的需求分析到技術落地的全流程
- 平臺架構師:更側重于技術,將技術難題封裝成開發平臺,支撐業務系統
- 企業架構師:從具體項目中獨立出來,更側重于規劃未來的技術戰略
4.架構師的思維模式
- 宏觀思維
- 抽象思維
- 實例化需求
5.如何成為頂級架構師?
5.1 能夠將業務轉換成技術
作為頂級架構師,必須具備超強的落地能力,能夠將用戶的業務需求落地到技術方案,幫助研發團隊開發出用戶愿意使用的產品和功能。通過對業務的理解,梳理業務流程,發掘用戶痛點,然后落地到技術上,有針對性的指定技術方案。
5.2 能合理利用技術支撐業務
5.3 具備前瞻思維和戰略思維
6. “5視圖法”架構設計
怎樣做高質量的架構設計呢?我們需要按照一定的章法,一步一步的進行,以避免遺漏關鍵內容。當面對復雜問題時,最有效的解決思路是“分而治之”,將復雜問題劃分為多個相對獨立的問題,分別進行考量,解決。在架構設計上同樣的可以采用這種思路,即“5視圖法”,將要設計的復雜系統從5個不同 的維度視圖進行分析思考。
- 邏輯架構
- 數據架構
- 開發架構
- 運行架構
- 物理架構
總結
- 上一篇: 今天给在家介绍一篇健身俱乐部信息管理系统
- 下一篇: 基于X210的裸机时钟温度显示器-第1/