周霞
摘 要:計(jì)算機(jī)軟件開發(fā)是目前比較主流的計(jì)算機(jī)應(yīng)用技術(shù),依托計(jì)算機(jī)編程語(yǔ)言的邏輯功能,從而實(shí)現(xiàn)軟件的需求功能。在軟件開發(fā)的過(guò)程中,需要從不同的角度進(jìn)行分析。在軟件開發(fā)階段,調(diào)試是必要的工作。而預(yù)編譯則是對(duì)軟件功能的一種測(cè)試,測(cè)試其實(shí)用性。本文針對(duì)計(jì)算機(jī)軟件開發(fā)技術(shù)進(jìn)行分析,從而對(duì)調(diào)試和預(yù)編譯的作用進(jìn)行解析。
關(guān)鍵詞:計(jì)算機(jī);軟件工程;調(diào)試;預(yù)編譯
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A
Debugging a Compiler Function Analysis of Computer Software Engineering
ZHOU Xia
(Yangjiang Vocational and Technical College,Yangjiang 529566,China)
Abstract:The development of computer software is currently the mainstream technology of computer application,computer programming language based on logic function,so as to realize the function of the software requirements.In the process of software development,needs to carry on the analysis from different angles,understand the nature of software engineering,the computer programming code function.In software development,debugging is the necessary work.While the precompiled is a test of the function of the software,test its practicality.In this paper,the public on the computer software development and technical analysis,which analyzes the debugging and precompiled effect.
Keywords:computer;software engineering;commissioning;precompiler
1 引言(Introduction)
計(jì)算機(jī)軟件技術(shù)是計(jì)算機(jī)技術(shù)中的重要組成部分,對(duì)于其開發(fā)過(guò)程中的軟件程序代碼調(diào)試,是必須的工作流程。軟件開發(fā)過(guò)程中經(jīng)常會(huì)出現(xiàn)bug,這些bug需要通過(guò)測(cè)試和調(diào)試等兩個(gè)步驟進(jìn)行完成,然后讓軟件運(yùn)行更加安全穩(wěn)定。此外,預(yù)編譯功能是軟件開發(fā)中必不可少的功能之一。通過(guò)預(yù)編譯,可以將軟件的完善程度進(jìn)行測(cè)試,從而了解其在開發(fā)過(guò)程中存在的問題。軟件開發(fā)依托計(jì)算機(jī)編譯語(yǔ)言,計(jì)算機(jī)語(yǔ)言是軟件開發(fā)的基本元素。因此,分析計(jì)算機(jī)軟件工程的調(diào)試和預(yù)編譯,必須掌握計(jì)算機(jī)語(yǔ)言,從而才能真正了解其作用[1]。
2 計(jì)算機(jī)軟件工程介紹(Introduction of computer
software engineering)
計(jì)算機(jī)軟件開發(fā)是計(jì)算機(jī)軟件工程的一個(gè)基本組成元素。軟件工程實(shí)際上是一系列的軟件開發(fā)工程共同組合在一起的一項(xiàng)巨大工程。由于開發(fā)的過(guò)程中,需要大量的編譯、測(cè)試以及調(diào)試等。因此,一般情況下,軟件工程的工程分配都是比較清晰的。那么,對(duì)于軟件工程而言,應(yīng)該從以下幾個(gè)方面進(jìn)行解析:
第一,軟件工程是一系列的軟件開發(fā)集合。單項(xiàng)的軟件開發(fā)適合于小型企業(yè)應(yīng)用或者是一個(gè)相對(duì)比較狹義的工程項(xiàng)目。而對(duì)于類似操作系統(tǒng)這樣龐大的系統(tǒng)工程,就需要采用軟件工程開發(fā)的方式進(jìn)行操作。因此,軟件工程的開發(fā)更多針對(duì)于大型的系統(tǒng)開發(fā)。
第二,軟件工程的分工必須明確。軟件工程不同于單一軟件開發(fā),而是多項(xiàng)軟件獨(dú)立開發(fā)后再進(jìn)行功能的結(jié)合。因此,對(duì)于軟件工程的分工而言,一定要清晰明確,每個(gè)人負(fù)責(zé)的內(nèi)容準(zhǔn)確無(wú)誤。軟件開發(fā)是流水式的開發(fā)過(guò)程,任何一個(gè)環(huán)節(jié)出現(xiàn)問題,都會(huì)造成對(duì)其他環(huán)節(jié)的影響。因此,在軟件工程中,為了減少因?yàn)槟骋画h(huán)節(jié)出現(xiàn)問題而造成整個(gè)工程的影響。在進(jìn)行內(nèi)容分工的時(shí)候,都會(huì)進(jìn)行獨(dú)立分工,即每個(gè)人負(fù)責(zé)的開發(fā)內(nèi)容都是相對(duì)獨(dú)立的,不會(huì)影響其他的模塊。
第三,關(guān)于軟件工程的開發(fā),其工程包括前期的需求分析,邏輯結(jié)構(gòu)分析、軟件編程、調(diào)試預(yù)編譯與升級(jí)處理。需要強(qiáng)調(diào)的是,由于并不存在完美的邏輯。因此,軟件在使用的過(guò)程中都會(huì)出現(xiàn)一些問題,需要后期在用戶體驗(yàn)中進(jìn)行維護(hù)和升級(jí)。
3 計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言分析(Analysis of computer
programming language)
軟件開發(fā)依托于計(jì)算機(jī)的程序設(shè)計(jì)語(yǔ)言,也稱之為編譯語(yǔ)言。計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言分為高級(jí)語(yǔ)言以及低級(jí)語(yǔ)言。低級(jí)語(yǔ)言中的代表是匯編語(yǔ)言,匯編語(yǔ)言目前應(yīng)用已經(jīng)非常少。而目前應(yīng)用最為廣泛的就是計(jì)算機(jī)高級(jí)語(yǔ)言,計(jì)算機(jī)高級(jí)語(yǔ)言包括面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言以及JAVA語(yǔ)言。兩者是目前軟件開發(fā)中,主要使用的編譯語(yǔ)言。對(duì)于兩者而言,各有各自的優(yōu)點(diǎn),其對(duì)比分析如下:
首先,面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言更適合進(jìn)行系統(tǒng)功能等軟件的開發(fā)。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言能夠?qū)⒑瘮?shù)以及定義進(jìn)行自定義封裝,封裝之后以類的形式進(jìn)行繼承。這樣的編譯方式不僅能夠減少代碼空間,繼承的優(yōu)勢(shì)在于能夠減少代碼的冗余,直接進(jìn)行調(diào)用語(yǔ)句的調(diào)用就可以實(shí)現(xiàn)其功能。
其次,JAVA程序設(shè)計(jì)設(shè)計(jì)語(yǔ)言,在網(wǎng)頁(yè)開發(fā)、論壇設(shè)計(jì)以及游戲的開發(fā)等應(yīng)用非常廣泛。JAVA語(yǔ)言的應(yīng)用優(yōu)勢(shì)非常明顯,不僅編寫代碼不僅簡(jiǎn)單易懂,更能夠?qū)崿F(xiàn)跨越平臺(tái)開發(fā)。由于目前計(jì)算機(jī)的使用用戶分為兩種:第一是家庭和日常辦公型的用戶,通常是使用微軟開發(fā)的windows操作系統(tǒng);第二是linux操作系統(tǒng),linux操作系統(tǒng)相對(duì)而言不適合家庭辦公,但是卻非常適合軟件開發(fā)。雖然面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言和JAVA都能夠?qū)崿F(xiàn)在不同的平臺(tái)上進(jìn)行程序開發(fā),但是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言卻無(wú)法進(jìn)行移植。也就是說(shuō),如果再windows系統(tǒng)下進(jìn)行的軟件編譯,那么在linux環(huán)境下進(jìn)行運(yùn)行的時(shí)候,就會(huì)出現(xiàn)功能缺失的現(xiàn)象。因此,對(duì)于軟件開發(fā)而言,JAVA則更加具有優(yōu)勢(shì)。
最后,不管是哪種計(jì)算機(jī)程序語(yǔ)言,都必須進(jìn)行必要的程序編譯和分析。預(yù)編譯也是非常必要的,是能檢查軟件功能的最好方式。因此,在進(jìn)行軟件開發(fā)的時(shí)候,都需要測(cè)試人員進(jìn)行代碼測(cè)試。而一旦軟件進(jìn)行發(fā)布和使用,就必須保證軟件的基本功能。出現(xiàn)的一些漏洞,可以通過(guò)后期升級(jí)的方式進(jìn)行處理。
4 計(jì)算機(jī)軟件開發(fā)的調(diào)試解析(Debugging analysis
of computer software development)
計(jì)算機(jī)軟件開發(fā),是一項(xiàng)比較復(fù)雜而繁瑣的程序編譯過(guò)程。計(jì)算機(jī)的軟件開發(fā)依托于計(jì)算機(jī)程序語(yǔ)言,而程序語(yǔ)言都屬于邏輯語(yǔ)言的范疇。因此,在進(jìn)行軟件開發(fā)的過(guò)程中,一定會(huì)出現(xiàn)一些邏輯矛盾而造成軟件開發(fā)的bug。這些bug的形成是軟件開發(fā)技術(shù)的一種自我維護(hù)功能,出現(xiàn)bug的目的是為了能保證軟件的正常功能實(shí)現(xiàn)[2]。
調(diào)試實(shí)際上是在軟件程序進(jìn)行預(yù)編譯后的一項(xiàng)處理程序,例如,程序編譯完成后,需要進(jìn)行預(yù)編譯處理,預(yù)編譯是將軟件程序進(jìn)行運(yùn)行。如果在運(yùn)行結(jié)束后,發(fā)現(xiàn)了程序中存在bug。那么,就需要使用調(diào)試功能。調(diào)試功能在不同的編譯器以及編程程序語(yǔ)言中,其形式不一。但是,其功能和原理確實(shí)一致的。一般情況下,調(diào)試程序可以進(jìn)行bug的查閱和定位。就是說(shuō),調(diào)試程序會(huì)將代碼中的邏輯錯(cuò)誤以及邏輯缺陷進(jìn)行顯示。在進(jìn)行錯(cuò)誤提示中,可以根據(jù)提示進(jìn)行程序的代碼修改。實(shí)際上,在進(jìn)行修改的過(guò)程中,也是有著很多技巧可以應(yīng)用的。
例如,面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中,設(shè)計(jì)到的邏輯程序主要有以下幾種:
程序的邏輯不閉合;所謂的邏輯不閉合是指一般的程序錯(cuò)誤。在進(jìn)行編譯的過(guò)程中,偶爾因?yàn)槭韬鰰?huì)忘記一些問題。例如面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的邏輯閉合標(biāo)致是大括號(hào),這些大括號(hào)是成對(duì)出現(xiàn)的。如果再程序開始的時(shí)候,出現(xiàn)了大括號(hào)而在結(jié)束的時(shí)候,卻沒有添加大括號(hào),這樣就會(huì)出現(xiàn)邏輯錯(cuò)誤。在程序的調(diào)試過(guò)程中,也會(huì)出現(xiàn)這樣的提示。
程序的語(yǔ)句缺失;在程序設(shè)計(jì)編程的過(guò)程中,語(yǔ)句缺失是非常常見的。因此,對(duì)于調(diào)試程序而言,一定要查找程序缺失的部分,從而將缺失的部分填寫上,保證程序的正常運(yùn)行。
在無(wú)源代碼編程的過(guò)程中,由于該程序并沒有經(jīng)過(guò)測(cè)試。也就是說(shuō),是純粹的設(shè)計(jì)開發(fā),因此就需要進(jìn)行不斷的調(diào)試。在調(diào)試的過(guò)程中,根據(jù)需求分析進(jìn)行邏輯代碼的編譯,然后通過(guò)預(yù)編譯處理,得出編譯結(jié)果。編譯結(jié)果中會(huì)顯示錯(cuò)誤代碼段落,可以根據(jù)這些錯(cuò)誤提示進(jìn)行逐一分析和解讀,從而再進(jìn)行預(yù)編譯和調(diào)試處理。在實(shí)際的軟件開發(fā)中,兩者是相互協(xié)作,一起查找代碼中的邏輯錯(cuò)誤,并得出最終結(jié)論。
5 計(jì)算機(jī)軟件開發(fā)的預(yù)編譯作用分析(Analysis
of the effect of pre compiled computer software
development)
計(jì)算機(jī)程序語(yǔ)言進(jìn)行軟件開發(fā),實(shí)際上也是程序開發(fā)的過(guò)程。那么,軟件的功能是通過(guò)計(jì)算機(jī)程序進(jìn)行編譯從而實(shí)現(xiàn)其設(shè)計(jì)的功能。那么,進(jìn)行預(yù)編譯的原因是什么呢?在進(jìn)行軟件開發(fā)的過(guò)程中,預(yù)編譯又有怎樣的作用呢?
第一,計(jì)算機(jī)軟件開發(fā)進(jìn)行預(yù)編譯的原因分析。
軟件開采使用計(jì)算機(jī)程序語(yǔ)言,通過(guò)邏輯分析與架構(gòu)的搭建,從而進(jìn)行程序代碼的編譯。計(jì)算機(jī)軟件的開發(fā)進(jìn)行預(yù)編譯實(shí)際上就是要對(duì)軟件開發(fā)的過(guò)程進(jìn)行階段性測(cè)試,從而得出運(yùn)行結(jié)果。通過(guò)這些運(yùn)行結(jié)果,來(lái)對(duì)軟件開發(fā)進(jìn)行分析。
第二,計(jì)算機(jī)軟件開發(fā)預(yù)編譯的作用分析。
預(yù)編譯功能,可以對(duì)軟件程序進(jìn)行初期的運(yùn)行測(cè)試。一般情況下,如果程序存在問題,那么需要通過(guò)預(yù)編譯來(lái)進(jìn)行程序的初始運(yùn)行。預(yù)編譯的作用不僅是對(duì)程序的一種測(cè)試,更是能夠與計(jì)算機(jī)程序設(shè)計(jì)的調(diào)試功能進(jìn)行協(xié)作,從而進(jìn)行軟件的深入開發(fā)[3]。預(yù)編譯是一種能夠?qū)崿F(xiàn)軟件代碼運(yùn)行的平臺(tái),能夠?qū)⒊绦虼a中的邏輯錯(cuò)誤進(jìn)行分析處理,從而為軟件中的bug進(jìn)行排除解決等等。預(yù)編譯功能的設(shè)置,為軟件開發(fā)提供了強(qiáng)大的技術(shù)平臺(tái),為軟件的后期維護(hù)和測(cè)試都提供了理論和技術(shù)支持。在軟件的開發(fā)過(guò)程中,經(jīng)過(guò)不斷的預(yù)編譯會(huì)造成軟件內(nèi)存和緩存的冗余。因此,還需要注意的就是將程序中的冗余代碼進(jìn)行清楚,釋義代碼可以相對(duì)減少,并提高編碼效率??傊?,程序語(yǔ)言的預(yù)編譯是一種良好的軟件開發(fā)輔助性的功能。
6 結(jié)論(Conclusion)
通過(guò)對(duì)計(jì)算機(jī)軟件工程的分析,并對(duì)其程序的設(shè)計(jì)語(yǔ)言進(jìn)行研究,對(duì)軟件工程的調(diào)試和預(yù)編譯等進(jìn)行了其應(yīng)用方面的探討。由于軟件工程的周期是長(zhǎng)期的,一個(gè)軟件或者是一系列的軟件即便開始進(jìn)行使用,也處于維護(hù)和管理的范圍內(nèi)。而在軟件開發(fā)的過(guò)程中,為了能保證軟件在用戶使用的過(guò)程中,能夠獲得較高的用戶體驗(yàn)指數(shù),就需要進(jìn)行多次的調(diào)試和預(yù)編譯。調(diào)試與預(yù)編譯是在軟件的開發(fā)進(jìn)行中,最為有效的軟件測(cè)試程序。通過(guò)預(yù)編譯將軟件進(jìn)行初期運(yùn)行,測(cè)試出現(xiàn)問題,再采用調(diào)試功能。因此,預(yù)編譯與調(diào)試是相互配合的軟件開發(fā)功能,其功能就是進(jìn)行多次的軟件測(cè)試,保證軟件在投產(chǎn)前的功能完善。
參考文獻(xiàn)(References)
[1] 夏禹.信息化工程中的軟件工程驗(yàn)收[J].中國(guó)新通信,2013(04):
8-9.
[2] 劉磊.基于VC++與開放式運(yùn)動(dòng)控制器的并聯(lián)機(jī)器人控制
軟件開發(fā)[J].數(shù)字技術(shù)與應(yīng)用,2013(01):160-161.
[3] 胥京宇.Altera和ARM發(fā)布業(yè)界首款FPGA自適應(yīng)嵌入式軟件
工具包[J].世界電子元器件,2013(02):61.
作者簡(jiǎn)介:
周 霞(1978-),女,碩士,副教授.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用技
術(shù)與軟件開發(fā).