(武漢工程科技學院,湖北 武漢 430200)
軟件工程屬于計算機科學和技術方向的一門核心的專業課程,主要是從軟件工程的基本原理、開發的方式以及開發的工具等幾個方向來講述軟件開發的基本過程,是計算機專業主要課程。但是在軟件工程課程的教學當中,教學的成果并不令人滿意,在教和學的付出以及收獲上不成比例,很難實現教學目標,特別是一些學生對于軟件工程課程的理解以及掌握情況,一般都會低于教師的預期?;诖?,本文針對競賽項目驅動的軟件工程教學改革的發展進行以下分析和研究。
軟件工程屬于一門理論性和實踐性都很強的課程。由于新技術以及新理論的不斷提出,軟件工程課程的相關知識一直在增加,課程教學內容也會變多。第一,教師在進行教學的過程中要加入新出現的知識;第二,學生們還要接受這些新知識,打開自己的思維,對于各種知識進行權衡和取舍,這樣教師才可以為學生們帶來更加科學的軟件工程課程的教學[1]。
案例式教學屬于當前軟件工程教學中的基本教學方式,但是日常的案例式教學具有局限性,主要體現在案例的選取上。第一種屬于通俗易懂的案例,比如圖書館的管理體系、教學管理的體系等;另一種類型屬于典型的真實案例,比如清單類型的APP、項目管理類型的APP(比如支付寶)等。大多數學生們可以理解通俗易懂的案例,但是卻很難理解一些實踐類型的項目和案例。真實案例和軟件工程的相關性和緊密的程度不高,而且還有很多外部因素制約,進而會給學生們帶來很多困惑[2]。
項目驅動式的教學方式在近些年來被廣泛地應用,但是大多數學生為了保證自己擁有一個好成績,會選擇一些簡單或者容易開發的但是在未來的社會中被應用的可能性比較小的項目進行開發。而且,管理類的項目也會在一定程度上限制教師知識講授的全面性以及應用性,還會限制學生們對于軟件工程的認知,所以一旦學生們在進行其他類型的軟件開發時,就會感到不知所措,甚至難以理解課程知識的應用以及技術[3]。
通過對武漢工程科技學院計算機學院的學生進行調查發現,選修軟件工程課程的學生超過50%以上參加過競賽項目以及一些創新的實踐類項目,而且這些競賽的項目在很大程度上都和軟件開發有很大的關聯。故,在軟件工程課程的教學中加入競賽的項目,可以有效地解決案例化和項目驅動的教學問題。教師可以在進行軟件工程課程教學開展的時候收集一些學生們參與競賽項目的主要內容,并且讓學生們對于自己參加比賽項目的基本構想進行闡述,將此當作案例化以及項目驅動式的教學。

表1 計算機學學生參加競賽人數的百分比
2.1.1 課程認知部分
在教學方式上,教師采取慕課學習、直觀演示、課堂講授、翻轉課堂相結合的方式進行,以期較好地展現基于B/S結構的信息化管理軟件在社會中的應用以及軟件工程技術的特性,例如:筆者在進行軟件編程的教學時,就使用慕課和翻轉課堂的方式進行了編程的演示,使學生們不僅可以在課上進行編程語言的學習,還可以在課下根據視頻進行學習,使得學生們可以更加細致地學習計算機編程語言。最終,學生清晰地了解本課程的教學目標,進而帶著目標進入下一步學習[4]。
2.1.2 基礎知識部分
這部分在教學方式上采取慕課學習、機房講授與演示、學生實操、任務驅動相結合的方式進行。每一個基礎知識點的教學都采取慕課輔助、課堂講授加演示、演示或實操倒推理論的方式進行,同時每個知識點都會有一個小任務,由任務驅動課程的推進。
在軟件工程的理論課堂的教學之中,很多知識點都能夠通過案例化教學展現出來,但是在從前的案例講解過程中,很多學生對于軟件工程的相關知識理解得并不是十分透徹,學生們的理解只浮于表象。在正式上課之前,教師針對參與過競賽項目的學生,要提前告知他們在課上進行競賽的總結。學生們應該先預習這部分知識點,并且敢在班級中講解出自己對于競賽項目的見解。然后教師負責對于這個競賽項目以及項目所涉及的軟件工程的知識點進行深刻地講解和總結,以統一的界面風格使用數字教材,以相似的界面風格展示課程內容。例如:以某組同學的計算機大賽題目“馨家”為例,當講解到例圖的繪制以及User Story轉換過程的時候,教師可以讓這組學生在講臺前利用幻燈片和計算機軟件信息工程將某個場景的Story進行講述,還要用例圖繪制這個故事,并且講評和完善這個Story以及轉換之后用例圖繪制[5]。
依托于項目驅動下進一步創建一個屬于學生軟件工程的教育平臺,這一教育平臺主要包含軟件工程的資源型平臺和軟件工程的教育平臺。學生制作軟件工程時一定要物盡其用,比如要充分利用高校給予軟件工程的支持資金。教師還可以創建一個時間基地,為學生制作在軟件工程的過程中提供更多便利的條件,比如可以幫助學生在制作前了解軟件工程最前沿的科學研究成果以及創業中需要用到的生產設施等,教師可以引導學生們參與有關軟件工程的課題研究,給學生們傳授軟件工程的理論經驗以及實踐經驗。大學還可以為學生建設創業園區,在軟件工程的審核方面可以提供更加便利的條件,這樣可以在最大程度上保證軟件工程項目處于最優化的狀態[6]。
綜上所述,在“互聯網+”的時代背景下,各類基于傳統網絡平臺和移動互聯網平臺運行的信息化系統已成為支撐和推動當前信息化社會發展的引擎。在競賽項目驅動之下,軟件工程教學得到了進一步的發展和重視,雖然其中可能會出現一些問題,但是相信每一位教師和學生通過進一步研究和探索,最終可以完成科學和完善的軟件工程,進而推動競賽項目驅動的軟件工程教學改革。