周振峰 廣東技術師范學院
軟件工程技術發展思索
周振峰 廣東技術師范學院
人類社會在不斷地進步與發展,高級語言日益通行,這擴大了計算機的應用范圍,使得計算機的使用更加便捷,從而對軟件工程的需求急劇上升,產生了“軟件危機”。為了應對“軟件危機”,出現了軟件工程技術,且發展迅速。
軟件工程 發展過程 未來趨勢
軟件工程是一種通過使用工程化的方法來開發和保護高水準、高效率且實用性高的軟件的學科。它涉及程序設計、數據庫、軟件開發等許多計算機應用方面。這些應用都有效促進了社會的進步和發展,使人們更有效率地工作,日常生活也更加便捷愉快。
2.1 程序設計階段
1946年至1955年。那個階段沒有“軟件”這個詞,人們主要圍繞硬件開展程序的設計和開發,使用的工具比較簡單,也沒有什么先進的高級設備,因此整體規模較小,開發者和用戶之間也沒有什么分工,此階段開發的目標是節省空間以及簡化開發過程中程序代碼,人們通常只統計程序清單,沒有其他文檔資料,而且這時程序的設計主要應用于科學計算。
2.2 軟件設計階段
1956年至1970年。這個階段出現了一種組織形式,類似于從前的作坊,稱為“軟件作坊”。這時的人們開始使用軟件,其中有的是可購買的,由此才出現了軟件的概念。隨著社會的信息化程度的逐漸提高,軟件系統越來越多,更加高級的編程語言也相繼出現,信息化領域也在擴大,這時開發者和用戶開始有了明確的分工,社會對軟件需求急劇增強。但這階段的主要問題在于軟件開發的技術沒有重大的突破,軟件產品的質量普遍不高,生產效率很低,也由此產生了“軟件危機”。
2.3 軟件工程階段
時間從1970年起至今。社會對軟件急劇的需求以及其中出現的軟件危機,都使人們明白軟件開發需要更先進有效的技術手段和管理方法。于是人們開始想方設法發展巨型化、微型化、網絡化和智能化的硬件,數據庫技術也被人們熟練運用到開發過程中去,第三代第四代語言也相繼出現。
2.4 未來發展
未來軟件技術的研究熱點之一,就是在網絡平臺上進一步整合有效有利資源,形成高效可信的大型虛擬環境網絡,使能為所有用戶服務的所有可用資源都發揮其有效作用。為了解決“軟件危機”,人們探索出兩種實際可行的方法,就是軟件復用技術和軟件構件技術,因此軟件工程的未來發展仍是著重于這兩種技術。與此同時,融合確定的行業基礎框架、指導行業發展和技術于一體的開放性計算逐漸熱門,所以軟件工程未來也會向開放性計算方面有所發展。
3.1 軟件危機
軟件危機就是在開發和維護計算機軟件過程中所遇到的一系列問題,主要源于軟件生產自身的復雜性和開發軟件的方法技術。軟件危機的主要問題有兩方面:一是如何通過開發對人們工作、生活更有效的軟件來滿足社會需求;二是如何維護日益增多的已有軟件。那么如何消除軟件危機?首先需要我們正確認識計算機軟件,要認識到軟件開發是一個協同配合、共同完成的工程項目;其次探尋成功軟件的先進技術和有效方法,總結經驗再推廣應用;最后才能開發使用更好的軟件工具。
3.2 軟件工程本質特性
軟件工程著重于大型程序的構造,我們知道,人類的需求在不斷變化,那么軟件也需要不斷變化更新來迎合人類的需求,控制軟件的復雜性也是軟件工程的研究重點之一。再者,現代快速發展的社會講求效率,因此軟件開發的效率也很重要,這就在于團隊成員間能否融洽相處合作。從軟件的效用性來說,軟件必須能支持其用戶并發揮其作用,這是其存在本質。軟件工程還有一大特性,即具有不同文化背景的人可能互相創造產品。
3.3 軟件工程的基本原理
軟件工程的基本原理主要是將軟件細分為小的階段進行分階段管理和評審,并實行嚴格的產品控制。同時在軟件的開發過程中要采用現代程序設計技術,開發團隊的成員應該少而精,開發的結果要能清楚地審查。最重要的是,軟件工程需要不斷實踐并完善。
3.4 軟件工程主要研究內容
軟件工程研究的內容主要是對軟件的開發和管理。其中軟件開發中最主要研究的是在軟件的整個生命周期中所用到的全部的技術方法,即為方法學,分為傳統方法學和面向對象方法學。而軟件管理技術分為管理學、度量學、經濟學三個方面,管理學方面就是對各項資源的分配和過程管理等;度量學方面就是對經濟效益和工作量、工作進度的衡量;經濟學方面主要就是分析軟件的經濟效益。
軟件工程的發展不可能是孤立的,它與計算模型和軟件開發自身的變化息息相關。
從計算模型來看,其計算能力發生了變化,并行運算技術以及多核多線程技術提高了服務器的處理能力,處理器的計算能力也迅速提升,云計算逐漸普及。這些都使軟件的使用越來越方便高效,也使軟件開發的壓力增大。
因為開發軟件的迅速和普及,迭代化開發和敏捷性已成為很多開發團隊的必選項,持續集成作為實現迭代和敏捷的方式也成為發展熱點。另外完善實踐和管理也是軟件工程未來發展的熱點之一。
[1]蔣惠人.軟件工程的技術特點及發展趨勢[J].電子技術與軟件工程,2016,(24):41