前言:我們精心挑選了數篇優質大數據開發的過程文章,供您閱讀參考。期待這些文章能為您帶來啟發,助您在寫作的道路上更上一層樓。
關鍵詞:大數據;軟件工程;群體軟件;關鍵技術
一、大數據時代軟件服務工程與群體軟件工程
所謂軟件服務工程,就是將服務作為主要目標,在應用時需要根據變化不斷通過虛擬的手段與分布式手段進行應用,而這種應用方法不僅能夠使得軟件更加虛擬化,同時也能強化其操作性,與此同時,更能有效解決動態變化與分布變化情況[1]。軟件工程在發展過程中能夠在大數據領域、云計算中得到更加廣泛應用。在網絡化、服務化等大環境影響下,軟件工程可以得到更好的開放空間。工程師利用數據信息交互、學術交流等多種方式開展合作,對軟件進行開發,建設更加具有性價比的軟件系統。在軟件開發中,目前十分成功的就是開源軟件,開源軟件的合作模式與結構都是當前學術界最看重的,然而當前常規研究方式卻未能實現較大突破。很多學者開始嘗試利用網絡分析方法對數據進行有效分析,在一些規模較大的開發項目的開發人員中,外圍開發者占據絕對優勢,并且模塊化特征更加明顯。和群體軟件工程相比,開源軟件有較弱的發展態勢,而群體軟件工程主要是倡導利用眾包形式進行開發。
二、大數據時代眾包軟件服務工程
(一)創新發展態勢
眾包軟件服務工程作為國際各國都密切重視的一種流式數據處理與集密數據處理方式,特別是在服務中對產生的各項數據尤為重視,如何才能將這些密集型數據的存儲設施、平臺、價值分析等作為服務對象,是當前大數據軟件工程在研究過程中的難點與重點部分。從最開始的服務消費,到后來的眾包服務開方,隨后再到軟件平臺管理,運營方都由在線流式數據和離線密集型數據組成。當前開發者版本級別達到GB級別,眾多用戶數據能夠達到PB級別,在線溝通數據更是能達到TB級別,利用直接推送功能可以左右軟件服務時間,對軟件產生關鍵性作用與影響[2]。
(二)軟件生產開發、運營與管理
密集型數據,因為他們本身固有的動態分布形式、動態交互、復雜演化、動態分配、價值隱藏等,都能夠體現大數據的最原始行駛情況。從本質角度來看,這些數據僅僅是用于描述內容模量,但是沒有具體含義,并且缺乏語義化作用。想要對其進行創新,必須打破原有的研究方法與思維,將密集數據作為主要材質課題,并且將其看作是研究的主體,在主體領域,大數據所在流域與主體專家需要制造,傳播大量的數據。他們不僅是大數據的群體用戶,還是最主要的消費者,同時也擔任著運營和管理的作用,能夠將群體智慧匯到一起,逐漸形成系統化的領域和主體知識。將這些知識作為核心與基礎,對研究密集型數據相對應的信息學過程與生命周期進行研究,并且及時推送相應的服務期限,研究數據內容的相關語義和標志,最終賦予其相應的矢量。組織主體部分構建價值服務機制與知識體系,在研究和互通過程中,利用操作式管理方式將關鍵技術應用在密集型數據上,這些都能展示出眾包軟件工程發展內容。
三、大數據背景下關于信息處理技術發展情況
與傳統數據形式相對比可知,在大數據時代下能夠實現各項數據相互聯系,并且這些相互關聯的結構,能夠利用當前所有的框架,對數據進行及時且有效的處理。將硬件作為基礎,通過該基礎搭建的網絡存在相應局限性,并且制約了網絡的性能和發展,因此需不斷探索與創新網絡架構技術,以此實現大數據技術的提高。在日后發展過程中,計算機網絡必須為其提供開放式的結構與傳輸功能,將計算機網絡信息處理與軟件基礎、硬件基礎分開使用,隨后對網絡架構進行定義。相關網絡軟件使得我國網絡技術朝著更高水平發展,隨著大數據時代的不斷深入,計算機能夠實現網絡、硬件、軟件融為一體,并且產生出新的網絡結構,能夠為大數據時展提供重要理論與實踐意義。這種形式不僅能夠突破傳統計算機在處理信息時因為網絡所帶來的限制,同時也能使計算機處理技術開發與應用形式打破單一情況,逐漸朝著多元化方向不斷發展。
四、結語
綜上所述,隨著我國大數據時代的到來,社會各領域都將受到大數據思想和創新技術的影響。大數據對人們的生活方式產生深刻影響,因此將大數據作為當前一種最新興的網絡技術。
參考文獻:
關鍵詞:大數據;軟件工程;軟件服務工程;第四范式
自上個世紀90年代初,信息高速公路在美國提出以來,歷經近30年的發展演進,信息技術發展突飛猛進,信息化領域的新技術、新詞語層出不窮,諸如IT技術、互聯網技術、大數據技術、區塊鏈技術、人工智能等。并且對人們的生產、生活方式產生了深刻的影響,認為現在進入了大數據時代、萬物互聯時代、智能化時代等。筆者認為,一直以來,其中除了硬件的發展,還有兩個關鍵因素同樣值得關注,一是數據,其是基礎和目的;二是軟件,其是方法和工具。唯如此,才能實現在軟件生命周期即設計、開發、運行、優化,實現與大數據生命周期即獲取、清洗、集成、分析、呈現等的互動。[1]換言之,現在來說,就是大數據和軟件工程,二者助推了信息技術的發展,同時也是信息化的產物,在大數據時代背景下,研究軟件工程技術的應用,對于經濟社會的發展有著十分重要的意義。
1大數據和軟件工程簡述
1.1大數據簡述
沃爾瑪的“啤酒與尿布”是眾所周知的大數據經典案例,大數據已經是當今信息社會炙手可熱、耳熟能詳的詞匯,而且已形成共識,即人類已經進入大數據時代。上個世紀80年代初,《第三次浪潮》一書風行全世界。該書作者美國社會思想家阿爾文托夫勒就在文中將人類社會發展劃分為三次浪潮,即以“農業文明”為主導的第一次浪潮,以“工業文明”為主導的第二次浪潮,以“信息化”為主導第三次浪潮。[2]其中首次提出了“大數據”(BigData)一詞,并且,以“第三次浪潮的華彩樂章”這樣的用詞對其進行熱情的謳歌。[3]全球著名咨詢公司麥肯錫于2011年5月了《大數據:創新、競爭和生產力的下一個前沿》報告,公認此報告宣告了大數據時代的到來。由于大數據概念的提出源于不斷的發展實踐,其本身并沒有嚴格、權威的定義。通常認為,大數據的大即大數據集的規模一般應達到10TB左右,現在已經達到了PB級的數據量。維基百科稱“大數據”是這樣一個術語,即其是用以描述用傳統的數據處理應用軟件無法完好處理的龐大的或者復雜的數據集。但“大數據”這一概念并不僅僅指數據規模的龐大,還包括對這些數據對象的處理以及應用活動。IBM提出大數據通常具有“5V”特征:Volume(數據體量大)、Variety(數據類別多樣)、Velocity(處理速度快)、Veracity(數據真實性高)、Volume(數據價值高)。[4]大數據技術分類并分平行關系,而是呈縱向、層級狀結構,詳見圖1所示。
1.2軟件工程簡述
軟件工程本身并沒有嚴格、權威的定義。并且,也是直到20世紀60年代初才出現了“軟件”一詞,于此之前,更多的是程序的概念,后來人們認識到與程序相關的文檔也有著相當重要的作用,才有了“軟件”一詞的出現。軟件發展至今天,已經遠遠不是程序個體或者程序員合作的方式能夠完成的,即使能夠完成,也會是效率低下、程序運行可靠性差,或者說根本就無法完成。于是,在1968年召開的大西洋公約學術會議上提出了軟件工程的概念,簡單理解,就是以工程的方法來進行軟件系統設計、開發、運行、維護、優化等技術的總和,進一步言之,就是用“計算機科學、數學管理科學等原理,以工程化方法制作軟件的工程”,屬于一門交叉學科。[5]通常認為其包含有四個要素:(1)軟件工程目標;(2)軟件工程范型;(3)軟件工程過程;(4)軟件工程原則。
2大數據與軟件工程的結合方式
宏觀上講,軟件工程是比大數據更為寬泛的概念,大數據的技術與應用被軟件工程所涵攝。如圖1所示意,雖然大數據的各項技術與應用屬于垂直領域,而軟件工程牽涉的是橫向領域,更加關注軟件產品及軟件系統工程上的實現及其管理。但是,大數據無論是其產品還是其系統的完成與落地,都離不開軟件工程方法論的支持。換言之,軟件工程的方法與技術貫穿于大數據的開發與應用,大數據也只是在軟件工程發展過程中出現的概念。軟件工程開發具有綜合性,其應用滲透于各個學科和領域,大數據的技術與應用當然是軟件工程所關注和研究的對象,或者說大數據技術的每一環節都離不開軟件工程的支持。大數據應用的基礎是要依賴數據鏈條的完整性,采用相應的算法于海量的數據中進行規律分析,算法要依據相應的實際環境進行相應的升級,遵循開發的基本原理,充分調整數據分布,從而在研究過程中將大數據技術與軟件工程方法結合起來。并在開放的環境中通過網絡與通信技術實現數據的共享,在此過程中,軟件技術和水平亦能得到進一步的提高。在二者相互作用滲透的過程,軟件效率得到提高,軟件效益得以提升,從而實現客戶需求的最大化。在軟件開發過程中,還需要有必備的硬件和軟件的支撐,來支持相應的數據流,隨著數據流的增長,對于硬件和軟件就會有更高的要求。工程技術人員在對數據流進行分析研究的同時,專家學者還會對在線服務進行研究。但是,數據流是重點,包括對數據流的使用方法的研究,對支撐數據流的軟件和硬件的研究。另外,從軟件工程開發角度看,無論是在服務端還是在用戶端,軟件的運行當然會產生大量的數據流,都將產生大量的數據信息,這些數據流對于軟硬件的使用壽命有著決定性的影響。因此,在軟件工程的開發中,對于海量數據產生的環境下,更有必要做好數據流的管理,要高度重視數據流的分析研究,并且對于原始數據進行深入的研究也應該引起重視,以期延長軟件的使用周期。[6]
3大數據時代的軟件服務工程
軟件服務工程即所謂的面向服務的軟件工程,強調的是其相對于傳統軟件工程的擴展。近些年來得到了很快的發展,已經成為當今時代的主流社會需求之一,服務功能已經是軟件開發的基本原則。另一方面,也可以將其直觀理解為“軟件(Software)+服務(Service)+工程(Engineering)”三個方面的交叉融合,或者軟件工程與服務工程兩者的融合等。其內涵可以理解為研究面向服務的軟件工程原則、軟件工程方法以及軟件工程技術,同時利用相應的軟件服務設施和平臺,開發較高水平的軟件服務系統。[7]軟件開發者根據需求變化,在社會實際實用中,以面向服務作為主要建設目標。在開發的初期就要首先搭建好軟件的框架,充分利用編程語言、構思好編程思路,確保開發軟件能夠提供可靠的服務應用,保障軟件運行時的穩定與可靠。在實際的服務過程中,要求開發者運用分布式應用程序,以虛擬操作的方式提供用戶相應的服務。在應用中,融合大數據技術,能夠實現對數據進行編程,達到軟件互操作的效果,并提高對數據的主動協調。軟件工程開發工程師可以對數據信息共享,實現各種學習交流,對軟件進行協同開發,并結合用戶的反饋,對軟件系統進行優化處理,提高軟件的性價比。近年來,開源軟件是較為成功的軟件習作模式,但是,其采用常規的研究方法,應用價值還不是很高。與開源軟件相比,群體軟件工程屬于一種分布式軟件開發模型,能夠依靠網絡進行任務分配,并能實現創造性的查詢,通過眾包形式的開發,解決開發過程中的難題。并且,在整個開發過程中,眾包開發可以貫穿其全過程。所謂眾包,一如其字面含義,是一種分布式的生產開發模式和問題解決方案。通過該種方式,開源軟件和商業軟件均可通過網絡進行任務和責任分配。[8]隨著我國計算機科學技術的不斷發展進步,軟件工程技術也取得了長足發展,軟件服務工程也支持得到拓展和延伸。在大數據時代背景下,我們應當加快大數據技術和軟件工程技術的融合與創新,提升對海量網絡數據進行編程處理的能力,提高軟件的安全和效能,增強其穩定性和可操作性,進一步整合軟件工程系統的集成度。
4數據密集型科研第四范式
圖靈獎獲得者、關系數據庫研究專家詹姆士格雷(JamesGray)曾經從科學哲學的層面將人類科學研究模式總結劃分為最初的實驗科學階段,之后的理論科學階段,到通過模擬的方法進行的計算科學三個階段,相對應地稱之為科學研究的第一范式、第二范式、第三范式。但是伴隨著模擬連同實驗所產生的海量的數據,需要由軟件處理這些由各種儀器或者模擬實驗產生的海量數據,并將處理得到的信息和知識存儲于計算機中。之后,科研人員只需要對這些存儲于計算機中的少量數據進行分析研究,不再是直接通過儀器或者模擬進行研究。因而基于數據密集型科學研究獨特的技術以及其顯著的不同于以往研究的特點,詹姆士格雷在2007于其科研報告中提出了將這種數據密集型的科學研究模式從計算機科學類型中單獨區分出來的思想,隨之產生了一種被稱之為第四范式的新的科研模式。該報告整理后題名“吉姆格雷論e-Science:一種科研模式的變革”,成為微軟于2009的年首次全面對數據密集型數據進行描述的論文集《e-Science:科學研究的第四種范式》的開篇文章。[9]當前,相當多的計算機領域的專家學者對數據密集型科研第四范式予以了關注,并進行了相應的研究,探索出了相應的方式方法,第四范式的研究被認為是大數據時代背景下軟件工程技術研發的關鍵。信息化的發展與滲透,導致一切的事物都在隨之發生著變化。包括實驗、理論分析和計算科學均在數據泛濫的影響下與之前大不相同,軟件工程技術既要適應科研第四范式,又在其中扮演著更加重要的作用。傳統范式下的目的與探索之間不能夠很好地銜接,數據信息的應用效率難以保障,難以滿足項目管理目標的實現。數據密集型科研第四范式下的技術以及理論相關內容,與大數據技術特別是其中的存儲技術有著緊密的關聯性,其待探索的空間和應用價值相當廣闊,其數據信息研發急需相應的理論支撐,該范式下的軟件工程技術應用模塊,亦能夠對其他范式下的數據信息進行分析,對于更好地實現數據的存儲與處理,提升處理效率,有著重要的研究價值。在第四范式模式下,對集成密集型數據的軟件服務價值進行評估是首要的,需要摒棄以往的數據統計方法,構建新的針對大數據進行信息統計和分析的方法,這對軟件工程技術的發展起著重要的作用。在軟件工程技術的研究中,應當更新傳統理念,重視其對大數據的處理和分析能力,使軟件產業呈現全新的面貌,從而亦能促進其對大數據的數據分析能力。在第四范式的基礎上,亦能夠更好地支持第三范式,甚至于第一范式。該范式研究在我國軟件工程開發中還處于初級階段,軟件工程開發人員需在強化已有數據模型研究基礎上,加速由第三范式向第四范式的轉變,盡快實現其應用層面的服務價值。
1大數據技術和軟件工程技術
大數據技術事實上是將人類日常生活中產生的各種數字信息,將這些信息收集起來之后分類處理,設定不同類別的存儲空間,按照類別存儲。大數據技術從功能的角度出發可以劃分為多個類別,諸如分析技術、機器學習技術、遺傳算法技術、自然語音處理技術等。應用大數據技術分析,就是基于當前的科學技術發展起來的一種分析技術。它主要依靠現代科技手段發揮技術的作用,特別網絡技術發揮著基礎性的作用。整理基礎數據,對數據信息進行分類整理,應用相應的計算機算法,將相似特性的數據劃分為一類,最終得到大量的數據,應用大數據技術對這些數據進行分析。大數據分析應用于互聯網行業中,所發揮的優勢是有目共睹的,而且還不斷地引入新技術,在軟件工程技術中應用,對該技術的發展起到了促進作用[1]。
大數據時代,社會各個領域都已經實現了信息化發展,人們對軟件工程的概念越來越熟悉。事實上,軟件工程的歷史始于20世紀的中期,其研究重點是軟件技術和工程管理。將相關工程內容引入其中,使得工程系統化運行,其中所涵蓋的研究內容包括軟件的生命周期、軟件工程設計、軟件的技術維護等方面。因此,在軟件設計的過程中,要控制好技術開發成本,保證工程質量,使其生命周期不斷延長,不同項目的技術需求和用戶的各種技術需求都能夠得到滿足。
2大數據背景下的軟件工程基礎
處于大數據時代環境中,軟件工程的發展中關乎到不同的領域,需要高度重視。大數據技術具有專業性的特點,還具有很強的實用性價值。在軟件工程技術的研究中,要從應用需求出發不斷創新軟件技術,對于傳統的技術要不斷摒棄,對軟件工程的發展創造良好的客觀條件。大數據技術環境下,軟件工程基礎是基于互聯網技術建立起來的,對各種數據信息系統化管理,根據需要進行處理,對工業的發展非常有利[2]。在軟件工程技術中,大數據的安全性問題是需要高度重視的,否則,就會對軟件工程技術造成不良影響,引起嚴重的后果。
2.1軟件服務工程
在軟件工程的研究范疇中,軟件服務工程的數量不斷增多。軟件工程服務化方向發展,就是發揮服務的作用,使其成為軟件開發的基本原則,按照服務項目內容為用戶展開服務。由于軟件工程發展的主題有所,服務內容也要做出相應的調整,同城是對軟件工程的進行技術維護。在具體的服務工作中,需要軟件開發人員使用分布式應用程序,在管理工作中采用虛擬操作的方法為用戶2019.08提供服務[3]。軟件工程技術應用中,結合使用大數據技術,可以對網絡數據進行編程,使得軟件具有互操作性,對于數據主動協調,使其符合動態場景的變化節奏,軟件系統的集成度有所提高。
2.2軟件開源
軟件開源更為注重用戶對軟件技術的體驗。在對軟件開源進行研究的過程中,采用常規的方法,雖然獲得一定的成果,但是應用價值不是很高。一些研究人員在研究軟件工程技術的時候,就是將軟件開源作為突破口,將開發項目劃分為多個模塊,將每個模塊分給指定的研究人員進行開發。
2.3群體軟件工程
群體軟件工程是通過網絡的方式進行軟件開發,具體的實施中采用工程眾包的形式,使得軟件開發技術發揮作用。群體軟件工程是一個分布式軟件開發模型,這個工程項目的運行中,可以通過網絡實現,對各項任務進行分配,也可以進行創造性的查詢,通過眾包解決軟件開發過程中遇到的一些困難和重要問題。同時,在軟件工程開發過程中,軟件工程可以在任何階段通過眾包進行開發[4]。
3大數據與軟件工程技術的未來發展方向
3.1大數據與軟件工程技術開放式的發展
大數據技術的主要前提是大量的數據流,需要技術不斷地升級和創新,尋求開發的研究途徑是非常必要的。計算機網絡的發展意味著計算機可以在開放的環境中相互通信,共享數據資源,軟件等信息的有效利用能力也會有所提升。通過網絡運行可以增加利潤,使得用戶的各種需求得到滿足,提高資源的利用率。
3.2大數據與軟件工程技術融合到其他領域
軟件工程技術在當今許多科學領域有著廣泛的應用。由于軟件工程技術給予各個領域非常大的幫助,從航空到生活中都發揮著軟件工程技術的作用[5]。應用程序的運行,可以使用數據平臺對信息進行收集并分析。比如,用戶在進行股票交易的過程中應用大數據技術,可以使用軟件工程技術構建數據模型,通過對數據模型的分析,預測股票的變化趨勢。
4眾包軟件服務工程中的大數據技術
在軟件開發過程中,必須有足夠的硬件和軟件基礎來支持數據流,隨著數據流的量逐漸增多,對硬件和軟件就有了新的要求。專家學者在分析數據流的時候,還對在線服務進行了研究。數據流是重點內容,主要是對數據流的使用方法進行研究,對支撐數據流的軟件和硬件進行研究[6]。從軟件工程開發的角度而言,軟件運行中都會產生大量的數據流,包括服務端、用戶端等,都會有很多的數據信息產生,這些數據流對軟件和硬件的使用壽命起到了決定性的作用。軟件工程的開發中,要做好數據流的管理工作。有必要對原始數據進行深入的研究,為提高軟件的使用壽命創造條件,對數據流的分析要高度重視[7]。
5密集型數據科研第四范式
第四種科學研究范式是指根據實際情況建立獨立的科學研究方法,探索第四種范式的理論基礎,以及大型數據存儲設備在發展中的重要性。軟件工程中,采用傳統的大數據研究方法,大數據的有效分析是不可能的,大數據的研究還沒有取得突破性的成果。因此,目前大多數軟件不能在短時間內同時實現數據信息的存儲、數據信息的傳輸和有效識別。在探索第四范式理論和研究方法的過程中,首先需要對集成大數據的軟件服務價值進行估計,拋棄傳統的大數據統計方法,建立新的大數據信息統計方法和分析方法[8]。此外,有必要從多個方面研究大數據的處理,對大數據信息進行管理并深入分析,討論大數據的價值以及存在的可變性,這對軟件工程的發展起著重要的作用。在研究軟件工程技術的時候,必須更新傳統的軟件開發理念,重視軟件處理和分析大數據能力的發展,使得軟件產業呈現出新的發展面貌。
在當今大數據時代,軟件工程技術的研究已經區域復雜。隨著數據的指數的不斷增長,軟件技術對硬件設備數據處理能力產生一定的影響。因此,在對軟件工程技術的研究中,就需要對大數據技術的特點進行研究,基于此研究軟件工程技術,使得硬件設備的數據處理能力有所提高。在研發開發軟件技術的過程中,要從應用領域的需求出發對大數據技術進行分析,在大數據開發理論的基礎上創新軟件開發理論,促進軟件技術更好地發展。
參考文獻