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