
【摘 要】軟件工程課程往往重理論輕實踐,達(dá)不到人才培養(yǎng)目標(biāo)。本文提出從采用案例教學(xué)法、重視課程設(shè)計和加強校企合作三方面來進(jìn)行實踐教學(xué)改進(jìn)。
【關(guān)鍵詞】軟件工程;實踐教學(xué)
【中圖分類號】G642?????? 【文獻(xiàn)標(biāo)識碼】A
【文章編號】2095-3089(2019)23-0268-01
一、教學(xué)現(xiàn)狀
軟件工程課程是軟件工程專業(yè)核心課程之一,要求學(xué)生學(xué)會運用工程化知識和方法進(jìn)行軟件的設(shè)計、開發(fā)、測試維護(hù)和項目管理,是一門指導(dǎo)學(xué)生科學(xué)規(guī)范進(jìn)行軟件開發(fā)的實踐性很強的重要課程。而在實際教學(xué)中,由于受到師資、教學(xué)方法和教學(xué)模式的局限和約束,老師往往注重講授軟件開發(fā)生命周期中各階段的概念、原理和方法,而給學(xué)生設(shè)計的相關(guān)實驗和實踐少之又少。整個課程下來,更像是一門理論課程,紙上談兵。學(xué)生覺得枯燥乏味,死記硬背應(yīng)付考試,完全背離了這門課程的培養(yǎng)目標(biāo)。這種重理論輕實踐的教學(xué)方式,無法培養(yǎng)出具有工程化實踐能力與團隊合作能力的學(xué)生,無法培養(yǎng)出緊跟業(yè)界發(fā)展和順應(yīng)社會發(fā)展的軟件工程高端人材。因此,有必要加強實踐教學(xué)的改進(jìn),以期達(dá)到培養(yǎng)人材的需要。
二、實踐教學(xué)的改進(jìn)措施
1.多采用案例教學(xué)法。
軟件工程課程中涉及到大量軟件開發(fā)過程中所用到的原理和方法,這些理論對于學(xué)生開展科學(xué)規(guī)范的軟件開發(fā)實踐有著很強指導(dǎo)意義,是實踐的基礎(chǔ)和前提。因此為了更好地開展實踐工作,學(xué)好基本理論是非常必要的。為了調(diào)動學(xué)生學(xué)生學(xué)習(xí)的積極性和學(xué)習(xí)興趣,在課堂上傳授實踐經(jīng)驗,授課老師可以多采用案例教學(xué)法。通過實踐案例的展示、講解和分析,學(xué)生容易直觀地觀察到相關(guān)原理方法在具體案例中的應(yīng)用,進(jìn)一步加深對理論的理解和認(rèn)識,積極運用相關(guān)知識進(jìn)行自己的軟件開發(fā)實踐。例如在講授軟件概要設(shè)計時,都會采用模塊化方法將復(fù)雜問題進(jìn)行簡化處理。如果只是泛泛而論模塊化的定義、優(yōu)點和方法,學(xué)生只會感覺很虛幻。老師將精心準(zhǔn)備的貼近學(xué)生生活實際的教務(wù)管理系統(tǒng)開發(fā)實例展示出來,效果就會完全不同。面對系統(tǒng)中學(xué)生、老師和教務(wù)管理人員紛繁復(fù)雜的功能需求分析,如何將它們簡化歸類處理,這就要用到能達(dá)到分而治之效果的模塊化方法進(jìn)行概要設(shè)計。依據(jù)功能屬性將系統(tǒng)分成學(xué)生管理功能模塊、老師管理功能模塊和管理人員功能模塊,并用層次結(jié)構(gòu)圖將系統(tǒng)各功能模塊描述出來。
2-1 教務(wù)管理系統(tǒng)模塊圖
2.重視課程設(shè)計。
為了幫助學(xué)生理解軟件工程中所用到的原理和方法,通常授課老師會在某些章節(jié)準(zhǔn)備相關(guān)實驗。如需求分析實驗,給出一個命題,讓同學(xué)們幾人組成一組,分別扮演客戶、系統(tǒng)分析員和項目經(jīng)理角色,通過討論和交流來明晰系統(tǒng)的功能需求,并最終形成文檔。軟件測試階段,給段程序代碼,讓同學(xué)們用所學(xué)的條件覆蓋法和路徑覆蓋法設(shè)計測試用例進(jìn)行測試。這些實驗確實就某些知識點進(jìn)行了對應(yīng)實踐,但這些實驗都是相互獨立的,缺乏關(guān)聯(lián)性和系統(tǒng)性。軟件工程開發(fā)各生命周期是一個相互關(guān)聯(lián)的緊密整體,為了更好地理解和應(yīng)用工程化方法及思想開發(fā)軟件,應(yīng)該推出和重視課程設(shè)計這樣的實踐環(huán)節(jié)。讓學(xué)生運用所學(xué)軟件工程知識自己動手去開發(fā)一個應(yīng)用系統(tǒng),如教務(wù)管理系統(tǒng)、圖書管理系統(tǒng)、訂票系統(tǒng)、水電繳費系統(tǒng)等。在開發(fā)過程中,不僅需要學(xué)生能綜合運用所學(xué)的有關(guān)數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫、編程語言工具等課程知識,更是需要經(jīng)歷需求分析、概要設(shè)計、詳細(xì)設(shè)計、代碼實現(xiàn)、軟件測試這樣一個規(guī)范完整的工程化開發(fā)過程。當(dāng)然,為了降低開發(fā)難度,通常6~8人組成一個小組,同學(xué)們互相協(xié)商組內(nèi)分工,各項任務(wù)落實到人,小組長負(fù)責(zé)協(xié)調(diào)開發(fā)進(jìn)度,每一階段工作完成要求形成規(guī)范文檔,組內(nèi)組織總結(jié)和評審。通過這樣一個具體應(yīng)用系統(tǒng)的開發(fā),將所學(xué)的理論完整系統(tǒng)地加以實踐應(yīng)用,這對于提高學(xué)生理解軟件開發(fā)生命周期各階段具體工作任務(wù)和如何運用工程化思維開發(fā)軟件是非常有益的。
3.加強校企合作。
實踐教學(xué)中課程設(shè)計環(huán)節(jié)雖然可以讓學(xué)生完整實踐一次軟件開發(fā)的所有階段,但由于考慮到學(xué)生的易理解和易實踐,課程設(shè)計選題范圍和難度十分有限。它更多注重的是整個軟件開發(fā)過程的訓(xùn)練。計算機開發(fā)技術(shù)和工具發(fā)展日新月異,更新迅速。為了讓學(xué)生開拓視野、增長知識、熟悉業(yè)界主流技術(shù)和工具,應(yīng)該積極加強校企合作,給學(xué)生提供見識和參與真實軟件開發(fā)的機會,進(jìn)一步加強學(xué)生的綜合實踐能力。為了挖掘優(yōu)秀人才和提前進(jìn)行人才儲備,國內(nèi)開展校企合作的企業(yè)非常多,包括百度、阿里云、淘寶等知名企業(yè)。企業(yè)可以給高校提供師資培訓(xùn)、人才培養(yǎng)、實踐實習(xí)平臺、實習(xí)就業(yè)等機會。例如百度致力于人工智能技術(shù)的研發(fā)和創(chuàng)新,它眾多項目中的校園菁英俱樂部有近百所,依托百度公司的強大技術(shù)支持,幫助數(shù)千名大學(xué)生實踐AI技術(shù)。我校也與電子技術(shù)公司景嘉微進(jìn)行合作,幫助軟件工程專業(yè)同學(xué)實踐嵌入式軟件的開發(fā)。企業(yè)提供的資金、技術(shù)、平臺和資源支持,有利于保障學(xué)生能夠緊跟業(yè)界發(fā)展,成長為軟件開發(fā)的高端人才。
三、結(jié)束語
軟件工程課程在重視理論教學(xué)的同時,更要注重學(xué)生的實踐能力培養(yǎng)。只有不斷地改進(jìn)目前的實踐教學(xué)內(nèi)容和方式,學(xué)生的軟件工程化開發(fā)能力才能得到切實的培養(yǎng)和提高。
參考文獻(xiàn)
[1]鞠小林. 現(xiàn)代軟件工程教學(xué)研究.計算機教育,2013-11.
[2]張敏. 軟件工程創(chuàng)新教學(xué)模式探索與實踐.集美大學(xué)學(xué)報,2018-1.
作者簡介:鄧冬梅(1974-),湖南師范大學(xué)副教授,研究方向:計算機軟件。