關於軟體體系架構的一點心得

2022-09-04 22:51:23 字數 1384 閱讀 8478

軟體體系架構是什麼?軟體體系架構是怎樣產生的?軟體體系架構具有怎樣的作用?軟體體系架構如何優化?本文將從這四個角度來進行闡述。

一、什麼是軟體體系架構

軟體體系架構,我們首先用簡單的望文生義法來進行想象。第一,「軟體」,我們知道這個東西和軟體有關。軟體是一系列按照特定順序組織的計算機資料和指令的集合,其與軟體有關,我們猜想可能是對這個資料和指令的集合的一種排列。「體系」,告訴我們這個東西不只是單單的某乙個事物,既然要成體系,起碼要有乙個相對大的基數和一定的層次結構,我們所熟知的體系,如人體的免疫體系,乙個公司的體系,乙個國家的體系,整個自然界這個體系。這些又有一些共同的特點可以讓我們去總結,他們分工明確,他們各自之間達成了一種相對的平衡,保持著整個體系的活力和正常執行。「架構」,並不是那麼容易理解,我們每個人都對架構有著自己的理解,卻又都不夠全面,換句話說,我們都對架構這個概念有著理解,卻又很難用自己的一句話來進行描述。到目前看來,軟體體系架構,就是乙個充滿著計算機資料和指令的體系,這是我們沒有加入架構的概念,這樣會使這個定義或者說結論看起來很奇怪,我們就要從架構的這個點進行入手,因為看起來它很關鍵,甚至足以影響到軟體體系架構的定義的合理性。

二、軟體體系架構是如何產生的

要說軟體體系架構是如何產生的,首先要從架構入手,看架構是如何產生的,因為軟體體系看起來是用來修飾架構的。架構最早的出現就是因為問題規模的不斷擴大,導致問題不好解決,由架構來對問題進行分解。王概凱先生先生在他的架構漫談中如是說到:架構就是根據要解決的問題,對目標系統的邊界進行界定,並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或序列開展工作,一般並行才能減少時間,再對這些切分出來的部分,設立溝通機制,使這些部分之間能夠進行有機的聯絡,合併組裝成為乙個整體,完成目標系統的所有工作。我們在此基礎上做一些簡單的分析,首先,架構是用來解決問題的,而且,第一步就是對問題的邊界進行確定,第二步就是對問題的邊界內部進行劃分,第三步是對這些切分好的部分建立起關聯,最後一步是將各個部分合併到一起,重新組裝成為乙個整體。其中,最為關鍵的一步,是第二步,如何對架構進行切分,如果切分的不合理,就會為後續的工作帶來壓力,因為切分的不合理,導致各部分之間無法形成聯絡。分解將大問題拆解成乙個個小問題,這樣解決的難度自然就大幅降低了。

三、軟體體系架構的作用

軟體體系架構的存在就是為了解決大規模的問題,將大規模的問題切分乙個個小的功能模組,有各個開發小組完成功能,在最後進行組裝拼接成乙個完整的系統。這正是我們在開發過程中所常用的模式,切合軟體公司的開發流程和體系。分工明確,整個開發過程基本是併發執行,大大縮減的開發所需時間,降低了開發難度,提高了開發效率。分工明確,各個小組在按照架構師的設計進行實現,達到了平衡。這正和我們最一開始所分析的不謀而合,完全詮釋了軟體體系架構的定義。

四、軟體體系架構的優化

關於call user func的一點心得

好久沒寫部落格實在是慚愧,最近寫乙個控制器程式,程式獲取頁面提交引數為程式中乙個類的方法。比如,頁面有不同的按鈕可以讓使用者觸發 getmethod a 和 getmethod b getmethod n 控制器在得到引數之後如何呼叫類中對應的方法?就需要用到call user func 按手冊照葫...

關於CBitmap的一點心得

本人mfc初學者,本週剛學會bmp顯示,總結的一點心得 bmp顯示無非幾種情況 1 知道位圖路徑 2 位圖已經載入到資源 3 位影象素資料在記憶體中 顯示 cbitmap pbitmap 第一種情況 hbitmap hbitmap hbitmap loadimage afxgetinstanceha...

關於面試的一點心得

本篇文章並沒有什麼技術乾貨,就是記錄和分享自己面試的一點心得,希望可以對你有所啟發。一定要自信,面試官很多時候都會反問一些問題,問你確不確定,這個時候一定要說確定,哪怕錯了也沒關係,很多時候,你回答的是對的,他們也會問你。這個能看出你對問題掌握的程度,是模糊不清還是爛熟於心。簡歷上 可以把自己擅長的...