首先,架構師需要根據要解決的問題,對目標系統的邊界進行界定,對目標系統按某個原則進行切分。切分的原則要便於不同的角色,對切分出來的部分並行或者序列展開工作,並對這些切分出來的部分設計溝通的機智,使得這些部分之間進行有機的聯絡,合併組裝成為乙個整體,來完成目標系統的所有工作。
作為乙個架構師,應該要學會抽象。抽象的實際是把不同的概念的相似部分合併在一起,形成乙個新的概念。但是,相似的部分在不同人看來並一定那麼相似,其次抽象之後形成的是乙個新的概念和原來那個概念並不一樣,所解決的問題也不願意。架構師要想做好首先具備的能力就是能夠正確認識概念,能夠發現概念背後所代表的問題,進而才能夠認識目標領域所解決的問題,這樣才能夠為做好架構打好基礎。如果知道了某一概念所要解決的問題,學習新的技術或者概念就會如虎添翼,快速的入手;學習乙個新的領域也會非常快速有效;使用這些概念來結束問題,甚至發明新的概念都是很容易的事情,這樣架構師在新的領域解決問題的時候,就能夠快速掌握這個領域,正確解決問題。
作為乙個架構師首先要做的就是識別出需要解決的問題,架構師大部分時候回是要去解決別人的問題,所以找出問題的主題,是做架構的首要問題。我們要解決的問題,一定是別人的問題,而不是自己的問題。架構師應該時刻記住,發現問題永遠比解決問題來額的更加重要。當問題的主體離架構師越遠,就會讓找出問題主體的過程越來越難。問題的主體就是問題的隱含邊界,邊界不確定下來,問題就是不確定的,一旦確定了主體,剩下的就是去搞明白主體有哪些問題。確證的認識問題,要知道這是誰的問題,有什麼問題這兩點。
當架構師學會了如何識別問題之後,那麼接下來就是需要對一些確實存在的問題進行調整,即架構的切分。所有的切分決策都不能違背利益為原動力這一點。一旦確定了問題的主題,系統的利益相關人員也就確定了。架構師要遵循1.必須在連續時間內發生的乙個活動,不能區分,2.切分出來的部分負責人,對這個部分的權利和義務必須是對等的。3.氣氛出來的問題不應該超過乙個自然人的負載。4.切分是內部活動,內部無論怎麼切,對整個系統的外部都應該是透明的。這四個原則。切分的過程實際上就是建模的過程,每次對大問題的切分都會生成很多小問題,每個小問題就形成了不同的概念,架構師則更多地是去理解這些概念,識別概念背後所代表的人的利益。架構切分的輸出實際上就是乙個系統的模型,對於乙個整體問題,有多少的相關方,每乙個相關方需要承擔哪些權利和義務,不同的相關方是如何結合起來完成系統的整體任務的。任何架構調整都會涉及到組織結構,千萬不可以輕視。切分的最後結果都會體現在組織架構上,只有這樣才能夠讓架構落地推進。架構切分的結果一定是乙個梳妝的,這也是為什麼會產生分層,層數越多溝通越多,效率越低,分層越少越好。盡可能變成一顆平衡樹,才能讓整個系統的效率最大化。
架構師通過把很多任務作拆分出來,遵循拆分原則,讓全責一致。同意也需要組織架構調整,來保證架構的落地。減輕每乙個工程師的壓力,提公升每個人的效率和利益。
當我們說架構的時候,我們一定要講清楚,究竟說的是部署的架構還是**的架構。軟體架構的落地,需要軟體的組織架構和流程來保障,離開了這個軟體架構是一句空話。架構是進化出來的,架構實際上是在量不斷著的增大,超過了單台伺服器的容量,逐漸的拆分,同時導致超過單個人員的呢鞥裡,工作人員不斷增多,工作內容不斷的拆分形成。這本身就是架構的意義所在,不管怎麼拆分,所達到的目的沒有變化,就是完成業務在計算機中的虛擬化。
總結來說,架構師工作需要首先確定邊界,然後進行識別問題,最後進行工作切分。
漫談架構有感 軟體架構師如何工作
軟體架構師是軟體行業中一種新興職業,工作職責是在乙個軟體專案開發過程中,將客戶的需求轉換為規範的開發計畫及文字,並制定這個專案的總體架構,指導整個開發團隊完成這個計畫。主導系統全域性分析設計和實施 負責軟體構架和關鍵技術決策的人員。架構師的主要任務不是從事具體的軟體程式的編寫,而是從事更高層次的開發...
架構漫談 軟體架構師
通過對架構漫談九篇部落格的閱讀,我了解到了軟體架構以及軟體架構師的工作狀況等內容 對於架構,我的理解是,在乙個系統中,存在乙個系統中多個角色共有的問題,為了更快更好地解決問題,將問題進行拆分,交由不同的角色來完成,並在各角色中建立溝通機制,進行有機的聯絡,總成乙個整體,完成目標系統的工作。了解到架構...
讀軟體漫談,簡述軟體架構師如何工作
軟體架構師如何工作 最近拜讀了王概凱老師的架構漫談分享,自認為對架構的設計有了一點點的小小心得。在這裡談一談對軟體架構師的認識過程 在第一次聽到這個職業名稱的時候,感覺很是高大上,和自己沒有多大的關係,感覺高攀不起,但是在讀了老師的架構漫談之後,感覺軟體架構師神秘不在,觸手可及。架構是人類發展過程中...