任政
摘 要:隨著現代社會的進步和各種移動終端設備的使用,當前市場對大數據處理和移動技術支持方面的人才提出了新的要求。一些大型軟件企業正在實施大數據處理的軟件項目及對相應軟件產品移動需求的支持,如淘寶、百度等。高校軟件工程專業作為與軟件行業關系最為密切的專業,為使本專業畢業生具備更好的大數據處理和移動開發能力,更適應軟件行業的需求,應該以新的行業需求為導向,開展有針對性的相關軟件開發實踐。
關鍵詞:軟件工程;實踐教學;問題;對策
一、軟件工程專業實踐教學中的問題
(一)項目的規模和難度較小,與企業項目有較大差距
以往教學用項目一般要求學生開發如注冊、登錄等簡單模塊,涉及的功能規模較小,體現不出軟件工程化的特征,特別是軟件功能幾乎不涉及大量數據有效存儲和處理的問題,項目難度較小,與現實需求脫節。隨著大數據時代的到來,軟件系統需要處理的數據量越來越大,如果項目不體現大數據量、數據的有效存儲及復雜處理過程,則項目不能反映市場特點;而且,如果軟件項目的實施不支持移動技術,那么也無法適應日益增長的移動用戶群體需求。
(二)項目的開發以個人為主,缺少團隊開發的環節
以往教學過程中的項目開發大多由學生個體獨立完成,極少由學生團隊完成。當前的工程化軟件一般規模較大,必須組建開發團隊來完成。團隊開發項目會使項目開發的本質發生改變,這不僅指團隊有多個成員,更重要的是團隊成員的分工以及成員之間的溝通與協同能力,涉及人員配置、共同策劃、協作完成、進度控制等項目管理中各個環節,這是進行大型軟件項目開發必需的技能和經驗。
二、軟件工程專業實踐教學中的問題對策
(一)項目設置逐步深入,消除同質化
項目實踐從本科一年級或二年級開始起步,這個階段的學生只掌握了基礎知識,項目實踐更注重于程序邏輯的編寫。項目規模相對較小,但強調程序邏輯。本階段可以設置一些邏輯性、趣味性強的游戲程序開發項目,以激發學生的學習興趣,促進學生掌握項目開發必需的基礎知識,如基于Android系統的手機游戲開發。在本科二年級第2學期到三年級第1學期的項目實踐中期,學生已經具備一定的軟件開發能力,能夠從事數據庫的設計和操作、Web項目開發,可以進行相對大型項目的項目開發。本階段可以設置網絡流量分析系統的開發項目,該系統用于監控交換機、路由器、IP網絡在指定時間內的Netflow數據流,通過統計分析這些流量數據可以查看不同應用軟件的流量信息,如QQ、電子郵件、FTP應用占用網絡帶寬的情況等。系統運行的過程中需要不停采集設備、網絡的流量數據報,因此需要存儲和處理海量數據。該項目的實踐對鍛煉學生的處理海量數據存儲、檢索等技能有積極作用。在本科三年級第2學期到四年級第1學期的項目實踐后期,學生已經具備一定的大數據量問題處理能力并學會企業開發技術,此時配置數據量大、復雜的實際企業項目,可以進一步提高學生的開發能力和積累項目經驗,為畢業和就業奠定基礎。本階段設置的實踐項目為網絡輿情分析系統。該系統通過主動采集主要網絡媒體(如新浪、鳳凰、搜狐等)信息,獲取當前網絡輿論情報并將關注的輿論熱點通過曲線圖、餅圖、熱點地圖等統計圖表加以顯示,使用戶能夠直觀地掌握所關注的網絡輿情。該系統可以應用于政府部門,也可以應用于商業領域,如汽車廠商可以通過本系統了解自己產品的問題(如大眾汽車斷軸、DSG問題所引發的網絡輿情熱點)并采取相應的解決方案。上述3個階段項目側重點不同,項目難度逐層深入,有利于逐步提升學生的實踐能力,縮小學生能力與企業用人需求之間的差距。
(二)以團隊為基礎實施項目的開發
隨著軟件規模的增加,軟件的復雜性也隨之增加,因此工程化軟件開發方式是以團隊開發為基礎。團隊開發涉及項目功能分割、團隊成員協作、人員調配、進度控制等具體要求,是一種過程比較復雜、難度較大的開發方式,因此學生需要進行適當的培訓和訓練才能成功地實施大型項目。團隊開發訓練包括如下幾個部分:①團隊的組建,團隊成員之間要相互了解、相互信任,能夠為完成同一目標而通力協作;②團隊協作,多個成員共同完成一個軟件項目需要使用合適的源代碼管理服務器,團隊成員通過客戶機共享服務器中的資源進行開發,由于多人同時修改源代碼,可能造成不同成員的修改發生沖突,團隊開發人員要制訂和熟練掌握團隊開發規則,如遵循修改的操作順序、應用多配置文件等,以避免編程過程發生沖突;③任務分割,團隊成員在項目負責人的領導下進行充分的交流,將項目劃分為多個可同時進行的子任務,團隊各成員負責若干部分進行并行開發;④進度控制與人員調配,項目成員每天提交進度報告給項目負責人,項目負責人根據報告掌握項目進度并根據項目進度情況進行適當的人員調配,使項目能夠順利進行。網絡流量分析系統和網絡輿情分析系統,項目規模較大、難度較高,需要進行團隊開發。其中,網絡流量分析系統工作量相對稍小,可以組建3人的團隊進行開發;而網絡輿情分析系統復雜程度較高,需要進行Web版本的開發和Android版本的開發,需要組建至少5人以上的開發團隊。通過團隊方式開發企業項目可以提高學生的項目領導能力和項目管理能力,進一步提高學生的專業素質。
三、結語
為了保證項目的質量,不同階段的項目側重點不同,降低了項目的同質性,而且項目的需求規模較大,滿足了行業軟件的需求,特別是海量數據處理和移動開發的引入縮小了與企業項目之間的差距;同時,通過團隊開發訓練,學生具備了項目領導、項目管理、團隊開發的基本能力,掌握了企業需要的團隊開發技能,所具備的專業素質更符合企業的崗位需求,增強了就業能力。