周麗霞
(中國人民大學,北京 100872)
在大數(shù)據(jù)時代各行各業(yè)的數(shù)據(jù)信息不斷增加,在這一背景下要整合與優(yōu)化計算機軟件技術(shù),提升自身發(fā)展質(zhì)量與效率,確保能適應大數(shù)據(jù)時代的發(fā)展要求。在實際應用中各行各業(yè)對計算機軟件技術(shù)的應用要求不斷提高,要求能更加規(guī)范地管理計算機軟件。因此,企業(yè)在對數(shù)據(jù)信息進行分析時,需使用專業(yè)的數(shù)據(jù)處理軟件,提升數(shù)據(jù)信息的真實性與準確性,能對行業(yè)發(fā)展趨勢進行有效判斷,為自身發(fā)展提供可靠支持。
信息時代人們的生活與工作中會產(chǎn)生大量數(shù)據(jù),這些數(shù)據(jù)中蘊含著大量有用信息和知識,有助于企業(yè)管理者作出科學有效的管理決策。在計算機與通訊技術(shù)的快速發(fā)展下,數(shù)據(jù)呈爆炸式增長,也促使人類進入大數(shù)據(jù)時代。數(shù)據(jù)分析與挖掘是大數(shù)據(jù)時代的一門信息技術(shù),其驅(qū)動力是數(shù)據(jù)的增加與對于數(shù)據(jù)分析的需求。文字為載體的信息量在工業(yè)革命之后每十年翻一番,在1970 年之后,信息量開始每三年翻一番,截至現(xiàn)在信息量開始每兩年翻一番。2020 年全球數(shù)據(jù)使用量大約為35ZB,實現(xiàn)爆發(fā)式增長。數(shù)據(jù)存在的主要區(qū)域有地理信息、醫(yī)療衛(wèi)生等各個區(qū)域,數(shù)據(jù)量在數(shù)據(jù)采集成本下降過程中得到快速增加,且數(shù)據(jù)類型隨著新數(shù)據(jù)源及數(shù)據(jù)采集技術(shù)的出現(xiàn)得到極大增加,這也讓數(shù)據(jù)空間維度得以增加,大數(shù)據(jù)的復雜度增加。以淘寶網(wǎng)為例,會員的數(shù)量大約為3.7 億,在線商品數(shù)量超過8.8 億件,每天都會有大量數(shù)據(jù)產(chǎn)生,這些數(shù)據(jù)如果不加以科學利用,就會白白浪費,無法實現(xiàn)大數(shù)據(jù)的價值。計算機軟件開發(fā)中,要在大數(shù)據(jù)時代合理應用軟件工程方法,深度挖掘大數(shù)據(jù)的作用,確保計算機軟件開發(fā)質(zhì)量。
計算機軟件開發(fā)在大數(shù)據(jù)時代要遵循嚴格管理的原則,這是在長期軟件開發(fā)中總結(jié)出的經(jīng)驗教訓,對軟件開發(fā)的有效性十分關(guān)鍵。軟件開發(fā)需求增加過程中軟件系統(tǒng)開始變得復雜,為軟件開發(fā)管理增加難度。很多軟件開發(fā)團隊未能對不同開發(fā)階段進行嚴格管理,導致開發(fā)項目管理出現(xiàn)失控或者混亂現(xiàn)象,嚴重影響軟件開發(fā)質(zhì)量與效率[1]。
軟件項目立項后就要針對實際情況提出立項建議,對項目立項可行性進行論證。在軟件開發(fā)過程中,要求開發(fā)團隊不能對畜禽進行隨意改變,一旦對一項需求改變之后,往往需要付出很高的代價[2]。所以要求開發(fā)團隊要做好產(chǎn)品控制,在變動控制下提升產(chǎn)品控制效果。為確保軟件各個配置成分的一致性,要嚴格實施產(chǎn)品控制,實行基準配置管理。
軟件開發(fā)項目人員需具有較高的專業(yè)性與素養(yǎng),一般人數(shù)不宜過多。軟件產(chǎn)品質(zhì)量與開發(fā)效率會受到開發(fā)者素養(yǎng)與數(shù)量的直接影響,綜合素養(yǎng)較高的開發(fā)人員,不僅能提升軟件質(zhì)量與效率,也能減少錯誤,同時開發(fā)人數(shù)過多不僅會增加溝通成本,還會影響開發(fā)效率。所以軟件開發(fā)團隊質(zhì)量要高,人數(shù)要少。
軟件工程學科領(lǐng)域研究的對象之一是軟件工程方法,主要包括方法、工具與過程三個要素,在軟件開發(fā)過程中采取技術(shù)路線與措施,確保開發(fā)的有效性。軟件工程方法有結(jié)構(gòu)化方法、基于Agent 的方法、形式化方法等多種方法和技術(shù),Agent 方法在軟件工程發(fā)展中占據(jù)重要地位,是軟件開發(fā)方法從無序到有序的重要一步。結(jié)構(gòu)化方法是指任何保護結(jié)構(gòu)設計的軟件開發(fā)技術(shù)。程序可以在結(jié)構(gòu)化方法應用下分解為不同模塊與過程,其他模塊的內(nèi)部細節(jié)無序在編寫各個模塊時進行了解[3]。基于Agent 的方法,這種方法以計算機科學為基礎(chǔ),認為許多自主的或非自主的實體組成現(xiàn)實世界,相互之間存在交互與通信,各類復雜任務能在該方法幫助下有效完成。形式化方法對基于數(shù)學的語言和工具進行說明和檢驗,系統(tǒng)的不一致性、二義性及不完全性可通過這種方法進行揭示,從而能讓人們對系統(tǒng)更加深入的了解[4]。
3.2.1 便捷性
外部工具與科學技術(shù)的應用策略相結(jié)合是軟件工程方法的主要手段,這樣能對計算機軟件功能進行有效開發(fā)。軟件工程方法依托軟件工程技術(shù)架構(gòu),技術(shù)內(nèi)容的復雜程度相對較低,能為計算機軟件開發(fā)提供更加便捷的幫助,計算機軟件開發(fā)過程中無需依賴長期數(shù)據(jù)與數(shù)據(jù)代碼堆疊,幫助開發(fā)者在短時間內(nèi)完成各種問題。
3.2.2 多元化
保護代碼調(diào)試工具、抓包工具等是軟件工程方法所需的外部工具。軟件工程方法在計算機軟件開發(fā)需求的不同下存在較大差異。結(jié)構(gòu)化方法是計算機軟件開發(fā)早期階段的方法,在計算機技術(shù)的快速發(fā)展與應用下,這些年人們開始使用對象方法、形式化方法等多種方法,為計算機軟件開發(fā)提供更加多元的軟件工程方法。
3.2.3 安全性
軟件工程方法使用方案在當下較為成熟,相對比較安全。在現(xiàn)有方案中,要求植入額外軟件程序,以此來保證軟件工程方法的安全應用。為避免數(shù)據(jù)信息盜取、數(shù)據(jù)信息丟失等各類問題,軟件工程方法中的外部工具要具備較高的安全性,保證計算機軟件開發(fā)具有較高的安全性[5]。
在大數(shù)據(jù)時代,計算機軟件需遵守系統(tǒng)設定的前提,深度挖掘與分析數(shù)據(jù),提煉出客戶所需的數(shù)據(jù)信息,以此來為各項工作的開展提供支持。在大數(shù)據(jù)時代軟件工程方法的應用,要求能符合大數(shù)據(jù)的實際情況,滿足計算機軟件開發(fā)的實際需求。
大數(shù)據(jù)與各項技術(shù)的結(jié)合屬于垂直領(lǐng)域,但軟件工程所涉及的是橫向領(lǐng)域,所以在二者結(jié)合過程中,要對軟件產(chǎn)品及軟件系統(tǒng)工程上的現(xiàn)實及其管理更加重視。軟件工程方法是支撐大數(shù)據(jù)應用的關(guān)鍵所在,也就是在大數(shù)據(jù)的應用全過程都需要軟件工程方法的支持。軟件開發(fā)具有較強的綜合性,且在各個學科與領(lǐng)域中得以滲透,當前軟件工程所研究的主要對象是大數(shù)據(jù)技術(shù),要求在軟件開發(fā)全過程能得到大數(shù)據(jù)的支持。數(shù)據(jù)鏈條的完整性是大數(shù)據(jù)應用的基礎(chǔ),要求能在海量的數(shù)據(jù)中通過相應的算法幫助,挖掘數(shù)據(jù)的價值與規(guī)律,按照相應的環(huán)境不斷升級算法,堅持計算機軟件開發(fā)的基本原理,對數(shù)據(jù)分布進行調(diào)整,將大數(shù)據(jù)與軟件工程方法結(jié)合在一起[6]。數(shù)據(jù)共享在開放環(huán)境中利用網(wǎng)絡與通信技術(shù),不斷提升軟件技術(shù)與水平。軟件效率在軟件工程方法與大數(shù)據(jù)的應用下得以提升,滿足可需求,實現(xiàn)軟件效益最大化。在數(shù)據(jù)流的快速增長過程中,對軟件與硬件要求不斷提升,這時工程技術(shù)人員要對數(shù)據(jù)進行深度分析,分析的主要內(nèi)容為數(shù)據(jù)流,為軟件系統(tǒng)的優(yōu)化提供支持。
軟件工程的擴展是軟件服務工程強調(diào)的重點。這些年在軟件服務工程的快速發(fā)展過程中,成為當下社會的主要發(fā)展趨勢,軟件開發(fā)也要遵循服務功能這一基本原則[7]??蓪④浖展こ汤斫鉃椤败浖?服務+工程”,是這三方面的融合與交叉。在相應的團建服務設施與平臺下,能開發(fā)出高水平的軟件服務系統(tǒng)。根據(jù)客戶需求,軟件開發(fā)者可在現(xiàn)實應用中將建設目標確定為面向服務。搭建良好的軟件框架是開發(fā)需關(guān)注的焦點,要對編程語言、思路等進行構(gòu)思與利用,能保證開發(fā)軟件滿足服務與應用需求,確保軟件運行期間的穩(wěn)定性。軟件開發(fā)者在實際服務期間,要對分布式應用程序進行有效應用,為給用戶提供相應的服務,需采取虛擬操作方式。
大數(shù)據(jù)的應用對數(shù)據(jù)進行編程,實現(xiàn)軟件互操作的效果,提高對數(shù)據(jù)的主動協(xié)調(diào)。數(shù)據(jù)信息的共享功能能為軟件開發(fā)者提供幫助,通過學習交流,實現(xiàn)軟件的協(xié)同開發(fā),同時利用用戶反饋,優(yōu)化處理軟件系統(tǒng),提升軟件的性價比。在軟件習作模式中開源軟件屬于較為成功的模式,但是其應用價值采取常規(guī)研究方法依然不高。群體軟件工程相比于開源軟件,是一種分布式軟件開發(fā)模型,任務分配是利用網(wǎng)絡實現(xiàn)的,能實現(xiàn)創(chuàng)造性的查詢,對于開發(fā)過程中的難題可以通過眾包形式的開發(fā)得以實現(xiàn)[8]。眾包開發(fā)貫穿于整個開發(fā)過程。開源軟件與商業(yè)軟件在分布式生產(chǎn)開發(fā)模式下,任務和責任分配可通過網(wǎng)絡實現(xiàn)。在計算機科學技術(shù)的快速發(fā)展過程中,軟件工程技術(shù)發(fā)展迅速,軟件服務工程得到極大進步。大數(shù)據(jù)時代要在軟件工程開發(fā)中應用大數(shù)據(jù)技術(shù),提升數(shù)據(jù)的分析與利用水平,確保軟件的安全與可靠,保證操作的穩(wěn)定性。
James Gray 對于人類科學研究模式的總結(jié)與劃分,在模擬的方法后將計算科學分為三個階段,即第一范式、第二范式與第三范式。在模擬連同實驗中產(chǎn)生大量數(shù)據(jù),對于這些儀器與模擬實驗所產(chǎn)生的海量數(shù)據(jù),要求能使用軟件進行處理,并在計算機中存儲這些信息與知識。對于存儲于計算機中的少量數(shù)據(jù),科研人員發(fā)現(xiàn)直接通過儀器或者模擬進行研究已經(jīng)無法滿足其需求,但是基于數(shù)據(jù)密集型科研研究具有獨特性,且將這種數(shù)據(jù)密集型的科研模式稱之為第四范式。在大數(shù)據(jù)背景下,第四范式是軟件工程技術(shù)研究的關(guān)鍵所在,要求軟件工程技術(shù)與第四范式相適應。數(shù)據(jù)信息的共享與利用在傳統(tǒng)模式下水平較低,無法為項目管理目標的實現(xiàn)提供支持。
第四范式模式下,集成密集型數(shù)據(jù)的軟件服務價值評估十分關(guān)鍵,為對數(shù)據(jù)進行有效存儲與處理,有效提升處理質(zhì)量與效率,要對傳統(tǒng)數(shù)據(jù)統(tǒng)計處理方法予以革新,利用大數(shù)據(jù)對信息統(tǒng)計和分析的方法進行構(gòu)建,確保軟件工程技術(shù)的創(chuàng)新。軟件工程方法在大數(shù)據(jù)背景下,更加重視對大數(shù)據(jù)的處理與分析,也是整個產(chǎn)業(yè)發(fā)展的關(guān)鍵所在,利用大數(shù)據(jù)驅(qū)動第三范式向第四范式轉(zhuǎn)變,提升軟件系統(tǒng)的服務與應用價值。
大數(shù)據(jù)時代軟件工程方法在計算機軟開發(fā)應用中,重要應用的領(lǐng)域有專業(yè)教育、醫(yī)療監(jiān)管及管理輔助、軍事工業(yè)設備研發(fā)、人工智能技術(shù)應用等多個領(lǐng)域。比如在人工智能領(lǐng)域,計算機處理技術(shù)是人工智能的延伸,將大數(shù)據(jù)時代軟件工程方法運用其中,能有效提升計算機及人工智能技術(shù)的應用水平。人工智能技術(shù)的應用,要具備較強的學習能力,且能針對環(huán)境變化對信息進行判斷,并為決策提供支持。在軟件工程方法下,人工智能技術(shù)的應用可分為兩個維度。首先,開發(fā)軟件系統(tǒng)要以計算機為載體。人工智能技術(shù)在應用前,可利用這類軟件進行調(diào)試。其次,軟件工程方法的選擇要以人工智能技術(shù)嵌入式結(jié)構(gòu)為視角。人工智能技術(shù)的應用主體是數(shù)碼設備,嵌入式結(jié)構(gòu)是主要方式,人工智能技術(shù)的激活與應用是在互聯(lián)網(wǎng)的支撐下實現(xiàn)的。
大數(shù)據(jù)背景下軟件工程方法在計算機軟件開發(fā)中的應用,要利用好大數(shù)據(jù),深度挖掘與分析數(shù)據(jù),并能有效利用數(shù)據(jù),為軟件工程方法的有效利用提供幫助。軟件工程方法不能固步自封,要強化大數(shù)據(jù)的利用,針對計算機技術(shù)的發(fā)展,創(chuàng)新應用方法,高效結(jié)合大數(shù)據(jù)與軟件開發(fā)方法,合理在軟件服務工程中應用,并能關(guān)注數(shù)據(jù)密集型科研第四范式,在不同領(lǐng)域中提升軟件工程方法的應用效果,提升計算機軟件開發(fā)的整體效果。