梁寶華 鄭尚志 邢慧芬
(巢湖學院,安徽 巢湖 238000)
基于校企聯(lián)動平臺的軟件工程實踐教學改革與創(chuàng)新
梁寶華 鄭尚志 邢慧芬
(巢湖學院,安徽 巢湖 238000)
針對傳統(tǒng)軟件工程實踐教學過程中存在的問題,提出了以校企聯(lián)動平臺為主要實踐平臺的教學改革方法,開展校企聯(lián)動平臺構建、實踐過程的把控、逆向工程教學方法應用、企業(yè)環(huán)境模擬、考核方式的改革等一系列教學活動,有利于應用型人才的培養(yǎng),提高學生的工程實踐能力、創(chuàng)新能力及團隊合作精神和協(xié)調能力。
軟件工程;校企聯(lián)動平臺;實踐教學改革;考核方式
軟件工程是研究和應用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)、運行、維護及對其中方法的理論研究[1]?!盾浖こ獭肥擒浖こ虒I(yè)、計算機科學技術專業(yè)的主要核心課程之一,是綜合性極強的一門課程,所包含的內容豐富,主要有軟件開發(fā)模型、統(tǒng)一建模語言、軟件需求分析、概要設計、詳細設計及編碼、軟件測試、軟件運行及維護、軟件工程標準及文檔編寫、軟件工程項目管理、軟件開發(fā)技術及環(huán)境配置等。如此豐富的內容,如何在有限的學時內有效組織實驗教學,是軟件工程實踐教學改革的重點。
由于軟件工程課程強實踐性的特點及社會對軟件人才的要求,學生僅具備編程能力是遠遠不夠的,還要具備對問題的分析能力、文檔編寫能力、團隊合作能力、溝通能力等,才能夠靈活運用工程的方法去管理軟件開發(fā)的過程,承擔軟件項目的研發(fā)任務。現(xiàn)實中的軟件工程課程開設,因具體教學過程中存在多方面條件的制約,使實踐教學效果不理想。為探索出有效的軟件工程課程教學模式,達到理想的實踐教學目標,國內眾多高校本著符合社會需要為目的,提出很多有效的方法和措施。武漢科技大學計算機科學與技術學院以“任務驅動”教學來突出實踐教學[2];因“任務驅動”方式使學生只能按照教師的思維思考問題,不能進行深刻的自我創(chuàng)新、思考,導致學生缺乏對軟件工程的系統(tǒng)認識[3]。為此,孫明等提出設計型項目驅動的軟件工程實踐教學改革思路,以創(chuàng)新軟件人才培養(yǎng)模式為導向,發(fā)揮學生的主體作用、教師的引導作用,構造典型實用的軟件項目案例簇,進行分階段教學設計[4]。這些方法的共同點就是加大實踐教學的力度,增強理論與實踐的結合度,提高學生解決實際問題的能力,讓學生在實踐中總結經驗。
巢湖學院軟件工程課程組教師基于應用型軟件人才的培養(yǎng)目標定位,針對實踐教學中普遍存在的問題,在軟件工程實踐課程的教學內容、教學方法、考核方式等環(huán)節(jié)上進行了系統(tǒng)而深入的改革與研究。
軟件工程實踐教學效果不理想,是因某些教學環(huán)節(jié)安排不得當引起的。以我校在軟件工程實踐課程中遇到的問題為例,具體描述如下:
1.1 實踐學時不足。由于總學時的限制,我校設置《軟件工程》課程的學時一般為40節(jié)理論課,8節(jié)實驗課,另加一周課程設計,若課程設計以每周24學時計,則總計實踐學時32。對于開發(fā)具有一定規(guī)模的軟件,通常是以年和月來計劃開發(fā)進度,即使是對一個軟件公司來說也是如此。顯然制定的實踐學時離實際需要的學時相差甚遠。面對這樣的學時安排,教師只能走馬觀花地讓學生了解開發(fā)流程,或有針對性地選擇部分環(huán)節(jié)講解,無法真實地、深入地了解軟件開發(fā)過程中流行的方法和技術,學生的開發(fā)能力得不到實質性的提高。
1.2 課堂質量監(jiān)控不到位。學生對于理論內容本來就似懂非懂,到實踐時更是束手無策,很難調動學生的積極性。學生在實踐時,完全處于一種應付老師的態(tài)度,看小說、打游戲現(xiàn)象嚴重。對老師布置的任務一是無能力完成,二是根本也不想花精力去完成,稍認真的學生抄一下實驗指導書內容,完成實驗報告。教師對實踐課的教學也沒有一個固定的計劃,導致教師教不好,學生學不好。
1.3 教學內容過時。軟件工程課程具有很強的時效性[5],對于高度發(fā)達的IT時代,軟件開發(fā)的原理、技術和方法都在不斷更新。但實際的實踐教學內容過于單一,多數(shù)僅局限于教材上的實驗。要培養(yǎng)符合社會需要的人才,課程教學必須符合時代的需要,剔除一些不合時宜的技術和方法,及時補充新技術、新方法。
1.4 教學方法單一。傳統(tǒng)的“填鴨式”教學方法以教師為主導,學生只是被動學習,對于抽象的理論知識學生感到枯燥乏味。課堂上教師按提前設計好的實驗指導書步驟介紹實驗內容,對于涉及到編程內容的還有源碼,學生受指導書上步驟的影響,將全部內容一字不漏地輸入到計算機,進行編譯、調試、運行,學生完全變成了打字員,專業(yè)能力根本得不到鍛煉。遇到新的任務時,感到茫然,無從下手。
1.5 理論脫離實踐。由于實踐課時安排較少,而軟件工程課是綜合性很強的課程,涉及到的知識也很多,無法在實踐課中將所有的理論知識得到體現(xiàn)或驗證,很多抽象的理論知識只是由教師口頭描述。大部分高校在進行課程設計時,提供的實驗項目過少,且選題規(guī)模不大,導致只能鍛煉軟件開發(fā)過程的部分環(huán)節(jié)。這樣,無法達到預期的教學目標,無法將軟件工程的理論充分運用到實踐中去。
1.6 成績考核不客觀。多數(shù)實踐教學是在實踐環(huán)節(jié)結束后,以答辯或實驗報告形式來評定學生的實踐成績,特別是實驗報告形式,多數(shù)學生只是將實驗指導書重復抄一篇,不能體現(xiàn)學生真實的實驗效果,考核有很大程度的片面性。應當綜合考慮學生的課前、課上、課后的多方面因素,如課堂表現(xiàn)力、作業(yè)的完成率、完成項目的難易度、項目完成的時間、團隊的協(xié)調能力等。
良好的教學效果不能只靠簡單的擴大學時數(shù)、更新教學內容來實現(xiàn),更要有好的實踐平臺、好的項目資源、好的教學方法、好的客觀的考核方式等,這樣才能在實踐過程中,真正將軟件工程課程的理論應用于項目開發(fā),培養(yǎng)學生的綜合能力。本次實踐教學改革從六個方面進行改革。
2.1 校企聯(lián)動平臺構建
好的實踐平臺可以充分調動學生的積極性,學生有更多的實踐機會,能學到最新的技術,收到最好的教學效果。校企聯(lián)動平臺將學校、企業(yè)、學生、教師等角色互動起來,發(fā)揮每個角色的最大作用,總體框架如圖1所示。
圖1 系統(tǒng)框架圖
平臺建設的思路是:學校與知識企業(yè)合作,共建實驗平臺,企業(yè)提供項目資源,學校指派教師對企業(yè)項目可以按專業(yè)知識點進行任務分解,可以從編程能力、管理能力、團隊協(xié)調能力、創(chuàng)新能力等方面考查,學生在平臺上下載任務,完成后并提交,教師對學生的完成情況打分,將學生實驗成績反饋到實驗平臺,企業(yè)對成績好的學生實行激勵措施,企業(yè)可根據(jù)平臺了解學生的各方面能力,有針對性選擇人才,減少學生所學的知識與實際應用脫軌現(xiàn)象,平臺總體運行模式如圖2所示。
圖2 校企聯(lián)動平臺運行模式
2.2 實踐過程的把控
通過上述平臺,教師可根據(jù)不同的學生,分配合適的任務。學生必須在有限的時間內,將課程的實踐任務下載,要在規(guī)定的時間內完成并提交結果。教師在終端可隨時監(jiān)控學生執(zhí)行任務的過程。由于實踐平臺通過獎勵的方式來激發(fā)學生承接任務,根據(jù)完成的時間及效果來評定,對于高效完成任務的學生能夠獲得一定的虛擬貨幣。學生能夠在實踐平臺上找到自信,學習勁頭十足,一改過去實踐課“混時間”的現(xiàn)象。教師的主要任務:在實踐課前要必須將項目內容準確分解到專業(yè)知識點,因為其任務分配的準確性,直接影響學生完成的效果。課前充分準備,課堂上有更多的時間幫助學生解決實際開發(fā)遇到的問題,課堂氣氛活躍,節(jié)奏有條不紊。此外,還能調動學生,利用好各自的業(yè)余時間。
2.3 逆向工程教學方法應用
傳統(tǒng)的“教學做”模式采用“先理論,后實踐”,教師先集中介紹各類方法的理論及應用技術,然后再讓學生模仿去實驗、驗證,約束了學生的發(fā)散思維,創(chuàng)新能力得不到發(fā)揮。
軟件工程是門實踐性很強的課程,對于缺乏項目實戰(zhàn)經驗的學生來說,很難理解空洞的理論知識,更別談如何將理論應用到實踐中去。逆向工程改變傳統(tǒng)的做法,以“做學教”的逆向教學模式。逆向工程是指從已發(fā)布的軟件產品中分析軟件代碼,抽取有關數(shù)據(jù)、體系結構和處理過程等設計信息,以便進行軟件重構和再造工程[6],其本質是通過對已有產品進行改進和創(chuàng)新,在軟件重構過程中,不斷積累經驗。
通過逆向思維的教學模式,在教師的指導下,學生對已有軟件產品進行問題發(fā)現(xiàn),讓學生討論解決問題的辦法,充分發(fā)揮學生的主體能動性,由被動型學習轉換為主動型學習。為配合逆向教學模式,適當調整實踐教學內容,將整個軟件開發(fā)的各階段逆向處理,具體如下:(1)從軟件用戶端感受軟件的友好性、完善性,記錄遇到的問題。(2)根據(jù)用戶端對軟件的感受,提出軟件維護的要求及相關解決的辦法。(3)從軟件通用性、創(chuàng)新性、預防性研究編碼的規(guī)范及原則,并對源碼進行修改及擴充。(4)從源碼推敲軟件詳細設計文檔,考慮數(shù)據(jù)字典的組成及各數(shù)據(jù)元素之間的相關性。(5)從數(shù)據(jù)的處理流向、處理過程,逆向思考軟件的總體設計。(6)根據(jù)用戶對軟件的意見反饋,適當修改軟件需求分析,再回顧整個軟件開發(fā)過程,最優(yōu)化開發(fā)模型。
2.4 企業(yè)環(huán)境模擬
校企聯(lián)動平臺提供了大量的真實企業(yè)項目,教師可以模擬企業(yè)環(huán)境,讓項目發(fā)生的活動再重演一遍。根據(jù)項目的需要,設計不同的用戶角色,按學生自愿組隊、兼顧學生專業(yè)背景及實際能力的原則,將學生分成若干組,讓學生扮演不同的角色,系統(tǒng)分析師與項目經理對各類用戶進行需求分析、調研,完成需求說明書。開發(fā)過程中,還需要其他數(shù)據(jù)庫設計人員、程序員、軟件測試員等,按部就班地完成各自的任務。為培養(yǎng)出能夠適應企業(yè)環(huán)境及市場的需要人才,須注意如下:
2.4.1 項目進度的安排
教師按標準軟件開發(fā)步驟 “軟件需求分析、概要設計、詳細設計、編碼及測試”分解任務,根據(jù)項目開發(fā)的規(guī)律及學生的能力,規(guī)劃進度。
2.4.2 實踐時間要求
企業(yè)的軟件開發(fā)是封閉式,因為企業(yè)要在規(guī)定的時間內交付軟件產品。為了營造企業(yè)的開發(fā)環(huán)境,要讓學生首先要守時。可以計劃在2—3周內,采用機房集訓的方式,嚴格按企業(yè)的作息時間安排,學生在沒有特殊的情況下不準請假,每天上、下班執(zhí)行考勤打卡,讓學生感受到企業(yè)真正開發(fā)過程的緊迫感。
2.4.3 每天任務執(zhí)行情況標示
設計一個任務物理墻,以周為單位,將每天的計劃任務、未解決的問題粘貼在物理墻上,提醒開發(fā)小組有針對性地開會討論要解決的問題,開發(fā)成員從中不斷感受到問題解決的成就感。
由于平臺的開放性,項目均來源于企業(yè)。通過真實企業(yè)項目的訓練,培養(yǎng)學生創(chuàng)新能力、團隊協(xié)調能力、專業(yè)實踐能力,為畢業(yè)后的就業(yè)打下扎實的基礎。
2.5 考核方式的改革
考核制度的健全與否,關系到評價學生學習效果的合理性。全面而客觀的評價方法,能夠有效衡量學生的能力。對軟件工程實踐課程的考核,不僅要看項目完成的效果,更要看學生執(zhí)行過程的表現(xiàn)。
2.5.1 注重過程性評價
實踐考核不能只靠一張筆試試卷定成績,要注重實踐過程的培養(yǎng),要對完成項目的過程進行評價,要從出勤率、計劃完成度、材料規(guī)范性、提問頻率等方面評價過程??记诮Y果能夠反映學生參與項目的積極性,鍛煉以后對工作的積極態(tài)度。計劃完成度能夠反映學生對自己制定的計劃及實際執(zhí)行時間的符合度,鍛煉學生完成任務的條理能力。材料規(guī)范性反映學生軟件工程開發(fā)文檔的準確掌握程度,鍛煉學生文檔的編寫能力。提問頻率反映學生在開發(fā)過程中遇到問題勇于提問、勇于探討,鍛煉學生勇于解決實際困難的能力。
2.5.2 軟件產品完成的效果
軟件工程實踐課最終是以學生開發(fā)的軟件產品為評價依據(jù),產品質量的好壞直接關系到學習效果的體現(xiàn)。對軟件產品質量的衡量從界面的友好性、功能的完善性、產品的創(chuàng)新性及可擴展性方面考慮。界面的友好性,影響用戶對產品質量的判斷標準,影響用戶對產品價格的裁定,影響企業(yè)的利潤。功能的完善性,影響產品的可用性,要做到既有同類產品的共性,又要有自身的個性。產品的創(chuàng)新性表現(xiàn)在軟件的可擴展性,以便解決將來可能的需求,提升產品在市場上的知名度。
2.5.3 公開答辯環(huán)節(jié)
按照軟件工程文檔規(guī)范要求,完成項目的實驗報告,并面向全班學生公開答辯。秉著公平、公開、公正的原則,答辯組成員由每個項目組的項目經理、指導教師組成,小組成員展示項目設計的創(chuàng)新點、新技術和巧妙的實現(xiàn)方法,負責答疑。答辯成績?yōu)閷嵺`課成績的一部分。公開答辯可充分發(fā)揮學生的主觀能動性,更易發(fā)現(xiàn)學生存在的不足,激勵學生不斷改進,進一步提高學生素質。
基于校企聯(lián)動平臺的實踐課教學改革方法在巢湖學院信息工程學院軟件工程實踐課程教學中得到了成功的應用。我們對軟件工程專業(yè)130名大三的學生進行了調查。調查結果顯示大多數(shù)學生比較認同該實踐方法,因為通過此平臺,可以獲取大量的企業(yè)項目資源;可以根據(jù)自己的興趣選擇合適的任務,有針對性地培養(yǎng)能力;教師可以第一時間了解學生對課程的掌握程度及存在的不足;企業(yè)通過學生完成項目的效果,選擇對口的學生;增加學生就業(yè)競爭力。如果學生能夠完整地參加兩三個項目,可提升學生的分析能力、解決問題的能力、專業(yè)實踐能力、創(chuàng)新能力、團隊合作能力、溝通能力等。此平臺還可進一步推廣、應用于其他同類設計型課程的實踐教學,激發(fā)學生學習興趣,改被動型為主動型學習,增強學生的專業(yè)綜合能力。
[1]樸勇.軟件工程實驗教程[M].北京:郵電出版社,2015.
[2]張曉龍.面向應用型人才培養(yǎng)的軟件工程課程改革與實踐[J].計算機教育,2010,(5):10-13.
[3]汪璟玢,葉福玲.案例與項目實踐結合的“軟件工程”教學方法[J].計算機教育,2012,(10):105-107.
[4]孫明,田蜜,康文杰.設計型項目驅動的軟件工程實踐教學改革[J].計算機教育,2016,(3):156-159.
[5]盛權為,馬俊.軟件工程課程教學改革與創(chuàng)新實踐方法研究[J].長沙醫(yī)學院學報,2014,(3):14-16.
[6]滕志霞,陸光,劉欣.基于逆向工程法的軟件工程教學模式改革與實踐[J].計算機教育,2015,(20):32-34.
THE REFORM AND INNOVATION OF SOFTWARE ENGINEERING PRACTICE TEACHING BASED ON SCHOOL-ENTERPRISE COOPERATION PLATFORM
LIANG Bao-hua ZHENG Shang-zhiXING Hui-fen
(Chaohu College,Chaohu Anhui 238000)
Based on the existing problems of the traditional software engineering practice teaching,school-enterprise cooperation platform as a main practice platform is put forward for teaching reform.Carrying out a series of teaching activities such as the construction of school-enterprise cooperation platform,control of practice process,the application of teaching method about reverse engineering,simulation of business-operating environment,and reforms of evaluation ways can benefit the cultivation of applied talents and improve student’s engineering practice ability,creative ability,team spirit and coordination capability.
Software engineering;School-enterprise cooperation platform;Practice teaching reform;Examination forms
G642.0
A
1672-2868(2016)06-0106-05
責任編輯、校對:李 曉
2016-10-22
巢湖學院應用型課程(項目編號:ch13yykc05);安徽省高等學校省級教學研究項目(項目編號:2015jyxm325);安徽省校企合作實踐教育基地項目(項目編號:2015sjjd021);安徽省高校省級教學團隊項目(項目編號:2016jxtd083)
梁寶華(1973-),男,安徽無為人。巢湖學院信息工程學院,副教授。研究方向:軟件工程。