999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于群體智能的軟件工程方法研究

2021-11-03 08:04:48沈熠
電子技術與軟件工程 2021年16期
關鍵詞:解決方案人類智能

沈熠

(吉林大學軟件學院 吉林省長春市 130000)

現代軟件開發的規模和復雜程度隨著現代信息技術的不斷發展逐步增加,并且開發高質量的軟件成為一項艱巨的任務;同時,軟件需求的變化對軟件開發周期的不斷縮短和軟件的快速迭代提出了更高的要求和挑戰,與軟件的重復、擴展和可靠性相關。針對當前軟件開發中的困難,軟件工程師近幾十年來研究了新的軟件開發方法,如面向對象、面向服務、可信軟件項目和大型數據處理軟件項目。以群體智能為核心的軟件,其目的就是創造性的解決復雜的問題,這是今年來軟件工程研究的重點。

群體智能的方法來自于群體內智慧和行為的結合,這突出表明,在群體合作或競爭中,整個群體比群體中的任何一個個體都能表現出更大的智慧,因此,一個個體群體可以是一群沒有智能或者智能相對簡單的動物,也可以是一群人本身。人類群體智能、機器群體智能和人機組合智能群體都屬于群體智能。

1 群體智能的概述

群體智能是由許多個體之間的合作和競爭過程中形成的,它的主要優勢在于,在處理復雜問題方面增強了群體中的每一個體的智能,Winston 等人和Schutter 等人研究發現僅僅只有基本本能的個體在組成群體后,總的來說可以表現出比他們中的任何一個個體都要高出很多的智能水平。這種與生物群有關的現象,促使人們提出各種復雜問題的進化優化方案,并將其應用于解決復雜的問題。

盡管人類群體智能以表達的形式類似于解決諸如人群合作等問題的一般方法,并且有不同的組織結構:很多人的交互通常采用集中的層次結構,而集群的智能依賴于軟件開發過程中的分布式個體。當軟件的規模和復雜度達到一定的水平時,僅僅增加幾個人的團隊是不能提高軟件開發效率的。人類群體的智力是相對獨立和有組織的群體之間相互作用過程中的一系列復雜活動,隨著人口的增長,人類群體智能的智能水平也在提高。提高計算機輔助的效率使機器智能能夠在更廣泛的范圍內尋求最佳解決方案;互聯網的迅速發展將使利用人類群體智能創造大規模的群體智能進行開發軟件成為可能。

2 群體智能在軟件工程中的應用

群體智能在很多問題上都有廣泛的應用,也被廣泛應用于解決軟件開發過程中的復雜問題?;谲浖O計、搜索軟件設計和開源軟件等一系列智能的軟件規劃,特別是基于搜索的SBSE 項目和BCE 項目是這一領域中兩個重要且相對成熟的研究方向。它們是機器群體智能和人類群體智能在軟件工程方面廣泛應用的有效代表。本文將對此問題進行討論。

2.1 基于搜索軟件工程

與傳統的問題空間軟件不同,它是由算法設計的,SBSE 將對傳統的軟件技術問題進行優化,并使用群體智能方法來尋找空間問題的最佳解決方案。有關學者總結了SBSE 應用的兩個先決條件:

(1)優化問題的表單表示;

(2)無論是研究對象,還是能夠確定適應功能軟件不是物理主體的解決方案,虛擬性允許軟件開發的幾乎所有階段都以數學抽象的形式表示優化。

此外,軟件領域的許多問題都涉及到一套相互關聯、多種多樣的軟件度量標準,這是一套前瞻性的初始適應功能。軟件技術問題的這兩個特點使得使用SBSE 解決軟件開發問題成為可能,前提是它們可以用優化的形式來表達。

2.2 眾包軟件工程

眾包軟件工程是創造軟件制造解決問題的重要手段。通過互聯網工具,軟件的技術問題可以由合格的人員來解決。眾包軟件工程設計有三個主要任務:基于互聯網的搜索系統、這個需求的作者和開發者可以是一個企業,企業可以利用這個搜索平臺來完成自己的業務,提高開發效率,節約成本。個人也可以通過搜索平臺來發布任務,來幫助自己實現軟件開發。基于Internet 的搜索平臺是一個關鍵的軟件搜索系統,整個軟件搜索過程的業務邏輯都在他的管轄范圍,一個理想的眾包軟件平臺應該包括開發在線軟件的環境和工具、知識共享和協作工具、質量保證和改進工具以及項目管理工具。如圖1所示。

水力壓裂技術可以使煤層中的含水飽和度增加,進而減弱煤體結構的強度數據,使煤層之間的抗壓、抗拉強度均得到有效降低,這樣煤層開采的難度會減少很多,同時進一步減少工作人員煤層開采的安全風險。

圖1:眾包軟件工程的3 類參與者

2.3 基于群體智能的軟件工程方法統一框架

圖2顯示了使用一系列智能解決軟件開發問題的一致框架。這一過程將一直持續到滿足某些停滯條件,并將在整個過程中找到最佳解決辦法,作為群體智能的最終結果。決策設計、決策評估和決策優化是上述基于群體智能的項目下的三項關鍵任務,它可以通過機器群體智能或人類群體智能來實現。當這三項任務都是通過及其群體智能來完成時,這就意味著及其群體智能層次基于群體智能的軟件項目;當這三個任務都是利用人類群體智能來完成的時候,它們就是基于群體智能的項目,在人類群體智能的層次上;機器智能群體完成一部分任務,人類群體智能完成另一部分的任務,換言之,人類智能群體和機器智能群體相結合的基于群體智能的軟件工程。

圖2:基于群體智能的軟件工程方法統一框架

圖3顯示了利用群體智能方法解決軟件開發過程中復雜問題的示意圖。為了自動利用群體智能方法制造、評估和優化候選軟件,首先需要以可計算和查看的形式對軟件進行編碼,并提供索引作為候選解決方案,決定可能采取的解決辦法,即:在此基礎上,以進化優化算法為代表的機器群智能方法,通過引入適應度函數,自動生成候選解。

圖3:利用機器群體智能進行軟件工程問題求解

圖4顯示了在軟件開發中使用人類群體智能所產生的問題的解決方案示意圖。特別是管理平臺是形成群體智能的有效基礎,開發者發布軟件項目并尋求解決方案,在這種情況下,軟件開發項目將經歷一個迭代過程,導致決策、方案評估和選擇更合適的解決方案,直到請求人得到滿意的解決。在迭代過程中,出現了許多微項目,如提交解決問題、評估其他解決方案等。一個理想的平臺,加上得力的工具支持,為幫助較大規模的群體個體之間進行協助和聯系群奠定了基礎。

圖4:利用人類群體智能進行軟件工程問題求解

至于那些難以用形式化描述或者形式化度量的軟件技術問題,很難得到解決,也限制了機器群體智能的應用;人類群體要求每個任務都有人類個體來完成,不能有效利用機器群體智能與人類群體智能相結合。圖5 為相應解決方案的示意圖。有效結合機器群體智能和人類群體智能,利用人群的知識庫成為全自動化間接機結合機器群體智能,以人機交互的形式解決軟件開發過程中遇到的問題。

圖5:利用人機結合群體智能解決軟件工程問題

3 需求工程

“需求”工程是一個方法論概念,使技術人員在分析客戶需求的基礎上,了解問題領域,確定目標系統的功能特性,是軟件開發生命周期的關鍵要素。需求設計強調開發人員需要了解用戶需求,以減少開發過程中潛在的偏差和系統錯誤;同時,要監測和應對需求變化,降低需求變化的成本,提高生產效率。

目前,群體智能方法主要應用在項目中的獲取需求和分析需求,表1 顯示了如何使用不同層次群體智能來滿足特定的項目需求。特別是機器群體智能在需求分析中的智能化主要用于解決需求沖突、協調需求、相互作用,需求選擇和需求管理;人類群體智能在獲取需求方面有著重要的作用,例如在識別需求、提取需求并分析需求。

表1:基于群體智能的需求工程相關研究

4 軟件設計

如表2所示,人類群體智能在軟件設計方面的研究并不多,主要涉及軟件概念的建模,UI 界面和網頁設計。人類群體智能在上述問題上的應用主要由兩個因素決定:

表2:基于群體智能的軟件設計相關研究

(1)在激勵作用下,大量的開發者給予自己的軟件開發方案,眾多軟件開發方案之間的競爭會帶來一個目前的最優設計方案;

(2)通過不斷探索人類群體智能形成的知識庫,可以不斷優化現有結構,從而達到近乎最優的解決方案。

5 軟件構造

軟件構建是以設計為目的的軟件設計過程,如何高效寫出告知交的代碼是軟件構造所面臨的主要問題。表3 顯示了一系列用于解決軟件構建問題的群體智能方法。其中,人類群體智能方法在故障診斷、程序優化、自動糾錯等方面得到了應用。這主要是因為軟件開發人員眾多,開源代碼存儲和社區開發的快速發展將帶來大量的編程資源和經驗,如代碼、文檔和測試等。同樣有了這些信息,群體智能能夠自動有效地進行程序優化、軟件自動修復等編碼問題;人類和機器群體智能的結合對程序優化和自動修復有很好的效果。

表3:基于群體智能的軟件構造相關研究

6 軟件測試和驗證

基于群體智能的智能軟件測試是現代IT 理論和軟件技術開發人員進行工程科學研究的重要組成部分。軟件測試是一個通過查找和修復軟件中可能存在的潛在漏洞和錯誤的過程,它與機器群體智能的實際應用有著緊密的聯系,其中研究的以搜索為首的軟件測試是該研究方向的一個主要代表,也是SBSE 領域內最常見、也是廣泛流行的研究領域之一。同時,終端用戶對于軟件測試整個流程的參考亦是構建人類群體智能研究框架所所面臨的一個迫切需要努力解決的熱點問題,并且目前已經在大數據眾包基礎上開發了多種不同的軟件測試方法。

表4展示了在軟件測試的過程中,人類體智能研究包括軟件測試和軟件驗證,人類群體智能在軟件測試中包括用例生成、GUI 測試、Oracle 問題 、性能測試和可用性測試等;機器群體智能方法被應用于建立測試用例生成、排序驗證、Oracle 問題、圖形界面測試、性能測試、功能測試和回歸測試以及軟件建模;將人類智能與機器群體智能相結合,在創建測試腳本和Oracle 問題方面取得了顯著的效果。人類群體在軟件驗證過程中的錯誤定位方面有一些應用。

表4:基于群體智能的軟件測試相關研究

7 軟件維護

軟件演化和軟件文檔的更新包含在軟件維護階段。如表5所示,人類群體智能主要用于軟件的演化,機器群體智能則用于軟件演化、重構和軟件模塊化,人類群體智能和機器群體智能相結合則用于軟件重構中。Mariani 等人,總結了用于確定軟件構件優化重構序列的搜索方法的共同特征,并討論了未來研究的可能性。

表5:基于群體智能的軟件維護相關研究

軟件重構是一個提高程序性能以減緩其因更改而惡化的過程,它意味著改進解決方案的結構以便于理解。在軟件維護階段,將SBSE 放在軟件重構重點問題上,主要討論如何利用群體智能法改進軟件開發過程,并對修改后的軟件進行重組,以優化其結構。無論是重構階段的選擇還是改進軟件問題階段,都可以轉化為搜索問題在機器群體智能應用中,力求尋找最佳解決方案。

8 總結

基于群體智能的軟件技術已成為軟件研究的前沿和熱點,具有良好的軟件開發和應用前景。本文第一步提出了幾個主要概念為例,分別提出了一個包括機器群體智能、人類群體智能和人機組合群體智能的一個系統性框架,以便來實現基于群體智能的各種軟件工程開發手段。然后從軟件設計過程中各個階段,總結了上述三個維度的群體智能方法在各個軟件項目中運用和應用。

猜你喜歡
解決方案人類智能
解決方案和折中方案
人類能否一覺到未來?
人類第一殺手
好孩子畫報(2020年5期)2020-06-27 14:08:05
1100億個人類的清明
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
4G LTE室內覆蓋解決方案探討
人類正在消滅自然
奧秘(2015年2期)2015-09-10 07:22:44
主站蜘蛛池模板: 国产导航在线| 91小视频在线播放| 亚洲国产理论片在线播放| 成人欧美日韩| 成人av专区精品无码国产| a毛片基地免费大全| 欧美a网站| 亚洲成a人片在线观看88| 欧美国产综合视频| 国产精品页| 天天摸夜夜操| 婷婷综合亚洲| 91九色视频网| 日韩av在线直播| 99久久性生片| 精品欧美视频| 欧美一级高清片欧美国产欧美| 激情无码视频在线看| 国产偷倩视频| 国产精品人人做人人爽人人添| 亚洲午夜片| 精品日韩亚洲欧美高清a| 制服丝袜国产精品| 亚洲国产成人精品无码区性色| 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲国产一区在线观看| 性网站在线观看| 国产成人精品一区二区秒拍1o| v天堂中文在线| av在线5g无码天天| jizz国产视频| 丁香六月激情综合| 午夜毛片免费观看视频 | 在线毛片免费| 欧美成人免费午夜全| 一本一本大道香蕉久在线播放| 欧美亚洲激情| 538精品在线观看| 超清无码一区二区三区| 亚洲黄色成人| 欧美成人精品欧美一级乱黄| 欧美国产在线精品17p| 国产日韩精品一区在线不卡| 亚洲无码高清视频在线观看| 欧美第二区| 2021国产v亚洲v天堂无码| 狠狠做深爱婷婷久久一区| 永久免费无码成人网站| 欧美精品影院| 2021国产精品自产拍在线| 亚洲乱码在线视频| 四虎国产精品永久一区| 国产区免费精品视频| 首页亚洲国产丝袜长腿综合| 中文字幕在线播放不卡| 国产免费黄| 亚洲国产高清精品线久久| av在线5g无码天天| 国内精品一区二区在线观看| www亚洲天堂| 欧美成人在线免费| 免费A级毛片无码免费视频| 色婷婷综合在线| 免费A级毛片无码免费视频| 爆乳熟妇一区二区三区| 综合五月天网| 国产精品主播| 黄色国产在线| 亚洲国产成人超福利久久精品| 毛片网站在线看| 福利姬国产精品一区在线| 婷婷开心中文字幕| 久久久国产精品无码专区| 成人亚洲国产| 三区在线视频| 国产乱人乱偷精品视频a人人澡| 久久精品人妻中文系列| h视频在线观看网站| 国产69精品久久| 成色7777精品在线| 久久人午夜亚洲精品无码区| 四虎影视无码永久免费观看|