1. 程式人生 > >《架構漫談》之閱讀筆記

《架構漫談》之閱讀筆記

軟件體系結構 clas blog 部分 領導人 擁有 能力 減少 相關

  什麽是架構?在維基百科上是這樣定義的:架構是一種過程,並且是計劃、設計、構建和其他物理結構的產品。在《架構漫談》一中認為,架構就是

  1. 根據要解決的問題,對目標系統的邊界進行界定。
  2. 並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或串行開展工作,一般並行才能減少時間。
  3. 並對這些切分出來的部分,設立溝通機制。
  4. 根據3,使得這些部分之間能夠進行有機的聯系,合並組裝成為一個整體,完成目標系統的所有工作。

  架構實際上就是指人們根據自己對世界的認識,為解決某個問題,主動地、有目的地去識別問題,並進行分解、合並,解決這個問題的實踐活動。架構的產出物,自然就是對問題的分析,以及解決問題的方案:包括拆分的原則以及理由,溝通合並的原則以及理由,以及拆分,拆分出來的各個部分和合並所對應的角色和所需要的核心能力等。

  隨著社會的進步,人們已經從單獨個體生活到團體生活,並且出現了社會的分工。當分工發生後,實際上每個人的生產力都得到了提高,因為做的都是每個人擅長的事情。這樣的話,整個人群的生產力和抵抗環境的能力都得到了增強。在每個人都必須自己完成所有生活必須品的生產的時候,是沒有架構的。一旦產生的分工,就把所有的事情,切分成由不同角色的人來完成,最後再通過交易,使得每個個體都擁有生活必須品,而不需要每個個體做所有的事情,只需要每個個體做好自己擅長的事情,並具備一定的交易能力即可。這實際上就形成了架構。

  架構解決的就是人的問題。有的時候在做架構的時候,要進行架構的切分。所謂的切分,根本上說就是對所有相關人的利益調整。

  軟件體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件、數據構件和連接構件。處理構件負責對數據進行加工,數據構件是被加工的信息,連接構件把體系結構的不同部分組組合連接起來。這一定義註重區分處理構件、數據構件和連接構件,這一方法在其他的定義和方法中基本上得到保持。由於軟件系統具有的一些共通特性,這種模型可以在多個系統之間傳遞,特別是可以應用到具有相似質量屬性和功能需求的系統中,並能夠促進大規模軟件的系統級復用。軟件體系結構解決的就是提升人類的利益,解決人類的問題。

  架構師是軟件行業中一種新興職業,工作職責是在一個軟件項目開發過程中,將客戶的需求轉換為規範的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。架構師的主要任務不是從事具體的軟件程序的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,並且需要有良好的組織管理能力。可以這樣說,一個架構師工作的好壞決定了整個軟件開發項目的成敗。架構師必須是一個組織的領導人,有權利調動這個組織的架構,才能夠更好的發揮架構師的作用,更好的把利益的調整落到實處。

《架構漫談》之閱讀筆記