周文英,王書榮,潘利強
?
計算機軟件開發過程中存在的問題與對策探析
周文英,王書榮,潘利強
(泉州輕工職業學院,福建 泉州 362200)
隨著近年來對于計算機技術的更加廣泛的應用,計算機軟件開發對于實際生活應用更加廣泛。現如今都在追求智能化,自動化,規范化的產品和服務,而計算機軟件開發就是讓我們使用的產品更加智能和自動。所以,計算機軟件開發越來越受到人們的重視。本文從計算機軟件開發的重要性出發,探討了目前計算機軟件開發過程中經常出現的問題,并針對這些問題,提出了解決軟件開發過程中問題的對策方法:全面落實軟件開發的需求,強化對于需求的重點分析;精細化軟件設計方案;標準化代碼編寫過程,做好審核工作;重視軟件完成后的測試過程。最后得出,計算機軟件開發是一門技術含量非常高的工作,需要設計人員在設計過程中,有效的分析客戶的需求,并合理化的編寫程序,并做好最后的測試工作。只有這樣,才能讓設計的軟件更好的完成其功能。
軟件開發;智能化;自動化;代碼
分析目前計算機軟件設計領域的情況,中國的軟件開發和設計起步相對較晚,但在通過經驗的積累和總結,出現了許多非常實用的的軟件設計方法和合理的軟件開發設計工具,這些設計方法和工具的出現,讓我國設計領域有了更大的發展。這些的不斷出現也有效的縮小了我國與國外差距。計算機軟件開發和設計的主要目的是設計和滿足現代生活的軟件需求產品并提供更加優質的服務。要想提高軟件的高效性,必須得先了解軟件開發及設計的主要特點。
計算機軟件開發和設計特點包括以下幾點:第一,軟件開發設計的目的性。為了滿足需求而不是想象,其設計必須有一定的需求和目標。第二,軟件開發設計的完整性。軟件開發設計是一個龐大的項目,面臨著數據丟失,程序穩定,漏洞等諸多問題,需要在設計過程中更加認真,精益求精[1]。第三,軟件開發設計的可操作性。通過不斷的測試,讓軟件的可靠性更高,能夠有效的滿足日常生活的需要,達到操作簡單,系統運行穩定的要求。
計算機技術的發展不僅是硬件的整體改進,也是軟件的全面升級。軟件設計甚至決定了計算機的性能和整體水平。根據軟件生命周期,根據需要分析和設計軟件設計,以此形成系統的模塊結構。在計算機技術高速發展的時代,軟件設計的創新和適用性正在測試計算機軟件設計的能力和水平[2]。在此過程中,有必要根據軟件設計的特點分析軟件設計面臨的主要問題,以此來達到軟件的設計目的。保證軟件能更好的滿足需要,穩定運行。
計算機軟件開發過程中存在的問題主要體現在需求分析方面,軟件設計方面,代碼編寫方面以及測試過程。
在使用計算機軟件系統的過程中,通常存在需求設計項目分析不夠徹底的情況。分析層次結構不清晰且不完善,有時會出現各種各樣的問題。此情況下容易讓系統在設計和應用過程中存在很大問題。這就需要完整和詳細的分析來確定相應的設計內容。
目前,許多軟件設計開發人員的基礎知識不夠扎實,經驗欠缺,無法在開發過程中進行有效的分析和操作,無法進行有效的開發設計。因此,在進行軟件編寫的實際應用過程出現很多無法解決的問題。例如,在使用計算機軟件期間,大量用戶數據丟失,計算機程序被廣泛損壞,并且計算機網絡不穩定。這些問題可能導致計算機軟件無法正常使用。計算機開發人員不能較好的對待軟件程序的過程和所涉及的機密信息,容易導致安裝程序在用戶使用軟件時不穩定,并且不能滿足設計的預算要求和效果要求[3]。有些軟件的具體需求分析上詳細程度不夠,致使開發人員在設計中不具有通用性,數據開發的數據和內容也不完整,這在一定程度上直接影響了軟件開發的未來發展。
軟件代碼編寫過程中,經常會遇到一些幾個問題。首先,編寫程序的程序員之間缺乏溝通,各自進行編程,分工合作不到位。其次,在進行編程時,程序語言及工作不能有效的掌握。再次,在進行編程時,經常會出現大量的重復。最后就是編程表達不夠準確。
代碼測試是軟件開發中大家已經普遍使用的測試方式,但后續的測試還欠缺。舉例說明:同樣軟件在不同操作系統的使用中,會導致各類兼容以及操作方面的問題[4]。另外在不同應用設備中選用同樣軟件會產生差異。在軟件開發人員進行編譯軟件程序的過程中,有時候軟件開發人員僅僅測試各功能效果,沒有測試整個程序的效果及功能,會給后期使用帶來麻煩。
另外,在軟件開發過程中,各類不同的新要求不斷提出,開發人員在編寫程序時就要不斷根據需求進行改變,這在軟件開發過程中給程序設計人員帶來了非常設計壓力,也給程序帶來了大的應用壓力。所以必須嚴格控制系統功能要求。在添加新要求時,必須仔細研究,并根據用戶的新特點修改計算機的軟件編程方案,為提高計算機軟件開發效率提供保證。軟件開發系統的新功能的變化是必然要有的,形成的軟件必須經歷各種變化和功能以滿足用戶的需求。
解決軟件開發過程中問題的對策方法主要包括以下幾點:全面落實軟件開發的需求,強化對于需求的重點分析;精細化軟件設計方案;標準化代碼編寫過程,做好審核工作;重視軟件完成后的測試過程。
軟件需求的來源必須追溯到軟件初始用戶,他們的真實需求是軟件設計中的需求分析重點。為此,在進行軟件開發時,必須明確了解實際需求客戶的需求,對于實際的應用有充分的理解,這樣才能讓軟件需求達到最終的要求。所以,深入認識軟件需求,通過需求,有效的改進軟件設計,以方便改進軟件產品。這對于提升軟件質量意義重大。對于軟件開發團隊來說,必須定期召開內部開發會議,以便開發人員更清楚地了解軟件的功能以及對軟件開發中可能出現的情況。
3.2.1 采取模塊化設計方案
模塊化設計具有非常明顯的優勢,塊狀設計可以讓設計思路更加清晰,將設計內容分開,可以有效降低難度,同時可以方便設計,后續修改查找也更加方便。采用模塊化設計,可以將程序分成多個子程序,最后將多個子程序整合,共同完成整個軟件系統的功能,該方法的使用,可以多人分工完成各個模塊化程序。通過不斷調整計算機軟件,使程序在運行過程中更加穩定。整個軟件系統采用模塊化設計,軟件編寫會變的更加方便。模塊化編程的主要模式如下:首先,原始的編寫方法只需要將不同的功能簡單地放在一起,這可以看作是一個模塊:例如m1和m2功能,它們共同構成一個模塊,軟件在設計時代碼,如果你想使用它,可以通過函數直接調用它。但是,這種模塊化編碼在其代碼中存在很大的缺陷,并且模塊的變量函數和其他模塊變量不能保證是否會與整個程序中的變量產生沖突。所以在設計軟件時必須注意這個問題[6]。其次,對象模塊m1和m2函數都封裝在module1中,對象的屬性在使用時由函數調用。此編碼模式可能導致內部狀態暴露,導致內部計數器的值被外部代碼覆蓋。當然,還有其他方法可以編寫模塊化軟件。這兩種模式看起來很簡單,在使用過程中比較容易。
3.2.2 采用數據流設計方案
數據流設計不同于大多數軟件開發之處在于大多數軟件開發的面向設計是結構層面,而它卻沒有準確的層次結構。這就導致在設計中,尤其是科學工程領域設計中,會遇到較大的困難。而這些困難的出現,讓設計人員不得不創新更好的軟件設計方法,改變設計模式,有效的解決遇到的問題[7]。數據流設計階段主要基于結構化數據圖。在軟件設計之前,詳細分析信息流的相關特征,并對軟件數據進行準確判斷,以確定數據的信息流是否屬于轉換類型或事務類型。例如,在生產和供應數據流的設計中,整個企業的銷售和生產系統是根據企業的生產產品,原材料,供應商和維護部門之間的關系形成的。所有行為都反映了整個生產企業的銷售和生產過程。
3.2.3 采用數據結構設計方案
采用圖形結構來有效表示軟件數據的設計方法為數據結構設計,在改設計中,對數據分層時采用Warnier等軟件開發方法,并用層次結構來表達數據,最終通過圖形進行編輯軟件。在軟件開發中遇到問題是非常常見的,如何有效解決至關重要,而由于數據結構設計用圖形可以直觀表達各類特征關系,讓問題更加明確化,方便解決遇到的問題。順序、重復以及選擇是數據結構設計的三個層次。數據結構設計總體來說和軟件詳細設計差別不大。調查和分析數據結構是數據結構設計的主要步驟,各種相應的數據可以依據不同數據結構進行有效的創建。而程序控制結構重點在與考慮輸入輸出過程中詳細分析已經確定的操作過程,然后根據軟件的要求分配所獲得的操作,從而完成軟件開發。
要想提升編程能力,保持計算機軟件開發的程序合理準確,更加標準化,需要做到以下幾點:首先,多方面的檢查審核工作是必須的,程序員之間多進行溝通,提供其合作能力,對于程序的需求更加了解,容易進行分工并有效的解決問題。其次,通過單元測試,避免語言工具掌握不熟悉帶來的偶然錯誤,加強培訓和知識共享提高開發人員的技術水平[8]。再次,在進行設計編程時,避免進行復制代碼,堅持設計回溯的原則,及時有效的重構冗余代碼。另外,在進行編程時要規范統一,有效的保證代碼到軟件外觀整體風格的統一。
軟件測試作為軟件開發的重要環節,其作用非常大。軟件測試工作到位程度,對于軟件產品質量影響巨大。軟件開發行業越來越多的競爭,導致該行業對于軟件產品質量的要求也越來越高,而加強軟件測試可以有效的提升產品質量[9]。然而,許多公司出于節約成本的目的,在測試時沒有專門的測試人員,還是要求軟件開發人員進行測試,這種情況下,軟件開發人員工作量加大,壓力變大,同時也讓其在軟件開發上效率更低。為此,對于計算機軟件開發來說,軟件測試必須有專門的部門,軟件測試過程包括單元測試,集成測試,系統測試和驗收測試。在測試前必須完成需求以及設計方面的總結。同時,開發團隊必須重視軟件測試工作,在進行軟件開發時,必須完成對當天設計軟件的測試工作,以此為后續提供信息支持,同時,在網頁測試時,仍有許多情況需要測試。另外,在測試時為了保證軟件的質量,必須實現測試的全覆蓋[10]。
計算機軟件開發是一門技術含量非常高的工作,需要設計人員在設計過程中,有效的分析客戶的需求,并合理化的編寫程序,并做好最后的測試工作。只有這樣,才能讓設計的軟件更好的完成其功能。
[1] 彭凱. 基于計算機軟件開發中軟件質量的影響因素[J]. 電子技術與軟件工程, 2018(10): 36.
[2] 周軍, 吳珅珅. 計算機軟件技術開發與運用研究[J]. 黑龍江科學, 2017, 8(20): 148-149.
[3] 袁志遠. 計算機軟件開發的規范化探析[J]. 現代工業經濟和信息化, 2017, 7(14): 21-22.
[4] 樊云閣. 計算機軟件開發技術現狀及應用實踐探究[J]. 無線互聯科技, 2017(12): 54-55.
[5] 郁楊, 王冬梅. 計算機軟件開發技術現狀及應用實踐探究[J]. 電腦知識與技術, 2016, 12(10): 117-118.
[6] 白曉. 計算機軟件應用分層技術的分析[J]. 網絡安全技術與應用, 2015(05): 119+122.
[7] 向健極. 計算機軟件開發的基礎架構原理分析[J]. 武漢冶金管理干部學院學報, 2014, 24(02): 70-72.
[8] 楊子健, 趙逢禹. 基于數據流約簡的測試用例生成策略研究[J]. 軟件, 2018, 39(04): 191-195.
[9] 顏樂鳴. 基于工作流的軟件測試過程模型研究[J]. 軟件, 2018, 39(05): 160-165.
[10] 宮禹. 計算機軟件開發技術及其發展趨勢[J]. 黑龍江科學, 2014, 5(09): 242+20.
Problems and Countermeasures in Computer Software Development Process
ZHOU Wen-ying, WANG Shu-rong, PAN Li-qiang
(Quanzhou Light industry Career College, Quanzhou, Fujian 362200)
With wider application of computer technology in recent years, development of computer software has been appllied more widely in practical life. Nowadays, with pursuit of intelligent, automated, standardized products and services, computer software development can make products more intelligent and automatic. Therefore, it has attracted more attention. Starting from importance of computer software development, the article discusses common problems in process of computer software development, and puts forward some countermeasures to solve them: implementing needs of software development fully, strengthening key analysis of requirement, and elaborating software design scheme, standardizing coding process, carrying on audit work well; attaching importance to testing process after software completion. Finally, it is concluded that computer software development is a high technical work, designers should analyze customer’s needs effectively in design process, programm reasonably and carry on final test to perform functions of designd software better.
Software development; Intelligence; Automation; Code
TP31
A
10.3969/j.issn.1003-6970.2018.10.040
周文英(1981-),本科,研究方向:軟件開發與測試,計算機教學。
周文英,王書榮,潘利強. 計算機軟件開發過程中存在的問題與對策探析[J]. 軟件,2018,39(10):207-209