發(fā)布時間:2023-03-13 11:14:28
序言:寫作是分享個人見解和探索未知領域的橋梁,我們?yōu)槟x了8篇的軟件工程實訓總結樣本,期待這些樣本能夠為您提供豐富的參考和啟發(fā),請盡情閱讀。
[關鍵詞]應用型本科;軟件工程;實踐教學體系
[中圖分類號] G642 [文獻標識碼] A [文章編號] 2095-3437(2016)04-0019-03
2011年,為了進一步深化本科教育教學改革,提高本科教育教學質量,教育部、財政部決定在“十二五”期間繼續(xù)實施“高等學校本科教學質量與教學改革工程”。政策實施多年以來,各級教育行政部門及高校非常重視,一批批國家級、省級“質量工程”項目相繼立項建設,教學改革不斷深化,教學質量顯著提升,取得了豐碩的成果。“質量工程”涉及高校本科人才培養(yǎng)工作的方方面面,其中實踐教學與人才培養(yǎng)模式改革創(chuàng)新是提高高等教育質量的重要內容。[1]2010年廣州大學華軟軟件學院軟件工程專業(yè)獲廣州市屬普通高等院校第一批特色專業(yè),同年,又被廣東省教育廳評為2010年本科院校“特色專業(yè)建設點”,2012年獲廣東省高等學校“專業(yè)綜合改革試點項目”。
一、應用型人才培養(yǎng)目標定位
廣州大學華軟軟件學院作為全國300多家獨立學院中唯一的一所軟件學院,在辦學過程中經過不斷的研究探索,科學、客觀地將人才培養(yǎng)的主體目標定位為“應用型人才”,即以應用為主,核心是“實踐”,目的是“提高實際動手能力”,為地方經濟社會發(fā)展培養(yǎng)適應中國軟件產業(yè)發(fā)展需求的規(guī)范化應用型人才。學院構建了一套遵循全程化、層次化、模塊化三個原則的應用能力培養(yǎng)體系。“全程化”即將培養(yǎng)學生的應用能力貫穿到學生在校學習的全過程;“層次化”即將應用能力分解為不同的能力層次分階段進行培養(yǎng);“模塊化”即根據(jù)培養(yǎng)不同能力層次的需要,依托不同的課程模塊和實踐性教學環(huán)節(jié)模塊進行培養(yǎng)。在應用能力培養(yǎng)體系架構下,結合珠三角地區(qū)經濟發(fā)展需求,構建軟件工程專業(yè)實踐教學體系。
二、以應用能力培養(yǎng)為核心,探索實踐“三合一”實踐教學體系
以軟件工程專業(yè)的核心課程為基礎,以應用能力培養(yǎng)為核心,借助廣東省計算機技術與應用實驗教學示范中心、軟件與信息技術服務協(xié)同創(chuàng)新發(fā)展中心,以及合作企業(yè),構建集層次性的課程實驗教學與實踐、豐富性的課外科技專業(yè)實踐、系統(tǒng)性的專業(yè)綜合訓練于一體的“三合一”實踐教學體系,體系結構見圖1。
■
圖1 實踐教學體系結構圖
(一)深化教學改革,開展層次性的課程實驗教學與實踐
結合學院實際情況和專業(yè)特點,分析了傳統(tǒng)課程實驗教學中存在的問題,探索新的課程實驗和實踐教學模式。軟件工程專業(yè)的課程實驗安排強調為學生建立堅實的理論基礎,更要訓練嫻熟的技術技巧,提高學生自我學習、分析問題、解決問題的能力。課堂教學采用工學結合、案例驅動的大小課教學模式,大課注重理論教學,小課則注重實踐操作,大小課相互結合。成立軟件工程實驗教學教研室,專門負責實驗教學的審查和監(jiān)督。定期召開教研會組織相關任課老師和專家對軟件工程專業(yè)核心課程的實驗內容進行精心的設計,把實驗分為五種類型:基礎性實驗、設計性實驗、綜合性實驗、創(chuàng)新性實驗、研究性實驗。對于實踐動手能力要求高的課程增加課程設計綜合實踐環(huán)節(jié)來進一步鞏固和加深學生對所學相關課程理論知識的理解,對于不同課程進行多課程融合的綜合課程設計,把項目實訓的案例按照相關專業(yè)課程的實驗目標進行精心設計和分解,形成實驗大綱融入課堂實驗。與IT巨頭微軟、IBM深度合作進行課程的嵌入,包括實驗的教材、實驗內容等。整體課程的實驗內容設計和安排遵循由易到難、由單元到綜合、由基礎到提高的教學規(guī)律,使之具備層次分明、結構清晰、目標明確等特點。
(二)開展豐富性的課外科技專業(yè)實踐,促進與實踐教學的融合
課外專業(yè)實踐活動是培養(yǎng)學生實踐能力、創(chuàng)新能力和人文精神,提高學生綜合素質的重要途徑,是實踐教學的重要組成部分。[2]以“實踐、求知、創(chuàng)新”為主題,以提高學生的實踐能力、創(chuàng)新能力和綜合素質為目標,大力開展軟件工程專業(yè)大學生課外科技實踐活動,積極創(chuàng)建大學生科技創(chuàng)新能力培養(yǎng)平臺,激發(fā)學生參與課外科技實踐的熱情,推進學風建設。鼓勵學生申報省級甚至國家級大學生創(chuàng)新創(chuàng)業(yè)計劃訓練項目,制定相關政策扶持大學生創(chuàng)業(yè)。每年定期舉辦“軟件開發(fā)設計大賽”、“網頁設計大賽”、“JAVA程序設計大賽”等專業(yè)競賽,開展“IT論壇”、“湖邊論壇”等各種學術講座及“計算機協(xié)會”、“創(chuàng)新創(chuàng)業(yè)協(xié)會”等社團。成立學生課外學科競賽專家?guī)?,鼓勵和支持學生參加“全國計算機軟件資格與水平考試”,參加“挑戰(zhàn)杯大學生課外學術科技作品競賽”、“全國大學生服務外包創(chuàng)新應用競賽”、“藍橋杯軟件設計大賽”等學科競賽、科技創(chuàng)新活動,讓學科競賽成為教學改革實踐的載體,從多方面有力推動實踐教學與提高學生創(chuàng)新能力。此外,積極改革探索將學科競賽與教學活動相結合,把大學生的科技創(chuàng)新活動納入實踐教學體系之中,并不斷加強大學生創(chuàng)新創(chuàng)業(yè)實踐基地的建設,為學生進行科技創(chuàng)新、技術交流提供平臺。
(三)階段式項目實訓+畢業(yè)實習+畢業(yè)設計,開展系統(tǒng)性的專業(yè)綜合訓練
項目實訓有助于提高學生的實踐動手能力,是實踐教學體系不可或缺的組成部分,也是軟件工程人才培養(yǎng)的一個重要途徑。跟知名IT企業(yè)合作聯(lián)合開展項目實訓,并在軟件工程專業(yè)的教學計劃中明確規(guī)定從大一到大三學生需經歷三個階段的實訓環(huán)節(jié),到大四參加畢業(yè)實習、畢業(yè)設計。系統(tǒng)性的專業(yè)綜合訓練貫穿于大學四年的學習。項目實訓以體現(xiàn)“層次化、全程化、系統(tǒng)化”為原則,分為三個階段,分別對應大一、大二、大三的學生。因為年級差異,三個年級的實訓題目大部分來自企業(yè)的真實項目并經過仔細斟酌和精心設計:一年級的實訓題目是教師從某一個真實案例的模塊簡化而成,主要培養(yǎng)大一學生的基本編程能力和認知;二年級選擇的實訓案例盡可能體現(xiàn)學生程序分析與設計能力的培養(yǎng);三年級的實訓題目更側重程序綜合開發(fā)能力和創(chuàng)新能力的培養(yǎng)。項目實訓在每學年的第二個學期末采用封閉集中方式進行,作息從早上9點到晚上10點,企業(yè)工程技術人員和在校老師一起擔任項目實訓指導教師,進行全程跟蹤指導。整個實訓過程盡可能在時間和空間上最大限度模擬軟件企業(yè)的真實工作環(huán)境,嚴格按照企業(yè)管理模式管理、考核,讓學生體會實際項目開發(fā)的工作氛圍和職業(yè)要求,提高團隊協(xié)作意識和溝通技能。[3]畢業(yè)實習則從第六個學期結束之后開始,到第八個學期畢業(yè)論文答辯結束,學生從進入企業(yè)開始,就按照企業(yè)的安排進入相關項目的研發(fā)和實施,由企業(yè)工程師和學校教師共同指導學生進行畢業(yè)設計?!∪?、不斷完善實踐教學體系,保障實踐教學質量
(一)加強軟件工程專業(yè)課程群建設,優(yōu)化實踐課程體系
課程群建設是近年高校課程改革的一個發(fā)展趨勢,是高等院校課程建設實踐中出現(xiàn)的一項新的課程開發(fā)思路。我們用課程群方法進行了軟件工程專業(yè)課程體系優(yōu)化的探索,對相關課程進行了深入的分析,堅持課程體系整體優(yōu)化的原則,構建課程群課程體系,并在人才培養(yǎng)方案中有所體現(xiàn)。優(yōu)化后的課程體系劃分為四個群:專業(yè)基礎能力課程群、專業(yè)與服務課程群、綜合實踐能力課程群、新技術探究課程群。[4]四個課程群之間的獨立性、關聯(lián)性、整體性和應用性,盡可能體現(xiàn)最新科技技術和方法,課程內容及時更新,做到前后課程銜接好,力爭在實現(xiàn)專業(yè)培養(yǎng)目標、改進學生知識能力結構方面有比較大的突破,從而優(yōu)化整個實踐教學體系。
(二)組建一支專兼職、校內外結合的“三三制”實踐教學師資隊伍
在師資引入我們采取“三三制”原則,即教師隊伍由三部分組成:一部分來自傳統(tǒng)高校具有豐富教學經驗的高職稱教師;一部分來自企業(yè)具有豐富工程實踐經驗的工程師;一部分來自留學海外具有教學和工作經驗的人員。同時,在實習、項目實訓環(huán)節(jié)還邀請校外的工程技術人員和校內教師一起進行實習實訓的指導。
(三)加強實驗室和校內外實訓實習基地建設,促進實踐教學質量提高
為適應實踐教學的需要,按照專業(yè)方向、專業(yè)基礎構建了軟件工程實訓、程序設計、數(shù)據(jù)庫、操作系統(tǒng)等6個實驗室。我院“PARASOFT-華軟軟件學院軟件自動化測試實驗室”與中國移動、印度塔塔、深圳覽眾科技等企業(yè)合作,形成了完整的校內實驗室和實訓實習基地。
(四)建立支撐實踐教學體系實施的管理、資源、教學信息平臺
自主研發(fā)“畢業(yè)設計數(shù)字化管理平臺”進行畢業(yè)設計的管理;自主研發(fā)“實驗教學管理平臺”,為實驗指導老師、學生提供了一系列服務,從而提高工作效率,保證課堂實驗教學效果;引入“項目實訓管理平臺”,幫助學生了解企業(yè)項目開發(fā)管理過程和規(guī)范,確保了項目實訓的質量和效果;以FTP服務器、論壇為載體,建設了以課件、講義、參考資料為基本內容的實驗教學資源,為學生提供便利。
(五)建立實踐教學管理、考核和評價制度,確保教學秩序和質量
制定軟件工程專業(yè)實驗教學管理辦法、學生實驗考核辦法、軟件工程專業(yè)項目實訓實施細則、項目實訓驗收標準、畢業(yè)論文(設計)工作管理規(guī)程、畢業(yè)實習管理辦法等多項規(guī)章制度,覆蓋了課堂實驗、項目實訓、畢業(yè)實習、畢業(yè)設計等各環(huán)節(jié)的管理,以確保實踐教學秩序和質量。
四、結束語
經過兩年的教改實踐,教學效果良好,各項指標基本達到預期目標,形成了一套較為完整的實踐教學體系,有效促進了應用型人才的培養(yǎng)。實踐教學是培養(yǎng)應用型軟件工程人才的重要環(huán)節(jié),而實踐教學體系的構建與完善是一個復雜、艱巨的系統(tǒng)工程,需要在實踐的過程中不斷的探索與總結,從而促進實踐教學的整體優(yōu)化,真正實現(xiàn)應用型人才的培養(yǎng)目標。
[ 注 釋 ]
[1] 王志安,王旭輝,李燕.計算機科學與技術“3+1”教學模式下的實踐教學[J].計算機教育,2014(7):59-63.
[2] 曾永衛(wèi),劉國榮.“卓越計劃”背景下科學構建實踐教學體系探析[J].中國大學教學,2011(7):75-78.
不同學科、不同專業(yè)的大學生,專業(yè)素質的培養(yǎng)要求是不完全相同的.軟件工程人才培養(yǎng)注重“基礎知識”、“技術”和“工程”三個方面.因此軟件工程專業(yè)的大學生專業(yè)素質主要包括以下幾個方面:
1)軟件基礎知識結構能力.軟件基礎知識結構能力是軟件工程專業(yè)的大學生對軟件基礎知識框架的掌握程度及其融會貫通的能力.這種能力是一種軟能力,也是該專業(yè)大學生最基礎的能力,還是培養(yǎng)其他能力的土壤.軟件工程專業(yè)的教師和大學生都應該注重這種基礎性能力的培養(yǎng).教師在教學過程中要突出重點、注重聯(lián)系;大學生在學習過程要多思考,注意總結,把軟件知識學得有條理、有脈絡、有框架.這種能力的培養(yǎng)也為他們以后學習新知識打下堅實的基礎.
2)編程能力.編程能力是在一定的平臺上利用編程語言編寫出計算機能夠運行的程序而使某一問題得到解決的能力.這種能力是軟件專業(yè)大學生所必須具備的能力,因為它是該專業(yè)大學生素質的核心體現(xiàn),是軟件工程專業(yè)的重要培養(yǎng)目標之一,也是本專業(yè)大學生在就業(yè)市場上找到自己理想工作的保障.編程能力的培養(yǎng)要有一個過程,對于剛剛進入大學的大學生來說,學習編程語言時要多寫程序、多調試程序,不斷積累編程經驗.編程既鍛煉了自己操作計算機的能力,更重要的是鍛煉了自己的思維能力和利用計算機解決問題的能力.這種能力是應用能力的核心體現(xiàn),是軟件工程專業(yè)大學生的本色,在自己就業(yè)時具有至關重要的作用,也關系到自己今后的發(fā)展.
3)搜索能力.大學生是較高水平的知識分子,應該具有較強的知識搜索或查找能力.對于軟件工程專業(yè)的大學生來說,不僅僅是指一般性知識的搜索和查閱,更多的是指與本專業(yè)相關的一些編程工具軟件、插件、軟件學習網站等的搜索與下載.當代社會是信息爆炸的社會,軟件的種類繁多,軟件技術的變化日新月異,作為軟件工程專業(yè)的大學生應該掌握一定的檢索技術,以滿足自己學習和今后工作的需要.這種搜索能力是自己的充電器,會使自己終生受益.
4)軟件工程實踐能力.軟件工程實踐能力是軟件工程專業(yè)大學生所必須具備的特殊能力,這是由軟件工程專業(yè)的特殊性決定的.軟件工程專業(yè)的大學生是工程性人才,要具有工程性思維和運用工程方法去解決軟件項目問題的能力.工程方法是一種比較科學規(guī)范、可減少錯誤、有步驟地解決問題的方法,把這種方法用到軟件項目上可以借鑒以往的工程方法和工程經驗,從而降低軟件開發(fā)過程中出錯的可能性、降低軟件開發(fā)成本、提高軟件開發(fā)效率.在IT企業(yè)中的開發(fā)團隊也常常用這種方法來開發(fā)軟件.因此,作為工程性人才的大學生也要擁有這種能力,為自己以后的工作奠定基礎.
5)團隊協(xié)作與溝通能力.在IT企業(yè)中,軟件開發(fā)人員往往是以團隊的形式承接和開發(fā)某個工程項目的,團隊是這類企業(yè)工作的基本單位.軟件工程專業(yè)的大學生,畢業(yè)后往往在IT企業(yè)中工作,所以軟件工程專業(yè)的大學生要具備這種若干個人在一起既分工又合作地完成一個相對龐大而又復雜工作過程的團隊協(xié)作能力,才能適應工作的需要.團隊協(xié)作能力較高的人才可以快速地融入團隊,并和團隊中其他成員一起解決問題.一個團隊在開發(fā)項目的過程中,團隊中的成員不可避免地會因為項目中的一些問題而進行彼此溝通,進而統(tǒng)一認識并找到解決問題的方法.因此,一個合格的軟件開發(fā)型人才,必須具有較高的團隊協(xié)作與溝通能力.
強化專業(yè)素質培養(yǎng)的幾點舉措
1優(yōu)化課程體系
軟件工程專業(yè)的課程體系的優(yōu)化或改革要經歷一個不斷探索、不斷完善的過程.課程體系改革的核心問題是優(yōu)化課程體系的內部結構.以教育部關于高等學校軟件工程專業(yè)的發(fā)展要求和規(guī)劃為指導,結合軟件工程專業(yè)應用型和工程型人才的培養(yǎng)目標,配合地方高校對軟件工程專業(yè)發(fā)展的規(guī)劃和實際情況及本地對軟件工程人才的需求,為適應社會信息化和軟件工程技術的不斷發(fā)展對應用型人才的需要和要求,合理地按需設置或修整軟件工程專業(yè)課程體系,進而劃分成不同的課程群.
課程群建設并不是機械地進行課程排列組合,它是把一批具有相同認知結構和培養(yǎng)目標的本專業(yè)或跨專業(yè)課程的知識、方法、問題及解決方案有機地整合形成的課程體系.同一個課程群內課程間要具有一定的關聯(lián)性,即課程群內的課程間要具有共同或相似的知識點和思維方式,整合這些關聯(lián)性,避免知識的重復講解和教學資源的浪費.課程群建設可以優(yōu)化課程設置,整合教學資源,取得1+1>2的整合優(yōu)勢.我們可以把軟件工程專業(yè)的主要課程分為以下幾個主要課程群:
1)數(shù)學課程群.數(shù)學課是軟件工程專業(yè)的專業(yè)基礎課,對軟件工程專業(yè)專業(yè)素質的培養(yǎng)起著基礎性的作用.這個課程群包括的課程主要有高等數(shù)學、線性代數(shù)、概率論、組合數(shù)學、運籌學等.這些課程間的知識點是相聯(lián)系的,解決數(shù)學問題的思維方式也十分相似.在講解該課程群時,要把問題的求解過程講清楚,培養(yǎng)學生的邏輯思維能力和數(shù)學建模能力.
2)程序設計課程群.編程能力是軟件工程專業(yè)大學生專業(yè)素質的核心之一.程序設計課程正是培養(yǎng)大學生這個能力的,包括C/C++語言程序設計、Java語言程序設計、C#程序語言設計等.C語言的學習為后面程序設計語言的學習準備了數(shù)據(jù)類型、控制結構知識點的鋪墊,C++的學習又為后面程序設計語言的學習提供了面向對象的相關知識的鋪墊,Java在某種程度上可以說是C++的子集,C#是在吸收C++和Java的基礎上設計的.對這個課程群的講解既要注重知識點的講解,更要注重編程能力的培養(yǎng)與提高.就這個課程群而言,可以實施項目教學,這樣既講解了知識點,又提高了編程能力,更是讓學生及早接觸項目并積累一些項目經驗.
3)網站開發(fā)課程群.網站開發(fā)是目前一個比較火爆的方向,軟件工程專業(yè)都會開設該課程群.主要包括JavaWeb、JSP、Asp.net、JavaScript等課程.在這些課程中,網頁是其共同的知識,還有Ses-sion、Application等內置對象等,并且網站的設計思路也比較相似.在講授該課程群時,如果同學們沒有接觸過這個課程群,則知識點要講細一點,否則,可以略講;在課堂教學中,要以一些常見的網站為項目來講,如學習網站、學生管理網站等.
4)數(shù)據(jù)庫設計與開發(fā)課程群.數(shù)據(jù)庫是用來存放海量數(shù)據(jù)的,網站中存儲數(shù)據(jù)的后臺往往都是數(shù)據(jù)庫.因此,數(shù)據(jù)庫的設計與開發(fā)是軟件工程專業(yè)必開的課程群.該課程群包括MySql、SqlServer、Oracle等,這些數(shù)據(jù)庫的基礎理論是一樣的,如表、數(shù)據(jù)的完整性、SQL語句等.對于初學者,要把數(shù)據(jù)庫基礎理論講得深一些;對于學過的,重點講不同點,以一些生活中常用到的表為例,如學生表、員工表等,來講數(shù)據(jù)庫中表的設計與開發(fā).
2布置作業(yè)和課程設計
軟件工程專業(yè)是一個工程性的專業(yè),培養(yǎng)的是應用型人才,要求教師布置的作業(yè)要有一定的針對性、應用性和專業(yè)性.特別是對于應用性課程,如程序設計、網頁制作、網站開發(fā)、游戲開發(fā)等,這類課程要布置一些讓學生自己去設計并親自動手才能完成的作業(yè).這樣不但可以鍛煉大學生邏輯思維和創(chuàng)造性思維,更能鍛煉他們的應用能力.軟件工程專業(yè)的特殊性也帶來一些課程考試的特殊性.對于一些操作性很強的課,如JavaWeb、基于Asp.net的動態(tài)網站的開發(fā)、Java游戲開發(fā)等課程,可采用上交課程設計的方式代替?zhèn)鹘y(tǒng)的筆試考試.
3開展競賽和報告活動
軟件工程專業(yè)大學生的編程能力、工程實踐能力和團隊協(xié)作能力的培養(yǎng)和提高不能只靠課堂教學中所布置的作業(yè),還要尋找一些其他途徑.參與競賽活動是提高軟件工程專業(yè)大學生專業(yè)素質的一條良好途徑.學校和軟件工程院系要定期或不定期地舉辦專業(yè)性的競賽活動,設置合理的獎項,鼓勵大學生踴躍參加.參加競賽活動的主體往往是以團隊為基本單位,這些團隊都拿著自己的作品去參賽.因此,參加競賽活動的過程無疑會使大學生的團隊協(xié)作與溝通能力、編程能力等得到提高.學校和院系也要鼓勵軟件工程專業(yè)的大學生參加國家、省、市舉行的競賽活動,這不僅可以使大學生的素質得到提升,而且得到榮譽后有利于大學生找到合適的工作.
書本知識是前人所發(fā)現(xiàn)和提出的,相對現(xiàn)在有較長的一段時間,不是當前新知識和研究成果的反映.為了讓大學生對前沿知識有一定的了解,學校和院系可以在一學期內邀請一些國內外知名學者作一些學術報告或講座.參加學術報告或講座,既可以讓學生對當前某些研究成果有一定了解,拓寬大學生的視野,又可以讓他們仰慕學術大師的風范,堅定他們努力學習攀登高峰的信念與勇氣,還可以鍛煉他們的溝通能力.參加一些學術講座和報告后,大學生可以聚焦自己的興趣點和確定自己以后從事工作或研究的方向.
4深化企業(yè)實訓
工程性和應用性是軟件工程專業(yè)兩個顯著特點,因此軟件工程院系除了優(yōu)化教學課程設置外,還要提供鍛煉大學生工程性思維和工程實踐能力的平臺,提高學生的知識應用能力.軟件工程專業(yè)的大學生畢業(yè)后常常到企業(yè)或單位里做IT工作,所以企業(yè)實訓是軟件工程專業(yè)可以采取的提高本專業(yè)大學生工程實踐能力和知識應用能力的好舉措,也符合軟件工程專業(yè)的專業(yè)性質.要實現(xiàn)企業(yè)實訓,學校就要與企業(yè)合作,合作成功的前提是學校的人才培養(yǎng)定位與產業(yè)的發(fā)展需求保持一致,根據(jù)自身特色選擇適合自身發(fā)展的合作企業(yè).學生進行企業(yè)實訓才能全面提升學生應用能力,為學生即將就業(yè)進入企業(yè)工作提供保障.深化企業(yè)實訓,我們從以下幾個方面抓起:
1)擬定一個校外實綱,與實習企業(yè)一起制訂校企實習基地協(xié)議、實習安全協(xié)議、學生實習規(guī)范和學習實習鑒定表等,不斷促進校外實習制度化、規(guī)范化.
2)開設實訓時所需要的課程,向學生說明這些課程的重要性,一方面要求學生努力學習,另一方面要求教師不斷改進授課方式,提高教學效果,并對學生作相應的考核.
3)合作企業(yè)要提供良好的實訓場地,并配備資深的指導老師.在實訓前,這些指導教師要了解實訓生的情況,根據(jù)實際情況對講課計劃和講課內容作適當?shù)恼{整.
4)在實訓期間,學??梢粤粢恍┙處煴O(jiān)督實訓過程,并適時地提出建議,保證學生訓有所獲.
5)實訓結束后,要對實訓生做一個項目式的考核,并認真填寫實習成績評定表.學校與企業(yè)經常溝通,不斷完善和細化實訓方案,增強其可控性和可操作性,使實訓效果得到提高.如果有條件的話,可以讓部分優(yōu)秀實訓生留企或推薦給其他企業(yè),提高就業(yè)率.企業(yè)實訓,既有利于培養(yǎng)出滿足社會、企業(yè)需求的軟件人才,也有利于學生的個性化發(fā)展.
5積極實施項目教學
項目教學是一種新的教學形式,以項目為依托,以教學計劃為主線,把課程知識點循序漸進地傳授給學生的教學形式.這種教學形式和傳統(tǒng)的純粹以知識點為中心的教學形式相比有以下幾個特點:
1)項目開發(fā)與知識點講解并重.項目教學是以講項目的形式講知識點,這樣既可以使學生掌握所講的知識點,又可以使他們了解這些知識點可以用在什么地方、怎么使用及可以帶來什么樣的效果.
2)項目驅動學習.項目通常都是為了解決某一問題的,問題的解決可以給學生帶來些許的成就感,從而可以激發(fā)大學生的學習和求知興趣.
3)關注知識的應用.在項目教學中,知識點是在應用中呈現(xiàn)給學生的,從而可以使他們學以致用.
4)可控性強.項目教學法由學生與教師共同參與,學生的活動由教師全程指導,有利于學生集中精力練習技能.項目教學是以項目為載體講重要知識點的教學活動,其目的是在課堂教學中把理論與實踐教學有機地結合起來,充分發(fā)掘學生的潛能,提高學生解決實際問題的能力.項目教學的這些特點使得它比較適合于像軟件工程專業(yè)這類以培養(yǎng)應用型人才的專業(yè),也使得項目教學成為當前一種新興的教學方式.項目教學既注重知識基礎,更注重應用能力和實踐能力的培養(yǎng)與提高.在實際教學過程中,教師要結合所講學科的特點和學生的能力特點,選擇難易適中的項目教學,培養(yǎng)IT企業(yè)所需人才.
結束語
肇慶學院軟件學院從06級軟件工程專業(yè)學生開始,與深圳某信息技術公司共同創(chuàng)建了軟酷卓越實驗室,在校內對學生進行實訓,為期10天。2010年下半年與加拿大某IT培訓集團、廣州某計算機技術服務公司等企業(yè)合作開展07級、08級學生的項目實訓活動。根據(jù)2006、2007、2008級學生的實訓情況,本學院對公司實訓過程進行分析,發(fā)現(xiàn)本院學生在實訓后學習目的更明確,團隊意識、就業(yè)能力、職業(yè)素質方面顯著增強,視野更開闊,收獲很大。但實訓過程還暴露出學生存在以下問題:開發(fā)過程時間進度控制不當;前期團隊成員交流不夠;前期總體設計考慮不周,后期增加或修改數(shù)據(jù)結構;開發(fā)過程不重視文檔工作,靠頭腦記、口頭約定,后期需要返工;團隊精神缺乏,意見不統(tǒng)一,不會相互妥協(xié);高估自身編程開發(fā)能力,測試時發(fā)現(xiàn)問題才不停修改;有些團隊存在個人英雄主義,主要由一個人工作,其他成員在等結果。實訓教學的目的是提高學生的職業(yè)素養(yǎng)與工程能力[3]。而在實訓前幾年的學習中,學生基本上都是在學習基礎理論知識,實踐機會較少。鍛煉機會主要是理論課的實驗,然而這種驗證性的實驗大多數(shù)是與市場需求和行業(yè)的發(fā)展有極大差距的。由于學院與主導實訓的企業(yè)相互間溝通不足也導致一些問題,說明雙方合作還有進一步改進之處,實訓效果還有進一步提升的空間。結合前面所提到的學生自身所存在的問題,都迫切需要軟件學院制訂可行的的實訓方案加以解決。
2實訓方案
2.1實訓方案體系結構
根據(jù)本校作為普通本科院校的課程設置特點以及在總結以往實訓實習經驗教訓的基礎上,以任務驅動為基礎、市場需求為導向,本文提出本院的實訓方案,其體系結構如圖1所示。
2.2實訓方案內容
從實訓的體系結構可看到,整個實訓過程主要分為3個階段。
(1)第1階段是軟件開發(fā)理論指導。為讓學生深入了解企業(yè)開發(fā)流程和相關軟件工程標準,在實訓前期先進行理論指導。首先是復習《軟件工程》方面的教材,理解軟件工程的原理、可行性報告和軟件開發(fā)計劃、需求分析、概要設計、詳細設計、軟件實現(xiàn)和測試、軟件維護、面向對象技術與UML、軟件開發(fā)環(huán)境、軟件重用等過程和定義。同時還學習先進的軟件能力成熟度模型CMM,了解國際通用的軟件工程標準。其次強調軟件開發(fā)過程不同于課程作業(yè)或實驗,要遵守相關規(guī)范,不能一拿到題目就開始編碼,需要先設計好數(shù)據(jù)結構和相應算法,并編寫相關文檔,才能開始編碼和調試。還要選擇合適的開發(fā)方法,如面向對象開發(fā)方法和面向過程開發(fā)方法;選擇合適的開發(fā)模型,如增量模型、迭代模型、瀑布模型、螺旋模型、敏捷開發(fā)模型等;還要強調開發(fā)過程需要進行有效的軟件開發(fā)過程控制,項目進度要得當,人力分配要合理,進行版本控制、項目質量管理等。最后強調測試,使用黑盒、白盒測試,運用Junit測試工具,自動生成測試文檔,在小組內部進行內部測試和交叉測試,總結編程錯誤,提高編碼質量。項目結束時,還要讓每個學員發(fā)言,總結自身的得與失,感受自身的成長、成熟,責任心的提高,經驗的積累。
(2)第2階段是實訓方案的核心,分為兩個小階段。首先在企業(yè)導師指導下進行知識強化,然后正式進行項目實訓。知識強化作為項目啟動前的一個必備階段,主要采取案例式教學,以講授和練習相結合的方式,內容包括語言基礎、企業(yè)應用框架、專題技術討論等形式,進行理論實踐,目的是彌補學生在校學習的不足,實現(xiàn)向實訓項目的平衡過渡。此小階段最后進行綜合強化實踐,結合基礎知識、先進開發(fā)技術、項目管理等組織實訓內容,同時輔以企業(yè)職業(yè)素養(yǎng)的相關培訓,使學生掌握軟件工程知識、項目管理、先進開發(fā)技術和最新技術,提升知識拓展能力和協(xié)助溝通能力,為后續(xù)的項目開發(fā)和繼續(xù)深入學習打下堅實基礎。項目實訓是整個實訓活動的核心。整個方案針對學生的具體情況,提供一些前沿的、緊貼市場的行業(yè)熱點項目供學生選擇。這些項目使學生在掌握常規(guī)軟件開發(fā)技能的同時,也能接觸到物聯(lián)網、云計算、移動應用開發(fā)、信息安全、3D等前沿IT熱點。項目既包括.NET、J2EE開發(fā)平臺通用編程技術的基礎功能模塊,也包括技術難度稍高,業(yè)務邏輯較復雜的附加功能模塊,供不同層次、不同興趣的學生進行選擇,使參加實訓的學生都能找到自己感興趣的項目、感興趣的內容、感興趣的技術。整個實訓又分為校內實踐項目和校外實踐項目。校內實踐項目主要用于引導學生結合自己以往的體驗進行開發(fā)的微小型項目,包括IT達人、基于Red5的視頻課件點播系統(tǒng)、基于Silverlight的劍俠游戲、基于GoogleMap的拼車網系統(tǒng)、酷我相冊、在線答疑系統(tǒng)、使用Mushup構建個性商品服務等。校外實踐項目選擇重點突出軟件工程知識綜合應用,項目企業(yè)級開發(fā)流程,行業(yè)成熟框架,行業(yè)項目。同時將項目詳細分解,保證每個學生的工作量盡量飽滿,突出實戰(zhàn)。其內容包括Docstore系統(tǒng)、旅游垂直搜索引擎、聚票網、在線英語學習、汽車代駕管理系統(tǒng)等。整個實訓實踐過程在企業(yè)導師指導下,完全按照企業(yè)開發(fā)管理的各項制度進行組織管理,包括采用分布式網絡遠程協(xié)作模式,形成企業(yè)開發(fā)氛圍,并提供質量保證,使工程實訓能按照軟件項目管理流程和規(guī)范進行運作。在管理制度上,嚴格執(zhí)行考勤管理、考核管理、實驗室管理、入退訓管理等一系列管理制度。
(3)第3階段是企業(yè)實習。第2階段的實訓項目雖然使學生的職業(yè)素養(yǎng)和工程能力有了極大提升,但這些項目仍是“虛擬”的,與現(xiàn)實項目仍有差距,仍不能做到與企業(yè)的生產實際無縫連接,還不能百分百地感受到在企業(yè)的工作壓力。因此在實訓后安排學生到與專業(yè)密切相關的軟件開發(fā)企業(yè)中去實習,參與企業(yè)實際項目的開發(fā)流程,強化所學軟件工程的理論知識與開發(fā)技術,綜合運用在校所學知識以及通過實訓掌握的技能進行實戰(zhàn),做到理論聯(lián)系實際,最終為高質量的畢業(yè)設計與踏入工作崗位做好充分的思想準備。
3方案實施保證
肇慶學院歷來重視應用型人才培養(yǎng),辦學定位是建設高水平、有特色、應用型綜合大學。2010年下發(fā)的《肇慶學院關于加強實踐教學工作的意見》,為本方案的實施提供了強有力的政策保證。另外,為保證軟件學院的快速發(fā)展,肇慶學院把軟件學院納入學校的建設規(guī)劃,占地113畝的中巴軟件園在投入使用后,在2012年3月把軟件學院的辦公場所和實驗室整體搬遷至軟件園。這為實訓基礎的建設提供了用房保證。學院領導對教學改革尤其是實訓基地和實踐教學體系的改革高度重視,出臺了相關的管理制度和激勵政策鼓勵教師從事教學改革,為教學改革的順利進行提供了制度保證。
4結束語
關鍵詞:質量管理體系;一體化課程;軟件工程;標準化
中圖分類號:G642文獻標識碼:B
1前言
IEEE將軟件工程定義為:(1)將系統(tǒng)化的、規(guī)范的、可度量的方法應用于軟件的開發(fā)、運行和維護的過程,即將工程化應用于軟件中。(2)對(1)中所述方法的研究。軟件工程包括兩方面內容:軟件開發(fā)技術和軟件項目管理。軟件開發(fā)技術包括軟件開發(fā)方法學、軟件工具和軟件工程環(huán)境。軟件項目管理包括軟件度量、項目估算、進度控制、人員組織、配置管理、項目計劃等。
國際上從20世紀70年代初就開始研究軟件質量管理和軟件過程控制的問題,相繼出臺了如ISO 9000和CMM (Capability Maturity Model)等一些重要的國際標準。
目前我國的許多大學,都開設了軟件工程相關的課程。為了培養(yǎng)能快速適應企業(yè)的軟件工程人才,2001年7月教育部發(fā)出關于試辦示范性軟件學院的通知(教高[2001]3號),成立了35所示范性軟件學院。但多年來,軟件工程課程的教學以傳授技術和開發(fā)方法為主,側重于培養(yǎng)學生的軟件開發(fā)能力,而忽略了對學生的軟件項目管理和軟件開發(fā)規(guī)范的培養(yǎng)。當然開設軟件工程專業(yè)的學校也存在很多挑戰(zhàn):缺乏工業(yè)界經驗的教師,教學隊伍不穩(wěn)定,計算機技術的快速更新,課程體系的不斷完善,入學學生專業(yè)知識水平迥異等等,導致教學質量不穩(wěn)定,畢業(yè)學生的知識和技能參差不齊。
為了應對這些挑戰(zhàn),適應面向工業(yè)的軟件教育,教育機構需要制定相應的規(guī)范和質量保證系統(tǒng),而基于ISO9000和CMM標準來建立一套質量管理體系以保障面向工業(yè)的軟件教育質量是十分必要而且可行的。
2教學質量管理體系
ISO9000質量管理模式是在全面質量管理理論實踐基礎上發(fā)展的質量管理新模式,其核心是把質量管理從傳統(tǒng)的對結果(產品)實行評估,轉為對過程實施控制,即對形成最終結果(產品)的全過程實施過程控制,對影響質量的各個環(huán)節(jié)進行監(jiān)測、糾錯、反饋、修正,以保證每一過程質量管理在嚴格的監(jiān)控之下進行。它的管理思想是重在過程管理,做法是每一個環(huán)節(jié)都不放過,目的是為了第一次就把事情做好。
建立教學質量體系的組織可以是整個學校,或者是軟件工程教學相關的某個部門,也可以是相關的項目小組。
教學質量管理體系包括:教學組織的教學方針和組織的職責,教學過程的控制、預防和糾正措施、質量記錄,以及教職員工的培訓內容。要將先進的實踐經驗及時轉化為文件化的程序,以文件形式監(jiān)控質量管理體系,并不斷在實施中完善。教學質量體系文件由4個層次的文件所構成,包括:
① 教學質量手冊,一般是各類教學管理文件的指導匯編;
② 教學管理文件,即組織的質量體系程序文件,這些文件支持質量手冊,對教學工作的策劃、開發(fā)與準備,到運行、最終結果的各個階段環(huán)節(jié)進行控制;
③ 教學工作與學習規(guī)范,相當于各個崗位工作指導書;
④ 教學質量記錄和其他質量文件主要由各種教學文件(如教學大綱、教學計劃等)以及各種管理工具和圖表組成。
3一體化教學體系
軟件工程相關課程的一體化教學體系是指整合軟件工程相關的各教學實踐環(huán)節(jié),把培養(yǎng)學生綜合能力(開發(fā)能力和管理能力)的教學實踐環(huán)節(jié)作為整體來考慮,制定統(tǒng)一有機的課程體系包括教學實踐計劃與大綱,在具體實施中,通過一個綜合的實訓項目將軟件工程涉及的關鍵過程的課程貫穿起來,使學生對軟件工程和軟件過程的基本理論、方法、技術以及管理有一個全面整體的認識,避免傳統(tǒng)教學中存在的各課程、各環(huán)節(jié)相互脫節(jié)、缺乏有機聯(lián)系。它包括一體化課程體系和一體化考核體系(見圖1)。
3.1一體化課程體系
理論課程體系涉及需求工程、分析與設計、實施、部署、測試、項目管理、變更與配置管理、團隊與過程等環(huán)節(jié)相關的多門理論課程。
實訓項目體系涉及需求工程、分析與設計、實施、部署、測試、項目管理、變更與配置管理、團隊與過程等環(huán)節(jié)相關的多項實踐活動、實戰(zhàn)工具(見圖2)。
在本科軟件工程教學中,我們給本科生提供三個綜合實訓項目,包括教務管理系統(tǒng)、掌上導航系統(tǒng)和情景游戲開發(fā)三個項目,分別體現(xiàn)了軟件工程、嵌入式系統(tǒng)和數(shù)字娛樂三個專業(yè)方向,學生根據(jù)自己的方向選擇其中一個項目來做。在“中等職業(yè)骨干教師國家級培訓(計算機軟件)”項目中,給培訓學員提供了練習項目和實戰(zhàn)項目。在一體化課程體系的每個課程中,這個項目始終貫穿其中,只是每門課在項目中的側重點不同,例如:在“用例驅動的需求”課中,項目實訓內容側重需求分析,并建立需求的用例模型,在“面向對象分析與設計”課中,項目實訓內容在于分析對象和類,給出分析類、設計類及類之間。這樣可以通過一個統(tǒng)一的項目把相關各門課的知識內容連貫起來。
3.2一體化考評體系
一體化考核體系包括學生考核體系和教學質量評估體系。教育同其他服務行業(yè)一樣,其所提供的產品和服務是否被社會認可最終是由顧客來確定的,就教育組織而言,這里所指的顧客應包括三個方面:外部顧客,即企事業(yè)用人單位;內部顧客,即學生;相關方,即學校主管部門、社會及學生家長等。學生具有雙重身份,對外部顧客來講,他是教育組織的“產品”,對教育組織的教學服務來講,他是顧客。評估組織和教師的教學質量,一方面是內部的教學管理評審、考核,另一方面是用人單位及學生的評價,這是最終評價準則,因為用人單位及學生的評價教學質量的具有廣泛性、公平性、公正性和合理性。另外對學生的考核應該站在外部客戶的立場上,這就要求教育組織加強社會調研,最廣泛地了解、掌握用人單位對人才的現(xiàn)時需要和今后的期望。從形式上來說,包括理論知識考核、定期項目報告及陳述、以及各階段工件等。
3.3標準化
遵照ISO9000標準,一體化教學體系提出了四個方面的標準化,分別是課程標準化、案例標準化、教學實訓流程標準化以及實訓工件標準化。這四個標準化是在整個教學質量管理體系的規(guī)范下的產物。圖3為項目實訓標準流程。
4統(tǒng)一的管理教學平臺
建立一個統(tǒng)一的管理教學平臺包括質量管理體系管理平臺、一體化課程互動平臺和實訓項目管理平臺。統(tǒng)一的教學管理平臺將有助于教學組織更好地管理質量管理體系的相關文檔,更有效地推行其質量管理體系;便于學生共享教學資源,促進師生互動;還有用來管理和控制學生的實訓項目(圖4是平臺的一個主要界面)。
4.1質量管理體系管理平臺
用來在質量管理體系中對質量體系文件進行全面的管理,記錄和評估運行ISO9000過程中的執(zhí)行效果,對員工進行質量管理的培訓。
該平臺主要提供對質量體系文件的控制,實現(xiàn)體系文件的電子化、網絡化,便于相關人員閱覽,還提供了組織在運行質量管理體系時,提供質量記錄信息的保存及流程控制。
4.2一體化課程互動平臺
用來展示課程資源,包括課件、參考資料、案例等,授權用戶可以上傳、下載資源,并提供師生互動功能。該平臺提供一個師生關于軟件工程學習社區(qū),學生有問題能夠及時反映,教師能盡快提供反饋。
4.3實訓項目管理平臺
用來管理實訓項目,教師可以審批學生申請的項目,對學生進行分組,設置組長,設置項目的起止日期,查收學生項目,給學生項目打分等;學生可以申請項目,上傳項目工件,查看個人信息及項目成績等相關信息(圖5項目管理界面)。
5應用與總結
本文提到一體化教學方法已經在華東師范大學軟件學院的本科生教學和中等職業(yè)學校骨干教師國家級培訓(計算機軟件)項目中進行了初步試行,從我們的統(tǒng)計、學生和學員的反映以及用人單位的反饋意見來看,效果比較明顯。就拿我負責的“中等職業(yè)學校骨干教師國家級培訓(計算機軟件)”項目來說,這個培訓項目我們已經做過了兩期,每期大約30名來自20多個省市的中職教師,每期開始前,我們都做問卷調查,在畢業(yè)專業(yè)、學歷、年齡、最近講授的課程、對計算機軟件相關內容(軟件工程、項目管理、編程語言、數(shù)據(jù)庫應用)熟悉程度及編程和項目開發(fā)經驗等方面差異較大,較多中職教師沒有開發(fā)經驗,對軟件過程規(guī)范和項目管理知道得不多,但經過將近兩個月的規(guī)范培訓,在文檔和過程的規(guī)范性方面有了明顯提高,學員之間的差異明顯縮短,大部分學員的軟件開發(fā)能力也有了不小進步。同時根據(jù)質量管理體系,我們及時做好糾正預防措施,對發(fā)現(xiàn)的問題能及時改進,并提出預防措施,防止類似問題繼續(xù)發(fā)生,使得教學質量和教學管理穩(wěn)步提高。
本文結合質量管理理論和一體化教學實踐,探討了軟件教育組織建立質量管理體系的必要性及方法,最后通過實際的試行,說明了這種方法的可行性。
參考文獻:
[1] IEEE Standard Glossary of Software Engineering Terminology, IEEE Standard 610.12-1990,1990:60.
[2] ISO 9001: 2000 Quality Management System――Requirements. International Organization for Standardization.
[3] Paulk, M. C., Curtis, B., Beth, M., et al. Capability Maturity Model SM for Software[J], Version 1.1, Technical Report, CMU/SEI-93-TR-024, ESC-TR-93-177. SEI Carnegie Mellon University,1993.
[4] 教育部. 教育部關于試辦示范性軟件學院的通知(教高[2001]3號)[Z]. 2001.
[5] Yugen Du. Software Education Quality Management System Based On ISO9000[J]. Journal of Harbin Institute of Technology(New Series),2005(12).
關鍵詞:軟件工程;工程化方法;問題描述;建議;注意點
文章編號:1672-5913(2013)07-0062-04
中圖分類號:G642
軟件工程在計算機專業(yè)領域中是一門較普及的課程,本課程主要研究如何將工程化方法應用于軟件的開發(fā)、運行和維護過程之中。根據(jù)培養(yǎng)計算機應用型人才的需要,本課程的任務是通過講述軟件的工程化開發(fā)方法和相關的軟件開發(fā)工具、開發(fā)過程、開發(fā)規(guī)范,使學生了解軟件工程的本質,掌握常用的軟件開發(fā)方法,并且能夠有意識地將軟件工程原理運用于實際的軟件開發(fā)和維護過程中,提高學生的專業(yè)素質。但在實際教學中,學生認為該課程內容理論性強,需要記憶的內容多,枯燥無味,學不進去,課程結束后對于軟件開發(fā)過程、規(guī)范和開發(fā)方法的概念依然很模糊。筆者依據(jù)自己對于軟件工程的理解,通過近幾年從事軟件工程課程的授課感受,結合學生的反饋意見,做了一些思考和總結。
1 程序與軟件概念混淆
學生從接受計算機領域方面的課程開始,就一直以編程為主,所以,大多數(shù)學生認為該課程就是學習如何編程。當提出“什么是軟件”這個問題時,大多數(shù)學生無法給出準確的定義;當提出“程序和軟件的區(qū)別”這個問題時,大多數(shù)學生會回答“程序=軟件”。
其實,程序和軟件是不同的概念,編程的目標是程序,軟件工程的目標是軟件,軟件=程序+文檔。從軟件工程的角度看,編程的比重不足15%,其他如需求分析、設計、制作、測試和維護等比重占85%。學生一開始就對課程認識存在誤區(qū),認為軟件工程就是編寫程序,因此,作為教師應引導他們認識軟件和程序的區(qū)別,學生才會去思考它們之間的不同,此時再給學生輸入軟件工程的概念,學生才能開始有意識地去了解軟件工程。
作為教師,首先應給學生介紹軟件工程課程在專業(yè)知識體系中的地位,讓學生在宏觀上了解該課程的性質及與其他專業(yè)課程之間的聯(lián)系和區(qū)別,指導學生正確認識該課程的特點,避免他們日后偏離課程方向,導致盲目學習。
2 案例教學法在教學中的運用
相比計算機專業(yè)的其他課程而言,軟件工程理論性和抽象性較強,學生學習起來比較吃力。大多數(shù)軟件工程的教材都是重理論輕實踐,需記憶的內容較多,不容易理解;各個階段的概念和任務容易混淆,學生學習興趣不大,極易造成反感情緒。
傳統(tǒng)的滿堂灌的教學方法顯然不適合軟件工程課程的特點和教學要求。經過幾年的教學嘗試,筆者認為在課堂中可以采用案例教學法。案例教學法是指教師根據(jù)具體的教學環(huán)境,將復雜抽象的概念運用到具體案例中進行講解,引導學生分析問題,并最終解決問題的一種教學過程。
在教學中,教師選擇軟件開發(fā)中的一些實際案例,將學生分成若干小組,每組不同成員擔任不同的角色。待小組成員確定案例后,模擬實際開發(fā)環(huán)境,運用所學的理論知識展開分析和討論。討論結束后,由各組選派一名代表在全班同學面前匯報討論結果,教師再針對存在的問題進行補充。案例討論增強了學生對軟件開發(fā)項目的感性認識和實際經驗,激發(fā)了學生的學習興趣,提高和培養(yǎng)了他們分析問題和解決問題的能力。
在進行案例教學時,教師需注意以下幾點:一是要選擇合適的案例,案例不在于多,而在于是否適合課程特點和學生的實際情況;二是教師要及時引導,案例討論時,教師要把握好討論方向,要摒棄主觀臆想的成分;三是注重加強學生理論知識的掌握,學生的軟件開發(fā)經驗較少甚至完全沒有,案例教學是需要學生有理論知識作為討論的基礎,如果沒有一定的理論知識是無法討論的,所以教師要注重培養(yǎng)學生的理論知識。
3 團隊合作完成任務
軟件開發(fā)是團隊合作完成的任務。在教學過程中,要讓學生體會到團隊的氛圍,培養(yǎng)其團隊合作的能力和精神。團隊合作以5~6人一個小組為宜,人數(shù)太多會導致“三個和尚沒水吃”,人數(shù)太少會帶來工作量偏重。教師在進行分組時,最好根據(jù)學生的能力和水平,明確學習任務,進行合理有效的分工,按軟件開發(fā)階段把各組學生分為需求分析、設計、編碼、測試及項目管理人員,每位學生承擔一個角色。例如,在南京城市職業(yè)學院該課程的教學過程中,我們將學生每5人分為一個項目組,每人承擔相應的角色,如項目經理、技術支持員、配置管理員、軟件工程師和測試工程師等;教師擔任企業(yè)培訓師的角色,分配給每一個項目組課題,讓學生模擬參與到軟件企業(yè)實訓中,最終使學生完成需求分析、設計、代碼編寫、測試、部署全過程,使得學生在學習過程中體會到軟件開發(fā)工程師的角色任務。這樣,學生就有合作意識、責任感和集體榮譽感,模擬軟件企業(yè)項目組的情境,根據(jù)公司管理體制開發(fā)項目。學生在團隊合作學習時,作為教師應加強對其合作方法的指導;學生在開發(fā)過程中遇到問題,教師建議他們自行討論來解決,提高他們的溝通交際能力,培養(yǎng)其團隊合作精神。
在組織學生團隊合作學習時,筆者認為還應注重培養(yǎng)學生以下能力:一是尊重他人,在其他人發(fā)言時,要善于傾聽,尊重他人的觀點,能夠對他人的發(fā)言做出合理的評價;二是善于總結,在各小組發(fā)言完畢后,能根據(jù)發(fā)言情況,總結出要點;三是敢于質疑,當自己的觀點與他人觀點發(fā)生碰撞時,要敢于質疑,提出自己的想法,從而完善自己的觀點和認識。
4 實踐教學環(huán)節(jié)以大作業(yè)的形式貫穿
由于計算機專業(yè)學生畢業(yè)后大部分從事與軟件開發(fā)相關的工作,所以該課程的實踐教學尤為重要。實踐教學是加深理解理論知識的有效途徑。是培養(yǎng)學生動手能力和技術創(chuàng)新精神的有效手段。但在教學過程中,由于實驗條件有限,教師僅給出項目各階段文檔模板或范例,學生按照要求編寫相應的文檔,文檔完成后沒有企業(yè)項目開發(fā)的嚴格評審機制,學生無法發(fā)現(xiàn)開發(fā)階段里存在的問題,難以建立標準化和規(guī)范化的思想。實踐教學環(huán)節(jié)相對理論教學環(huán)節(jié)而言,內容薄弱,甚至有些流于形式。
作為教師,在軟件工程實踐教學環(huán)節(jié)中,盡可能靈活安排實驗時間,實踐環(huán)節(jié)應以大作業(yè)的形式貫穿于整個教學過程。教師在該課程教學初期,首先給學生若干項目課題進行選擇,為了讓學生能有較充足的基本知識和充分的準備,應當給學生足夠的時間來完成。比如,需求分析可安排在第3周布置、第5周提交;設計可安排在第6周布置、第8周提交;測試案例可安排在第9周布置、第11周提交;質量評估可安排在第12周布置、第14周提交。教師應要求每位學生參與,抽查部分學生并要求其在全班進行匯報和交流。
除此之外,筆者認為還可以邀請一些理論知識和開發(fā)經驗都很豐富的行業(yè)人員與學生互動交流,定期舉辦專題講座,如行業(yè)發(fā)展趨勢、行業(yè)現(xiàn)狀和自己的從業(yè)經驗等,讓學生了解企業(yè)軟件開發(fā)中的實際問題,讓學生學到在課堂中學不到的知識和實際經驗,提高學生實際軟件開發(fā)的能力。
在進行實踐環(huán)節(jié)教學時,筆者認為需注意以下幾點:一是加強師生對實踐教學環(huán)節(jié)重要性的認識,大多數(shù)師生重理論輕實踐,而軟件工程課程的特殊性,必須加大學生實踐能力的培養(yǎng);二是規(guī)范實踐教學環(huán)節(jié)的考核,教師應及時檢查學生實踐環(huán)節(jié)的質量,與學生面對面交流,注意收集學生的反饋意見,發(fā)現(xiàn)問題,及時解決,不要使實踐教學流于形式;三是加大實踐教學環(huán)節(jié)的考核比例,我們將實踐教學環(huán)節(jié)考核比例增加至總成績的70%。在對學生的實踐環(huán)節(jié)考核中,我們更側重于對學生的實踐操作能力、綜合應用能力、文檔編寫能力、團隊合作和溝通能力的考核。南京城市職業(yè)學院該課程的實踐考核主要從2個方面進行:職業(yè)素養(yǎng)評定和業(yè)務能力考核。職業(yè)素養(yǎng)評定主要通過對學生的平時工作表現(xiàn),評價其所具備的工作素質,實行百分制,占實踐教學環(huán)節(jié)考核比例的30%。內容包括考勤情況、個人素養(yǎng)、團隊溝通和日志填寫等。例如,學生是否能夠按企業(yè)工作制度進行工作;學生對于教師或組長交代的工作是否能反應迅速準確,是否能抓住工作的關鍵;是否有不斷提高個人工作效率和自己業(yè)務水平的意愿;是否能夠和小組成員進行良好的溝通和協(xié)作;是否能夠按時認真完成每天的工作日志。業(yè)務能力考核主要評定學生在規(guī)定時間內完成任務的情況,同樣實行百分制,占實踐教學環(huán)節(jié)考核比例的40%。內容包括軟件完成的質量和所花費的時間。例如,提交的程序是否能夠正常運行;程序代碼是否能夠嚴格遵守代碼規(guī)范性;項目團隊、教師和企業(yè)專家對其開發(fā)的軟件產品是否滿意;提交的軟件產品是否達到預期效果;是否在規(guī)定時間完成任務。2方面綜合計算后評定學生的實踐環(huán)節(jié)成績。軟件工程課程的教學目的是使學生能將軟件工程的思想和方法應用于實際軟件開發(fā)過程中,應著重培養(yǎng)學生的動手實踐能力,加大實踐教學環(huán)節(jié)的考核比例可使實踐教學環(huán)節(jié)不再薄弱。
5 打造良好的軟件工程環(huán)境
一個成功的軟件必須經過一系列嚴格的過程,包括可行性研究、需求分析、設計、編碼、測試、包裝、發(fā)行、宣傳、銷售和客戶服務等。在軟件工程教學中,大多數(shù)情況是學生將實驗中所做的工作整理成作業(yè)的形式提交給教師,教師進行批改,并沒有嚴格的走查、審查和技術復審等評審機制,沒有交付給用戶使用,更談不上驗收和維護。此時,學生對于軟件工程的理解程度依然停留在分析、設計和編碼這幾個層面。
對于軟件工程課程來說,如果只是讓學生在實踐環(huán)節(jié)中進行軟件開發(fā)是不夠的,學生需要在一個符合軟件工程要求的環(huán)境下開發(fā)軟件,才能夠真正掌握軟件工程的思想和方法,因此軟件工程教學取得效果的關鍵是建立一個良好的軟件工程環(huán)境。
筆者認為,在課程教學中可適當引入一些常用的軟件工程工具,比如進行軟件需求分析和設計時可使用建模工具,進行軟件測試時可使用測試工具等。結合課程實踐教學環(huán)節(jié)的要求,根據(jù)學生實際情況和項目的固有特點,教師可編寫實驗指導手冊,包括開發(fā)過程模型、文檔模板、編碼標準、階段評審標準和驗收審查標準等,將實踐環(huán)節(jié)的過程規(guī)范化和產業(yè)化,要求學生在相對真實、良好的軟件工程環(huán)境中去理解軟件工程方法論、過程模型、開發(fā)環(huán)境和軟件開發(fā)的管理技術等,體會和掌握軟件工程的思想,能將這一系列活動靈活運用到實際開發(fā)工作中去。例如,南京城市職業(yè)學院與軟件開發(fā)公司合作開發(fā)了“軟件人才實訓平臺”,該平臺構建了良好的軟件工程環(huán)境。在軟件工程課程實訓中,我們利用該平成了相關實訓,學生可以通過該平臺了解軟件開發(fā)過程中的一系列流程,如項目環(huán)境準備、需求分析、設計、編碼、測試、部署和維護等。該平臺要求學生完成相應階段后,必須在該平臺上提交文檔和相關資料,教師可以通過該平臺學生提交的相關成果進行考核評分。這就很好地模擬了軟件工程環(huán)境,讓學生參與到真實化企業(yè)實訓中去。
在構建軟件工程環(huán)境時,應以軟件工程環(huán)境的主要目標和基本需求為基礎,把開發(fā)技術、管理技術、支撐環(huán)境、相關工具和開發(fā)平臺等有關因素有機地結合在一起,全方位考慮。
關鍵詞:普通院校;實踐教學體系;工程實踐能力;路線圖
軟件工程專業(yè)在我國高等院校還是一個很不成熟的專業(yè),比起傳統(tǒng)的工科專業(yè)來說,軟件工程專業(yè)有更多的技術成分,因此,我們的教學體系和模式就要有別于傳統(tǒng)的教學體系和模式。實踐教學體系是否合適將直接影響軟件工程專業(yè)畢業(yè)生的質量。對于重點院校軟件專業(yè)和軟件學院實踐教學體系已有很多專家學者進行了研究與實踐[1-3],而普通院校無論是師資,還是其他教學資源,都不能與重點院校相比[4-5],應該有一套有別于重點院校的實踐教學體系。本文將對普通院校軟件工程專業(yè)實踐教學體系的構建進行探討,并結合我院軟件工程專業(yè)實踐教學體系進行總結。
1實踐教學體系構建原則
軟件工程專業(yè)實踐教學體系構建原則可以從4個方面考慮:軟件工程專業(yè)特點、教指委的軟件工程專業(yè)規(guī)范、軟件工程專業(yè)的職業(yè)定位、人類認識事物的規(guī)律。
1) 軟件工程專業(yè)是一個綜合性學科,既有科學的要求,又有技術的要求。從學生的培養(yǎng)目標來看,普通院校軟件工程專業(yè)含有更多的技術要求。目前國內大多數(shù)普通院校軟件工程專業(yè)還是按照傳統(tǒng)的理工科人才培養(yǎng)方式進行學生的培養(yǎng),忽視軟件工程專業(yè)知識體系的特點,從而導致學校的學生大多數(shù)隨能按照培養(yǎng)計劃完成學業(yè),成為一名合格的軟件工程專業(yè)的畢業(yè)生,但與企業(yè)的要求相差甚遠,企業(yè)找不到合適的人才的現(xiàn)狀。
2) 軟件工程專業(yè)規(guī)范給定的軟件工程專業(yè)知識體系包括:計算機科學與技術知識、軟件工程知識和領域知識。計算機科學與技術專業(yè)、軟件工程專業(yè)是實踐性、應用性非常強的學科,要使學生掌握好計算機科學與技術的基礎理論知識,應用軟件工程技術的基本技巧與方法,就必須確保實踐教學的教學質量。
3) 按照現(xiàn)在職場流行的說法,人才分為3類:白領、灰領、藍領。根據(jù)本地區(qū)和學校的特色,我院軟件工程專業(yè)的定位是培養(yǎng)“灰領”人才,因此,學生除了學習傳統(tǒng)的計算機科學與技術知識、軟件工程知識外,還要學習管理學知識,同時根據(jù)我校的特色與定位,把汽車設計與制造過程中信息結構作為應掌握的領域知識。管理學知識將用于團隊管理、軟件開發(fā)過程管理以及信息結構建模等開發(fā)活動;汽車設計與制造過程中的信息作為軟件開發(fā)實踐的應用對象,是軟件的加工對象。
4) 人類對事物的認識是一個由簡單到復雜,由具體到一般的過程,是一個分析與綜合的過程,將隨著知識的積累逐步深入。這就要求實踐教學要按照培養(yǎng)計劃進度設置不同的實踐內容,而且可以根據(jù)學生的個體情況進行少量的調整。
2實踐教學體系構建方案
現(xiàn)在高等教育的教育方式正在從以教師為中心轉變?yōu)橐詫W生為中心,既以學生的目的需要為中心、以學生的能力拓展為中心、以學生的知識結構為中心開展實踐教學。因此,我們在設計實踐教學體系時,始終注重按照學生理論學習的進度和學生能力提高的需求,依據(jù)軟件開發(fā)過程的特點,分層次開設不同的實踐內容。
按照學生能力培養(yǎng)的路線圖,實踐教學體系始終圍繞著培養(yǎng)知識應用能力和創(chuàng)新能力進行構建。能力培養(yǎng)方面分為3個方面,即程序設計能力、軟件開發(fā)能力、工程實踐能力。實踐教學課程體系由5個層次的實驗構成:課程實驗、課程設計、項目實訓、開發(fā)實踐、畢業(yè)設計,如圖1所示。
2.1課程實驗
本類實驗主要是加強學生對所學知識的理解,“聽過的會忘記,看過的會記住,做過的會理解”。實驗內容分為3類。第1類:掌握和運用工具,包括語言類,軟件開發(fā)工具類等;第2類:理解所學知識,包括操作系統(tǒng)、編譯原理、設計模式、計算機網絡、數(shù)據(jù)結構與算法等;第3類:同時兼顧工具學習和知識理解,如數(shù)據(jù)庫原理。這類實驗主要是學生按照實驗指導書完成規(guī)定的實驗內容,但也有一部分內容只給出實驗目的,讓學生自己設計實驗內容(設計型),以兼顧學生的不同層次與興趣。
2.2課程設計
本類實驗的目的就是培養(yǎng)和訓練學生對所學知識的綜合運用能力和學習新技術、新知識的能力,屬于規(guī)范中的設計型與綜合型實驗。教師給出課程設計題目、相應的背景描述和課程設計要求,學生在教師的指導下獨立完成課程設計項目,時間一般為1~2周。實驗內容和要求根據(jù)學生的理論課進程安排,如VC++課程在數(shù)據(jù)結構與算法設計之前開設,因此VC++課程設計要求學生做好類的設計、界面設計,數(shù)據(jù)存儲用文件形式,對軟件的效率不做要求;數(shù)據(jù)結構與算法設計課程設計,除了VC++課程設計的要求外,要增加對算法的效率和存儲空間的要求;設計模式與UML建模課程設計除了VC++課程設計和數(shù)據(jù)結構與算法設計課程設計的要求外,增加軟件可靠性與高效的要求等。所有的課程設計都要求界面美觀。同時鼓勵優(yōu)秀學生應用一些還沒有開設的課程內容。
2.3項目實訓
本類實驗的目的主要是訓練項目的組織能力、工程實踐和團隊協(xié)作能力,著重開發(fā)過程的訓練,按照軟件生命周期,完成各階段的工作。項目實訓放在軟件工程和數(shù)據(jù)庫原理等專業(yè)基礎課程之后,軟件體系結構之前。同時開展多個項目,把學生分成小組,在不同的項目中擔任不同的角色,教師扮演客戶和技術總監(jiān)的角色,要求學生按時上下班,實驗室允許學生加班,學生要負責實驗室設備安全。要上交較完整的需求分析與設計文檔,特別是各部分的公共信息要完整。可以只實現(xiàn)部分需求,時間安排為2~4周為宜。
2.4開發(fā)實踐
開發(fā)實踐在軟件工程的專業(yè)實驗室或校外實習基地進行。2008年我們與東風懸架彈簧公司和武漢天喻軟件有限責任公司合作,利用武漢天喻軟件有限責任公司的PLM軟件,裝入東風懸架彈簧公司產品開發(fā)的基礎數(shù)據(jù)。學生通過該平臺,可以了解企業(yè)產品的開發(fā)流程,不懂的地方隨時可以向企業(yè)工程師咨詢;可以選定一個模塊,按照PLM系統(tǒng)接口規(guī)范進行設計開發(fā),然后集成到PLM系統(tǒng)中去??梢允翘鎿Q原來的模塊,也可以是增加新的功能,進行集成測試檢驗程序的可靠性和效率。時間安排為4~8周為宜,由學校教師與企業(yè)工程共同指導。
2.5畢業(yè)設計
畢業(yè)設計是大學教學過程的最后一個環(huán)節(jié),是一個學生自主開發(fā)的綜合性實踐教學環(huán)節(jié)。通過畢業(yè)設計,能使學生綜合應用所學的各種理論知識和技能,進行全面、系統(tǒng)、嚴格的技術及基本能力的練習。我院畢業(yè)設計時間安排為16周,鼓勵學生把就業(yè)與畢業(yè)設計結合起來。學生在企業(yè)實習階段參與項目開發(fā),由企業(yè)導師進行項目開發(fā)的相關指導,回校在校內教師指導下完成論文和答辯。
3軟件工程專業(yè)實踐教學的師資要求
軟件工程專業(yè)的實踐教學要求實踐教師既是實踐的指導者,又是直接的參與者。要對學生在實踐中遇到的各種問題給予解答,包括編程語法、算法邏輯、軟件體系結構設計、用戶需求分析、團隊協(xié)作方法等;在實踐過程中更多地是站在用戶的角度對學生的成果進行驗收測試,使學生體會到在現(xiàn)實情況下怎樣的軟件才能被用戶接受,體會到用戶怎樣檢查軟件的可靠性、可用性、正確性,用戶怎樣評價軟件的優(yōu)劣。
軟件工程專業(yè)的特征要求從事軟件工程專業(yè)教學的師資隊伍是一支具有綜合素質的隊伍,既有專業(yè)理論基礎,又要有企業(yè)實踐背景;要充當軟件開發(fā)過程的各種角色――投資者、使用者、組織者、設計者、編碼者、測試員等。課程實驗主要由理論基礎扎實的教師擔任,課程設計由理論基礎扎實的教師和有企業(yè)實踐背景的教師共同指導,項目實訓和開發(fā)實踐主要由有企業(yè)實踐背景的教師完成。
4結語
本文介紹的軟件工程專業(yè)實踐教學體系是我校通過幾年的不斷摸索與改正后形成的。在探索過程中獲得了湖北省教育廳項目(軟件工程創(chuàng)新型人才培養(yǎng)研究)和學校的支持(2007年軟件工程特色專業(yè)建設費15萬元)。該實踐教學體系利用一些基礎實驗幫助學生理解和掌握專業(yè)理論知識,為今后的發(fā)展打下堅實的專業(yè)基礎,同時通過參與各種項目,提供了發(fā)展其動手能力的環(huán)境,貼近了企業(yè)需求,提高了就業(yè)率。2009年我校軟件工程專業(yè)的一次就業(yè)率達到了90%。由課程設計、開發(fā)實踐和畢業(yè)設計構成的創(chuàng)新訓練體系,使學生獲得了科學研究方法和軟件開發(fā)活動的工程化的經驗。
參考文獻:
[1] 李紅梅. 面向能力培養(yǎng)的軟件工程實踐教學體系[J]. 高等工程教育研究,2009(2):84-87.
[2] 董瑋. 引入實訓體系,培養(yǎng)應用型軟件人才的探索與實踐[J]. 計算機教育,2007(23):10-19.
[3] 董瑋,邱建華,楊英鵬,等. 培養(yǎng)應用型軟件人才的實踐教學體系的研究與實踐[J]. 計算機教育,2008(10):16-18.
[4] 鄭耿忠,劉秋梅. 地方性院校軟件工程專業(yè)建設探討[J].電腦知識與技術,2009,5(30):8477-8478.
[5] 鄭耿忠,劉秋梅. 軟件工程專業(yè)實踐教學體系構建探索[J]. 電腦知識與技術,2009,5(27):7690-7691.
[6] 白偉華. 軟件工程專業(yè)應用型人才培養(yǎng)模式的思考[J]. 計算機教育,2008(22):35-37.
Practice Teaching System of Software Engineering in General Institutes
FU Yong-zhi, WANG Wen-yan, SHI Lü-hua
(Department of Computer Science School of Electrical & Information Engineering Hubei University of Automotive Technology,
Shiyan 442002, China)
(哈爾濱師范大學 管理學院,黑龍江 哈爾濱 150025)
摘要:翻轉課堂作為一種新型的教學形式,實現(xiàn)了對傳統(tǒng)教學模式的革新。構建云計算教學平臺是一種有效實施翻轉課堂的現(xiàn)代技術手段。文章介紹翻轉課堂的概念,提出軟件工程專業(yè)課程翻轉課堂的教學模式,討論如何構建一個與翻轉課堂教學模式相適應的軟件工程專業(yè)教學平臺。
關鍵詞 :翻轉課堂;云計算;軟件工程;教學平臺
第一作者簡介:聶曉秋,女,碩士研究生,研究方向為公共部門人力資源管理、教育經濟與管理,110947225@qq.com。
0 引言
軟件工程是一個具有實踐性、工程性、實用性等特征的綜合型應用學科。軟件工程專業(yè)的學生要在不斷的實踐中掌握軟件開發(fā)的方法和思維方式[1]。目前各高校的軟件工程專業(yè)課程仍然沿用計算機類課程的教學模式,重理論而輕實踐,導致學生學習積極性不高、實踐能力較差。業(yè)界諸多學者提出面向應用的教學模式和項目驅動式教學法等新型教學方式來強化軟件工程專業(yè)課程的實踐學習,提高學生的動手能力和創(chuàng)新意識。翻轉課堂是這些教學理念中較為成功的一種,而借助計算機、網絡和多媒體等是翻轉課堂成功的關鍵所在,云計算環(huán)境的引入就是翻轉課堂得以實現(xiàn)的重要手段。
1 翻轉課堂的概念
翻轉課堂(flipped classroom),顧名思義就是顛覆課堂教學過程和課下學習活動的一種新型教學模式。美國科羅拉多州的林地公園高中于2007年最早提出了翻轉課堂的概念,該校的化學教師喬納森伯爾曼使用軟件錄制了一段教學視頻并上傳到網絡中供缺席的學生學習,學生在家觀看教學視頻,然后在課堂上完成作業(yè)和答疑活動。這種教學方式很快得到了學生的認可。翻轉課堂在全美迅速推廣,各大高校推出的微課視頻為翻轉課堂教學模式提供了充足的資源支持,促進了翻轉課堂的發(fā)展[2]。
翻轉課堂教學模式顛覆了傳統(tǒng)的知識傳授和知識內化的過程,讓學生在課上通過實踐完成知識內化,提高課堂教學的成效性。學生可以在教師的幫助下在于同學的互動中主動學習,避免了傳統(tǒng)課堂的單一教學形式對學生積極性的影響。寓教于樂的教學視頻也可以提高學生在課下主動學習的積極性,為知識傳授提供了新的形式。
2 軟件工程專業(yè)的翻轉課堂教學模式
軟件工程專業(yè)課程的特點是基礎理論較為抽象、對學生的創(chuàng)新能力要求較高。目前各高校的軟件工程專業(yè)課程都有專門的實踐教學環(huán)節(jié),但仍離不開理論知識的講解和思維方式的訓練,這些都導致學生積極性不高、教學質量下降。哈爾濱師范大學軟件工程專業(yè)在研究翻轉課堂教學模式和本專業(yè)課程特點的基礎上,提出了一個適用于軟件工程專業(yè)課程特點的翻轉課堂教學模型,如圖1所示。
在軟件工程專業(yè)的翻轉課堂教學模式中,學生課前觀看教學視頻學習理論知識,通過和教師的即時交流完成知識學習;教師則根據(jù)學生的反饋統(tǒng)計課程的開展情況,酌情安排課上時間分配。在課上的教學環(huán)節(jié)中,教師首先集中講解學生反饋的疑難知識點,對重點內容進行簡要歸納,然后根據(jù)課程內容和教學統(tǒng)計結果提出實踐學習內容。學生自由分組創(chuàng)建實踐團隊,按照軟件開發(fā)過程的要求進行分工和調研,最終在教師的指導下完成一個具有項目特征的實訓工作,提交相關的設計文檔和研究成果。教師的課上任務就是點評提交的成果,總結學生的表現(xiàn),解答學生實踐過程中的問題等。
3 軟件工程翻轉課堂云計算教學平臺
翻轉課堂教學模式需要一定的技術和資源支持,云計算環(huán)境無疑是最佳選擇。經過不斷的探索和研究,哈師大軟件學院構建了一個基于云計算環(huán)境的翻轉課堂教學平臺,包括課堂軟件開發(fā)、課前理論學習、運行管理和教學評價等模塊,如圖2所示。
3.1 軟件開發(fā)模塊
軟件開發(fā)模塊體現(xiàn)了翻轉課堂中實踐教學的具體內容,是整個教學平臺的核心功能模塊。按照軟件工程對軟件開發(fā)生命周期的定義,軟件開發(fā)模塊分為項目規(guī)劃、需求分析、系統(tǒng)設計、代碼實現(xiàn)和系統(tǒng)測試等教學過程。在一個項目目標的規(guī)劃內,每個教學過程都對應前后關聯(lián)的任務、文檔和成果。實際的教學過程是學生登錄云計算平臺進行實際的軟件項目實訓練習,以團隊的方式完成項目,編寫文檔和提交成果報告。教師也要登錄云計算平臺全程監(jiān)控和指導。云計算教學平臺的教學資源庫是通過深化校企合作得來的,所有的案例都來源于真實的軟件開發(fā)項目,學生甚至可以在企業(yè)項目經理的指導下通過教學平臺進行真實項目的開發(fā)。軟件開發(fā)模塊結合了翻轉課堂、任務驅動和校企聯(lián)合等面向應用的教學模式,體現(xiàn)了“工學結合、頂崗實習”的軟件工程專業(yè)課程實踐教學理念。
3.2 理論學習模塊
理論學習模塊是體現(xiàn)翻轉課堂模式課前學習的功能模塊,該模塊的主要功能包括教學視頻、課前訓練和課程統(tǒng)計等。教學視頻功能的資源都來自國內知名高校的公開課,并且具有快進、回放、重放、暫停等播放功能,便于學生自定義課前學習。課程教學視頻的內容、視覺效果、互動性和長短都要根據(jù)學生的學習效果定期調整,不僅要保證教學內容和課前學習的目標吻合,還要突出教學重點和難點,方便教師和學生的課前交流。課前訓練功能是在每個教學視頻播放前設置一些教學問題,讓學生在觀看視頻時尋找答案,在視頻結束后學生要根據(jù)提示進行簡單的問題解答和知識訓練。課程統(tǒng)計模塊可以統(tǒng)計學生觀看視頻和回答問題的情況,有效提高教學的目的性。除了上述3個主要功能外,教學平臺還提供了方便教師和學生交流的論壇,所有與課程相關的討論和問題都可以在論壇上交流和解答。
3.3 運行管理模塊
運行管理模塊是部署在軟件工程翻轉課堂云計算教學平臺云端應用服務層中,將各種即時通訊、視頻播放和在線論壇等應用集中封裝的服務層次。具體的功能包括項目管理、學生管理、資源管理和師生溝通等。
1)項目管理子模塊。
項目管理模塊用來保存學生的實訓成果和相關報告。該模塊具有文檔在線編輯和軟件展示功能,可以根據(jù)課程類別和章節(jié)提供在線的實訓環(huán)境和展示服務。學生在課程進行中提出的問題也可以在項目管理模塊,由任課教師或企業(yè)專家在線解答。在實踐教學中,教師可以通過項目管理模塊掌握所有學生團隊的項目進展情況,并通過在線成果交流來提高實踐教學的教學質量。學生在項目管理模塊中能夠即時了解本隊同學和其他團隊學生的開發(fā)進度,這不僅有助于提高團隊內部的溝通和協(xié)作,還可以通過比較和競爭提高團隊凝聚力。
2)學生管理子模塊。
學生管理模塊用來監(jiān)控學生的課前視頻觀看和課中實訓練習狀態(tài)。學生課前的視頻教學是獨自進行的,有效的教學監(jiān)控是保證出勤率和質量的重要因素。學生管理功能不僅能監(jiān)控學生是否觀看了視頻,還能知道他們觀看了哪些視頻,哪段視頻的播發(fā)次數(shù)最多、時間最久。這些監(jiān)控數(shù)據(jù)對教師掌握學生課前學習狀態(tài)有至關重要的作用,教師可以通過在線統(tǒng)計獲取課前學習數(shù)據(jù),也可以在線設置各項參數(shù)自動獲取指定人員和章節(jié)的統(tǒng)計數(shù)據(jù)。對于課中的實踐教學,學生管理模塊也可以獲取學生團隊的練習資料,比如項目進展情況、資料是否齊全等,這些數(shù)據(jù)可以為課后評估和項目管理等模塊提供有效數(shù)據(jù)支持。在課程結束后,學生成績也通過學生管理模塊統(tǒng)計和查詢。
3)資源管理子模塊。
資源管理模塊用來存儲和維護云計算教學環(huán)境中教學資源。教學資源包括理論學習視頻、課堂項目資料、軟件開發(fā)資源和企業(yè)開發(fā)知識庫等。這些資源的質量決定了教學的質量和效果,比如理論學習視頻是否寓教于樂直接影響學生的學習積極性,課堂項目資料是否具有針對性直接影響教學的應用價值,企業(yè)開發(fā)庫的資源是否有效直接影響學生的實際工作能力等。資源管理模塊不同于傳統(tǒng)的軟件資源庫,它具有在線文檔編輯、視頻制作、網絡資源搜集等高級功能,可以實現(xiàn)對已有資源的改進和創(chuàng)新,也可以實現(xiàn)網絡資源的匯總和摘選。另外,通過和一些國內知名云供應商的合作,我們還構建了包括軟件開發(fā)云環(huán)境、企業(yè)軟件項目庫和軟件開發(fā)技術資料庫、軟件開發(fā)文檔模板庫等在內的高級應用型軟件開發(fā)資源平臺。
3.4 學生評價模塊
學生評價模塊對學生學習過程和教師教學過程的評估打分。其中學習過程根據(jù)翻轉課堂教學模式的要求分為課前理論學習和軟件開發(fā)實訓兩部分:課前理論學習主要包括視頻觀看、作業(yè)完成、課堂交流表現(xiàn)等方面的評估;軟件開發(fā)實訓則是通過對項目成果和研發(fā)報告的評估來獲得分數(shù)。這兩部分分數(shù)按照一定比例折算成學生專業(yè)課程的課程分數(shù),和期末考試筆試成績一起考核。對教師教學的評估則通過課程中的表現(xiàn)定性評價,評價的指標包括在線時間、操作頻率、交流次數(shù)和學生打分等。
4 實施效果
基于云計算環(huán)境的軟件工程專業(yè)翻轉課堂教學經過4個月的試運行,取得了顯著的教學成果。使用云計算平臺的學生在知識認知和技能實踐等方面的能力比往屆學生有較大提升。學生可以通過線上交流和團隊合作完成開發(fā)任務,教師可以通過在線審核完成教學任務,基本達到了云計算平臺的設計目標。
為了進一步掌握云計算平臺的翻轉課堂教學模式的實踐效果,通過校內走訪和問卷調查等方式深入了解學生的學習積極性、動手能力和計算思維意識。結果顯示學生對這種寓教于樂的教學方式普遍認同,對自身知識掌握和動手能力的提升感到滿意,教師則對系統(tǒng)帶來的豐富教學資源和低成本辦學模式感到滿意。
5 結語
云計算環(huán)境為軟件工程專業(yè)課程的翻轉課堂教學提供了技術條件和資源條件,在擺脫了課堂的束縛后,學生的在線學習更有針對性,更貼近真實,教師的在線教學資源更豐富,教學組織更有效,學生和教師在線一對一或一對多的交流更順暢。這些都是傳統(tǒng)課堂教育和實驗室教學無法達到的。另外,所有的教學資源都在云端實現(xiàn),學校對教學固定資產的投入和運行成本也較低,最大限度地降低了學校和學生的負擔,可謂一舉多得。
參考文獻:
[1] 夏東鋒.“翻轉課堂課下教學模型”與對應云教學系統(tǒng)的構建[J]. 江蘇開放大學學報, 2014(5): 27-31.
近年來,軟件行業(yè)進入第二春,供需兩旺。據(jù)調查,以北京為例,軟件工程師每年需求50000人左右。據(jù)IT英才網數(shù)據(jù)顯示:北京IT職場每月需求達3380個。 [1]但是,軟件行業(yè)市場的供需出現(xiàn)了錯位,一方面,IT企業(yè)對軟件工程專業(yè)的人才需求旺盛,另一方面,軟件工程專業(yè)的畢業(yè)生就業(yè)質量卻不高。究其原因,是我們培養(yǎng)的人才不能滿足企業(yè)對軟件工程人才要求。
軟件工程專業(yè)是國家教育部在2002年新增的專業(yè)。該專業(yè)以計算機技術為主的專業(yè),實踐性很強,專業(yè)的實踐教學體系是培養(yǎng)學生實踐能力、計算機工程能力、創(chuàng)新能力的重要途徑。我們應該充分了解市場和企業(yè)的需求,制訂和實施切實可行的實踐教學體系。[2]
曲靖師范學院軟件工程專業(yè)從2008年開辦至今,已經培養(yǎng)5屆學生,一直以來,我們不斷豐富和完善該專業(yè)的實踐教學體系,形成了相對完備、效果好的實踐教學體系。
2 實驗室建設是硬件基礎
實驗室是開展實踐教學的硬件保障,實驗室建設的好壞,直接關乎實踐教學體系執(zhí)行的成敗。一直以來,我們非常重視軟件工程專業(yè)的實驗室建設。實驗建設能充分滿足軟件工程專業(yè)實踐教學體系的硬件要求。實驗設備采購的指導思想是實驗設備要先進、實用,充分滿足學生的學習和教師的實踐教學需要。
該專業(yè)已經建成硬件實驗室有2個,分別是“計算機組成原理實驗室”、“計算機組裝與維護實驗室”;通信與網絡實驗室有2個,分別是“計算機通信實驗室”、“計算機網絡實驗室”;軟件類的實驗室有3個,分別是“軟件開發(fā)與測試實驗室”、“數(shù)據(jù)庫實驗室”、“信息技術創(chuàng)新實驗室”。同時,為適應當今云計算的研究需要,我們投資200多萬建立了云計算平臺。
以上實驗室的更新及新建,能充分滿足師生完成實踐教學的需要。
3 軟件工程專業(yè)技能訓練是實踐教學體系的抓手
在學生大學期間,為了在不同學期適時提高學生的綜合實踐能力,我們結合“軟件工程專業(yè)人才培養(yǎng)方案”的要求,開展了貫穿大學4年的專業(yè)技能訓練。我們把專業(yè)技能訓練當作實踐教學體系的抓手,專業(yè)技能訓練根據(jù)訓練大綱,著力提升學生應具備的專業(yè)素養(yǎng)和能力。
我院的專業(yè)技能訓練主要包括兩個級別,一級是課程設計訓練,本訓練以課程為依托,制定課程級別的訓練大綱;二級是綜合設計訓練,主要訓練學生的軟件論文項目的開發(fā)能力,要求學生能靈活應用所掌握的知識和技能,完成一個綜合性、設計性的軟件項目。下面分別對這兩級訓練作詳細介紹。
3.1 課程設計訓練
“課程設計”是一個多義詞詞條。它可以指“為掌握某一課程內容所進行的設計”[3]。課程設計是課程實驗的高級環(huán)節(jié),課程實驗是提升學生立體實踐能力的根本,課程實驗分為驗證性實驗、綜合性實驗和課程設計實驗,我們在傳統(tǒng)驗證性實驗的基礎上開展課程設計實驗,提升學生的課程綜合實踐能力。
以《Java程序設計》課程設計為例,課程設計的目的:利用Java語言的語法特性,結合數(shù)據(jù)結構算法、網絡知識、文件處理和數(shù)據(jù)庫等知識完成綜合題目的設計和代碼實現(xiàn),并培養(yǎng)鍛煉分析程序、撰寫報告等能力。
軟件工程專業(yè)的已經開出課程設計的課程有4門,分別是:OFFICE辦公軟件、計算機組裝與維護、C語言程序設計、JAVA程序設計。我們針對這些課程,在編寫實驗大綱時,要求包含課程設計,設計方案要經過專業(yè)系的審核和教授委員的審定。最后,以審定通過的課程設計為依托,為后續(xù)綜合實踐能力的提升打下堅實的基礎。
3.2 綜合設計訓練
綜合設計訓練的目的是鍛煉學生綜合所學知識,設計和開發(fā)一個小項目的能力。這些項目有“JAVA程序設計”、“商業(yè)數(shù)據(jù)庫開發(fā)”、“J2EE企業(yè)應用”、“JAVA Web開發(fā)”等,這些小項目的訓練要基于幾門課的知識和技能,如“JAVA Web開發(fā)”就需要學生綜合數(shù)據(jù)庫、軟件工程、JAVA程序設計語言等知識與技能。
綜合設計訓練要與畢業(yè)設計區(qū)別開來,此訓練的主要目的是讓學生體驗和掌握項目開發(fā)流程,同時鍛煉綜合應用所學課程來完成一個具體的小項目。
3.3 軟件工程專業(yè)技能訓練安排
]
為鼓勵學生多渠道獲得技能分,我們規(guī)定,學生參加通過全國軟件資格(水平)考試(中級),可以獲得2學分,參加通過軟件資格(水平)考試(高級),可以獲得3學分。
4 畢業(yè)設計是實踐教學體系總結性的實踐環(huán)節(jié)
畢業(yè)設計是教學過程的最后階段采用的一種總結性的實踐教學環(huán)節(jié)。通過畢業(yè)設計,學生可以綜合應用所學的各種理論知識和技能,進行全面、系統(tǒng)、嚴格的計算機技術及軟件工程能力的練習。[4]畢業(yè)論文(設計)是實踐教學體系的技能整合,我院對畢業(yè)論文(設計)作重大改革,著力打造學生綜合實踐能力。
參加畢業(yè)論文(設計)的學生分兩部分,一部分在公司實習,同時要在公司完成畢業(yè)論文(設計)工作,余下的學生在曲靖師院完成畢業(yè)論文工作,為提高畢業(yè)論文(設計)的質量,經向教務處請示,允許我院結合專業(yè)實踐性強的實際,改革本專業(yè)畢業(yè)論文(設計)工作。改革思路包括三點,一是我院學生的畢業(yè)論文(設計)以畢業(yè)設計為主,弱化對學生文本的要求,強化對實踐動作能力的提升和檢查,二是做好規(guī)范管理工作,制定相關文件,如:“信息工程學院畢業(yè)論文(設計)工作規(guī)定”、 “信息工程學院畢業(yè)設計開發(fā)文檔的撰寫與打印規(guī)范” 、“信息工程學院畢業(yè)設計開發(fā)文檔”等。
5 校企合作助力實踐教學體系
為提升學生的實習效果和就業(yè)質量。我們自2012年開始,與四川華迪信息技術有限公司開展畢業(yè)實習的合作,該公司是一家集軟件外包、信息服務、學生專業(yè)技能培訓為一體的公司,在以上業(yè)務深耕12年,在全國小有名氣。我們的學生參加校企合作實習有兩種類型,一是為期三個月的專業(yè)實習,二是為期四個月的就業(yè)培訓。三個月的專業(yè)實習分為Java開發(fā)方向和計算機網絡方向,Java開發(fā)實訓的重點是提升學生的軟件開發(fā)實踐能力和水平,計算機網絡方向的實訓重點是提升學生的網絡規(guī)劃、設計、實施、部署的能力。
從2013年開始,軟件工程專業(yè)的學生幾乎都參加校了企業(yè)合作的實習,取得了良好效果,學生的專業(yè)實踐能力提升了,就業(yè)質量明顯提高,很多學生就在四川成都就業(yè)、創(chuàng)業(yè)。
6 結語
本文結合長期的思考和實踐,不同的實踐環(huán)節(jié)有機整合,大大提高了學生的職業(yè)能力和素質。軟件工程專業(yè)的實踐教學體系的構建和實踐是一個系統(tǒng)的、長期的過程,還需要我們不斷地探索,進一步提高人才培養(yǎng)質量。
參考文獻: