前言:想要寫出一篇引人入勝的文章?我們特意為您整理了大數(shù)據(jù)時(shí)代下的軟件工程分析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:本文通過對大數(shù)據(jù)和軟件工程的簡述,分析了大數(shù)據(jù)與軟件工程的結(jié)合方式,在此基礎(chǔ)上研究了大數(shù)據(jù)時(shí)代下的軟件服務(wù)工程。大數(shù)據(jù)時(shí)代背景下應(yīng)該進(jìn)一步研究大數(shù)據(jù)技術(shù)與軟件工程技術(shù)的結(jié)合,探索軟件服務(wù)工程開發(fā)模式,重視數(shù)據(jù)密集型科研第四范式,發(fā)揮軟件工程服務(wù)功能,不斷推動和實(shí)現(xiàn)軟件工程技術(shù)的創(chuàng)新和發(fā)展。
關(guān)鍵詞:大數(shù)據(jù);軟件工程;軟件服務(wù)工程;第四范式
自上個世紀(jì)90年代初,信息高速公路在美國提出以來,歷經(jīng)近30年的發(fā)展演進(jìn),信息技術(shù)發(fā)展突飛猛進(jìn),信息化領(lǐng)域的新技術(shù)、新詞語層出不窮,諸如IT技術(shù)、互聯(lián)網(wǎng)技術(shù)、大數(shù)據(jù)技術(shù)、區(qū)塊鏈技術(shù)、人工智能等。并且對人們的生產(chǎn)、生活方式產(chǎn)生了深刻的影響,認(rèn)為現(xiàn)在進(jìn)入了大數(shù)據(jù)時(shí)代、萬物互聯(lián)時(shí)代、智能化時(shí)代等。筆者認(rèn)為,一直以來,其中除了硬件的發(fā)展,還有兩個關(guān)鍵因素同樣值得關(guān)注,一是數(shù)據(jù),其是基礎(chǔ)和目的;二是軟件,其是方法和工具。唯如此,才能實(shí)現(xiàn)在軟件生命周期即設(shè)計(jì)、開發(fā)、運(yùn)行、優(yōu)化,實(shí)現(xiàn)與大數(shù)據(jù)生命周期即獲取、清洗、集成、分析、呈現(xiàn)等的互動。[1]換言之,現(xiàn)在來說,就是大數(shù)據(jù)和軟件工程,二者助推了信息技術(shù)的發(fā)展,同時(shí)也是信息化的產(chǎn)物,在大數(shù)據(jù)時(shí)代背景下,研究軟件工程技術(shù)的應(yīng)用,對于經(jīng)濟(jì)社會的發(fā)展有著十分重要的意義。
1大數(shù)據(jù)和軟件工程簡述
1.1大數(shù)據(jù)簡述
沃爾瑪?shù)摹捌【婆c尿布”是眾所周知的大數(shù)據(jù)經(jīng)典案例,大數(shù)據(jù)已經(jīng)是當(dāng)今信息社會炙手可熱、耳熟能詳?shù)脑~匯,而且已形成共識,即人類已經(jīng)進(jìn)入大數(shù)據(jù)時(shí)代。上個世紀(jì)80年代初,《第三次浪潮》一書風(fēng)行全世界。該書作者美國社會思想家阿爾文•托夫勒就在文中將人類社會發(fā)展劃分為三次浪潮,即以“農(nóng)業(yè)文明”為主導(dǎo)的第一次浪潮,以“工業(yè)文明”為主導(dǎo)的第二次浪潮,以“信息化”為主導(dǎo)第三次浪潮。[2]其中首次提出了“大數(shù)據(jù)”(BigData)一詞,并且,以“第三次浪潮的華彩樂章”這樣的用詞對其進(jìn)行熱情的謳歌。[3]全球著名咨詢公司麥肯錫于2011年5月了《大數(shù)據(jù):創(chuàng)新、競爭和生產(chǎn)力的下一個前沿》報(bào)告,公認(rèn)此報(bào)告宣告了大數(shù)據(jù)時(shí)代的到來。由于大數(shù)據(jù)概念的提出源于不斷的發(fā)展實(shí)踐,其本身并沒有嚴(yán)格、權(quán)威的定義。通常認(rèn)為,大數(shù)據(jù)的大即大數(shù)據(jù)集的規(guī)模一般應(yīng)達(dá)到10TB左右,現(xiàn)在已經(jīng)達(dá)到了PB級的數(shù)據(jù)量。維基百科稱“大數(shù)據(jù)”是這樣一個術(shù)語,即其是用以描述用傳統(tǒng)的數(shù)據(jù)處理應(yīng)用軟件無法完好處理的龐大的或者復(fù)雜的數(shù)據(jù)集。但“大數(shù)據(jù)”這一概念并不僅僅指數(shù)據(jù)規(guī)模的龐大,還包括對這些數(shù)據(jù)對象的處理以及應(yīng)用活動。IBM提出大數(shù)據(jù)通常具有“5V”特征:Volume(數(shù)據(jù)體量大)、Variety(數(shù)據(jù)類別多樣)、Velocity(處理速度快)、Veracity(數(shù)據(jù)真實(shí)性高)、Volume(數(shù)據(jù)價(jià)值高)。[4]大數(shù)據(jù)技術(shù)分類并分平行關(guān)系,而是呈縱向、層級狀結(jié)構(gòu),詳見圖1所示。
1.2軟件工程簡述
軟件工程本身并沒有嚴(yán)格、權(quán)威的定義。并且,也是直到20世紀(jì)60年代初才出現(xiàn)了“軟件”一詞,于此之前,更多的是程序的概念,后來人們認(rèn)識到與程序相關(guān)的文檔也有著相當(dāng)重要的作用,才有了“軟件”一詞的出現(xiàn)。軟件發(fā)展至今天,已經(jīng)遠(yuǎn)遠(yuǎn)不是程序個體或者程序員合作的方式能夠完成的,即使能夠完成,也會是效率低下、程序運(yùn)行可靠性差,或者說根本就無法完成。于是,在1968年召開的大西洋公約學(xué)術(shù)會議上提出了軟件工程的概念,簡單理解,就是以工程的方法來進(jìn)行軟件系統(tǒng)設(shè)計(jì)、開發(fā)、運(yùn)行、維護(hù)、優(yōu)化等技術(shù)的總和,進(jìn)一步言之,就是用“計(jì)算機(jī)科學(xué)、數(shù)學(xué)管理科學(xué)等原理,以工程化方法制作軟件的工程”,屬于一門交叉學(xué)科。[5]通常認(rèn)為其包含有四個要素:(1)軟件工程目標(biāo);(2)軟件工程范型;(3)軟件工程過程;(4)軟件工程原則。
2大數(shù)據(jù)與軟件工程的結(jié)合方式
宏觀上講,軟件工程是比大數(shù)據(jù)更為寬泛的概念,大數(shù)據(jù)的技術(shù)與應(yīng)用被軟件工程所涵攝。如圖1所示意,雖然大數(shù)據(jù)的各項(xiàng)技術(shù)與應(yīng)用屬于垂直領(lǐng)域,而軟件工程牽涉的是橫向領(lǐng)域,更加關(guān)注軟件產(chǎn)品及軟件系統(tǒng)工程上的實(shí)現(xiàn)及其管理。但是,大數(shù)據(jù)無論是其產(chǎn)品還是其系統(tǒng)的完成與落地,都離不開軟件工程方法論的支持。換言之,軟件工程的方法與技術(shù)貫穿于大數(shù)據(jù)的開發(fā)與應(yīng)用,大數(shù)據(jù)也只是在軟件工程發(fā)展過程中出現(xiàn)的概念。軟件工程開發(fā)具有綜合性,其應(yīng)用滲透于各個學(xué)科和領(lǐng)域,大數(shù)據(jù)的技術(shù)與應(yīng)用當(dāng)然是軟件工程所關(guān)注和研究的對象,或者說大數(shù)據(jù)技術(shù)的每一環(huán)節(jié)都離不開軟件工程的支持。大數(shù)據(jù)應(yīng)用的基礎(chǔ)是要依賴數(shù)據(jù)鏈條的完整性,采用相應(yīng)的算法于海量的數(shù)據(jù)中進(jìn)行規(guī)律分析,算法要依據(jù)相應(yīng)的實(shí)際環(huán)境進(jìn)行相應(yīng)的升級,遵循開發(fā)的基本原理,充分調(diào)整數(shù)據(jù)分布,從而在研究過程中將大數(shù)據(jù)技術(shù)與軟件工程方法結(jié)合起來。并在開放的環(huán)境中通過網(wǎng)絡(luò)與通信技術(shù)實(shí)現(xiàn)數(shù)據(jù)的共享,在此過程中,軟件技術(shù)和水平亦能得到進(jìn)一步的提高。在二者相互作用滲透的過程,軟件效率得到提高,軟件效益得以提升,從而實(shí)現(xiàn)客戶需求的最大化。在軟件開發(fā)過程中,還需要有必備的硬件和軟件的支撐,來支持相應(yīng)的數(shù)據(jù)流,隨著數(shù)據(jù)流的增長,對于硬件和軟件就會有更高的要求。工程技術(shù)人員在對數(shù)據(jù)流進(jìn)行分析研究的同時(shí),專家學(xué)者還會對在線服務(wù)進(jìn)行研究。但是,數(shù)據(jù)流是重點(diǎn),包括對數(shù)據(jù)流的使用方法的研究,對支撐數(shù)據(jù)流的軟件和硬件的研究。另外,從軟件工程開發(fā)角度看,無論是在服務(wù)端還是在用戶端,軟件的運(yùn)行當(dāng)然會產(chǎn)生大量的數(shù)據(jù)流,都將產(chǎn)生大量的數(shù)據(jù)信息,這些數(shù)據(jù)流對于軟硬件的使用壽命有著決定性的影響。因此,在軟件工程的開發(fā)中,對于海量數(shù)據(jù)產(chǎn)生的環(huán)境下,更有必要做好數(shù)據(jù)流的管理,要高度重視數(shù)據(jù)流的分析研究,并且對于原始數(shù)據(jù)進(jìn)行深入的研究也應(yīng)該引起重視,以期延長軟件的使用周期。[6]
3大數(shù)據(jù)時(shí)代的軟件服務(wù)工程
軟件服務(wù)工程即所謂的面向服務(wù)的軟件工程,強(qiáng)調(diào)的是其相對于傳統(tǒng)軟件工程的擴(kuò)展。近些年來得到了很快的發(fā)展,已經(jīng)成為當(dāng)今時(shí)代的主流社會需求之一,服務(wù)功能已經(jīng)是軟件開發(fā)的基本原則。另一方面,也可以將其直觀理解為“軟件(Software)+服務(wù)(Service)+工程(Engineering)”三個方面的交叉融合,或者軟件工程與服務(wù)工程兩者的融合等。其內(nèi)涵可以理解為研究面向服務(wù)的軟件工程原則、軟件工程方法以及軟件工程技術(shù),同時(shí)利用相應(yīng)的軟件服務(wù)設(shè)施和平臺,開發(fā)較高水平的軟件服務(wù)系統(tǒng)。[7]軟件開發(fā)者根據(jù)需求變化,在社會實(shí)際實(shí)用中,以面向服務(wù)作為主要建設(shè)目標(biāo)。在開發(fā)的初期就要首先搭建好軟件的框架,充分利用編程語言、構(gòu)思好編程思路,確保開發(fā)軟件能夠提供可靠的服務(wù)應(yīng)用,保障軟件運(yùn)行時(shí)的穩(wěn)定與可靠。在實(shí)際的服務(wù)過程中,要求開發(fā)者運(yùn)用分布式應(yīng)用程序,以虛擬操作的方式提供用戶相應(yīng)的服務(wù)。在應(yīng)用中,融合大數(shù)據(jù)技術(shù),能夠?qū)崿F(xiàn)對數(shù)據(jù)進(jìn)行編程,達(dá)到軟件互操作的效果,并提高對數(shù)據(jù)的主動協(xié)調(diào)。軟件工程開發(fā)工程師可以對數(shù)據(jù)信息共享,實(shí)現(xiàn)各種學(xué)習(xí)交流,對軟件進(jìn)行協(xié)同開發(fā),并結(jié)合用戶的反饋,對軟件系統(tǒng)進(jìn)行優(yōu)化處理,提高軟件的性價(jià)比。近年來,開源軟件是較為成功的軟件習(xí)作模式,但是,其采用常規(guī)的研究方法,應(yīng)用價(jià)值還不是很高。與開源軟件相比,群體軟件工程屬于一種分布式軟件開發(fā)模型,能夠依靠網(wǎng)絡(luò)進(jìn)行任務(wù)分配,并能實(shí)現(xiàn)創(chuàng)造性的查詢,通過眾包形式的開發(fā),解決開發(fā)過程中的難題。并且,在整個開發(fā)過程中,眾包開發(fā)可以貫穿其全過程。所謂眾包,一如其字面含義,是一種分布式的生產(chǎn)開發(fā)模式和問題解決方案。通過該種方式,開源軟件和商業(yè)軟件均可通過網(wǎng)絡(luò)進(jìn)行任務(wù)和責(zé)任分配。[8]隨著我國計(jì)算機(jī)科學(xué)技術(shù)的不斷發(fā)展進(jìn)步,軟件工程技術(shù)也取得了長足發(fā)展,軟件服務(wù)工程也支持得到拓展和延伸。在大數(shù)據(jù)時(shí)代背景下,我們應(yīng)當(dāng)加快大數(shù)據(jù)技術(shù)和軟件工程技術(shù)的融合與創(chuàng)新,提升對海量網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行編程處理的能力,提高軟件的安全和效能,增強(qiáng)其穩(wěn)定性和可操作性,進(jìn)一步整合軟件工程系統(tǒng)的集成度。
4數(shù)據(jù)密集型科研第四范式
圖靈獎獲得者、關(guān)系數(shù)據(jù)庫研究專家詹姆士•格雷(JamesGray)曾經(jīng)從科學(xué)哲學(xué)的層面將人類科學(xué)研究模式總結(jié)劃分為最初的實(shí)驗(yàn)科學(xué)階段,之后的理論科學(xué)階段,到通過模擬的方法進(jìn)行的計(jì)算科學(xué)三個階段,相對應(yīng)地稱之為科學(xué)研究的第一范式、第二范式、第三范式。但是伴隨著模擬連同實(shí)驗(yàn)所產(chǎn)生的海量的數(shù)據(jù),需要由軟件處理這些由各種儀器或者模擬實(shí)驗(yàn)產(chǎn)生的海量數(shù)據(jù),并將處理得到的信息和知識存儲于計(jì)算機(jī)中。之后,科研人員只需要對這些存儲于計(jì)算機(jī)中的少量數(shù)據(jù)進(jìn)行分析研究,不再是直接通過儀器或者模擬進(jìn)行研究。因而基于數(shù)據(jù)密集型科學(xué)研究獨(dú)特的技術(shù)以及其顯著的不同于以往研究的特點(diǎn),詹姆士•格雷在2007于其科研報(bào)告中提出了將這種數(shù)據(jù)密集型的科學(xué)研究模式從計(jì)算機(jī)科學(xué)類型中單獨(dú)區(qū)分出來的思想,隨之產(chǎn)生了一種被稱之為第四范式的新的科研模式。該報(bào)告整理后題名“吉姆•格雷論e-Science:一種科研模式的變革”,成為微軟于2009的年首次全面對數(shù)據(jù)密集型數(shù)據(jù)進(jìn)行描述的論文集《e-Science:科學(xué)研究的第四種范式》的開篇文章。[9]當(dāng)前,相當(dāng)多的計(jì)算機(jī)領(lǐng)域的專家學(xué)者對數(shù)據(jù)密集型科研第四范式予以了關(guān)注,并進(jìn)行了相應(yīng)的研究,探索出了相應(yīng)的方式方法,第四范式的研究被認(rèn)為是大數(shù)據(jù)時(shí)代背景下軟件工程技術(shù)研發(fā)的關(guān)鍵。信息化的發(fā)展與滲透,導(dǎo)致一切的事物都在隨之發(fā)生著變化。包括實(shí)驗(yàn)、理論分析和計(jì)算科學(xué)均在數(shù)據(jù)泛濫的影響下與之前大不相同,軟件工程技術(shù)既要適應(yīng)科研第四范式,又在其中扮演著更加重要的作用。傳統(tǒng)范式下的目的與探索之間不能夠很好地銜接,數(shù)據(jù)信息的應(yīng)用效率難以保障,難以滿足項(xiàng)目管理目標(biāo)的實(shí)現(xiàn)。數(shù)據(jù)密集型科研第四范式下的技術(shù)以及理論相關(guān)內(nèi)容,與大數(shù)據(jù)技術(shù)特別是其中的存儲技術(shù)有著緊密的關(guān)聯(lián)性,其待探索的空間和應(yīng)用價(jià)值相當(dāng)廣闊,其數(shù)據(jù)信息研發(fā)急需相應(yīng)的理論支撐,該范式下的軟件工程技術(shù)應(yīng)用模塊,亦能夠?qū)ζ渌妒较碌臄?shù)據(jù)信息進(jìn)行分析,對于更好地實(shí)現(xiàn)數(shù)據(jù)的存儲與處理,提升處理效率,有著重要的研究價(jià)值。在第四范式模式下,對集成密集型數(shù)據(jù)的軟件服務(wù)價(jià)值進(jìn)行評估是首要的,需要摒棄以往的數(shù)據(jù)統(tǒng)計(jì)方法,構(gòu)建新的針對大數(shù)據(jù)進(jìn)行信息統(tǒng)計(jì)和分析的方法,這對軟件工程技術(shù)的發(fā)展起著重要的作用。在軟件工程技術(shù)的研究中,應(yīng)當(dāng)更新傳統(tǒng)理念,重視其對大數(shù)據(jù)的處理和分析能力,使軟件產(chǎn)業(yè)呈現(xiàn)全新的面貌,從而亦能促進(jìn)其對大數(shù)據(jù)的數(shù)據(jù)分析能力。在第四范式的基礎(chǔ)上,亦能夠更好地支持第三范式,甚至于第一范式。該范式研究在我國軟件工程開發(fā)中還處于初級階段,軟件工程開發(fā)人員需在強(qiáng)化已有數(shù)據(jù)模型研究基礎(chǔ)上,加速由第三范式向第四范式的轉(zhuǎn)變,盡快實(shí)現(xiàn)其應(yīng)用層面的服務(wù)價(jià)值。
5結(jié)語
概言之,大數(shù)據(jù)時(shí)代背景下,信息化程度高度發(fā)達(dá),社會各行各業(yè)都被大數(shù)據(jù)所包圍和滲透,且都離不開軟件工程技術(shù)。在電子支付、遠(yuǎn)程控制、自動駕駛、智能入住、智能售貨等應(yīng)用中,軟件都在其中扮演著越來越核心的作用。因此,大數(shù)據(jù)背景下應(yīng)該加大對于軟件工程技術(shù)研究和軟件研發(fā)的經(jīng)費(fèi)投入力度,加大軟件工程人才的培養(yǎng)力度,特別是軟件工程復(fù)合型人才的培養(yǎng)力度,加大軟件工程技術(shù)人員與相關(guān)產(chǎn)業(yè)與領(lǐng)域的深度融合,不斷推動和實(shí)現(xiàn)軟件工程技術(shù)的創(chuàng)新和發(fā)展。
參考文獻(xiàn)
[1]劉璘,周明輝,尹剛.大數(shù)據(jù)時(shí)代軟件工程專題前言[J].軟件學(xué)報(bào),2017,28(06):1327-1329.
[2]韓際平.“大數(shù)據(jù)”浪潮來襲[J].數(shù)據(jù),2012(12):1.
[3]黎林峰.大數(shù)據(jù)奏響時(shí)代華彩樂章[J].中國建設(shè)信息化,2015(Z1):12-13.
[4]姜奇平.大數(shù)據(jù)時(shí)代到來[J].互聯(lián)網(wǎng)周刊,2012(02):6.
[5]《計(jì)算機(jī)科學(xué)技術(shù)百科全書》(選編本).清華大學(xué)出版社,2002:121-122.
[6]張小雨.大數(shù)據(jù)時(shí)代下軟件工程技術(shù)的應(yīng)用[J].電腦知識與技術(shù),2020,16(33):84-85+105.
[7]徐曉飛.談軟件服務(wù)工程學(xué)科知識體系及教育[J].計(jì)算機(jī)教育,2014(01):3-8.
[8]李奇冰.大數(shù)據(jù)時(shí)代下軟件工程關(guān)鍵技術(shù)分析[J].數(shù)字技術(shù)與應(yīng)用,2016(11):231.
[9]郎楊琴,孔麗華.科學(xué)研究的第四范式吉姆•格雷的報(bào)告“e-Science:一種科研模式的變革”簡介[J].科研信息化技術(shù)與應(yīng)用,2010,1(02):92-94.
作者:李奇旻 單位:華東師范大學(xué)