1. 程式人生 > >軟體工程的發展歷程及展望

軟體工程的發展歷程及展望

軟體工程發展至今,催生出了許多優秀的程式語言和程式設計思想,本文將帶領大家一起了解軟體工程經歷的四個階段:組合語言表達業務邏輯、過程化語言表達業務邏輯、面向物件和模組化思想表達業務邏輯、服務化和元件化表達業務邏輯。最後談一談未來可能的發展方式。

  • 指令型語言表達業務邏輯

    軟體發展之初,為了基於計算機構建應用,發明了組合語言,該語言的特性是基於CPU指令集進行程式設計。為 了編寫出有效的軟體,需要理解大量計算機底層的特性。這個事情的軟體開發難度大,成本高。

  • 過程性語言表達業務邏輯

    從組合語言到C語言,出現了更高級別的抽象思維,當時抽象出了三種可以涵蓋所有邏輯結構的正規化:順序結構、選擇結構和迴圈結構。同時出現了面向過程化的程式設計思想。這就促成了軟體開發的效率,但這種方式仍然不好控制軟體的複雜度,不利於大型軟體的開發。

  • 面向物件和模組化思想表達業務邏輯

    為了更清晰的構建軟體,我們找到了一種更利於人類認知世界的程式設計方法——面向物件思維。通過構造出的一個個具有型別結構的物件在一起工作,使得軟體得以執行。這一時期也催生出許多程式框架和工具用以簡化軟體生命週期的各個流程,如Spring框架、Maven構建工具、git版本控制工具等。可是這一時期的軟體不具備彈性伸縮的能力,只能依靠升級硬體的配置來擴充套件服務能力。

  • 服務化和元件化表達業務邏輯

    服務化和元件化是目前主流的構建軟體的方式。利用分散式的思想通過服務化和元件化,能夠大大地提高軟體的服務能力以及複用性。目前的容器化和編排技術的出現,更加促進了服務化和元件化軟體的模式。也大大減小了構建大型應用軟體的成本。可下一階段,軟體該如何發展呢?

    展望

    目前可以看到元件化的趨勢勢不可擋。可是如何基於元件構建出大型應用程式有較高門檻,如何去簡化門檻便成為了一個很好的訴求?我想將來的趨勢應當是能夠基於業務流程來編排我們的應用,通過我們資料庫的資料庫在視覺化介面上拖拉拽一個preti網從而生成一個完全可執行的業務流程甚至應用。