陸康杰
摘要:通信技術(shù)與信息技術(shù)的深度融合,為軟件工程開發(fā)提供了新的發(fā)展機(jī)遇。當(dāng)前,正值數(shù)字中國建設(shè)之際,軟件工程進(jìn)入了高質(zhì)量開發(fā)與高水準(zhǔn)運(yùn)用階段,有必要在“互聯(lián)網(wǎng)+”深化期間持續(xù)擴(kuò)大對(duì)新技術(shù)的應(yīng)用為其實(shí)踐賦能。文章以此為出發(fā)點(diǎn),概述了軟件工程開發(fā)技術(shù)的特點(diǎn),剖析了“互聯(lián)網(wǎng)+”時(shí)代軟件開發(fā)中出現(xiàn)的新技術(shù),并在此基礎(chǔ)上提出了幾點(diǎn)有利于促進(jìn)其應(yīng)用的建議。
關(guān)鍵詞:互聯(lián)網(wǎng);軟件工程;開發(fā)技術(shù)
doi:10.3969/J.ISSN.1672-7274.2024.04.028
中圖分類號(hào):TP 311.5? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ? ? ? ?文章編碼:1672-7274(2024)04-00-03
Analysis on New Technology of Software Engineering Development
in the "Internet Plus" Era
LU Kangjie
(Chongqing University of Posts and Telecommunications, Chongqing 400065, China)
Abstract: The deep integration of communication technology and information technology provides new development opportunities for software engineering development. At present, at the moment of the construction of digital China, software engineering has entered the stage of high-quality development and high-level application. It is necessary to continue to expand the application of new technologies to enable its practice during the deepening of "Internet plus". Taking this as the starting point, this paper summarizes the characteristics of software engineering development technology, analyzes the new technologies emerging in software development in the "Internet plus" era, and on this basis, puts forward several suggestions conducive to promoting its application.
Keywords: Internet; software engineering; development technology
1? ?“互聯(lián)網(wǎng)+”時(shí)代軟件工程開發(fā)新技術(shù)分析
1.1 軟件系統(tǒng)架構(gòu)技術(shù)
“互聯(lián)網(wǎng)+”時(shí)代為軟件工程開發(fā)提供了一種思想資源,開發(fā)人員遵循“思路決定出路”的原則,可以創(chuàng)新或選擇不同的技術(shù)資源進(jìn)行要素配置,完成軟件工程開發(fā)。具體而言,軟件工程開發(fā)中牽涉到分析階段、設(shè)計(jì)階段、編程階段,三大階段相輔相承、彼此影響。開發(fā)人員為了保障開發(fā)的有效性,以及在后續(xù)應(yīng)用中對(duì)其進(jìn)行持續(xù)優(yōu)化,需要在“思想資源+技術(shù)資源”的加持下,從現(xiàn)代軟件工程開發(fā)技術(shù)中的未來性、智能化、整體性特點(diǎn)出發(fā),結(jié)合當(dāng)前PC機(jī)向移動(dòng)終端設(shè)備發(fā)展趨勢應(yīng)用一些新技術(shù)。以軟件系統(tǒng)架構(gòu)為例,它的功能是在頂層設(shè)計(jì)方面,為軟件工程開發(fā)提供軟件的基本輪廓,滿足其開發(fā)需求。
從目前應(yīng)用的軟件系統(tǒng)架構(gòu)技術(shù)看,比較經(jīng)典的C/S架構(gòu)居于主流地位,可以把應(yīng)用軟件劃分為客戶機(jī)與服務(wù)器。①客戶機(jī)屬于用戶端安裝的用戶軟件;②服務(wù)器則涉及到Web服務(wù)器、數(shù)據(jù)庫服務(wù)器;③應(yīng)用該軟件系統(tǒng)架構(gòu)技術(shù)時(shí),服務(wù)器能夠根據(jù)客戶軟件中發(fā)送的邏輯業(yè)務(wù)請(qǐng)求為其提供數(shù)據(jù)解析與處理服務(wù),并以報(bào)表形式將結(jié)果發(fā)送到用戶端,交互性相對(duì)較好。與上述軟件系統(tǒng)架構(gòu)相比,B/S應(yīng)用軟件架構(gòu)主要由Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、瀏覽器三個(gè)基本層次構(gòu)成,能夠節(jié)省安裝客戶端的環(huán)節(jié)。實(shí)際應(yīng)用時(shí),用戶只需要在瀏覽器中通過Web服務(wù)器提供的地址,進(jìn)行輸入即可以登錄系統(tǒng),實(shí)用性更強(qiáng),對(duì)開發(fā)人員的專業(yè)性要求一般,更加有利于移動(dòng)終端設(shè)備方面創(chuàng)新[1]。
在軟件工程開發(fā)中使用軟件架構(gòu)系統(tǒng)時(shí),通常需要注意以下三點(diǎn):①應(yīng)突出問題導(dǎo)向,利用定義、界定等方式增強(qiáng)目標(biāo)系統(tǒng)的邊界設(shè)置,并根據(jù)具體的切分原則分解其中的任務(wù),借助串行、并行等節(jié)約開發(fā)時(shí)間;②在切分部分設(shè)置溝通機(jī)制時(shí),要注重各部分之間的關(guān)聯(lián)性與組合后的整體性;③除上述兩種比較典型的軟件系統(tǒng)架構(gòu)外,目前部分軟件工程開發(fā)企業(yè)已開啟了對(duì)黑板模式(Blackboard pattern)、解析器模式(Interpreter pattern)、代理模式(Broker pattern),以及其他模式的比較分析,預(yù)期在后續(xù)開發(fā)中逐漸進(jìn)行多元模式下的開發(fā)實(shí)踐。以分層模式(Broker pattern)為例,使用場景以通用桌面應(yīng)用程序、電子商務(wù)Web應(yīng)用為主,可以拆分為表示層、應(yīng)用層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層,每個(gè)層次的獨(dú)立抽象特點(diǎn)突出,在當(dāng)前的軟件工程開發(fā)中的結(jié)構(gòu)化設(shè)計(jì)中具有較大優(yōu)勢。
1.2 人工智能技術(shù)
軟件系統(tǒng)架構(gòu)技術(shù)屬于軟件服務(wù)平臺(tái)技術(shù)領(lǐng)域,人工智能技術(shù)則屬于軟件工程開發(fā)中的算法領(lǐng)域。目前,大模型的出現(xiàn)將人工智能推進(jìn)到了較高的發(fā)展階段。從軟件工程開發(fā)實(shí)踐經(jīng)驗(yàn)看,一般采用監(jiān)督技術(shù)方面的支持向量機(jī)、BP神經(jīng)網(wǎng)絡(luò)等算法,和無監(jiān)督技術(shù)方面的K均值等技術(shù),重點(diǎn)放在數(shù)據(jù)分析模型方面,旨在通過有效監(jiān)督訓(xùn)練及學(xué)習(xí)、自動(dòng)化挖掘信息等,為軟件工程開發(fā)提供持續(xù)性的技術(shù)支持。以BP神經(jīng)網(wǎng)絡(luò)算法為例,主要按照“輸入層→隱含層→輸出層→比較→期望輸出→是否達(dá)到要求→若否,則向后進(jìn)行層層列新權(quán)重與偏置,或是則進(jìn)入下一環(huán)節(jié)→結(jié)束”等流程進(jìn)行操作。由于其中的每個(gè)神經(jīng)元都受來自其他神經(jīng)元的輸入信號(hào),在輸出、比較、判斷諸環(huán)節(jié),可以借助帶權(quán)重的連接傳遞方式、模擬閾值電位對(duì)比、激活函數(shù)等完成一系列操作。需要注意的是,該算法應(yīng)用過程中牽涉到正向傳播過程、反向傳播過程,在軟件開發(fā)工程中對(duì)其進(jìn)行應(yīng)用時(shí)應(yīng)注重模型的兩個(gè)傳播過程,將計(jì)算誤差控制在較小范圍內(nèi)。
在新時(shí)期的軟件工程開發(fā)中,隨著對(duì)人工智能技術(shù)應(yīng)用的增多,結(jié)構(gòu)數(shù)據(jù)逐漸拓展到了半結(jié)構(gòu)數(shù)據(jù)、非結(jié)構(gòu)數(shù)據(jù),開發(fā)人員在實(shí)踐中通常會(huì)采用“大數(shù)據(jù)+人工智能”聯(lián)合方案。尤其在密集式數(shù)據(jù)研發(fā)技術(shù)相關(guān)的軟件工程開發(fā)方面,對(duì)聯(lián)合方案應(yīng)用較多。例如,軟件工程開發(fā)時(shí)可以借助該技術(shù)提前解決數(shù)據(jù)采集、清洗、存儲(chǔ)、保存、更新等問題,為軟件工程開發(fā)提供更好的流暢度。同時(shí),在數(shù)據(jù)分析模型中對(duì)數(shù)據(jù)進(jìn)行分析時(shí)面臨著數(shù)據(jù)整合的難題,利用該技術(shù)的數(shù)據(jù)整合功能可為其提供數(shù)據(jù)管理服務(wù),并提高軟件智能化水平[2]。
除此之外,新時(shí)期軟件開發(fā)工程中對(duì)軟件安全防護(hù)的需求較大,針對(duì)有記錄的知識(shí)庫、數(shù)據(jù)集安全防護(hù)較好,但是,針對(duì)沒有記錄的攻擊手段則缺乏相應(yīng)的安全防護(hù)服務(wù),此時(shí)可以配套應(yīng)用自主學(xué)習(xí)技術(shù)。該技術(shù)應(yīng)用時(shí)包括兩個(gè)部分:①未接觸過的惡意攻擊→安全防護(hù)軟件→攻擊數(shù)據(jù)信息記錄→自主學(xué)習(xí)→未接觸過的惡意攻擊轉(zhuǎn)變?yōu)橐呀佑|過的惡意攻擊,可防護(hù)。②未接觸過的惡意攻擊→安全防護(hù)軟件→內(nèi)部監(jiān)管控制→備份保護(hù)安全。在其基本原理支持下,通過邏輯推演可以提前預(yù)判軟件工程中可能存在的風(fēng)險(xiǎn)。
1.3 大數(shù)據(jù)技術(shù)
人工智能技術(shù)在軟件工程開發(fā)中的應(yīng)用,通常會(huì)配套大數(shù)據(jù)技術(shù)。在軟件工程開發(fā)中對(duì)大數(shù)據(jù)技術(shù)的應(yīng)用重點(diǎn)放在軟件工程開發(fā)管理系統(tǒng)上,可滿足軟件升級(jí)數(shù)據(jù)對(duì)比、催生軟件工程開發(fā)需求等。關(guān)鍵技術(shù)包括三類:軟件服務(wù)工程技術(shù)、眾包軟件服務(wù)工程技術(shù)、密集型數(shù)據(jù)處理技術(shù)。其中,軟件服務(wù)工程技術(shù)在軟件工程開發(fā)的分析階段、設(shè)計(jì)階段、編程階段、安裝階段、維護(hù)階段,均可以為其提供安全防護(hù)服務(wù)。密集式數(shù)據(jù)處理技術(shù)除了與人工智能聯(lián)合應(yīng)用防控病毒、提高數(shù)據(jù)完整度外,還能夠輔助軟件工程方法應(yīng)用時(shí),加強(qiáng)面向?qū)ο蠓治鲋械膭?dòng)態(tài)模型、功能模型、對(duì)象模型中的數(shù)據(jù)分析,提高建模效率,以及設(shè)計(jì)階段的數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)對(duì)比分析等[3]。眾包軟件服務(wù)工程技術(shù)可以提一種“工作模式”,減少對(duì)軟件工程開發(fā)人員數(shù)量的配置。但是在應(yīng)用該技術(shù)時(shí)需要配套的解決流式數(shù)據(jù)、密集數(shù)據(jù)問題,一般在應(yīng)用時(shí)需要與密集式數(shù)據(jù)處理技術(shù)聯(lián)合應(yīng)用,幫助開發(fā)人員完成對(duì)重點(diǎn)、難點(diǎn)部分的數(shù)據(jù)處理。
進(jìn)一步看,隨著“互聯(lián)網(wǎng)+”時(shí)代向深度的理論層面、廣度的技術(shù)推廣層面、精度的指標(biāo)管理層面發(fā)展,軟件工程管理模式正在從C/S架構(gòu)向B/S架構(gòu)轉(zhuǎn)變。而且,服務(wù)性已成為軟件工程開發(fā)中的基本立足點(diǎn)。在這種前提下,為了解決軟件工程開管理中的混亂問題、資源占用問題,大部分企業(yè)選擇了服務(wù)化、資源虛擬化等方案,通過“一個(gè)接口,多種服務(wù)”探索新的服務(wù)路徑以提高資源利用率。但是,受到服務(wù)對(duì)象的多樣化因素影響,數(shù)據(jù)種類增多、數(shù)據(jù)分布變化加快,對(duì)異構(gòu)系統(tǒng)數(shù)據(jù)的有效處理及整合要求越來越高[4]。在這種現(xiàn)狀下,軟件工程開發(fā)人員會(huì)選擇適配性較高的大數(shù)據(jù)技術(shù),在新思路、新模式支持下滿足其新需求。另外,軟件工程開發(fā)中普遍存在系統(tǒng)工程與項(xiàng)目控制重疊問題,此時(shí)可應(yīng)用大數(shù)據(jù)技術(shù)中的“系統(tǒng)文檔樹”進(jìn)行結(jié)構(gòu)化方面的自定義處理,通過整體性計(jì)劃解決其中的重疊問題,并將其落實(shí)到集成、組成、控制、檢測各環(huán)節(jié)。
2? ?“互聯(lián)網(wǎng)+”時(shí)代軟件工程開發(fā)新技術(shù)應(yīng)用策略
2.1 有效發(fā)揮政府管理職能
新時(shí)代的一系列改革證實(shí)了舉國體制下的制度優(yōu)勢,并且將其融入到了各行業(yè)、領(lǐng)域之中,產(chǎn)生了令人矚目的成績。在“互聯(lián)網(wǎng)+”時(shí)代軟件工程開發(fā)新技術(shù)應(yīng)用策略方面,建議從該角度出發(fā)有效發(fā)揮政府管理職能,持續(xù)輔助其實(shí)踐。例如,在軟件工程開發(fā)環(huán)境營建方面,政府應(yīng)通過政策引導(dǎo)、資金支持,為其提供一個(gè)相對(duì)較好的研發(fā)環(huán)境,滿足其對(duì)基礎(chǔ)資源的配置要求。以政府引導(dǎo)為例,應(yīng)激勵(lì)民間資本投資軟件工程開發(fā),并將重點(diǎn)調(diào)整到相關(guān)新技術(shù)的研發(fā)環(huán)節(jié)。同時(shí),應(yīng)引導(dǎo)實(shí)體企業(yè)與技術(shù)企業(yè)開展協(xié)同合作[5]。以資金支持為例,各地政府應(yīng)根據(jù)當(dāng)?shù)氐臄?shù)字產(chǎn)業(yè)化、產(chǎn)業(yè)數(shù)字化轉(zhuǎn)型所處階段,在不同的項(xiàng)目中給予適配性的資金支持,包括財(cái)政撥款、技術(shù)創(chuàng)新獎(jiǎng)勵(lì)、減免稅收等。
2.2 積極進(jìn)行產(chǎn)品升級(jí)更新
在供需理論下,只有滿足用戶需求的軟件工程開發(fā)新技術(shù),才能獲得更為廣泛的應(yīng)用。雖然當(dāng)前的軟件工程開發(fā)企業(yè),已在用戶需求導(dǎo)向下創(chuàng)建定制化模式(“訂單+采購+實(shí)施+售后”),補(bǔ)充了設(shè)計(jì)生產(chǎn)一體化模式(項(xiàng)目立項(xiàng)、開發(fā)設(shè)計(jì)、采購、實(shí)施訂單、營銷、售后)中的短板,但是用戶在使用軟件時(shí)存在一定的“惰性”,不期望軟件頻繁升級(jí)更新。相反,為了保障軟件的高質(zhì)量開發(fā)后的高水準(zhǔn)應(yīng)用,軟件工程開發(fā)企業(yè)通常會(huì)根據(jù)實(shí)際需求對(duì)產(chǎn)品進(jìn)行升級(jí)更新。
在這種矛盾下,軟件工程開發(fā)人員應(yīng)從技術(shù)賦能的角度出發(fā),一方面明確積極進(jìn)行產(chǎn)品升級(jí)更新的必要性,另一方面在不改變其使用功能的前提下創(chuàng)新技術(shù)或者選擇新技術(shù)完成產(chǎn)品升級(jí)更新。這樣做,在實(shí)質(zhì)上有利于將用戶需求與軟件工程中的缺陷結(jié)合起來,對(duì)其進(jìn)行綜合考慮,進(jìn)而促進(jìn)軟件工程開發(fā)技術(shù)層面的創(chuàng)新與突破。進(jìn)一步看,在量子計(jì)算機(jī)未推廣應(yīng)用之前,所有軟件均不能從根本上解決病毒傳播、木馬程序侵入、非授權(quán)登錄等方面的隱患。在這種前提下,建議軟件工程開發(fā)企業(yè)及相關(guān)人員突破新技術(shù)研發(fā)環(huán)節(jié)的引領(lǐng)性作用,借助產(chǎn)品升級(jí)更新方向的調(diào)整加強(qiáng)對(duì)新技術(shù)的創(chuàng)造及應(yīng)用[6]。
2.3 增強(qiáng)知識(shí)產(chǎn)權(quán)保護(hù)力度
目前,我國的知識(shí)產(chǎn)權(quán)保護(hù)制度相對(duì)完整,但是在軟件工程開發(fā)企業(yè)方面的知識(shí)產(chǎn)權(quán)保護(hù)差強(qiáng)人意,具體表現(xiàn)為知識(shí)產(chǎn)權(quán)保護(hù)力度不足。建議在當(dāng)前階段從統(tǒng)一大市場的角度出發(fā),深入理解知識(shí)產(chǎn)權(quán)保護(hù)的重要性,并在該方面將創(chuàng)新與保護(hù)結(jié)合起來,探索基于軟件工程開發(fā)新技術(shù)的新型商業(yè)模式。
(1)軟件工程開發(fā)企業(yè)應(yīng)充分意識(shí)到在統(tǒng)一大市場建成后形成的新發(fā)展格局下,不得不參與全球同行業(yè)的殘酷競爭。然后,按照定價(jià)權(quán)與供應(yīng)鏈競爭方向,加強(qiáng)軟件開發(fā)新技術(shù)的創(chuàng)新與知識(shí)產(chǎn)權(quán)保護(hù)[7]。尤其在供應(yīng)鏈管理方面,供應(yīng)鏈尋源難度有所增加,此類企業(yè)應(yīng)嘗試在新技術(shù)創(chuàng)新與知識(shí)產(chǎn)權(quán)保護(hù)的前提下,探索以售賣新技術(shù)專利為主的商業(yè)模式,打破供應(yīng)商與相關(guān)技術(shù)壟斷企業(yè)的聯(lián)合。
(2)就軟件工程行業(yè)而言,對(duì)自主知識(shí)產(chǎn)權(quán)的保護(hù)有利于在本土形成更加激勵(lì)的競爭,優(yōu)化行業(yè)投資結(jié)構(gòu),進(jìn)一步使新技術(shù)產(chǎn)生的利好反哺到對(duì)軟件工程開發(fā)新技術(shù)中。從當(dāng)前軟件工程開發(fā)新技術(shù)的創(chuàng)新及應(yīng)用經(jīng)驗(yàn)看,任何一項(xiàng)新技術(shù)的突破,均可能對(duì)整個(gè)軟件產(chǎn)業(yè)產(chǎn)生結(jié)構(gòu)升級(jí)的作用,同時(shí)借助新技術(shù)調(diào)整軟件的應(yīng)用方向。建議在該方面,按“政府+企業(yè)”的合作模式,激勵(lì)企業(yè)形成知識(shí)產(chǎn)權(quán)保護(hù)意識(shí)、加大知識(shí)產(chǎn)權(quán)保護(hù)力度[8]。
3? ?結(jié)束語
總之,“互聯(lián)網(wǎng)+”時(shí)代的到來為軟件工程開發(fā)中的新技術(shù)研發(fā)提供了新思路,推動(dòng)了軟件工程開發(fā)新技術(shù)的多元化、融合化應(yīng)用。當(dāng)前,正值此類工程高質(zhì)量發(fā)展階段,對(duì)于軟件系統(tǒng)架構(gòu)技術(shù)、人工智能技術(shù)的應(yīng)用相對(duì)增多,這有利于解決各行業(yè)、領(lǐng)域“并聯(lián)式”發(fā)展過程中軟件工程開發(fā)產(chǎn)業(yè)鏈不完善、實(shí)用性不強(qiáng)、創(chuàng)新性欠缺的問題。建議在新時(shí)期一方面有效發(fā)揮政策管理職能,在政策導(dǎo)向下給予一定的扶持;另一方面在需求導(dǎo)向下開展產(chǎn)品升級(jí)更新,推動(dòng)相關(guān)新技術(shù)的研發(fā)及應(yīng)用。另外,軟件工程開發(fā)始終以全球行業(yè)競爭為背景,應(yīng)在知識(shí)產(chǎn)權(quán)創(chuàng)新的過程中進(jìn)一步通過制度建設(shè)增強(qiáng)知識(shí)產(chǎn)權(quán)保護(hù)力度,為我國軟件工程開發(fā)及在各行業(yè)、領(lǐng)域的應(yīng)用保駕護(hù)航。■
參考文獻(xiàn)
[1] 劉佳娜.大數(shù)據(jù)時(shí)代下軟件工程關(guān)鍵技術(shù)應(yīng)用[J].工程管理與技術(shù)探討,2023(11):5-7.
[2] 毛淑鑫.互聯(lián)網(wǎng)時(shí)代軟件工程開發(fā)分析[J].國際計(jì)算機(jī)科學(xué)進(jìn)展,2022,2(2):21-23.
[3] 周麗霞.軟件工程方法在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用[J].科海故事博覽,2022(24):1-3.
[4] 姚楠.大數(shù)據(jù)時(shí)代軟件開發(fā)與維護(hù)技術(shù)要點(diǎn)及運(yùn)用實(shí)踐關(guān)鍵要素探究[J].消費(fèi)電子,2022(12):53-55.
[5] 孫輝.計(jì)算機(jī)軟件工程中的數(shù)據(jù)挖掘技術(shù)應(yīng)用[J].大眾標(biāo)準(zhǔn)化,2022(2):122-124.
[6] 張鵬.軟件工程思想在管理信息系統(tǒng)開發(fā)中的應(yīng)用[J].信息系統(tǒng)工程,2022(5):84-87.
[7] 曹嵩彭,王鵬宇.基于軟件工程的Web開發(fā)與應(yīng)用[J].信息記錄材料, 2022(2):108-110.
[8] 劉一林.軟件工程技術(shù)在系統(tǒng)軟件開發(fā)過程的應(yīng)用研究[J].?dāng)?shù)碼設(shè)計(jì), 2022(8):25-27.