從質量的視角思考架構師的工作

2021-02-23 土司阿哈
在最近一段時間一直有幾個問題纏繞著我,架構師該做什麼?如何成為一個名副其實的架構師?帶著這個問題我查閱了很多資料,請教了很多人,但依然沒有找到我需要的答案。請教猛哥,他告訴我,就把你對質量的知識遷移到質量運營就好了,當時不得其解。後來一次和周老師討論這個問題,他說你就別管架構師這高深的名詞,就從你擅長的角度思考這個問題,作為一個質量負責人,你需要關注產品的那些方面?我很快的告訴了他以下六個詞。

可用、可靠、易用、效率、可配置(可維護)、兼容(可移植)

然後他很認真的對我說,架構本身就是為軟體質量服務的,你就從你剛才理解的這六個詞重新思考下什麼是架構,然後你就明白該如何做了。

回到工位把那六個詞寫下來,並認真思考,在某個瞬間恍然大悟,這六個詞不就是ISO9126中關於質量模型的六大特性麼?有了這個啟發,我重新從質量的視角思考架構師的工作。


- 1 - 

 架構師的分類

從質量模型的上圖從左往右前三個是對用戶來說可以感知的屬,後三個主要是質量內建相關的屬性,系統運維運營需要關注的點。這樣來看,功能性、可靠性和易用性,其實不就是應用架構師的職責麼;效率、維護性和可移植性不就是系統架構師職責麼?

應用架構師:負責構建一個以解決特定業務問題為目標的軟體應用,一般以滿足各種功能性需求以及維護性需求為設計考慮目標;從應用程式的維度,偏業務系統,從用戶的角度關注業務理解,負責某個應用的技術架構,梳理模型,設計模式,接口,數據交互等方面。

系統架構師:以企業的持續經營目標為考慮要素來構建企業所需要的內在結構設計;提供運營支撐軟體應用的信息系統的結構設計。從系統的維度,負責整體系統的架構設計,主要是基礎服務和各系統間協調上,著眼全局不太注重某個應用本身架構,比如關注伺服器負載,可靠性,伸縮,擴展,資料庫切分,緩存應用等方面的基礎架構設計。

當然,現實中的架構師往往會身兼數職,而不僅僅是構思架構本身。比如,大部分軟體架構師也會組織軟體團隊、進行一些相關研究,甚至擔負一些行政管理的工作,在此不再延伸贅述。

- 2 - 

 架構師職責及關注點

用戶真正想要什麼?這些是用戶想要的麼?是否準確的實現和解決了用戶的需求和痛點?系統的邊界在哪裡?確定系統幹什麼不幹什麼?流程是否合理?系統產品之間數據流轉過程合理?系統安全可靠,允許經過授權的用戶和系統能夠正常的訪問相應的數據和信息,禁止未授權的用戶訪問..

2.從可靠性的角度需要思考:

系統是否成熟可靠,設計時是否考慮系統內部錯誤,導致軟體失效的各種異常流程和錯誤的兼容性處理;軟體出現故障,是否能夠快速修復,甚至自我修復;失效情況下的如何恢復並正常運行?

3.從易用性的角度需要思考:

設計的產品是否符合心理學和行為學,是否能夠很方便快速的被操作者使用和理解,就像iPhone手機Home鍵設計,一兩歲的孩子只要探索一兩遍,便能夠很容易操作並使用,作為架構師也需要從業務領域相關的背景知識中抽取和提練業務流程,並結合用戶的特點給產品設計提出指導性原則和積極的建議。

4.從效率性的角度需要思考:

需要關注用戶操作端到端的系統響應時間,實現這個目標,架構師從縱向分解和橫向分解,縱向分解是將整個系統分層,從而將整體系統分解成下一級的子系統與組件;橫向分解是在系統分解成不同的邏輯層或服務後,對邏輯層進行分塊,確定層與層之間的關係,從中選擇最優的一種方案。

並且關注系統前端到後臺、系統之間業務數據交互的時間及效率,如業務響應時間,吞吐率、TPS(每秒事務數)等業務指標;以及系統資源的利用率,CPU 內存 磁碟 IO 網絡帶寬、隊列、共享內存。

5.從軟體維護性的角度需要思考:

主要從運營的角度思考軟體架構如何設計,如何能夠快速分析定位問題;軟體產品出現的失效可以通過外部修改修復,同時又能防止意外修改導致程序失效,確保已修改軟體能被正確的運行的能力。

6.從軟體可移植性的角度需要思考:

軟體的可移植性就是需要考慮,軟體從一種環境遷移到另一種環境的能力,是否可以在不同的硬體伺服器、作業系統或者中間件產品上不需要修改就能夠被部署和搭建;並且能夠很方便快速的被安裝的能力。

- 3 - 

 架構師的能力要求

架構師到底有哪些能力要求呢?網上有張關於架構師能力要求調研報告,其中37%的人認為架構師的設計能力最重要,技術實力重要度排在第二佔了24%,溝通能力則排在第三佔比14%,此次,我們詳細分析排在前三的能力。


1.設計能力-擅長整合分析

架構是過程,並非結果。架構是架構師洞察內在結構、原則、規律與邏輯的過程,架構師要做到清晰理解系統,以及簡潔描述,這是分析整合的能力。

一個架構師必須具備極強的分析能力,要做到根據產品宗旨和目標,分析清楚產品定位以及產品業務,再整合利用現有的技術領域,找出最佳方案,實現產品概念。

2.技術實力-實現產品規劃

能夠在業務需求清楚的前提下,能夠將一個完整的業務系統從功能模塊和系統架構的角度進行分解,從技術的角度給予技術選型提供建議,前端到底用瘦客戶端還是富客戶端呢?資料庫是用MySQL還是MSSQL又或是Oracle呢?等等,架構師還應該深入一線解決和攻克技術難點。

3.溝通能力-能夠橫向溝通

架構師參與項目開發全過程,包括確認需求、系統分解、架構設計、技術選型、制定技術規格說明、系統實現、集成測試和部署各階段,在這一系列過程中,架構師會與各部門溝通交流。

一個產品會有多部門合作,架構師在其中的溝通極為重要,直接影響產品進度與質量。架構師不僅要與開發人員溝通,也要和項目經理、分析人員甚至用戶溝通,來實現產品的各種可能性。所以,對於架構師來講,不僅有技術方面的要求,還有能夠橫向溝通的要求。

從以上綜合來看,架構師是一個既需要掌控整體又需要洞悉局部瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。架構師不是一個人,他需要建立高效的體系,帶領團隊去攻城略地,在規定的時間內完成項目。

以上知識筆者希望從既往工作中,快速複製和遷移其能力的一些思考,並未經過真是檢驗。希望有相關經驗的同學一起思考並給予建議和指導。

特別說明:本文第三部分內容,部分內容來源於網絡文章來源:MiniStarClub北京,致力於提供最具價值的測試及測試管理領域原創文章。包括測試技術、測試方法、測試思想、測試管理等。

相關焦點

  • 前端架構師是打雜的麼?前端架構師的核心工作是什麼?
    客戶端軟體架構師考過軟考的應該知道軟考有個級別叫系統分析師, 或者有的也叫軟體架構師, 軟考對此的定義是能夠主持參與系統分析, 軟體架構等工作, winter 在分享的時候提到了客戶端軟體架構師, 在這裡是相同的含義winter 指出客戶端軟體架構師的架構工作主要是為了控制解決客戶端軟體設計上的複雜性
  • 你是一名軟體架構師嗎?
    將軟體架構從軟體設計和開發中區分開來的關鍵因素包括:規模的上升、抽象層次的上升, 以及做出正確的設計決策帶來的影響的上升等等。軟體架構就在於能有一個全局視角、能具備更大的視野,理解軟體系統作為一個整體是如何工作的。這些因素對區分軟體開發和軟體架構也許有幫助,但還是無法解釋一些人如何從開發轉到了架構。
  • 「架構師專題」雲原生時代,架構師需具備的十大核心能力(上)
    比如當時我們決定遷移 MapReduce 架構完全是預測到已有架構完全無法承擔未來的數據增長,需要提前布局。提煉需求:很多時候用戶提出的需求未必是真正的需求。面對需求,要養成多思考的習慣。思考需求的場景是什麼,思考需求背後需要解決的問題是什麼,來幫助我們識別並解決真正的需求。
  • 《程式設計師必讀之軟體架構》作者Simon Brown:架構師與程式設計師的區別
    Simon Brown:架構師和開發者一樣,也經常寫代碼,簡單的說,開發者和架構師之間最大的區別就是技術領導力。軟體架構師的角色需要理解最重要的架構驅動力是什麼,他提供的設計需要考慮這些因素。架構師還要控制技術風險,在需要的時候積極演化架構,並且負責技術質量保證。從根本上講,架構師是一個技術領導者的角色,這就是最大的區別。
  • 原來合格的軟體架構師是這樣!!!
    軟體架構就在於能有一個全局視角( holistic view)、能看到更大的圖,以理解軟體系統作為一個整體是如何工作的。這些因素對區分軟體開發和軟體架構也許有幫助,但還是無法解釋一些人如何從開發轉到了 架構。進一步地,它無助於識別哪些人將會成為出色的架構師、如果你是 HR 你如何尋找這 些人,以及你是否是一個架構師。
  • 架構師勸退指南
    保持好奇心,參加一些公司之外的社團活動:比如Java User Group會討論很多主題,從最底層的編碼到高層的架構,我很喜歡這樣的活動,因為它會讓我跳出工作來思考,並且加強個人社交網絡。架構師需要能夠做出架構決定,引導項目和組織走在正確的方向。
  • 解讀架構師的核心工作內容
    很多做軟體開發同學的夢想都是成為一名架構師,而架構師的核心工作就是做好軟體設計。軟體設計是軟體開發過程中的一個重要環節,那麼如何進行軟體設計,其輸出標準又是什麼呢?軟體設計過程中,如何和各個相關方溝通,使軟體設計能同時滿足用戶的功能需求和非功能需求,並降低公司的開發成本?
  • 架構師的工作都幹些什麼?!想做架構師必看!
    先給本文中架構師做個定義:第一,能力上達到(似乎是廢話),第二,公司肯承認,不僅能給架構師的頭銜,更能按架構師的標準發工資。對於程式設計師來說,架構師是職業發展的一道坎,如果跨過去了,後面就前途無量了,否則可能一直得做著代碼coding的事情。本文將從「如何升級」和「平時工作內容」兩方面,說下我對架構師的認識。
  • InfoQ:手機QQ瀏覽器架構師將解讀X架構
    2012年8月10日至12日,InfoQ將於深圳大梅沙的萬科國際會議中心召開ArchSummit全球架構師峰會,三天的會議,將有超過40名國內外講師到場。
  • 深度學習:一個思維習慣,讓你成為架構師
    可能比較抽象,我想我們可以從架構師的一些具體工作任務來理解 這句話含義:組織業務:架構師通過探索和研究業務領域的知識,構建自身看待業務的」世界 觀」。而且每一點提升的程度,也需要架構師衡 量把握,比如可用性要達到 2 個 9 還是 3 個 9。
  • 什麼是架構師?有何作用,成為一名架構師需要具備怎樣的能力?
    在比爾· 蓋茨的眾多稱謂中,據說他更偏愛「首席軟體架構師」。同樣,在網易創始人丁磊名字前,也有「首席架構師」這樣的稱謂。由此可見,對於企業來說,架構師就是靈魂的創造者。所以架構師的影響真的是不一般的,而且不僅僅如此。
  • 「新外貿架構師」張闊的關鍵詞:數位化、買家視角、簡單……
    經濟觀察網 記者 於惠如在一個軟體項目開發過程中,主導系統全局分析設計與實施、負責軟體架構和關鍵技術決策的人就是軟體架構師。 如果將阿里巴巴國際站當作一個外貿商業作業系統,它的領頭人張闊便在這個系統中承擔架構師的角色。 國際站是阿里巴巴的第一個產品,其核心業務是幫助國內中小企業找到海外買家,完成出口,採用B2B模式。 過去20年,阿里的這位「長子」培養了中國網際網路行業第一批骨幹人才。
  • 論架構師的自我修養
    在出現質量問題的時候,我們可以將問題歸咎於測試團隊的疏忽大意。在負載撐不住的時候,我們可以將問題歸咎於運維團隊不夠專業,甚至是競爭對手的DDoS攻擊。那麼,在出現什麼樣的問題的時候,我們可以將責任歸咎於架構呢?所以,現狀就是:架構師是一個很難做好的職業。但是,從某種意義上來說,又是一個非常容易混的職業。(當然,混是另一種需要持續修煉的高端技能。)
  • 架構師多如過江之鯽,但你真的了解架構師這個工種嗎?
    架構師多如過江之鯽,也正是眼下業內一個有趣的現象。對於架構師,你有什麼看法?當我第一次和InfoQ約寫一個關於架構師的稿子時,我很是愣了幾分鐘,雖然我自已的職業生涯經歷過幾次不同的架構師崗位,也組建過架構師團隊。
  • 架構師學習方面包括哪些,需要具備什麼能力
    架構師學習方面包括哪些,需要具備什麼能力 2020年07月18日來源:南方企業新聞網 提要:架構師需要具備的三個重要的能力
  • 做架構並非朝夕之功 在實踐中「悟道」
    李海翔繼續說道:「如果僅限於此,還不能完全「相知」,便不能承擔起架構師的職責。」在工作中,他不斷思考功能如何實現,模塊功能極限等問題。這使李海翔逐漸架構起了模塊之間的橋梁。  沒有這段經歷、似乎做一名資料庫架構師會有所缺憾,以單一視角看待一個事物難以窺得廬山真面目。所謂架構師做架構的設計,首先重要的就是先「解構」,面對資料庫的解構能力代表著能清晰掌握資料庫體系結構的方方面面,有過深入才能淺出。」  經歷了十多年的國產資料庫研發工作後,李海翔來到Oracle做了兩年查詢優化工作。
  • 架構師成長計劃|如何利用雲原生構建一個企業級高可用架構?
    如何利用雲原生實現企業級高可用架構呢?如果你正在思考、探究,亦或被雲原生的落地問題所困擾,那麼,這場技術課程一定不能錯過!!AWS 首席開發者布道師費良宏帶你探索雲原生的更多可能本期英特爾與 Science 聯袂推出的「架構師成長計劃」系列課程的主題,是由 AWS 首席開發者布道師費良宏帶來的——《雲原生架構設計和高可用架構》。
  • 在首席架構師眼裡,架構的本質是…… - OSCHINA - 中文開源技術...
    編者按:本文作者王慶友,前 1號店首席架構師,先後就職於 ebay、騰訊、1號店、找鋼網,精通電商業務,擅長複雜系統業務建模和架構分析,目前在中國 B2B 第一電商公司找鋼網擔任首席架構師目前討論架構實操(術)的文章較多,討論架構理念(道)的較少,本文基於作者在大型電商系統架構方面的一些實踐和思考,和大家聊聊架構理念性的東西,希望能夠拋磚引玉,推進大家對架構的認識。什麼是道,什麼是術?道是事物發展的本質規律,術是事物發展的具體途徑。規律只有一個,途徑很多,條條大路通羅馬,羅馬是道,大路是術。
  • 如何從軟體開發人員成長為軟體架構師
    軟體架構師是一位軟體專家,負責對給定的數字產品做出有關系統設計,基礎結構和技術標準(包括語言,工具和平臺)的行政決策。軟體架構師設定願景並監督系統的構建。 此外,軟體架構師應該能夠共享技術遠景和技術指導,並根據軟體項目的要求進行計劃。
  • 2019全球架構師峰會(北京站)閉幕,由極客邦科技主辦
    ArchSummit 全球架構師峰會是極客邦科技旗下InfoQ中國推出的面向高端技術管理者、架構師的技術大會。2019年第二次大會北京站於周六閉幕。中國過去二十多年的網際網路發展,享受了充分的「人口紅利」帶來的高增長。