向健極
(武漢城市職業學院,湖北武漢 430061)
隨著我國經濟的發展,計算機得到了廣泛的使用,無論是個人用戶還是企業用戶,在應用計算機的過程中,都會使用到應用軟件,而且應用領域的不同,使用的軟件也具有較大的差異。在這種背景下,計算機軟件開發已經成為了目前最熱門的行業。但是受到市場和理念的限制,我國的計算機軟件開發工作進步有限,要想最大程度上提高計算機軟件開發水平,必須對軟件開發的基礎架構原理等進行分析,建立一個科學的開發理念,然后完善正版軟件的市場機制,只有這樣才能夠促進我國計算機軟件開發的發展。
在計算機出現的早期,受到計算機性能和體積等限制,并沒有計算機軟件的概念,隨著集成電路和晶體管等的使用,極大地提高了計算機的性能,人機交互界面得到了很大的發展,逐漸的形成了操作系統,這就是最早的系統軟件。由于計算機能夠提高工作的效率,在很多領域都能夠得到很好的應用,而不同領域對計算機的需求不同,為了滿足不同領域計算機的應用,人們根據實際的使用需要,針對性的開發了一些應用軟件,如在機械制造領域中,就有CAD和CAM等軟件,在藝術設計領域中,有PhotoShop等軟件。隨著計算機應用的深入,類似的應用軟件越來越多,在一些特殊的領域中,需要使用一些市面上沒有的軟件,對于這樣的應用,就要進行特定的軟件開發。由此可以看出,計算機軟件開發的概念可以分為兩種,第一種是先進行軟件的開發,如一些娛樂軟件等,在軟件開發完成之后,再進行市場的拓展,第二種是根據市場的實際需求,針對性的開發應用軟件,如專業的應用軟件。
計算機軟件經過了多年的發展,其自身的理論越來越完善,現在已經形成了一門學科,在很多高校中,都開設了這門課程,現在市面上的軟件有很多,涉及到了各個領域,但是仍然有很多新的軟件出現,已經存在的軟件也在不斷的更新,推出新的版本,對自身進行完善。由此可以看出,計算機軟件開發的第一個特點就是持續性,在軟件開發完成之后,還需要對其進行不斷的完善。由于計算機軟件是計算機語言描述的語句,在特定的邏輯關系基礎上,因此不會有完美的軟件出現,所有的軟件都會存在一些缺陷,而且軟件自身越復雜,存在的漏洞也越多,如現在使用最多的Windows系列操作系統,每隔一段時間,都會發布一些補丁,對自身進行完善。除了持續性之外,現在軟件開發具有很強的針對性,隨著軟件公司的增加,市場競爭也越來越激烈,這些軟件公司要想獲得更大的市場空間,取得更好的經濟效益,必須根據市場的需求,進行針對性的軟件開發。
計算機出現后不久,在人機交互界面的基礎上,逐漸地形成了操作系統的理念。計算機之所以能夠執行任務,是因為CPU將電路的通與不通兩種狀態,與數學中的二進制有效的聯系起來了,因此要想讓計算機執行特定的任務,必須利用0與1的二進制語言,編寫一個指定的程序。但是這種編寫語言非常復雜,屬于機器語言的范疇,為了方便軟件的開發,逐漸的形成了高級語言,從某個方面來說,計算機軟件開發的發展,受到計算機語言的影響很大,如現在的VF和VB可視化編程軟件的出現,使得很多沒有軟件開發專業知識的人,也能夠開發一些簡單的軟件,極大的簡化了軟件開發工作。由此可以看出,計算機軟件開發向著簡單化發展。隨著計算機軟件應用的深入,可以在不同領域通用的軟件越來越少,一個軟件要想在特定的領域中進行更好的應用,軟件開發者必須具有一定這個領域的知識,因此計算機軟件開發的發展,對開發者自身素質的要求越來越高。
現在的計算機軟件開發之前,都需要進行軟件的需求分析,尤其是企業應用軟件的開發,由于企業需要的功能比較特殊,根據企業的領域不同,需要的功能具有較大的差異,因此企業會提出功能上的需求。軟件公司在與企業進行溝通后,再進行針對性的開發工作。所以需求分析是軟件開發的第一個環節,也是最重要的部分,如果軟件公司對企業的需求理解錯誤,那么就會導致開發的軟件無法滿足企業應用,導致軟件開發失敗,需要重新進行軟件的編寫。由此可以看出需求分析的重要性。在實際的開發過程中,需求雙方需要派出代表進行溝通,需求分析人員要進行記錄,并對內容進行簡單的分類和分析。通過實際的調查發現,我國軟件公司在需求分析上進行得不是很好,由于分析人員和開發人員之間的溝通有限,通常都是分析人員將記錄的文件交給開發人員,然后開發人員根據自己的理解,進行針對性的軟件開發,在這個過程中,經常會出現開發人員理解錯誤的現象。
在需求分析完成之后,就要進行實際的軟件編寫工作,目前使用最多的語言是C語言,由于這種高級語言的結構性和基礎架構比較好,因此被很多編寫人員所采用,雖然出現了VF等可視化編寫軟件,極大的方便了編寫的工作,但是具有專業軟件編程知識的人,大多采用C語言等軟件進行編寫。在實際的軟件編寫過程中,根據軟件的各個功能,通常會設置幾個不同的模塊,每個模塊實現一個特定的功能,然后建立一個主函數,利用這個主函數對各個模塊進行調用,如果需要實現哪個功能,通過調用特定的模塊就可以完成,因此具有很好的結構性,可以很容易地進行維護。在這種基礎架構下,一個軟件的編寫可以有多個人員共同進行,尤其是隨著軟件變得越來越復雜和龐大,如操作系統軟件占用的空間達到了幾個GB,一個人很難完成整個軟件的編寫工作,如果將軟件分為若干個模塊,那么一個人就可以負責一個模塊的編寫,這樣極大地方便了軟件的編寫工作。
在軟件編寫工作完成后,不能直接進行使用,需要對軟件的各個功能進行測試,只有保證軟件沒有功能上的問題后,才能放到市場上進行銷售或者交給需求企業,在實際的測試過程中,傳統的方法是輸入指定的參數,然后觀察軟件的運行情況,如果得出的結果與設計的一樣,那就表明軟件沒有問題。這樣的測試方法具有一定的局限性,由于輸入的參數不能代表所有的情況,雖然為了提高測試的準確性,會選擇多組輸入參數,但是依然具有一定的特殊性,根據這種情況,人們開發一些測試的工具,極大地提高了軟件測試的水平。在軟件投入到了市場之后,由于軟件自身存在一些缺陷,同時隨著計算機的發展,對軟件的功能有了更多的要求,因此軟件需要進行定期的維護,通過推出一些新的版本,來修復自身存在的問題,同時增加新的功能。
基礎架構的設計,是計算機軟件開發的核心內容,由于軟件是將計算機語言,利用特定的邏輯關系組合起來,從而能夠執行一定的任務,而基礎架構就是對邏輯關系進行定義,因此關系到軟件的維護性和擴展性等。目前使用最多的基礎架構是三層結構體系,通過表示層、邏輯層、數據層來進行軟件的開發,這樣就把軟件的人機交互界面、邏輯關系和計算機語言區分開來,在實際的軟件開發工作中,可以將這幾個部分區分開,進行針對性的開發,在維護和修改時,可以單獨的對人機交互界面或邏輯關系等,進行特定的修改。由此可以看出,基礎架構原理對軟件開發的效率,具有非常大的影響,計算機軟件經過了多年的發展,現在有很多成熟的基礎架構,在實際的軟件開發時,應該根據功能和交互界面的需要,有針對性地選擇一個最佳的基礎架構,最大程度上保證軟件的維護性和擴展性,因此,我國的軟件公司要想提高開發的效率,必須對軟件開發的基礎架構原理進行深入的分析。
現在軟件開發已經成為了一個系統性的工作,需要經過需求分析、編寫和維護等環節,而軟件的基礎架構,能夠對每個環節的效率造成很大的影響。選擇一個良好的基礎架構,對軟件的編寫、維護和拓展,都會產生一定的促進作用,因此在實際的計算機軟件開發過程中,必須根據軟件的功能等,對現有的基礎架構原理進行分析,最后選擇或者針對性的開發一個最佳的基礎架構。C語言等高級語言經過了多年的使用,現在已經有了很多基礎架構,可以滿足不同軟件開發的需要,因此目前的軟件開發工作,基本不需要進行基礎架構的設計,只要根據軟件的應用領域等,選擇一個現有的基礎架構即可,如三層B/S基礎架構,就是現在使用最多的一個架構。
在計算機出現的早期,由于軟件自身比較簡單,單個的開發者就能夠完成一個軟件的開發工作,隨著計算機軟件的發展,其自身變得越來越復雜和龐大,很多軟件占用的空間都達到了GB級別,需要大量的開發人員共同進行編寫,為了編寫上的方便,C語言這種模塊性的基礎架構,受到了開發人員的廣泛使用。通過全文的分析可以知道,基礎架構作為計算機軟件的核心,要想使軟件具有一個良好的基礎架構,必須建立在完善的需求分析、開發和維護基礎上。
[1]任佳麗,曹海燕.嵌入式軟件自動代碼生成和代碼整合方法研究[J].太原理工大學學報,2013,(04):18-18.
[2]朱德平.Spring軟件開發框架新組件探討[J].計算機光盤軟件與應用,2013,(12):61-62.
[3]劉詔書.基于原生平臺的集成化模塊開發及實例[J].武漢理工大學學報:信息與管理工程版,2013,(03):349-352.