漫談架構有感 軟體架構師如何工作

2022-05-08 16:33:13 字數 1282 閱讀 3551

軟體架構師是軟體行業中一種新興職業,工作職責是在乙個軟體專案開發過程中,將客戶的需求轉換為規範的開發計畫及文字,並制定這個專案的總體架構,指導整個開發團隊完成這個計畫。主導系統全域性分析設計和實施、負責軟體構架和關鍵技術決策的人員。

架構師的主要任務不是從事具體的軟體程式的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,並且需要有良好的組織管理能力。

根據架構的定義,要做好架構所首先必須具備的能力,就是能夠正確的認識概念,能夠發現概念背後所代表的問題,進而才能夠認識目標領域所需要解決的問題,這樣才能夠為做好架構打好基礎。

架構師的能力大部分會體現在問題的識別上。當明白了問題的主體,我們才可能真正的認識問題是什麼。因為問題的主體是問題的隱含邊界,邊界不確定下來,問題就是不確定的。一旦確定了主體,剩下的就是去搞明白主體有哪些問題。這個就比較直接了,常用的方式就是直接面對主體進行訪談,深入到主體的工作生活當中,體驗並感受這些問題,甚至通過資料的反饋來定位問題。

一般來說,從問題暴露的點,一點點去溯源查詢,一定會找出來誰的問題,以及是什麼問題。最壞情況就是當我們時間或者能力有限,實在是無法定位出是誰的問題的時候,比如系統出故障,也就意味著我們無法根本解決問題。這時最好的辦法就是去降低問題發生所帶來的成本,盡量去隔離問題影響的範圍。給我留出時間和空間去識別真正的問題。

可以這樣說,乙個架構師工作的好壞決定了整個軟體開發專案的成敗。

⒈領導與協調整個專案中的技術活動(分析、設計和實施等)

⒉推動主要的技術決策,並最終表達為軟體構架

⒊確定和文件化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等「檢視」

⒋確定設計元素的分組以及這些主要分組之間的介面

⒌為技術決策提供規則,平衡各類涉眾的不同關注點,化解技術風險,並保證相關決定被有效的傳達和貫徹

⒍理解、評價並接收系統需求

⒎評價和確認軟體架構的實現 專業技能

軟體架構師在整個軟體開發過程中都起著重要的作用,並隨著開發程序的推進而其職責或關注點不斷地變化,在需求階段,軟體架構師主要負責理解和管理非功能性系統需求,比如軟體的可維護性、效能、復用性、可靠性、有效性和可測試性等等,此外,架構師還要經常審查客戶及市場人員所提出的需求,確認開發團隊所提出的設計;在需求越來越明確後,架構師的關注點開始轉移到組織開發團隊成員和開發過程定義上;在軟體設計階段,架構師負責對整個軟體體系結構、關鍵構件、介面和開發政策的設計;在編碼階段,架構師則成為詳細設計者和**編寫者的顧問,並且經常性地要舉行一些技術研討會、技術培訓班等;隨著軟體開始測試、整合和交付,整合和測試支援將成為軟體架構師的工作重點;在軟體維護開始時,軟體架構師就開始為下一版本的產品是否應該增加新的功能模組進行決策。

讀《架構漫談》有感之軟體架構師如何工作

首先,架構師需要根據要解決的問題,對目標系統的邊界進行界定,對目標系統按某個原則進行切分。切分的原則要便於不同的角色,對切分出來的部分並行或者序列展開工作,並對這些切分出來的部分設計溝通的機智,使得這些部分之間進行有機的聯絡,合併組裝成為乙個整體,來完成目標系統的所有工作。作為乙個架構師,應該要學會...

軟體架構師如何工作 架構漫談閱讀筆記

一 什麼是架構 在學習軟體體系結構這門課之前,我們貌似只對軟體開發以及簡單的mis系統的開發有一絲絲的開發經驗和感觸,無架構之言。我們目前還無法像軟體架構師那樣去思考問題。在第一篇部落格中,王先生給出了架構的基本定義 architecture latin architectura,from the ...

架構漫談 軟體架構師

通過對架構漫談九篇部落格的閱讀,我了解到了軟體架構以及軟體架構師的工作狀況等內容 對於架構,我的理解是,在乙個系統中,存在乙個系統中多個角色共有的問題,為了更快更好地解決問題,將問題進行拆分,交由不同的角色來完成,並在各角色中建立溝通機制,進行有機的聯絡,總成乙個整體,完成目標系統的工作。了解到架構...