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