版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 軟件工程創(chuàng)新性實(shí)驗(yàn)教學(xué)課程實(shí)踐摘要:傳統(tǒng)的軟件開(kāi)發(fā)方法以及對(duì)應(yīng)的軟件工程課程實(shí)驗(yàn)設(shè)計(jì)通常缺乏一致性、系統(tǒng)性, 不利于提高學(xué)生軟件開(kāi)發(fā)的綜合實(shí)踐能力。針對(duì)上述問(wèn)題, 開(kāi)設(shè)實(shí)施了軟件工程創(chuàng)新性實(shí)驗(yàn)教學(xué)項(xiàng)目“基于AADL模型驅(qū)動(dòng)的軟件開(kāi)發(fā)方法”, 使得軟件開(kāi)發(fā)過(guò)程的各個(gè)階段集成于統(tǒng)一、一致的建??蚣苤?。同時(shí), 輔以“做中學(xué)”與項(xiàng)目驅(qū)動(dòng)相結(jié)合的教學(xué)模式, 讓學(xué)生從實(shí)踐中體驗(yàn)一個(gè)完整的軟件開(kāi)發(fā)過(guò)程, 提高學(xué)生的自主學(xué)習(xí)探索、軟件開(kāi)發(fā)綜合實(shí)踐能力, 為軟件工程實(shí)踐教學(xué)的開(kāi)展提供實(shí)用的可選方案。關(guān)鍵詞:軟件工程;創(chuàng)新性實(shí)驗(yàn)教學(xué);AADL;模型驅(qū)動(dòng);項(xiàng)目驅(qū)動(dòng)傳統(tǒng)軟件工程課程教學(xué)主要以經(jīng)典的結(jié)構(gòu)化方法學(xué)和面向
2、對(duì)象方法學(xué)為主線, 講授兩種方法學(xué)在軟件生命周期開(kāi)發(fā)各個(gè)階段的原理、方法及工具的應(yīng)用1。在課程實(shí)驗(yàn)階段, 結(jié)構(gòu)化方法學(xué)通常使用數(shù)據(jù)流圖、軟件架構(gòu)圖、流程圖2等不同的描述方式來(lái)分別刻畫(huà)軟件從需求分析、概要設(shè)計(jì)到詳細(xì)設(shè)計(jì)的開(kāi)發(fā)模型, 對(duì)于軟件開(kāi)發(fā)初級(jí)者來(lái)說(shuō), 同一軟件在開(kāi)發(fā)過(guò)程中采用不同描述手段, 在兩個(gè)不同階段之間, 都需要進(jìn)行手工的模型轉(zhuǎn)換(例如從數(shù)據(jù)流圖到軟件架構(gòu)圖的轉(zhuǎn)換), 容易引入錯(cuò)誤, 很難保證所建模軟件系統(tǒng)的輸入輸出一致性。而面向?qū)ο蟮能浖_(kāi)發(fā)方法學(xué)盡管在軟件開(kāi)發(fā)生命周期的各個(gè)階段主要采用統(tǒng)一的UML語(yǔ)言來(lái)建模軟件, 但是由于仍然采用了多種視圖模型3(如用例圖、類圖、順序圖等)來(lái)描述
3、同一軟件不同階段的開(kāi)發(fā), 同樣容易導(dǎo)致軟件開(kāi)發(fā)的不一致性。基于上述問(wèn)題, 軟件工程創(chuàng)新性實(shí)驗(yàn)教學(xué)課程引進(jìn)了一種有別于傳統(tǒng)軟件方法學(xué)的新型軟件開(kāi)發(fā)方法, 即基于AADL(ArchitectureAnalysisandDesignLanguage)4模型驅(qū)動(dòng)的軟件開(kāi)發(fā)方法?;谀P万?qū)動(dòng)的軟件開(kāi)發(fā)方法3主要以高度抽象的模型為核心, 將軟件開(kāi)發(fā)焦點(diǎn)聚焦于需求功能的獲取、軟件體系架構(gòu)及業(yè)務(wù)邏輯的設(shè)計(jì), 而底層與平臺(tái)實(shí)現(xiàn)相關(guān)的代碼框架則可以由相應(yīng)的軟件工具自動(dòng)生成, 極大地提高了軟件開(kāi)發(fā)效率?;赨ML的軟件開(kāi)發(fā)方法也屬于模型驅(qū)動(dòng)的開(kāi)發(fā)方法之一。為了避免UML多種視圖模型可能導(dǎo)致的軟件開(kāi)發(fā)不一致性, 本課
4、程結(jié)合當(dāng)前高可信系統(tǒng)的開(kāi)發(fā)研究熱點(diǎn), 選取了美國(guó)汽車工程師協(xié)會(huì)提出的體系結(jié)構(gòu)分析與設(shè)計(jì)語(yǔ)言AADL作為模型驅(qū)動(dòng)開(kāi)發(fā)方法的建模語(yǔ)言。該語(yǔ)言支持自頂向下、粒度逐級(jí)細(xì)化的基于組件的開(kāi)發(fā)方法, 將系統(tǒng)、子系統(tǒng)、進(jìn)程、線程、子程序等常用的計(jì)算機(jī)運(yùn)行時(shí)組件集成于統(tǒng)一的描述框架中, 能夠較好地保證軟件開(kāi)發(fā)的一致性。另外, 該語(yǔ)言除了提供圖形化的表示方式以外, 還提供具有精確語(yǔ)義的文本描述以及支持第三方插件的通用XML描述方式, 因此便于在軟件設(shè)計(jì)早期對(duì)其表示的軟件體系架構(gòu)模型進(jìn)行分析校驗(yàn), 盡早地檢測(cè)出系統(tǒng)設(shè)計(jì)缺陷, 有效地減少軟件故障檢測(cè)成本。本課程在引入上述方法的同時(shí), 還結(jié)合“做中學(xué)”5與項(xiàng)目驅(qū)動(dòng)相結(jié)
5、合的教學(xué)模式, 將基于AADL模型驅(qū)動(dòng)的開(kāi)發(fā)方法應(yīng)用于實(shí)踐項(xiàng)目的開(kāi)發(fā)過(guò)程中, 從而使需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、代碼生成等開(kāi)發(fā)過(guò)程集成于統(tǒng)一的開(kāi)發(fā)框架中, 讓軟件開(kāi)發(fā)者對(duì)于軟件開(kāi)發(fā)各階段的系統(tǒng)一致性及軟件回溯確認(rèn)驗(yàn)證有一個(gè)良好的開(kāi)發(fā)實(shí)踐, 聚焦于業(yè)務(wù)需求、架構(gòu)設(shè)計(jì), 提高軟件開(kāi)發(fā)綜合實(shí)踐能力。1基于AADL模型驅(qū)動(dòng)的軟件開(kāi)發(fā)方法的應(yīng)用本課程選取了AADL語(yǔ)言作為模型驅(qū)動(dòng)的建模語(yǔ)言, 能將軟件工程開(kāi)發(fā)各階段統(tǒng)一于視圖一致的框架中, 能夠很好地順應(yīng)經(jīng)典的瀑布模型的開(kāi)發(fā)過(guò)程。在軟件開(kāi)發(fā)的不同階段, 仍然采用以AADL組件為基礎(chǔ)的統(tǒng)一視圖, 下層視圖模型在上層的視圖模型的基礎(chǔ)上, 提供組件粒度更細(xì)的
6、視圖。例如, AADL系統(tǒng)及細(xì)化的子系統(tǒng)組件模型對(duì)應(yīng)于需求分析階段的業(yè)務(wù)需求建模;AADL進(jìn)程組件模型在系統(tǒng)需求模型的輸入輸出接口限定下進(jìn)一步推導(dǎo)出體系結(jié)構(gòu)模型, 對(duì)應(yīng)于軟件工程的概要設(shè)計(jì)階段;AADL線程組件及子程序模型作為進(jìn)程模型內(nèi)部的執(zhí)行體, 刻畫(huà)軟件的動(dòng)態(tài)行為, 對(duì)應(yīng)于軟件工程的詳細(xì)設(shè)計(jì)階段。由于該方法遵循自頂向下、逐級(jí)求精的方法學(xué), 所以每個(gè)階段獲取的AADL模型都是基于上一階段的模型框架下細(xì)化得到, 便于復(fù)審驗(yàn)證分析。若發(fā)現(xiàn)某個(gè)開(kāi)發(fā)階段的模型缺陷, 可以回溯至上一階段進(jìn)行重新分析與設(shè)計(jì)。對(duì)于最終確認(rèn)的詳細(xì)設(shè)計(jì)模型, 學(xué)生可以進(jìn)一步手動(dòng)完成整個(gè)編碼工作, 也可以選取相應(yīng)的代碼生成工具
7、生成代碼框架, 再補(bǔ)充完整業(yè)務(wù)代碼。該方法在需求分析、設(shè)計(jì)階段通過(guò)對(duì)模型進(jìn)行早期分析驗(yàn)證來(lái)部分替代傳統(tǒng)的代碼測(cè)試方法, 以減小代碼測(cè)試晚期檢測(cè)到的錯(cuò)誤代價(jià)。2以“做中學(xué)”模式提高學(xué)生探究式學(xué)習(xí)能力2.1教學(xué)設(shè)計(jì)課程實(shí)驗(yàn)采取“做中學(xué)”教學(xué)模式, 以促進(jìn)學(xué)生自主學(xué)習(xí), 探索未知科學(xué)的能力。參與課程的學(xué)生包括計(jì)算機(jī)專業(yè)以及來(lái)自于地理信息科學(xué)、機(jī)械電子工程、信息科學(xué)、信息管理等非專業(yè)的學(xué)生, 基礎(chǔ)各不相同, 且大部分同學(xué)從未接觸過(guò)AADL語(yǔ)言建模項(xiàng)目, 所以配套編寫(xiě)了詳細(xì)的實(shí)驗(yàn)指導(dǎo)書(shū), 提前分發(fā)給學(xué)生進(jìn)行實(shí)驗(yàn)準(zhǔn)備與預(yù)習(xí)。給學(xué)生提供豐富的國(guó)內(nèi)外文獻(xiàn)參考資料, 學(xué)生可以在遇到問(wèn)題時(shí)進(jìn)行查閱解惑, 并要求學(xué)
8、生將問(wèn)題及解決方案寫(xiě)入報(bào)告。要求學(xué)生通過(guò)系列調(diào)研后, 自主選擇一種AADL語(yǔ)言建模工具, 在實(shí)踐中快速學(xué)習(xí)一門(mén)語(yǔ)言的使用與相應(yīng)的建模方法。課程同時(shí)也給予學(xué)生自由的探索空間, 對(duì)于問(wèn)題的解決給予開(kāi)放式的策略, 不作過(guò)多限制。例如在AADL建模時(shí), 學(xué)生可以選擇AADL文本、XML、圖形表示之一, 但要求整個(gè)軟件建模階段采用前后一致的表示方式, 以便于模型的分析與驗(yàn)證。對(duì)于模型分析驗(yàn)證的方法可以基于不同的表示形式, 采取不同的分析手段。2.2教學(xué)效果學(xué)生通過(guò)自主學(xué)習(xí)實(shí)驗(yàn)指導(dǎo)書(shū)以及查閱文獻(xiàn)資料, 能夠選擇當(dāng)前流行的AADL語(yǔ)言建模工具(如OSATE等)輔助軟件系統(tǒng)的開(kāi)發(fā), 并能通過(guò)工具自帶示例快速的
9、學(xué)習(xí)AADL語(yǔ)法, 體驗(yàn)該語(yǔ)言的建模特性。例如, 有的學(xué)生選擇采用AADL文本的建模方法, 并利用現(xiàn)有的詞法、語(yǔ)法分析工具(如LEX, YACC)對(duì)AADL文本進(jìn)行分析驗(yàn)證;有的學(xué)生則以AADL文本相對(duì)應(yīng)的XML表示為基礎(chǔ), 采用XML解析技術(shù)(如DOM、SAX)自己實(shí)現(xiàn)模型解析與分析的邏輯。有的學(xué)生采用圖形表示方式進(jìn)行建模, 直觀明了, 但發(fā)現(xiàn)圖形表示的模型不便于之后的模型檢測(cè), 因此利用相應(yīng)工具將圖形轉(zhuǎn)換為文本方式, 進(jìn)行進(jìn)一步處理。通過(guò)做中學(xué)的模式, 學(xué)生通過(guò)實(shí)踐, 發(fā)現(xiàn)具體問(wèn)題, 激發(fā)學(xué)生的求知欲與好奇心, 再輔以詳實(shí)的實(shí)驗(yàn)指導(dǎo)書(shū)和豐富的參考資料, 提高學(xué)生自主探究解決問(wèn)題的能力。3以
10、項(xiàng)目驅(qū)動(dòng)提高學(xué)生綜合實(shí)踐能力3.1教學(xué)設(shè)計(jì)通過(guò)項(xiàng)目制的方式, 讓學(xué)生組成23人的團(tuán)隊(duì)實(shí)踐一個(gè)完整的基于模型驅(qū)動(dòng)的軟件開(kāi)發(fā)過(guò)程, 提高學(xué)生的綜合知識(shí)應(yīng)用能力、溝通合作能力、軟件復(fù)審能力、文檔撰寫(xiě)能力等多項(xiàng)綜合實(shí)踐能力。首先, 學(xué)生需要綜合軟件工程、操作系統(tǒng)、計(jì)算機(jī)組成原理等多門(mén)課程的知識(shí)來(lái)理解AADL各組件的建模語(yǔ)義, 并將其準(zhǔn)確地應(yīng)用于項(xiàng)目開(kāi)發(fā)各階段的建模。其次, 每組學(xué)生都要負(fù)責(zé)該組項(xiàng)目開(kāi)發(fā)的一個(gè)或多個(gè)階段的建模與分析任務(wù), 負(fù)責(zé)每個(gè)階段建模的學(xué)生還需要對(duì)其建立的模型采用適當(dāng)?shù)姆绞竭M(jìn)行分析驗(yàn)證, 如果發(fā)現(xiàn)問(wèn)題, 可回溯至上一階段的模型, 與其負(fù)責(zé)的學(xué)生進(jìn)行溝通確認(rèn), 共同解決問(wèn)題。同時(shí), 在
11、每個(gè)階段需要輸出規(guī)范的文檔, 以備復(fù)審, 且作為下一階段開(kāi)發(fā)的依據(jù)。3.2教學(xué)效果多數(shù)團(tuán)隊(duì)項(xiàng)目成員能夠嚴(yán)格按照軟件開(kāi)發(fā)瀑布模型各階段進(jìn)行任務(wù)分工, 并利用AADL語(yǔ)言固有的分層組件語(yǔ)義進(jìn)行自頂向下逐級(jí)細(xì)化的開(kāi)發(fā)。例如, 負(fù)責(zé)需求建模的成員使用AADL語(yǔ)言精確地刻畫(huà)出系統(tǒng)及子系統(tǒng)模型的輸入輸出接口, 并給出相應(yīng)的需求分析文檔。該團(tuán)隊(duì)負(fù)責(zé)概要設(shè)計(jì)的成員依據(jù)該需求分析文檔, 繼續(xù)在由AADL系統(tǒng)組件刻畫(huà)的需求模型的接口之下進(jìn)一步細(xì)化推導(dǎo)出體系架構(gòu)模型, 并輸出概要設(shè)計(jì)文檔。負(fù)責(zé)詳細(xì)設(shè)計(jì)的成員依據(jù)概要設(shè)計(jì)文檔, 在由AADL進(jìn)程組件刻畫(huà)的體系架構(gòu)模型的接口之下進(jìn)一步刻畫(huà)系統(tǒng)的動(dòng)態(tài)行為模型, 以保持系統(tǒng)
12、的一致性和可回溯性。由于整個(gè)軟件開(kāi)發(fā)過(guò)程的一致性, 當(dāng)發(fā)現(xiàn)問(wèn)題時(shí), 團(tuán)隊(duì)成員能夠依據(jù)該階段的模型和撰寫(xiě)的文檔快速向上回溯, 通過(guò)進(jìn)一步溝通探討, 及時(shí)解決問(wèn)題。4結(jié)語(yǔ)該項(xiàng)目作為華中農(nóng)業(yè)大學(xué)本科創(chuàng)新性實(shí)驗(yàn)項(xiàng)目之一, 來(lái)自于計(jì)算機(jī)科學(xué)與技術(shù)等六個(gè)不同專業(yè)的學(xué)生參加了總共30個(gè)學(xué)時(shí)的課程實(shí)驗(yàn)。學(xué)生自由組成了多個(gè)小組體驗(yàn)了基于AADL模型驅(qū)動(dòng)的軟件開(kāi)發(fā)方法, 通過(guò)“做中學(xué)”的方式, 從實(shí)際項(xiàng)目中體驗(yàn)了軟件工程從需求分析到詳細(xì)設(shè)計(jì)的自頂向下逐級(jí)細(xì)化的設(shè)計(jì)思想, 提高了學(xué)生的自主學(xué)習(xí)探索能力以及軟件開(kāi)發(fā)綜合實(shí)踐能力, 增加了學(xué)生探究科研、開(kāi)發(fā)可信軟件的興趣。該項(xiàng)目為軟件工程創(chuàng)新性教學(xué)改革提供了一種實(shí)用可行的參考方案。參考文獻(xiàn)1竇萬(wàn)峰.軟件工程方法與實(shí)踐(第3版)M.北京:機(jī)械工業(yè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版羅馬柱裝飾工程總承包合同4篇
- 二零二五版在建工程抵押擔(dān)保合同模板3篇
- 2025版?zhèn)€人汽車轉(zhuǎn)讓及二手車交易平臺(tái)合作與售后服務(wù)合同4篇
- 2025年度落水管施工工程保險(xiǎn)與理賠合同4篇
- 二零二五年度健康醫(yī)療大數(shù)據(jù)安全保障合作協(xié)議4篇
- 二零二五版股權(quán)回購(gòu)項(xiàng)目擔(dān)保及投資決策合同3篇
- 2025年食用菌種植基地與銷售渠道聯(lián)盟合同2篇
- 二零二五年度廣告公司廣告活動(dòng)策劃合同3篇
- 2025年高速公路車輛運(yùn)輸通行費(fèi)結(jié)算協(xié)議范本4篇
- 2024版消防系統(tǒng)維保合同范本
- 勞務(wù)協(xié)議范本模板
- 人教版(2024)數(shù)學(xué)七年級(jí)上冊(cè)期末測(cè)試卷(含答案)
- 2024年國(guó)家保密培訓(xùn)
- 2024年公務(wù)員職務(wù)任命書(shū)3篇
- CFM56-3發(fā)動(dòng)機(jī)構(gòu)造課件
- 會(huì)議讀書(shū)交流分享匯報(bào)課件-《殺死一只知更鳥(niǎo)》
- 2025屆撫州市高一上數(shù)學(xué)期末綜合測(cè)試試題含解析
- 公司印章管理登記使用臺(tái)賬表
- 磚廠承包合同簽訂轉(zhuǎn)讓合同
- 思政課國(guó)內(nèi)外研究現(xiàn)狀分析
- 2023年公務(wù)員多省聯(lián)考《申論》題(廣西B卷)
評(píng)論
0/150
提交評(píng)論