軟件工程 課件 3.4 基于大模型的智能化軟件開發(fā)方法_第1頁
軟件工程 課件 3.4 基于大模型的智能化軟件開發(fā)方法_第2頁
軟件工程 課件 3.4 基于大模型的智能化軟件開發(fā)方法_第3頁
軟件工程 課件 3.4 基于大模型的智能化軟件開發(fā)方法_第4頁
軟件工程 課件 3.4 基于大模型的智能化軟件開發(fā)方法_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于大模型的智能化軟件開發(fā)方法軟件工程內(nèi)容大模型技術(shù)的特點(diǎn)問題解決方式變化代表了新質(zhì)生產(chǎn)力大模型帶來的挑戰(zhàn)可信判斷帶來問題濫用和泛用大模型大模型帶來的機(jī)遇深化專業(yè)課程建設(shè)強(qiáng)化人才能力培養(yǎng)我們進(jìn)入到大模型的時(shí)代(1/2)OpenAI基于GPT4.0的ChatGPT2023-3基于GPT4.0的Copilot2023-3微軟2023-4CognitionAIAI程序員Devin2023-4微軟AI程序員AutoDev2023-4OpenAIChatGPT4O我們進(jìn)入到大模型的時(shí)代(2/2)百度文心一言2023-3華為盤古2023-6騰訊2023-9混元科大訊飛訊飛星火2023-5截至2024年3月,我國共有117個(gè)生成式AI的大模型完成了備案3602023-11奇虎-奇元大模型的應(yīng)用技術(shù)通用領(lǐng)域智能軟件開發(fā)自然語言處理圖形圖像處理……推動(dòng)技術(shù)研究和革新行業(yè)垂直領(lǐng)域教育軟件產(chǎn)業(yè)工業(yè)制造……推動(dòng)行業(yè)領(lǐng)域變革大模型的應(yīng)用前景非常廣泛,幾乎滲透到了各個(gè)行業(yè)和領(lǐng)域大模型代表了新質(zhì)生產(chǎn)力生成式智能化問題解決–方法獨(dú)特性基于自然語言交互方式–交互友好性

適合廣泛的行業(yè)和領(lǐng)域–應(yīng)用泛化性改變工作的方式和手段–影響深遠(yuǎn)性示例:基于大模型的智能化軟件開發(fā)基于大模型的智能化軟件開發(fā)需求分析軟件設(shè)計(jì)編碼實(shí)現(xiàn)軟件測試測試設(shè)計(jì)需求代碼支持軟件開發(fā)的全生命周期生成軟件需求產(chǎn)生軟件設(shè)計(jì)方案生成程序代碼生成測試用例及方案大模型對軟件開發(fā)產(chǎn)生了系統(tǒng)性和深層次影響基于大模型的智能化軟件開發(fā)(1/5)智能化的需求獲取和分析包括自動(dòng)化需求收集、理解及驗(yàn)證等方面,利用自然語言處理技術(shù)從多種數(shù)據(jù)源收集并識(shí)別用戶需求應(yīng)用文本分析技術(shù)理解并提取需求中的關(guān)鍵信息,檢測需求文檔中的缺失、模糊及不一致內(nèi)容,并自動(dòng)完善需求文檔示例:基于ChatGPT的軟件需求生成根據(jù)用戶的提示,生成軟件需求的描述創(chuàng)建與項(xiàng)目目標(biāo)一致的需求描述,進(jìn)而生成用戶使用場景的案例,并推薦軟件系統(tǒng)的產(chǎn)品功能開發(fā)者以此為基礎(chǔ),將抽象、籠統(tǒng)的概念轉(zhuǎn)化為明確、詳實(shí)的軟件需求12306軟件的需求是什么?示例:基于ChatGPT的軟件需求生成進(jìn)一步細(xì)化和完善需求提供軟件需求的細(xì)節(jié)生成需求的用戶故事基于大模型的智能化軟件開發(fā)(2/5)智能化軟件設(shè)計(jì)包括軟件架構(gòu)生成與推薦、設(shè)計(jì)評估及優(yōu)化等方面,基于需求分析結(jié)果,自動(dòng)化生成軟件架構(gòu)及設(shè)計(jì)文檔推薦符合需求的設(shè)計(jì)模式及架構(gòu)風(fēng)格建議評估不同設(shè)計(jì)方案成本及性能并進(jìn)行優(yōu)化,確保設(shè)計(jì)滿足需求規(guī)范示例:基于ChatGPT的軟件架構(gòu)設(shè)計(jì)為開發(fā)團(tuán)隊(duì)提供設(shè)計(jì)建議及架構(gòu)模式幫助團(tuán)隊(duì)快速地確定合適的架構(gòu)方案提醒設(shè)計(jì)需要關(guān)注的問題如何進(jìn)行12306軟件的設(shè)計(jì)?示例:基于ChaGPT的詳細(xì)設(shè)計(jì)根據(jù)提示給出使用SpringBoot進(jìn)行實(shí)現(xiàn)的詳細(xì)設(shè)計(jì)為后續(xù)編碼實(shí)現(xiàn)奠定基礎(chǔ)基于大模型的智能化軟件開發(fā)(3/5)自動(dòng)化代碼生成該方法是智能化軟件開發(fā)方法的核心,通過利用人工智能模型及自然語言處理技術(shù),根據(jù)自然語言描述或其他規(guī)范自動(dòng)生成軟件代碼,涵蓋從系統(tǒng)架構(gòu)到代碼片段,從業(yè)務(wù)邏輯到測試驗(yàn)證等不同粒度、階段的代碼生成智能化代碼推薦通過對開發(fā)者的編程習(xí)慣以及用戶當(dāng)前上下文進(jìn)行學(xué)習(xí),從現(xiàn)有代碼庫中推薦開發(fā)者需要的代碼片段或模板,支持開發(fā)者高效復(fù)用已有高質(zhì)量代碼輔助軟件開發(fā)過程示例:基于ChatGPT的代碼生成對TicketService接口中車票查詢功能提供類代碼用自然語言解釋說明代碼的實(shí)現(xiàn)邏輯12306軟件的代碼是什么?基于大模型的智能化軟件開發(fā)(4/5)軟件缺陷預(yù)測及自動(dòng)修復(fù)使用機(jī)器學(xué)習(xí)算法分析歷史缺陷數(shù)據(jù),預(yù)測軟件中潛在的缺陷位置以及對應(yīng)的缺陷類型,通過搜索方法或生成式人工智能模型給出修復(fù)補(bǔ)丁,減少人工審查代碼和修復(fù)缺陷的開銷自動(dòng)化代碼測試包括自動(dòng)生成測試用例、自動(dòng)化執(zhí)行測試、測試結(jié)果分析等方面,包括單元測試、集成測試、系統(tǒng)測試等各個(gè)層面,輔助開發(fā)者高效編寫測試代碼并提前發(fā)現(xiàn)錯(cuò)誤,保證軟件質(zhì)量示例:基于ChatGPT的測試用例生成生成四個(gè)測試用例說明測試的目的、步驟和預(yù)期結(jié)果考慮對應(yīng)場景下的邊界條件和異常情況提供測試代碼示例12306軟件測試用例是什么?基于大模型的智能化軟件開發(fā)(5/5)自動(dòng)化文檔生成該方法通過基于大規(guī)模代碼和自然語言文本的學(xué)習(xí),根據(jù)源代碼或其它軟件制品,自動(dòng)化生成和維護(hù)文檔內(nèi)容,包括需求文檔、設(shè)計(jì)文檔、API文檔等軟件開發(fā)過程文檔,以及代碼注釋、提交消息等內(nèi)容,減少開發(fā)人員在維護(hù)軟件文檔過程中的精力智能化輔助決策基于軟件開發(fā)數(shù)據(jù)的支持項(xiàng)目管理者做出更加合理的項(xiàng)目管理決策,包括項(xiàng)目開發(fā)時(shí)間規(guī)劃、項(xiàng)目資源分配、項(xiàng)目風(fēng)險(xiǎn)評估等等大模型對于計(jì)算機(jī)專業(yè)影響的滲透性和泛化性計(jì)算機(jī)科學(xué)與技術(shù)軟件工程人工智能網(wǎng)絡(luò)工程信息安全物聯(lián)網(wǎng)工程數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)…….統(tǒng)一、新穎的問題解決方法自動(dòng)化開發(fā):軟件工程長期努力的目標(biāo)創(chuàng)造性思維的結(jié)果(需求+設(shè)計(jì)等)基于自然語言軟件生成的結(jié)果(程序代碼)程序設(shè)計(jì)語言軟件工程致力于將自然語言表述的創(chuàng)作結(jié)果最終由程序設(shè)計(jì)語言來表示e.g.,1970-軟件開發(fā)自動(dòng)化,形式化的需求規(guī)約語言及其轉(zhuǎn)換和生成成本高、代價(jià)大,工程層面上實(shí)用性不強(qiáng),未能得到廣泛的應(yīng)用工具或人思維結(jié)果的中介表示(需求+設(shè)計(jì)等)規(guī)約語言+建模語言工具或人自動(dòng)化智能化:大模型從軟件開發(fā)自動(dòng)化到軟件開發(fā)智能化形式化描述(e.g.,邏輯、Z)形式化方法(e.g.,推理、證明)自動(dòng)產(chǎn)生高質(zhì)量代碼問題20世紀(jì)70-90年代的軟件開發(fā)形式化和自動(dòng)化工作自然語言描述(e.g.,英語、漢語)生成式方法(e.g.,學(xué)習(xí)、訓(xùn)練)生成高質(zhì)量代碼問題2020年之后基于大模型的智能化開發(fā)工作基于大模型的結(jié)對軟件開發(fā)成為趨勢基于大模型的智能體計(jì)算機(jī)工程師人機(jī)協(xié)同開發(fā)Copilot等基于智能化的編程助手(如CopilotX),人機(jī)協(xié)同編程會(huì)成為趨勢越來越多程序員使用CopilotX等智能化工具進(jìn)行軟件開發(fā),AIPair編程正在成為新的編程范式,幫助程序員編代碼、單元測試、調(diào)試、寫文檔等結(jié)對編程會(huì)怎樣發(fā)展?以人為主AI為輔以AI為主人為輔AI軟件工程師隨著大模型技術(shù)及智能化工具的發(fā)展,結(jié)對編程的方式會(huì)發(fā)生變化大模型技術(shù)提供了強(qiáng)大的工具常用的CASE工具基于大模型技術(shù)的CASE工具什么都能干干得快,效率高干得好,質(zhì)量好Copilot已參與到微軟全體云代碼倉庫中的46%,幫助開發(fā)人員將編程速度提高了55%使用Copilot的開發(fā)人員中有90%表示可以更快地完成任務(wù),73%的開發(fā)人員能更好地保持順暢并節(jié)省精力,75%的開發(fā)人員感到更有成就感,大模型在計(jì)算機(jī)領(lǐng)域可能帶來的變化強(qiáng)者越強(qiáng)

–提升效率和質(zhì)量,創(chuàng)新軟件產(chǎn)品善于利用大模型工具的人創(chuàng)新能力、解決復(fù)雜問題能力很強(qiáng)的人弱者越弱–被大模型和智能化開發(fā)工具所取代不會(huì)使用大模型工具的人如果能力弱,就無法判斷對與錯(cuò),也就不能用好生成的結(jié)果基于大模型的智能化軟件開發(fā)目前作為軟件工程師的助手,尚不能代替軟件工程師基于大模型的智能化開發(fā)會(huì)是軟件工程的銀彈嗎?基于大模型智能化軟件開發(fā)的優(yōu)點(diǎn)提升開發(fā)效率、提高軟件質(zhì)量、降低軟件開發(fā)成本為軟件危機(jī)提供了有效、實(shí)用的方法它是解決軟件危機(jī)的銀彈嗎?人類長期受軟件危機(jī)的困擾FredBrooks

1986年經(jīng)典論文《NoSilverBullet—EssenceandAccidentinSoftwareEngineering》大模型技術(shù)的內(nèi)在特點(diǎn)依靠大數(shù)據(jù)需要高強(qiáng)度的學(xué)習(xí)和訓(xùn)練概率模型大模型工具(生成概率性的內(nèi)容)大數(shù)據(jù)大計(jì)算(GPU)大模型技術(shù)的外在特點(diǎn)生成結(jié)果的特點(diǎn)結(jié)果不一定正確、可信不可解釋性、不確定性和動(dòng)態(tài)性,受數(shù)據(jù)擾動(dòng),與訓(xùn)練與提示相關(guān)結(jié)果優(yōu)化通過提示工程(PromptEngineering)生成更符合預(yù)期內(nèi)容根據(jù)反饋不斷修正提示詞,與人緊密相關(guān),人發(fā)揮著重要的作用大模型工具Prompt生成內(nèi)容大模型未能展示其潛力的地方創(chuàng)造性的思維不容置疑,大模型展現(xiàn)了在軟件生產(chǎn)中的巨大潛力如果缺乏前人的工作及相關(guān)數(shù)據(jù),大模型將無所作為大規(guī)模軟件開發(fā)大模型展示了小規(guī)模應(yīng)用方面的潛力面對大規(guī)模應(yīng)用大模型能夠做到什么程度,尚未有實(shí)證基于大模型的智能化軟件開發(fā)目前還算不上是銀彈!大模型給人才培養(yǎng)帶來的副作用作業(yè)抄襲:基于大模型生成的結(jié)果來提交作業(yè)只知其然不知其所以然過度依賴:基于大模型來完成各項(xiàng)工作,能力空心化離開了大模型將一無是處大模型技術(shù)給計(jì)算機(jī)教育者提出的問題和挑戰(zhàn)?計(jì)算機(jī)專業(yè)人才會(huì)被大模型替代嗎?需要培養(yǎng)什么樣的計(jì)算機(jī)專業(yè)人才?專業(yè)建設(shè)和課程教學(xué)會(huì)受哪些影響?需要做哪些方面的教學(xué)改革和探索?擁抱大模型還是回避大模型?利用大模型還是拋棄大模型?擁抱大模型及智能化軟件開發(fā)技術(shù)“工欲善其事必先利其器”大模型和智能化CASE是一項(xiàng)利器擁抱大模型及其工具,學(xué)會(huì)使用智能化軟件開發(fā)工具ChatGPT,Copilotx,CodeArtsSnap等要在開發(fā)過程中運(yùn)用智能化軟件開發(fā)工具軟件開發(fā)效率的倍增器業(yè)內(nèi)人士指出利用大模型技術(shù)編碼能力可提高編程能力計(jì)算機(jī)人才培養(yǎng)新要求及教學(xué)方法新變革能夠熟練地表達(dá)軟件開發(fā)意圖任務(wù)背景、問題分解、指定限制條件和其他輸出要求根據(jù)大模型的反饋針對性的調(diào)整提示理解大模型生成的結(jié)果e.g.,代碼、場景、文檔對生成的結(jié)果進(jìn)行鑒別和判斷e.g.,分析正確性,評估質(zhì)量多模態(tài)、個(gè)性化和智能化教學(xué)方法e.g.,個(gè)性化推薦、智能化導(dǎo)學(xué)對計(jì)算機(jī)專業(yè)人才提出了更高的要求計(jì)算機(jī)人才需要強(qiáng)化三類能力的培養(yǎng)與大模型工具打交道的能力(問題分解、抽象、描述)軟件制品內(nèi)容質(zhì)量的分析和鑒別能力創(chuàng)新的能力、解決復(fù)雜工程問題的能力軟件工程師基于大模型工具如ChatGPT、Copilot問題分解、表述及提示生成結(jié)果分析、判斷和鑒別計(jì)算機(jī)專業(yè)建設(shè)–知識(shí)體系SWEBOK4.0,Jan,2024“generallyacceptedknowledge”insoftwareengineering大模型技術(shù)以及智能化軟件開發(fā)還沒有被列入,盡管這一技術(shù)和工具已經(jīng)在工業(yè)界開展了逐為廣泛的應(yīng)用建議需要將基于大模型的智能化軟件技術(shù)以及工具、開發(fā)模式及方法等作為軟件工程知識(shí)體系的組成部分計(jì)算機(jī)專業(yè)建設(shè)–課程體系需要將基于大模型的智能化軟件開發(fā)技術(shù)、CASE工具等融入到相關(guān)的專業(yè)課程計(jì)算機(jī)程序設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)與算法分析軟件工程軟件體系結(jié)構(gòu)與設(shè)計(jì)需求工程軟件測試與驗(yàn)證軟件工程綜合實(shí)踐…….智能化軟件開發(fā)軟件工程專業(yè)課程拓展課程的教學(xué)內(nèi)容引入以大模型智能軟件開發(fā)技術(shù)等為核心的知識(shí)點(diǎn)需要對軟件工程課程的知識(shí)體系進(jìn)行必要的拓展和更新,以適應(yīng)軟件工程研究與實(shí)踐的發(fā)展和進(jìn)步計(jì)算機(jī)專業(yè)建設(shè)–實(shí)踐體系要在課程實(shí)踐中培養(yǎng)學(xué)生掌握和運(yùn)用智能化軟件工具來開展軟件開發(fā)工作GithubCopilotX各個(gè)系列工具、CodeArtsSnap工具、文心一言等工具的使用借助工具來開展實(shí)踐(如軟件開發(fā)、方案生成)培養(yǎng)學(xué)生分析和鑒別智能化生成結(jié)果的能力軟件工程專業(yè)建設(shè)–教材建設(shè)軟件工程專業(yè)教材應(yīng)該引入大模型時(shí)代的智能化軟件開發(fā)技術(shù),確保內(nèi)容先進(jìn)性和實(shí)用性大模型技術(shù)及其特點(diǎn)基于大模型的智能化軟件開發(fā)技術(shù)智能化軟件開發(fā)的支撐CASE工具基于智能化技術(shù)的軟件開發(fā)方法,如需求分析、軟件設(shè)計(jì)、編碼實(shí)現(xiàn)、軟件測試、運(yùn)行維護(hù)等AI結(jié)對的軟件開發(fā)模式…….基于大模型的教學(xué)方法改革多模態(tài)的學(xué)習(xí)資源文本、圖像、聲音、視頻等整合各類學(xué)習(xí)資源個(gè)性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論