王玉梅
(昆船物流信息產(chǎn)業(yè)有限公司,昆明 211500)
軟件開發(fā)需要采用掌握軟件開發(fā)言語,懂得言語的特性、語法、算法,了解開發(fā)工具,只要這樣才能提高軟件開發(fā)的效率,能把一串一串的指令組合起來,完成我們設(shè)定的某種任務(wù)。對TCP/IP網(wǎng)絡(luò)協(xié)議的了解、對數(shù)據(jù)庫的熟練使用等都是在軟件開發(fā)中必須掌握的技能。其中持續(xù)集成理論在軟件開發(fā)中具有重要的應(yīng)用,本文對此進(jìn)行了重點分析。
在軟件開發(fā)中,首先應(yīng)明確不管什么使用軟件,都必須依托一個操作系統(tǒng),只有對操作系統(tǒng)有全面認(rèn)知,這樣才能保證所開發(fā)出的軟件具有較強(qiáng)的兼容性能。在軟件開發(fā)中,可以采用敏捷開發(fā)技術(shù),將一個整體的軟件開發(fā)項目劃分為若干個子項目,分別對各個子項目進(jìn)行開發(fā)和測試,最后再進(jìn)行系統(tǒng)集成[1]。在這種開發(fā)模式下,軟件開發(fā)并不要求在前期階段就做到十分完美,可以在后續(xù)階段逐步對軟件系統(tǒng)進(jìn)行完善。
持續(xù)集成是軟件開發(fā)中的一種方式,軟件開發(fā)項目成員需要對軟件多次集成,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡早地發(fā)現(xiàn)集成錯誤。持續(xù)集成相當(dāng)于將傳統(tǒng)工業(yè)的流水線作業(yè)的思想應(yīng)用到現(xiàn)代的軟件工業(yè)中來。不同之處在于,工業(yè)流水線最終出來的是一個一個的產(chǎn)品復(fù)制體,但是軟件流水線最終出來的是一代又一代更新迭代的版本,但是共同點在于整體產(chǎn)出的效率將極大地增加。
在目前的軟件開發(fā)中,采用持續(xù)集成理論是常用的方法之一。通過持續(xù)集成理論,可以將不同的代碼集成到系統(tǒng)的主干上去,并且可以使產(chǎn)品實現(xiàn)迭代更新,還能夠提高軟件開發(fā)的質(zhì)量。在持續(xù)集成軟件開發(fā)過程中,較為重要的措施是在對不同的代碼進(jìn)行集成之前,需要先進(jìn)行相關(guān)的測試。只有經(jīng)過測試合格之后,才可以將代碼進(jìn)行集成,如果在測試的過程中,發(fā)現(xiàn)代碼中存在問題,則需要先將問題加以解決之后,才可以對代碼進(jìn)行集成。
通過持續(xù)集成的方法也不能完全保證軟件開發(fā)中不會出現(xiàn)問題,但能夠做到容易發(fā)現(xiàn)軟件開發(fā)中的問題。在持續(xù)集成理論中,還涉及到持續(xù)交付和持續(xù)部署的問題。其中持續(xù)交付是將不同階段集成的軟件提交給開發(fā)團(tuán)隊,供團(tuán)隊成員進(jìn)行評審。若經(jīng)過評審?fù)ㄟ^之后,可以進(jìn)入到下一個階段[2]。持續(xù)交付是持續(xù)集成方法中的一個環(huán)節(jié)。對于持續(xù)部署,是在完成持續(xù)交付之后進(jìn)入的一個階段,當(dāng)開發(fā)出來的代碼經(jīng)過交付評審合格之后,可以將代碼進(jìn)行實際的部署。部署完成之后,就可以進(jìn)入到生產(chǎn)階段。在進(jìn)行持續(xù)部署之前,需要對代碼進(jìn)行測試,經(jīng)過合格之后再進(jìn)入到下一個階段。
在軟件開發(fā)過程中,我們會涉及到配置管理、源碼控制、發(fā)布計劃、審計、符合性和集成,以及構(gòu)建測試和部署流程、驗收測試、依賴管理和生產(chǎn)環(huán)境的創(chuàng)建與管理,很多人認(rèn)為這些與確定需求、實現(xiàn)需求、寫代碼相比,這些活動并不那么重要,它只為是軟件開發(fā)過程很小的一部分并且不需要多大的技術(shù)投入。其實不然,恰恰相反它們會消耗大量的時間和精力,而且是影響軟件成功交付的關(guān)鍵因素。
對于持續(xù)集成理論在軟件開發(fā)中的應(yīng)用,根據(jù)持續(xù)集成的設(shè)計,代碼從提交到生產(chǎn),整個過程有以下幾步。一是提交,將所開發(fā)出來的代碼提交到代碼庫中,這是持續(xù)集成中的第一步。在提交完成之后就可以進(jìn)入到第二步測試階段,代碼經(jīng)過測試合格可以進(jìn)入到下一個階段。三是構(gòu)建,在經(jīng)過第一輪的測試之后,可以將開發(fā)出來的代碼集成到系統(tǒng)主干中,并進(jìn)行持續(xù)交付。當(dāng)上述步驟都完成之后,就可以進(jìn)入到第二輪的測試。在完成持續(xù)交付過程之后,需要對系統(tǒng)進(jìn)行構(gòu)建,對軟件中涉及到的各類資源,如腳本等進(jìn)行合理的配置。四是進(jìn)行第二輪的代碼測試。第一輪測試是對代碼進(jìn)行初步的測試,第二輪測試則需要對代碼進(jìn)行較為深入的測試,經(jīng)過測試分析合格之后,代碼可以進(jìn)入到實際的使用階段。不同的測試輪次,所進(jìn)行的測試項目有一定的差異。在測試的過程中,應(yīng)該以自動化測試為主,此外應(yīng)擴(kuò)大測試代碼的覆蓋率,這樣才能保證后續(xù)軟件在實際的運行過程中不會出現(xiàn)問題。五是部署,當(dāng)軟件中的各個文件發(fā)送給對應(yīng)的服務(wù)器,通過服務(wù)器對各個文件進(jìn)行打包,可以通過采用相應(yīng)的部署工具進(jìn)行實現(xiàn)。第六個步驟是回滾,軟件在開發(fā)的過程中,難免會碰到一些意外的問題,當(dāng)在某個階段出現(xiàn)問題時,則需要返回到上一個階段,可以通過更改指向的目錄加以實現(xiàn)。
在軟件開發(fā)項目中,需要注意提高軟件開發(fā)的效率和質(zhì)量,持續(xù)集成理論就是在軟件開發(fā)項目中常采用的方法。在軟件開發(fā)的過程中,涉及到的問題較多,可能會出現(xiàn)一些未知的問題,采用持續(xù)集成理論進(jìn)行軟件開發(fā)能夠提高軟件開發(fā)的效率。