劉華明,畢學慧,王秀友,韓天鵬,張樂樂
(阜陽師范學院 計算機與信息工程學院, 安徽 阜陽 236037)
“互聯網+”競賽背景下《軟件工程》案例教學研究
劉華明,畢學慧,王秀友,韓天鵬,張樂樂
(阜陽師范學院 計算機與信息工程學院, 安徽 阜陽 236037)
“互聯網+”競賽背景下,學生必須具備一定的軟件開發能力。《軟件工程》課程是指導學生如何進行軟件開發與維護的一門學科,但該門課程理論內容抽象、晦澀難懂,如果在教學過程中適當引入案例,可以更好地幫助學生把理論和實踐結合起來。筆者闡述了在“互聯網+”項目驅動下,如何在《軟件工程》課程中引入案例進行教學,并結合實例分析了引入案例、獲取案例的知識如何遷移到“互聯網+”競賽中,最終目的是提升學生的軟件開發能力,為社會培養合格緊缺人才。
“互聯網+”;案例教學;項目驅動教學
互聯網實現了網絡資源的共享和數據通信,給人們帶來了便利性。利用互聯網思維進行改革創新提到了新的高度。李克強總理提出“互聯網+”的理念,大眾創業、萬眾創新拉開了序幕。教育部舉辦“互聯網+”大學生創新創業大賽,培養造就“大眾創業、萬眾創新”的生力軍;引導高校主動服務創新驅動發展戰略,創新人才培養機制,切實提高學生的創新精神、創業意識和創新創業能力[1]。在此背景下,對計算機相關專業人才的培養提出了新的要求,尤其是對學生的軟件工程素質的培養,提升了一個新的高度。目前全國各大高校培養出來的計算機專業人才,在軟件開發方面能力較弱,未能適應市場需求,有必要對計算機人才的培養提出新的教學模式。以計算機科學與技術和軟件工程專業為例,需要對教學內容、教學模式、教學方法等進行一系列探索,培養具備創新精神和能力、“互聯網+”思維的市場緊缺人才。
案例教學具有一定指導性,學習案例的經驗可以直接轉化為能力,最明顯的特征就是學生可以開發類似案例的系統[2]。案例教學與師傅帶徒弟的教學模式比較相似,學生在案例的教學中學習實際開發經驗,鍛煉了動手能力。
“互聯網+”大學生競賽自2015年教育部舉辦以來,學生競賽的積極性較高。縱觀全國競賽獲獎的項目,絕大多數項目的實際應用價值較高,具有廣闊的創業前景,這也充分說明了學生具有一定的創新意識、創新能力,在“互聯網+”競賽平臺下,展現自己的創新成果[3]。“互聯網 +”離不開信息技術、網絡技術,計算機相關專業學生在技術方面具有一定的優勢,但很多學生缺乏實際軟件開發經驗,而《軟件工程》正是指導學生如何進行軟件開發的一門課程,在此課程中加入必要的案例教學,可以更好地讓學生掌握軟件開發知識和技能。在“互聯網+”競賽背景下,如何在《軟件工程》課程中利用案例教學,展開有意義的探索和討論,提升學生的軟件工程素質,能夠為“互聯網+”競賽打好基礎,從而促進學生的學習動力,激發學習熱情,為社會培養緊缺人才。
“互聯網+”是創新2.0下的互聯網發展的新業態,利用信息通信技術以及互聯網平臺,讓互聯網與傳統行業進行深度融合,創造新的發展業態[4]。通過互聯網與傳統行業的結合,可以催生新型創業模式,加速產業價值鏈的重構。智能手機、智能芯片的出現,加速了新型創業模式,例如微信、共享單車等。在“互聯網+”背景下,淘寶、京東、餓了嗎、糯米等品牌做的如火如荼,取得了巨大的成功。未來新一輪的科技革命將會影響和融合更多行業,向更多領域拓展,例如智能制造、能源共享、數據共享等。在未來傳統的粗放型發展必然向集約型發展,更加節約原料、縮短加工時間、提高效率、降低成本。“互聯網+”思維是促進結構形式轉變、產品升級、保持可持續發展的一條有效途徑。“互聯網+”競賽是在大眾創新上更近一步,更能夠保持創新活力。
“互聯網+”競賽給教育領域尤其是高校注入了新的活力,創新意識的氛圍濃厚,能夠融合各專業,給不同專業學生帶來較大的機遇和合作的機會。學生在競賽中,提出了很多創新模式,并轉化為實際應用,把理論轉化為實踐,就要求學生能夠開發出相應的軟件。然而,很多學生并不具備軟件開發的能力或者是這方面能力較弱,提升學生的軟件開發能力刻不容緩。軟件開發能力的培養是培養軟件工程素質的一條有效途徑,軟件工程素質的培養不僅是學習《軟件工程》這門課這么簡單,還需要學生在掌握程序設計、計算機網絡、數據庫、數據結構、操作系統等相關基礎知識后,再學習軟件工程知識,配以實踐教學,在實踐中掌握軟件開發知識和技能,否則會導致學生只見樹木不見森林,沒有系統開發軟件的思想和意識。
案例教學是給學習者提供案例,通過學習案例掌握所學知識,較典型的案例教學就是哈佛商學院案例教學的應用,培養了很多杰出的商業人士[5]。在《軟件工程》理論教學過程中,課程比較枯燥、抽象、晦澀難懂,學生知易行難。軟件工程知識的掌握應與實踐相結合,對于完全沒有開發經驗的學生來說,案例教學是一個快速上手的教學方式。
(一)案例選擇
學生要想在“互聯網+”競賽中取得好的成績,不僅要具備一定的理論知識,還需有軟件開發能力。在《軟件工程》課程教學中,理論知識較抽象,適當地引入案例教學,可以更容易地讓學生掌握所學知識,提升軟件開發能力。案例教學需要注意幾個方面:①針對性。對近幾年“互聯網+”競賽進行梳理,發現競賽項目大部分都與移動開發、網站開發、物聯網開發有密切的關系,在這些領域中尋找合適的案例進行教學能夠很好地培養學生的軟件開發能力。②真實性。案例要能夠真實反映實際的軟件開發環境,促使學生在真實的環境中學習開發軟件,激發學生學習熱情。③可討論性。案例需要在教師的指導下進行,盡量是指導教師自己開發的軟件或者比較熟悉的軟件,這樣有利于教師與學生分析、交流,教師也可以介紹自己的開發經驗。④先進性。案例要能利用當前前沿技術和成果,突破傳統方式,以最快、最便利、更低成本的方式,讓人們享受技術帶來的優越性。學生一走出校門,就可以將這些技術知識轉化為生產力。
對2015年和2016年“互聯網+”競賽獲獎項目進行分析,發現大多數項目與網站系統、APP、桌面系統有關系,而這些技術和《軟件工程》課程也是密切相關的。在《軟件工程》課程教學中,加入網站、APP、桌面應用的案例,是非常有必要的,有利于學生熟練掌握這些知識,為參加“互聯網+”競賽打好堅實的基礎。
(二)案例的實施
“互聯網+”背景下案例的選擇要圍繞競賽課題展開,而案例的實施也要緊扣“互聯網+”項目進行。通常比較可行的做法是選擇與“互聯網+”項目相近或相似的案例,具體實施步驟一般包括篩選案例、分析案例和分析案例解決方案。
1.篩選案例
通常的做法是教師從最新的教材中、或者網絡資源上尋找與“互聯網+”競賽關聯程度較強的案例,案例要具備文檔和代碼,教師對案例仔細閱讀,弄清項目解決的問題、開發者的解決思路、軟件結構設計、實現等,為下一步實施案例教學做足備課工作。如果案例是教師自己開發的軟件,教師對案例的把握更具體,實施案例教學更佳。“互聯網+”項目多數會涉及到互聯網,效果盡量將與互聯網相關的軟件選為案例,反之像單機版的游戲和管理系統,不適合作為案例,因為不涉及互聯網問題,也不是時下潮流所向。
在翻譯過程中,譯者吸取了原語內容,由于原語和目標語及其文化背景的不同,譯者就會不可避免、主觀地作出相應的調整和修改;也就是說,選擇一些合適的翻譯策略來協調兩者的差別。首先,譯者必須考慮原作者的寫作意圖,目標語形式和目標語讀者的接受程度。“我們甚至可以說,沒有創造性叛逆,也就沒有文學的傳播與接受。……但這僅僅是文學的創造性叛逆的一個方面,創造性叛逆的更重要的方面還在于它對文學作品的接受與傳播所起的作用。”[6]141但是,譯者的有意識誤譯,即譯者所作出的創造性叛逆必須有一個度的限制。
2.分析案例
教師把案例要解決的問題,先讓學生分析討論,分組進行,組長提交最后討論結果。從討論的結果看學生的解題思路,能夠發現問題或不足。在分析過程中,學生是主體,充分發揮主觀能動性。教師啟發學生思考,同時提供一些“互聯網+”競賽獲獎項目,對這些項目,完全可以借用案例的解題思路,學生可以從中獲取相應的知識。
3.分析案例解決方案
針對“互聯網+”案例,學生提出解決方案,教師對這些方案總結,得出哪些方案可以解決問題,哪些方案不能,為什么?提出的方案在解決過程中應注意什么?最后與學生一起分析案例的解決方案,理解并掌握相關技能。在分析過程中,教師盡量把軟件工程的思想、技術、工具和開發過程等利用實際的案例指出,加深學生對軟件工程思想的理解。案例的學習,有利于學生掌握軟件開發技能,舉一反三,能夠更快入手軟件開發。
在《軟件工程》課程教學中,案例的實施是對該門課程知識的深入,是聯系理論與實踐的橋梁,是理論實踐化的有效途徑。在案例中,既有理論的身影,也有具體應用的實現技巧。案例知識的分析過程,是軟件開發活的標本,能更好地提升學生的實踐能力。案例分析獲得的技能可以直接應用于“互聯網+”項目中去;需求分析、設計、實現、測試等過程知識,有很多也能重用于“互聯網+”項目中去,既可以減少開發時間、提高開發效率,也是軟件工程特別推薦的開發方式。
學習案例是為了能夠更好地實施“互聯網+”項目,讓學生能夠更快解決項目中遇到的各種難題。通過相關案例知識的學習,掌握的技能應用到“互聯網+”項目中。可以把“互聯網+”項目比作任務驅動項目,在教師引導下,學生完成項目[6]。自主學習、主動參與、自主合作、探索創新的新型學習方式,適合于培養學生的創新能力、動手實踐能力和獨立分析并解決問題的能力[7]。
(一)“互聯網+”項目特點
“互聯網+”項目比傳統項目驅動教學更具有活力,具有一些特點:①創新性。“互聯網+”項目要求有一定的創新性,“創新”是競賽的靈魂。②前沿技術。“互聯網+”競賽項目,能引領未來產業發展的方向,一般是前沿技術,或者是目前社會流行的開發技術,這些技術將會使畢業生更好地融入社會。③綜合性。“互聯網+”項目,涉及多個方面,例如市場調研、創新點、技術保障、管理措施、融資計劃、發展規劃等,是綜合性較強的項目。④團隊協作意識強。“互聯網+”項目組人員,都是自發性組織的,人員分工協作意識要強,充分發揮個人的長處,有利于項目的開展和實施[8]。
(二)“互聯網+”項目驅動教學實施
“互聯網+”項目是競賽項目,學校應該給予充分環境支持,例如提供上機環境、教師指導,并給予一定的獎勵。項目在實施過程中,一般要注意幾個方面:①任務分解要合理,針對學生知識的掌握情況,合理分配任務;②教師有能力指導并解決項目完成過程中的關鍵技術難題,保證學生能夠堅持完成項目;③教師監督項目進展情況,把握全局,以避免學生鉆死胡同,走彎路;④借鑒并學習相關案例,以解決項目實施過程中遇到的各種問題。在此過程中,需要指導學生進行案例搜集、整理,以培養學生知識的遷移能力。
(一)實例分析
“互聯網+”項目,強調軟件工程知識的實際應用。筆者在2016年指導了安徽省“互聯網+”競賽,題目是“任e游”,是一款關于旅游的App軟件,獲得了第二屆“互聯網+”競賽安徽賽區三等獎,現以該項目為例說明如何實施案例教學和“互聯網+”項目驅動教學。圖1是任e游的功能結構圖,對功能進行了詳細分解。表1是功能分解后,參考的軟件和需要學習的案例。這些軟件是目前市場比較成熟和流行的軟件,有許多功能值得借鑒和學習。掌握這些界面設計、功能實現,對于該項目的實現具有重要意義。

圖1 任e游功能結構圖

表1 功能分解
(二)項目實施指導
項目指導按照軟件工程快速原型模型來實現,首先提出系統所要實現的功能列表,根據實現的功能,創建原型,原型是用戶設計界面(見圖2)。在通過評審后,確定用戶需求。在需求確定后對軟件進行結構設計,設計各個模塊、以及模塊之間的調用關系,確定總體設計結構圖(見圖1)。這些知識,需要教師進行分析、講解、答疑,并給出案例的設計結果,指出設計者設計意圖和想法,啟發學生思考。詳細設計,主要分析源代碼,提出算法處理流程。實現方面,提出代碼實現的細節,啟發學生如何動手實現所設計的系統。例如投訴處理,可以根據電子商務網站給出的投訴處理,借鑒好的處理流程和處理實現,這些都為任e游項目的實現,提供較好的借鑒方案。表2是本項目技術實現的難點,指導教師要重點對這些功能進行指導,保證項目的技術實現。表3是任e游項目實施與軟件工程教學環節、相關案例的結合情況。任e游項目的實施,離不開參考的案例,從中學習相關知識,使項目能夠順利開展。

表2 技術實現難點

圖2 任e游主界面

表3 項目實施與軟件工程教學環節、相關案例的結合情況
結合當前“互聯網+”競賽背景,討論了如何通過在《軟件工程》課程中加入案例進行教學,使學生迅速掌握軟件開發知識,能夠應對“互聯網+”項目的開展和實施。案例是銜接理論與實踐的一個重要橋梁。在案例教學過程中,教師要選擇與競賽項目有較強關聯的、合適的案例,例如功能或使用的技術等有很強的相似性,這樣有利于學生知識的遷移,可以快速入手“互聯網+”項目。筆者通過對近兩年“互聯網+”競賽的指導,將案例教學和任務驅動教學相結合,使得學生的軟件開發能力比以往取得了較大的進步。通過競賽可以增強學生的自信心,有效實現理論知識和實踐能力的統一,提升學生的自學能力、知識遷移能力,為今后能夠更快適應工作崗位奠定了基礎。學生具有較高的學習熱情,同時項目創新性強,與前沿技術結合較緊密。
[1]教育部.教育部關于舉辦首屆中國“互聯網+”大學生創新創業大賽的通知[EB/OL].(2015-05-21)[2017-01-08].http://www.moe.edu.cn/publicfiles/business/htmlfiles/moe/s5672/201506/188568.html.
[2]張新平.論案例教學及其在教育管理學課程中的運用[J].課程·教材·教法,2002(10):56-61.
[3]解繼麗.“互聯網+”引領教育改革新趨勢[J].楚雄師范學院學報,2015(2):85-88.
[4]翁凌燕,朱俐. “互聯網+”背景下成人教育創新型創業思維塑造[J].繼續教育研究,2017(7):56-59.
[5]殷美桂.案例教學法在軟件工程教學中的應用[J].福建電腦,2008(5):201.
[6]崔貫勛,王勇,潘瑜,等.基于任務驅動的實踐課程教學改革與探索[J].實驗技術與管理,2010(6):164-166.
[7]孫宇.基于“任務驅動”的計算機課堂教學模式探析[J].商業經濟,2006(4):101-102.
[8]趙軍,楊克巖. “互聯網+”環境下創新創業信息平臺構建研究——以大學生創新創業教育為例[J].情報科學,2016(5):59-63.
The Research on Case Teaching of Software Engineering Under the Background of “Internet +” Competition
LIU Hua-ming, BI Xue-hui, WANG Xiu-you, HAN Tian-peng, ZHANG Le-le
(School of Computer and Information Engineering, Fuyang Normal College, Fuyang 236037, Anhui, China)
Students majoring in computer are required to get software development capabilities when they participate in “Internet +” contests. Software Engineering is a course for the studnets to learn software development and maintenance, but it is abstract and obscure. By introduction of case teaching, it is helpful for the students to combine theory and practice. Under the background of “Internet +” project-driven teaching, this paper introduces case analysis in Software Engineering and put it to the “Internet +” contest to enhance the students’ software development ability.
Internet +;case teaching;project-driven teaching
歐 愷)
TP317
A
1007-5348(2017)11-0100-05
2007-07-21
安徽省質量工程教研項目“軟件工程素質培養研究”(2015jyxm222);安徽省質量工程教研項目“高校工科《概率論與數理統計》課程的改革與實踐研究”(2016jyxm0755);大學生創新創業訓練計劃項目“基于Android的旅途無憂APP開發”(201610371052)
劉華明(1981-),男,河南沈丘人,阜陽師范學院計算機與信息工程學院講師;研究方向:軟件工程。