鄭小蓉
摘 要
面對(duì)軟件工程課程教學(xué)中出現(xiàn)的教學(xué)困難,基于對(duì)教學(xué)中學(xué)生教師身份的再認(rèn)識(shí),應(yīng)用“翻轉(zhuǎn)課堂”理念,借助教學(xué)云平臺(tái)發(fā)布微課等教學(xué)資源,結(jié)合學(xué)習(xí)者和行業(yè)發(fā)展需求,采取案例教學(xué)法和項(xiàng)目導(dǎo)向?qū)W習(xí)法,改革課程考核方式,對(duì)《軟件工程》課程教學(xué)內(nèi)容、方式及進(jìn)程再造,激發(fā)學(xué)習(xí)者自主學(xué)習(xí)的熱情,提升課程教學(xué)效果。
【關(guān)鍵詞】軟件工程;翻轉(zhuǎn)課堂;微課;教學(xué)云平臺(tái)
1 問(wèn)題的提出
《軟件工程》課程講授現(xiàn)代軟件工程的基本理論,培養(yǎng)學(xué)生運(yùn)用軟件工程原理進(jìn)行軟件需求分析與設(shè)計(jì)的能力,是重要的專業(yè)核心課程?!盾浖こ獭返幕纠碚摵?jiǎn)要、富有原則性,初學(xué)者普遍感覺(jué)抽象、空洞。一方面教師需要依托真實(shí)的軟件項(xiàng)目,將理論具體化、層次化、生動(dòng)化,備課任務(wù)重;加上學(xué)習(xí)者對(duì)相應(yīng)內(nèi)容掌握程度深淺不一,教師無(wú)法在有限的課堂教學(xué)中兼顧,導(dǎo)致顧此失彼、應(yīng)接不暇的困難局面。另一方面,對(duì)于理論思維較弱的學(xué)習(xí)者來(lái)講,如果沒(méi)有良好的引導(dǎo)和合適的學(xué)習(xí)資源,學(xué)習(xí)《軟件工程》往往困難重重。傳統(tǒng)課堂主要任務(wù)是傳授“正確”的知識(shí)、方法,學(xué)生在既定的范圍內(nèi)加強(qiáng)理解、練習(xí),成為規(guī)定套路的“熟練工”。學(xué)生沒(méi)有嘗試、發(fā)現(xiàn)、歸納、總結(jié)的機(jī)會(huì),面對(duì)新的課題就茫然無(wú)措。面對(duì)教與學(xué)中存在的問(wèn)題,可在傳統(tǒng)課堂的基礎(chǔ)上,實(shí)施翻轉(zhuǎn)課堂,不斷探索《軟件工程》的有效教學(xué)實(shí)施方式和辦法。
2 分析課程在專業(yè)體系中的任務(wù)定位
優(yōu)秀的軟件技術(shù)專業(yè)人才能夠熟練使用軟件工具、先進(jìn)的工程化方法和技術(shù),勝任軟件分析、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、實(shí)施和維護(hù)等工作。在我校軟件技術(shù)專業(yè)的課程體系中,在《軟件工程》之前的課程有《計(jì)算機(jī)導(dǎo)論》《C語(yǔ)言》《數(shù)據(jù)結(jié)構(gòu)》《數(shù)據(jù)庫(kù)技術(shù)》等,并行的課程有《WEB前端交互技術(shù)》《WEB程序設(shè)計(jì)》兩門(mén)課程?!盾浖こ獭氛n程理論性強(qiáng)、綜合實(shí)用性強(qiáng),在軟件技術(shù)專業(yè)課程體系中起著承上啟下的作用。
按照軟件生命周期一般分為軟件的項(xiàng)目定義、需求分析、設(shè)計(jì)、編碼、測(cè)試與維護(hù)等。軟件工程所有專業(yè)技術(shù)不可能在《軟件工程》課程中全部講授,對(duì)課程任務(wù)進(jìn)行合理分工十分必要。比如“編碼”可在《.NET》《JAVA》等課程中完成,“測(cè)試與維護(hù)”可在《軟件測(cè)試》課程中講解,《軟件工程》課程則可重點(diǎn)講解“需求分析與設(shè)計(jì)”。通過(guò)《軟件工程》課程,學(xué)習(xí)者建立工程化的思想,建立軟件開(kāi)發(fā)過(guò)程整體框架,理解軟件開(kāi)發(fā)過(guò)程各階段任務(wù)及作用,為開(kāi)展真實(shí)軟件項(xiàng)目的編碼、測(cè)試與維護(hù)等打下基礎(chǔ)。
3 建立實(shí)施翻轉(zhuǎn)課堂的軟硬件平臺(tái)
建立包括慕課等學(xué)習(xí)資源在內(nèi)的《軟件工程》教學(xué)資源,是實(shí)施翻轉(zhuǎn)課堂的前提和保證。借助教學(xué)云平臺(tái)軟件,可以支持學(xué)習(xí)者自主學(xué)習(xí)、自主確定進(jìn)度。
慕課資源一般包括一系列覆蓋課程重點(diǎn)內(nèi)容的微課、教材講義、習(xí)題庫(kù)及擴(kuò)展資料等。梳理課程知識(shí)的重點(diǎn)和難點(diǎn),合理取舍和編排,建立微課主題,如軟件工程規(guī)范文檔的編寫(xiě)。對(duì)數(shù)據(jù)流模型的頂層、中層與底層設(shè)計(jì),E-R模型的設(shè)計(jì),用例圖、類(lèi)圖、序列圖的設(shè)計(jì)等重難點(diǎn)均應(yīng)制作專題微課。匯總微課、課件及其他專業(yè)學(xué)習(xí)資料,上傳學(xué)校教學(xué)云平臺(tái)軟件,形成課程教學(xué)資源庫(kù)。
教學(xué)云平臺(tái)集信息處理軟件、近焦投影儀及觸摸控制白板于一體,既是存儲(chǔ)、匯集課程教學(xué)中各種資源的倉(cāng)庫(kù),也是師生學(xué)習(xí)交流互動(dòng)的園地。教師上傳教學(xué)資源、發(fā)布作業(yè)及批改結(jié)果,學(xué)生也可下載、觀看教學(xué)資源及上傳作業(yè),還可師生即時(shí)對(duì)話實(shí)現(xiàn)遠(yuǎn)程輔導(dǎo)功能??煞謩e應(yīng)用于計(jì)算機(jī)、手機(jī)、平板等多種終端,學(xué)習(xí)時(shí)間、地點(diǎn)靈活機(jī)動(dòng)?;诮虒W(xué)云平臺(tái)軟件,每位教師管理任教的多門(mén)課程的資源,每位學(xué)生管理在學(xué)的多門(mén)課程的學(xué)習(xí)資料。教學(xué)云平臺(tái)因人而異、內(nèi)容開(kāi)放,根據(jù)授權(quán)和被授權(quán),人人可定制個(gè)性化的教學(xué)輔助平臺(tái),對(duì)于每一名應(yīng)用者都是不同的。信息化教學(xué)資源和網(wǎng)絡(luò)化教學(xué)平臺(tái)為實(shí)施翻轉(zhuǎn)課堂提供了良好的軟件、硬件基礎(chǔ)。
4 激發(fā)學(xué)習(xí)者、行業(yè)從業(yè)者參與教學(xué)活動(dòng)的熱情
4.1 結(jié)合學(xué)習(xí)者自身需求
學(xué)習(xí)者因?yàn)榭床坏侥痴n程的作用,往往產(chǎn)生迷茫、懈怠心理,甚至反感、厭惡對(duì)該課程的學(xué)習(xí)。相反,如能看到當(dāng)前學(xué)習(xí)內(nèi)容的用途,特別是自己即將用到的課程內(nèi)容,學(xué)習(xí)者常常干勁十足、表現(xiàn)出濃厚的興趣。為此,在《軟件工程》授課內(nèi)容的選取上,也要考慮學(xué)習(xí)者的當(dāng)前學(xué)業(yè)考證和后期職業(yè)崗位的需求,真正服務(wù)于學(xué)習(xí)者的個(gè)人發(fā)展。如筆者所在學(xué)校軟件技術(shù)專業(yè)學(xué)生,在學(xué)習(xí)《軟件工程》的學(xué)期,往往會(huì)參加程序員、軟件設(shè)計(jì)師的考試。結(jié)合軟件水平考試的知識(shí)點(diǎn),在課程講解中,著重對(duì)數(shù)據(jù)流模型、E-R圖的設(shè)計(jì)、UML的用例圖、類(lèi)圖、序列圖等內(nèi)容進(jìn)行深入講解分析。
4.2 緊跟行業(yè)單位工作需要
面向?qū)ο蠓椒?、結(jié)構(gòu)化方法是目前軟件開(kāi)發(fā)的普遍方法,也是軟件生產(chǎn)企業(yè)慣常工具,當(dāng)然成為《軟件工程》課程重點(diǎn)。對(duì)于軟件統(tǒng)一開(kāi)發(fā)過(guò)程、構(gòu)件復(fù)用模型以及敏捷軟件開(kāi)發(fā)過(guò)程模型,則可以簡(jiǎn)單介紹。緊跟行業(yè)需求的課程教學(xué),培養(yǎng)出的學(xué)生必然受到行業(yè)單位歡迎。
4.3 建立專業(yè)培優(yōu)實(shí)驗(yàn)班
高職軟件技術(shù)專業(yè)學(xué)生有多種來(lái)源,如普通高中、職業(yè)高中、對(duì)口中職等,生源質(zhì)量參差不齊。如果按統(tǒng)一標(biāo)準(zhǔn)要求每個(gè)學(xué)生,勢(shì)必造成冷熱不均、饑飽不一的狀況。可以采取分層次教學(xué),滿足不同基礎(chǔ)的學(xué)生的學(xué)習(xí)需求。如對(duì)編程基礎(chǔ)較好的同學(xué),學(xué)校與中國(guó)科學(xué)院重慶綠色智能技術(shù)研究院合作,組建軟件大數(shù)據(jù)實(shí)驗(yàn)班,在模擬軟件公司和專門(mén)實(shí)驗(yàn)室中提升軟件開(kāi)發(fā)能力。
5 采用有效的課程教學(xué)方法
5.1 采用案例教學(xué)法
在結(jié)構(gòu)化方法講解中,全程以分析、開(kāi)發(fā)教學(xué)管理系統(tǒng)為例,使用Visio工具畫(huà)數(shù)據(jù)流模型圖,用Powerdesigner進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)等。在面向?qū)ο蠓椒ㄖv解中,則以圖書(shū)管理系統(tǒng)的分析、開(kāi)發(fā)一以貫之,使用Rational Rose工具設(shè)計(jì)用例圖、類(lèi)圖、序列圖、狀態(tài)圖、協(xié)作圖、活動(dòng)圖等。學(xué)習(xí)者以兩個(gè)具體軟件的開(kāi)發(fā)為案例,掌握軟件開(kāi)發(fā)基礎(chǔ)理論知識(shí),做到理論聯(lián)系實(shí)際,逐漸提升軟件開(kāi)發(fā)能力和水平。
5.2 項(xiàng)目導(dǎo)向法引導(dǎo)學(xué)習(xí)
在軟件模擬開(kāi)發(fā)中,學(xué)習(xí)者自由組合,建立項(xiàng)目組。一般3人為一個(gè)項(xiàng)目組,成員最好強(qiáng)弱搭配,便于互相學(xué)習(xí)、做到取長(zhǎng)補(bǔ)短??梢越M建固定成員的項(xiàng)目組,成員角色隨著不同項(xiàng)目不斷改換,便于體驗(yàn)軟件開(kāi)發(fā)中的不同崗位。項(xiàng)目組也可以成員不固定,隨著每一次項(xiàng)目實(shí)施重新組建項(xiàng)目組。在項(xiàng)目組長(zhǎng)的協(xié)調(diào)下,小組成員經(jīng)過(guò)查閱資料、討論調(diào)研等方法,獨(dú)立確定軟件開(kāi)發(fā)項(xiàng)目的主題和任務(wù),如《校車(chē)訂票系統(tǒng)》《咖啡廳管理系統(tǒng)》《體育器材管理系統(tǒng)》等。
通過(guò)軟件項(xiàng)目模擬開(kāi)發(fā),學(xué)習(xí)者熟悉了軟件開(kāi)發(fā)各階段,并完成符合國(guó)家標(biāo)準(zhǔn)的軟件開(kāi)發(fā)文檔,如結(jié)構(gòu)化需求分析說(shuō)明書(shū)、概念設(shè)計(jì)說(shuō)明書(shū)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)、面向?qū)ο笮枨蠓治稣f(shuō)明書(shū)等。在軟件開(kāi)發(fā)的階段,小組成員分工合作、分別陳述小組設(shè)想和做法,其他同學(xué)則擔(dān)任客戶角色,對(duì)小組項(xiàng)目提出問(wèn)題,教師關(guān)注評(píng)審項(xiàng)目的進(jìn)展情況并給予適當(dāng)?shù)狞c(diǎn)評(píng)與幫助。項(xiàng)目教學(xué)法增強(qiáng)了學(xué)生之間、學(xué)生與教師之間的互動(dòng),培養(yǎng)了學(xué)生的團(tuán)隊(duì)協(xié)作精神,為進(jìn)入社會(huì)奠定良好的溝通能力、協(xié)作能力。
6 聯(lián)合同期課程創(chuàng)新考核方式
由于軟件開(kāi)發(fā)的特殊性,學(xué)習(xí)者只掌握課程理論遠(yuǎn)遠(yuǎn)不夠,單純考核知識(shí)點(diǎn)意義不大。若要求開(kāi)發(fā)具體軟件產(chǎn)品作為考核內(nèi)容,對(duì)于《軟件工程》一門(mén)課程顯然要求過(guò)高,且初學(xué)者獨(dú)立完成明顯是力不從心。單純考察知識(shí)掌握和考核軟件成果都不恰當(dāng),有必要?jiǎng)?chuàng)新課程的考核方式。我們的做法是聯(lián)合并行的兩門(mén)課程《WEB前端交互技術(shù)》《WEB程序設(shè)計(jì)》,進(jìn)行聯(lián)合考核。即各項(xiàng)目組做出本小組項(xiàng)目的需求分析說(shuō)明書(shū),再聯(lián)合開(kāi)發(fā)完成小組項(xiàng)目。每個(gè)小組根據(jù)軟件工程這門(mén)課的理論知識(shí),小組三個(gè)成員分工合作,做出項(xiàng)目的PPT并上臺(tái)講解,教師提問(wèn),小組成員答辯。軟件教研室的教師根據(jù)每個(gè)小組的規(guī)范文檔編寫(xiě)能力、PPT的制作能力、學(xué)生上臺(tái)講解項(xiàng)目及答辯的能力,小組項(xiàng)目前端網(wǎng)頁(yè)和后臺(tái)代碼功能的設(shè)計(jì)情況等進(jìn)行評(píng)分,評(píng)定出三門(mén)課的期末考試成績(jī)及綜合實(shí)習(xí)成績(jī)。每項(xiàng)能力在考核中所占的比重如下:規(guī)范文檔編寫(xiě)能力、PPT的制作能力、學(xué)生上臺(tái)講解項(xiàng)目、答辯的能力各占10%,小組項(xiàng)目前端網(wǎng)頁(yè)設(shè)計(jì)情況為20%,后臺(tái)代碼功能的設(shè)計(jì)情況達(dá)40%。
一般來(lái)講,學(xué)生所做的系統(tǒng)功能實(shí)現(xiàn)都比較簡(jiǎn)單,但這是第一次完成的一個(gè)真實(shí)項(xiàng)目,大大地提升了他們學(xué)習(xí)的成就感與自豪感。系統(tǒng)沒(méi)有做完的功能會(huì)在后續(xù)課程中繼續(xù)完善。到畢業(yè)時(shí),學(xué)生會(huì)完整地做完一個(gè)系統(tǒng),這些系統(tǒng)的文檔和代碼以及其他的資料會(huì)上傳至學(xué)校的教學(xué)云平臺(tái),為下一屆學(xué)生的學(xué)習(xí)提供參考。
7 結(jié)束語(yǔ)
通過(guò)對(duì)《軟件工程》課程實(shí)施翻轉(zhuǎn)課堂教學(xué)的探索和實(shí)踐,鼓勵(lì)學(xué)生先做,即大膽試,允許犯錯(cuò)誤。先教后學(xué)、先學(xué)后做變?yōu)橄茸龊髮W(xué)、先學(xué)后教,變化的不僅是學(xué)習(xí)的流程,更是激發(fā)學(xué)生好奇心,自主探索知識(shí)的過(guò)程。學(xué)生學(xué)習(xí)知識(shí)的同時(shí),也習(xí)得了學(xué)習(xí)的方法。學(xué)生在學(xué)習(xí)過(guò)程中感受到了學(xué)習(xí)的樂(lè)趣,培養(yǎng)了團(tuán)隊(duì)協(xié)作意識(shí)、溝通交流能力,取得了較好的效果。
參考文獻(xiàn)
[1]殷海明,葉利華.“微課”在軟件工程課程教學(xué)中的應(yīng)用.計(jì)算機(jī)教育,2014(03).
[2]秦放,何丹丹,曾維佳.案例驅(qū)動(dòng)與項(xiàng)目導(dǎo)向結(jié)合的軟件工程課程教學(xué)模式.計(jì)算機(jī)教育,2013(05).
[3]古凌嵐,李洛.終身教育視角下的高職軟件專業(yè)課程系統(tǒng)[J].計(jì)算機(jī)教育,2014(12).
[4]楊繼鵬.對(duì)高職《軟件工程》教學(xué)改革的思考[J].中國(guó)成人教育,2010(05).