前言:尋找寫作靈感?中文期刊網(wǎng)用心挑選的軟件工程教學平行實驗運用,希望能為您的閱讀和創(chuàng)作帶來靈感,歡迎大家閱讀并分享。
摘要:
《軟件工程》是一門理論與實踐緊密結(jié)合的學科。目前的實驗教學存在諸多問題,本文總結(jié)了多年來《軟件工程》的實驗教學經(jīng)驗,提出了章節(jié)實驗+課程設計的教學實驗方案,并在教學中合理運用,取得了有效地成果。
關鍵詞:
軟件工程;課程設計;實驗教學
0引言
隨著Web程序設計及云與大數(shù)據(jù)在各領域中的廣泛使用,工程化的開發(fā)人員越來越被需要,然而在現(xiàn)有高校的《軟件工程》教學中,不太注重對學生的軟件設計、開發(fā)及運行維護能力的培養(yǎng),而往往把大量的理論灌輸在軟件工程這門課上[1-3]。如何在《軟件工程》教學中最大限度地激發(fā)學生的實踐能力是亟待解決的一個重要課題。另一方面,基于軟件生命周期的工程化開發(fā)方法,歸根結(jié)底屬于文檔驅(qū)動型的開發(fā)方法,如何引導學生書寫規(guī)范化的軟件開發(fā)文檔也是我們教學過程中應該注重的一部分。鑒于此,我們提出了章節(jié)實驗+課程設計的啟發(fā)式軟件工程實驗教學模式,以激發(fā)學生的學習積極性,增強學生的實踐開發(fā)能力。
1目前軟件工程實驗教學中存在的問題
1.1理論教學缺乏新意,無法激發(fā)學生的學習興趣
《軟件工程》課堂教學內(nèi)容基本為理論講授,按照軟件的全生命周期過程,分別給學生介紹了問題定義、可行性研究、需求分析、概要設計、詳細設計、編碼測試與維護的相關理論知識。通過課堂教學,大部分學生只掌握了基本概念、開發(fā)原理,開發(fā)方法。課堂授課枯燥無味加上內(nèi)容較抽象,嚴重影響了實際教學效果。實際上,隨著軟件開發(fā)規(guī)模的不斷擴大以及對軟件質(zhì)量要求的提高,軟件工程課程的教學內(nèi)容及教學模式更應該注重理論與時間的結(jié)合。既要注重軟件設計的基本原理與方法,還要注重軟件開發(fā)的實踐經(jīng)驗以及技術運用。
1.2實驗內(nèi)容不具體,學生無從下手
目前的《軟件工程》實驗,一般只有一個課程設計,題目自選,類型自選。這樣的實驗要求缺乏具體性,使得學生無從下手。另外《軟件工程》的整個教學過程是基于軟件生命周期的過程,在每個相關階段都有具體的實施技巧與實施方法,可以將具體的的技術方法以小實驗的形式命題[4-8]。比如在講到需求分析的工具數(shù)據(jù)流圖時,可以給出一個小型系統(tǒng)功能的問題描述,然后讓學生利用MicrosoftVisio畫出描述該業(yè)務流程的數(shù)據(jù)流圖,這樣既可以將理論應用于實踐,又體現(xiàn)了文檔驅(qū)動型的開發(fā)理念。
1.3實驗教學缺乏有效的檢測機制
目前的實驗教學,教師一般是把課程設計布置下去,然后讓學生獨立完成。但是對于沒有任何開發(fā)經(jīng)驗的學生來說,根本無從下手,所以80%的學生最后放棄了實驗。只有部分學生開展了課程設計,但中途遇到困難也就放棄了。因此規(guī)定好課程設計的題目,進行有效的選題知道,中期審查以及后期檢查等活動,可以督促學生完成設計。另外,在整個課程設計過程中,教師的輔導時必不可少的。
2章節(jié)實驗與課程設計相結(jié)合的平行實驗教學模式
隨著理論教學的推進,在適當?shù)闹R點完成后,安排小實驗,以鞏固所學知識。另外,大實驗設計即課程設計貫穿整個學期,通過大實驗的設計與實現(xiàn)使學生實際體驗系統(tǒng)開發(fā)全過程。這樣大小實驗穿插進行,相輔相成,相得益彰。
2.1章節(jié)實驗內(nèi)容的設計
《軟件工程》理論教學是按照軟件生命周期的全過程完成的,在各個開發(fā)實施的階段都會介紹到開發(fā)原理、開發(fā)工具、開發(fā)技術[9-14]。比如在可行性研究階段會介紹到數(shù)據(jù)流圖、數(shù)據(jù)字典;在需求分析階段會介紹到E-R模型、層次方框圖、Warnier圖等;在設計階段會介紹到結(jié)構(gòu)化的設計方法、過程設計工具PAD圖、判定表、判定樹等;在實現(xiàn)階段會介紹到各種測試方法:單元測試、集成測試、回歸測試、白盒測試、黑盒測試等;在面向?qū)ο蟮拈_發(fā)方法中又會介紹到UML的各種模型圖。對于這些知識點,我們都設置了小實驗以鞏固學生的理論知識。其實驗設計如表1所示:小實驗的內(nèi)容貫穿整個實驗教學過程,通過十個小實驗的練習,將課本上90%的知識點覆蓋,學生即通過實驗鞏固了理論知識,又學會了如何將理論知識應用于實踐,還掌握了一些文檔編寫需要的工具。
2.2課程設計實驗的設計
課程設計以應用型軟件系統(tǒng)研發(fā)為主,教師給出部分的設計實施題目,也可以學生自選設計題目,但教師要最后把關。根據(jù)實際需求,靈活選定軟件項目,在規(guī)定的周期界定范圍內(nèi),學生完成相關的階段性任務,以規(guī)范性的文檔形式提交任課教師審閱。批準后,以此為據(jù),展開下一階段任務。整個的分析、設計和研發(fā)過程,是以規(guī)范性的文檔形式為審閱結(jié)果及實踐提交成果。課程設計以軟件生命周期為依據(jù),序列化螺旋式展開,每一階段都以相應的文檔性資料為依據(jù),通過審核后方可進入下一階段的任務,最后提交軟件系統(tǒng),整理代碼結(jié)構(gòu),以及相關的后期工作任務總結(jié)資料。
2.3兩種實驗內(nèi)容相輔相成
所謂平行實驗室指在以種教學實驗任務中,以兩條不同的主線開展實施,兩個中心的實驗分別針對不同的知識點和鍛煉方向。中心的實驗內(nèi)容,表1旨在鍛煉學生的基礎理論知識的實踐運用,表2旨在鍛煉學生的實踐綜合運用能力。兩個實驗方向平行進展,同時開始,分別進行。從不同角度和方向促進了學生的實踐能力的培養(yǎng)。
3平行實驗教學模式的具體實施方案
3.1平行實驗開展過程及方法
對于小實驗,我們以章節(jié)為單位,當學習到相關的理論知識時,開展適應的小實驗內(nèi)容。學生獨立完成小實驗,并提交實驗報告。對于課程設計,我們以小組為單位完成,每小組大概10人左右,設定隊長,有效劃分工作任務。在規(guī)定的時間內(nèi),由小團隊獨立完成。在任務的展開過程中,出現(xiàn)問題,由教師與學生一起共同解決,并且主要采取引導的方式啟發(fā)學生獨立分析和解決問題。
3.2平行實驗模式的教學收效
本實驗課程在3屆軟件工程相關專業(yè)的教學中實施,通過該課程的學習,學生鞏固和加深了軟件的工程化和系統(tǒng)化知識,了解了整個學科、專業(yè)和課程的發(fā)展前沿和實施背景,進一步加強了學生個體綜合設計及創(chuàng)新能力的培養(yǎng),同時良性引導和培養(yǎng)了學生實事求是、嚴肅認真的科學作風和良好的學習和實踐習慣,為今后的就業(yè)和深造打下扎實的基礎。
4結(jié)論
《軟件工程》實驗在學院實驗室以及部分合作實施單位的開發(fā)梯隊中展開,收到了良好的效果。我們實時記錄學生的項目執(zhí)行過程,做好日志的量化登記,為此指定了學生的校外實踐指導教師參與,以后將利用校企合作這個廣闊平臺,更加深入的進行工程化的實踐練習。
作者:王妍 高仲合 倪建成 單位:曲阜師范大學軟件學院
參考文獻
[1]李曉東,魏惠茹,董振華.項目驅(qū)動教學法在計算機程序設計語言課中的探索[J].軟件2015,36(4):107-109。
[2]張作輝.淺談計算機教育教學的分組模式[J].軟件,2014,35(1):132-133
[3]王蕾.計算機上機實踐課程改革探索[J].軟件,2014,35(2):172-173.
[4]李冬芬,施鍵蘭,黃文秀.獨立學院非計算機專業(yè)VFP課程趣味性教學探討[J].軟件,2012,33(8):128‒129
[5]陽小華,李萌,劉志明軟件工程學生團隊構(gòu)建的案例分析[J]計算機教育2011,5:57-61。
[6]葉麗麗.關于計算機網(wǎng)絡課程教學改革的探討[J].軟件,2013,34(5):159-160.
[7]趙乃東.信管專業(yè)網(wǎng)絡工程實踐教學課程體系建設方案的探討[J].軟件,2014,35(7):68-71.
[8]堯新遠.計算機應用軟件教學方法創(chuàng)新探究[J].軟件,2012,33(9):134‒135
[9]蘭春霞.淺析在計算機教學中學生創(chuàng)新能力的培養(yǎng)[J].軟件,2012,33(9):129‒130
[10]楊志耘劉建賓軟件工程任務驅(qū)動教學模式的探索與構(gòu)建[J]高等理科教育2005,24(6):59-63。
[11]殷勇,鄭廣成.中高職計算機類現(xiàn)代職業(yè)教育課程體系的建設研究[J].軟件,2014,35(10):63-66
[12]龍超,潘黎陽,熊剛強.高校計算機基礎課改革走向的研究[J].軟件,2014,35(6):111-114
[13]譚林海.基于云計算的教學資源管理模型設計[J].軟件,2014,35(6):97-99
[14]劉波,沈岳,戴小鵬,等.融合MOOC與翻轉(zhuǎn)課堂原理的信息類課程設計方案與實踐[J].軟件,2014,35(5):97-101