軟體架構演化史

2022-09-22 06:06:12 字數 831 閱讀 6294

1、機器語言:難讀,難寫。

2、組合語言:不能誇cpu,多環境需要多個編寫版本。

3、高階語言:好處解決跨平台。

4、兩次軟體危機

①、軟體規模和複雜度增加,導致軟體質量下降,把控難度高。

解決這一問題,提出了軟體工程,結構化程式設計,思想本質是面向過程設計思想。但通過「自頂向下、逐步細化、模組化」的方法,將軟體的複雜度控制在一定範圍內,從而從整體上降低了軟體開發的複雜度。

②、但通過「自頂向下、逐步細化、模組化」的方法,將軟體的複雜度控制在一定範圍內,從而從整體上降低了軟體開發的複雜度。

第二次軟體危機的根本原因還是 在於軟體生產力遠遠跟不上硬體和業務的發展。

物件導向的思想開始流行起來。在一定程度上解決了軟體「擴充套件」帶來的複雜性。但事實證明,和軟體工程、結構化程度設計一樣,物件導向也不是銀彈,而只是一種新的軟體方法而已。

5、軟體架構的產生

「軟體架構」的出現有其歷史必然性。第一次軟體危機引出了「結構化程式設計」,創造了「模組」概念;第二次軟體危機引出了「物件導向程式設計」,創造了「物件」概念;直到「軟體架構」的產生,創造了「元件」概念。

「模組」、「物件」和「元件」本質上都是對達到一定規模的軟體進行拆分,差別只是在於隨著軟體的複雜度不斷增加,拆分的粒度越來越粗,拆分的層次越來越高。

架構指什麼

對於技術人員來說,「架構」是乙個再常見不過的詞了。當提起「架構」這個詞時,如果去深究一下:「架構」到底指什麼?大部分人也許並不一定能夠準確地回答。1000個人心中可能有1001種架構的含義。

那麼如何才能準確的理解架構呢?理解架構首先理解三個有關係而又相似的概念,包括:系統與子系統、模組與元件、框架與架構。

卷積網路演化史(一)

alexnet的網路結構如下圖所示 alexnet網路相比於之前的網路,有四方面的優點 relu函式的影象如下圖所示 由影象可看出,該函式在左側具有硬飽和性,即當輸入落入左側時,導數為0 由於sigmoid函式在兩側均具有軟飽和性,當輸入位於兩側的飽和區域時,會使得導數十分小,從而使得傳遞的梯度變小...

卷積網路演化史(四)

殘差結構中存在跨層連線,使得不同層級的feature map可以融合到一起。在這種情況下,其訓練誤差應該不高於原來的淺層網路,而且跨層連線沒有引入額外的引數和計算複雜度。由於直接讓一些疊加層去擬合乙個潛在的恒等對映函式h x x會比較困難,所以採用一些非線性層,讓它們去擬合另一種殘差對映f x h ...

IT系統架構的演化

最初的架構,應用程式 資料庫 檔案都部署在一台伺服器上,如圖 隨著業務的擴充套件,一台伺服器已經不能滿足效能需求,故將應用程式 資料庫 檔案各自部署在獨立的伺服器上,並且根據伺服器的用途配置不同的硬體,達到最佳的效能效果。在硬體優化效能的同時,同時也通過軟體進行效能優化,在大部分的 系統中,都會利用...