蘇丹 鄒紅 崔曉微 仲曉慶 馬英瑞
摘 要:創(chuàng)新型和創(chuàng)業(yè)型人才的培養(yǎng)是當前推進高校教育教學改革的重點。軟件工程專業(yè)是近年來就業(yè)比較熱門的專業(yè)之一?!盾浖こ虒д摗氛n程是該專業(yè)非常重要的一門專業(yè)基礎課程,也是軟件開發(fā)系列課程的基礎。針對當前該門課程在教學中存在的問題,并結合當前各高校開展的應用型轉(zhuǎn)型的發(fā)展目標,文章提出基于項目的實踐訓練的授課形式的教學模式,以進一步改善軟件工程專業(yè)人才培養(yǎng)的效果。
關鍵詞:應用型;基于項目;實踐訓練;答辯考核
中圖分類號:G642 文獻標志碼:A 文章編號:2096-000X(2017)08-0119-02
Abstract: The training of personnel with innovation and entrepreneurship is the key of university education reform. "Software engineering" is one of the hottest majors in recent years. The introduction to software engineering is an important professional basic course, as well as the base of software development courses. Aiming at the problems in the teaching and the development goals of application transformation of universities at present, this paper proposes a teaching model based on project practice training to further improve the training effect of software engineering majors.
Keywords: application type; project based; practice training; reply examination
隨著我國高等教育改革的進一步深化,由教育部提出針對在校大學生的創(chuàng)新型人才和創(chuàng)業(yè)型人才的培養(yǎng)正逐漸成為應用型院校轉(zhuǎn)型的目標。那么如何讓在校大學生具備軟件項目開發(fā)的技能和知識也是軟件工程專業(yè)的培養(yǎng)目標之一。培養(yǎng)學生軟件開發(fā)的應用能力已經(jīng)成為軟件工程專業(yè)的人才培養(yǎng)的首要目標。[1]《軟件工程導論》課程的教學任務也由原來軟件開發(fā)理論知識的講授轉(zhuǎn)變?yōu)檐浖_發(fā)基本技能和文檔撰寫能力的訓練和培養(yǎng),通過學習這門課使學生能夠了解軟件開發(fā)的流程,并且知道在開發(fā)的過程中每個階段都做什么和怎么去做,讓學生能夠直接進入到項目組里,參與軟件項目開發(fā)。這樣改革的好處是多樣的:1.這樣除了對學生應用能力進行了培養(yǎng),而且讓學生對軟件項目的了解進一步加深,后續(xù)為以后的其它專業(yè)課的學習也打下了基礎;2.在同步開設的其他課程中,進行橫向聯(lián)合,讓學生都針對同一項目進行訓練,讓學生能夠?qū)W有所用,大大提高了學習興趣和積極性;3.對各門專業(yè)課的教學內(nèi)容和方式都有所觸動,促進了教學改革的深入。
目前,國內(nèi)各個高校的軟件專業(yè)中都開設有《軟件工程導論》這門課。多數(shù)學校還是當作一門專業(yè)基礎理論課來講授,這樣的學校大多是研究型大學,學生基礎比較扎實,對枯燥的理論可以接受,但是只學理論沒有實踐造成的后果是學完就忘,學生只會答題;還有一些學校對《軟件工程導論》課程進行了一些改革,比如將理論基于一種開發(fā)環(huán)境的軟件開發(fā),試圖將理論和實踐相結合,但是多數(shù)是面向?qū)ο箝_發(fā)方式,理論多實踐少,落到實際課堂教學上還是教師說的多,學生做的少,對學生實踐能力培養(yǎng)并沒有多大的改變。
對課程的教學改革主要包括教學內(nèi)容的改革,教學方式方法的改革,考核方法的改革。
一、教學內(nèi)容的改革
目前《軟件工程導論》課程的教學內(nèi)容包括:軟件開發(fā)基礎知識,需求分析,總體設計、詳細設計、編碼、測試[2]、項目管理這些內(nèi)容,采用的是結構化的軟件開發(fā)方法。之前我們只講理論知識,特別是開發(fā)過程中的一些技術和軟件,但是學生學完即使會做題也不會開發(fā)項目?,F(xiàn)在,我們將教師實際參與開發(fā)的項目帶領學生從需求開始分析,進行總體設計和詳細設計加入到授課內(nèi)容中,結合實際的項目開發(fā)的內(nèi)容,把理論和實踐相結合。
學生邊學理論知識,邊完成自己的項目,可以將學到的知識應用到項目中,做到學有所用。希望培養(yǎng)學生整體軟件開發(fā)的方法、軟件項目管理能力、軟件需求分析能力、數(shù)據(jù)庫設計能力、人機交互設計能力、軟件測試計劃及方案的制定能力、課程報告撰寫能力、學習態(tài)度等各方面能力。
二、教學方式方法的改革
《軟件工程導論》是一門理論課,多數(shù)是在多媒體教室由教師講授為主進行授課。現(xiàn)在,在開課之初,我們要求每個學生申報一個題目,整個學習過程中學到哪個階段,學生就自己去完成所申報題目的該階段的任務,這樣課堂上老師講怎么開發(fā)軟件,在課下布置了大量的階段性文檔要求學生去完成,而且各個階段所采用的方法也不同,隨著各階段任務的完成,學生也體會到了項目開發(fā)的過程、方法。
為了保證學生提交的階段文檔的質(zhì)量和保證學生的項目能夠順利進行,我們將階段評審添加到了教學過程中。學生需要提交的階段任務文檔有:《軟件需求規(guī)格說明書》、《軟件概要設計說明書》、《軟件測試報告》和《課程綜合報告》。其中《課程綜合報告》中要求按照畢業(yè)論文的格式要求去排版和完成,希望同學們通過這樣的訓練能夠在畢業(yè)設計中取得較好的效果和成績。
在教學改革時我們還嘗試著和同時開設的《數(shù)據(jù)庫原理與應用》、《面向?qū)ο蟪绦蛟O計》等課聯(lián)合起來,分別針對同一題目進行階段訓練,在最終答辯的時候由三門課的老師同時參與答辯,答辯成績被記入到三門課的最終成績里,比如《數(shù)據(jù)庫原理與應用》課學習如何設計數(shù)據(jù)庫就應用在了《軟件工程導論》課的總體設計階段,學生需要畫出E-R圖,給出主要表結構;《面向?qū)ο蟪绦蛟O計》課最終就是根據(jù)《軟件工程導論課》分析和設計的結果用JAVA語言開發(fā)出一個小項目,這樣學生不僅寫出了階段文檔,最終還能做出一個實際的項目,增加了完整性和學習積極性。
三、考核方法的改革
原來我們都是采用試卷考核的方式,但是試卷考核只能考察學生的知識掌握能力,并不能考核學生的實踐應用能力,而我們希望通過這門課程讓學生具備一定的軟件開發(fā)實踐能力,所以由試卷考核改為答辯考核和平時階段性評審。[3]這也要求在開課之初就制定出比較詳細和全面的考核方案,我們的考核方案從課程報告、答辯平時表現(xiàn)這三大方面出發(fā)進行考核,具體考核標準如表1。
而且,在課程報告提交時,我們有統(tǒng)一的文檔格式和內(nèi)容要求,包括需求分析報告,概要設計報告、測試報告、課程設計報告,在平時授課階段就需要提交上來;而答辯時,將學生答辯的項目原型與學生之前提交的需求、設計進行對應,審核是否是按照需求和設計進行的開發(fā);而且在近幾次的答辯中,我們將答辯所占的比重逐步增加,這樣可以看出學生的表達能力、思維能力、項目綜合運用能力的高低。
《軟件工程導論》課程改革的目標就是希望將枯燥、抽象的理論課變成充滿趣味和挑戰(zhàn)的實訓課,讓學生通過本課程學習能夠知道項目開發(fā)各階段的工作內(nèi)容,且能夠開發(fā)一個簡單的項目,避免在畢業(yè)設計時犯一些軟件開發(fā)的常識性錯誤,比如項目開發(fā)流程弄錯,如何進行分析和設計等等。同時為了提高學生的創(chuàng)新能力,讓學生自己申報題目,從需求分析到最終分析設計結束都需要學生自己動手來做,通過學習軟件工程思想和方法去完成軟件開發(fā)過程,可以調(diào)動學生的主觀能動性,真正做到獨立思考,能夠激發(fā)學生的潛能和創(chuàng)新性,為創(chuàng)新型和應用型人才的培養(yǎng)打下堅實的基礎。
參考文獻
[1]王菁華.地方高校向應用型轉(zhuǎn)型必須實現(xiàn)三個根本轉(zhuǎn)變[J].職業(yè)教育,2016.
[2]韓萬江.軟件工程實例教程[M].機械工業(yè)出版社,2014,3.
[3]普措才仁,蔡光波.軟件工程專業(yè)實踐課程改革與創(chuàng)新研究[J].教育教學論壇,2016(33):78-79.