蘇晶 張冬梅 李盤靖
摘 要:近年來,移動軟件行業(yè)蓬勃發(fā)展,市場對此方向的人才需求也急劇增加,鑒于移動應用與傳統(tǒng)桌面應用在軟件開發(fā)過程、開發(fā)方法、質(zhì)量管理等多方面存在不同,高?,F(xiàn)有的軟件工程系列課程內(nèi)容也需隨之調(diào)整。在深入分析了移動開發(fā)的特點和目前高校軟件工程系列課程所存在問題后,該文從教學內(nèi)容、教學方法和考核機制三方面論述了面向移動應用的軟件工程系列課程建設的研究內(nèi)容及實施方案,該方案的初步構(gòu)建和實施,對于系統(tǒng)的增加學生的移動開發(fā)知識,訓練移動開發(fā)能力具有重要的意義。
關(guān)鍵詞:軟件工程 移動應用 課程改革
中圖分類號:G642 文獻標識碼:A 文章編號:1672-3791(2015)04(b)-0165-02
當前計算機的發(fā)展已經(jīng)進入了移動互聯(lián)網(wǎng)時代,智能手機、平板電腦,甚至電視機都成為了計算機終端,繼而社交、導航、支付等應用日益盛行。隨著對移動設備使用率的飆升,人們對移動應用的需求驟增。從2011年至今,移動軟件開發(fā)成為就業(yè)首選,移動軟件開發(fā)技術(shù)也成為學習熱點和就業(yè)必殺技。分析移動互聯(lián)網(wǎng)行業(yè)的人才需求,首先是熟練的移動開發(fā)技術(shù),此外還要求人才的創(chuàng)新能力和知識結(jié)構(gòu)的跨界復合能力。該院將軟件工程專業(yè)設為教學試點,調(diào)整培養(yǎng)目標,改革軟件工程系列課程,強化移動開發(fā)知識和技能,以適應日益完善的移動開發(fā)生態(tài)體系。
1 教學改革的目的和意義
移動應用(Mobile Application)簡稱APP,是指運行在智能移動設備上的軟件。從本質(zhì)上講,移動應用仍是軟件,其開發(fā)過程依然遵循軟件工程過程。但是,移動開發(fā)有其自身獨特的技術(shù)特點,平臺多樣化、數(shù)據(jù)安全性、系統(tǒng)能耗等傳統(tǒng)桌面軟件開發(fā)相對關(guān)注程度較少的問題,在移動應用領(lǐng)域尤為突出。
另外,移動應用也有其獨特的開發(fā)模式。2014年8月15日,在主題為“在移動計算時代獲得成功”的客戶研討會上,Gartner研究副總裁Van Baker提出了“傳統(tǒng)應用程序開發(fā)實踐將對移動應用失效”的觀點。他表示“應用程序開發(fā)經(jīng)理應該采用功能、性能、負載、用戶體驗測試以及敏捷開發(fā)實踐。”以區(qū)別于傳統(tǒng)的線性軟件開發(fā)過程。移動應用所采用的這一開發(fā)模式將開發(fā)和測試周期延長至企業(yè)應用使用的整個周期。開發(fā)完成一定功能,立即測試,并部署上線使用,根據(jù)反饋和需求變化,再繼續(xù)開發(fā),測試,部署。即將原來線性的周期,變?yōu)楦痰牟粩嘌h(huán)的多個小周期[1]。
綜上所述,移動應用呈現(xiàn)出一種不同于傳統(tǒng)桌面應用的開發(fā)模式和特點。而與此同時,在高校的軟件工程系列課程中,卻缺乏對近年來蓬勃興起的移動應用軟件開發(fā)過程的應有關(guān)注。為此,研究移動應用開發(fā)中的需求工程、軟件重用與軟件質(zhì)量度量等問題,分析相關(guān)研究者的研究成果與開發(fā)者在工程實踐中的實際應用成果,并將其引入軟件工程系列課程中來,作為相應的教學內(nèi)容,對于提高計算機相關(guān)專業(yè)學生的移動應用開發(fā)能力與移動互聯(lián)軟件工程意識都將有著重要的推動意義。
2 教學改革的內(nèi)容
通過在該院建立軟件孵化實驗室作為改革試點,對移動應用軟件開發(fā)過程進行跟蹤和分析,總結(jié)經(jīng)驗不足,將軟件工程系列課程改革的重點集中在3個方面:優(yōu)化教學內(nèi)容、改進教學方法和完善考核機制。
2.1 優(yōu)化教學內(nèi)容
該院軟件工程系列課程包括理論類課程、系統(tǒng)開發(fā)設計類課程和實踐類課程等,而鑒于移動應用開發(fā)與傳統(tǒng)桌面應用開發(fā)的主要區(qū)別集中在軟件過程模型、軟件質(zhì)量度量、對用戶界面和用戶體驗的關(guān)注上,因此,該次課程改革方案主要集中在《軟件工程》、《統(tǒng)一建模語言UML》、《人機交互》和《軟件測試》四門核心課程上。
(1)在《軟件工程》課程中,除介紹傳統(tǒng)軟件工程知識體系以外,增加移動互聯(lián)軟件開發(fā)過程和模型的相關(guān)知識,并在實踐環(huán)節(jié)中,使用并驗證此類知識。
(2)在《統(tǒng)一建模語言UML》課程中,依然采用案例驅(qū)動的教學模式。在實踐環(huán)節(jié),增設移動應用開發(fā)案例,并指導學生通過UML對案例進行分析與建模,對比非移動開發(fā)案例,體會其間異同。
(3)在《人機交互》課程中,除介紹人機交互界面的一般設計原則及方法以外,補充有關(guān)移動界面的設計原則、要素、設計技術(shù)與工具的相關(guān)知識。在實踐環(huán)節(jié),增設基于Android的移動應用設計實戰(zhàn)項目,讓學生體驗移動界面開發(fā)過程。
(4)在《軟件測試》課程中,除介紹常規(guī)功能測試和性能測試的方法以外,針對移動應用在用戶操作方式、界面布局、設備網(wǎng)絡連接方式等方面的特點,補充移動應用的用戶體驗、網(wǎng)絡鏈接及安全性、兼容性等方面的測試知識。在實踐環(huán)節(jié),增設移動應用的系統(tǒng)測試項目,讓學生參與測試用例和測試過程的設計,總結(jié)其與傳統(tǒng)桌面應用測試間的異同。
2.2 改進教學方法
由于軟件工程系列課程具有理論與實踐緊密結(jié)合的特點,所以僅采用傳統(tǒng)教學方法是不能滿足社會對軟件工程人才的培養(yǎng)需求的,因此需綜合運用各種先進的多媒體技術(shù)作為教學手段,配合多樣化的教學方法,以達到既普及知識又訓練技能的目的[2]。
(1)課堂教學方法的改革
鑒于軟件工程類課程具有較強的應用和實踐性,在授課過程中,建議采用案例教學方法,教師變身為項目導師,充分調(diào)動和發(fā)揮學生的主導作用,引導學生獨立思考,尋求和驗證解決方案,激發(fā)學生的創(chuàng)新能力。
在此基礎(chǔ)上,推動實施軟件工程課程群“一案到底”教學法[3],摒棄傳統(tǒng)教學中以課程章節(jié)或知識點作為案例的講解方法,改進原有系列課程中獨立選擇案例的教授方法。精心挑選綜合性的系統(tǒng)案例,既保證學生對其業(yè)務處理熟悉、感興趣,且功能足夠全面、具有代表性,又要兼顧傳統(tǒng)桌面應用和移動應用的特點。通過課堂教、學互動完成對案例核心部分的分析和設計,并形成完整的解決方案,使學生深入理解課程內(nèi)知識點之間、課程之間、以及課程與實踐之間的銜接關(guān)系,并逐步形成整個軟件工程課程體系的全局觀。
(2)實踐教學方法的改革
在完成核心部分的解決方案后,綜合性案例的擴展部分可作為學生自主實驗內(nèi)容。如果案例規(guī)模較大,則可采取分組形式完成。通過案例實戰(zhàn),將理論與實踐緊密聯(lián)系在一起,有效調(diào)動學生主動學習的積極性,鍛煉學生在課堂所學知識的指導下獨立分析問題和解決問題的能力,加強學生團隊合作和溝通表達的能力。
在單獨開設的實踐環(huán)節(jié)中可采用“項目式-任務驅(qū)動”教學方式,以學生為主體,將項目或案例進行任務分解,并分配到各小組,要求學生嚴格按照時間要求完成任務,并進行講評和答辯。同時,針對移動軟件開發(fā)中具有的軟件規(guī)模較小、需求較明確等特點,采用“場景法”,由學生扮演最終用戶的角色,切身感受和想象手機用戶在不同場所需要的交互和功能,繼而完成軟件的需求采集、需求分析、設計和測試任務,在很大程度上調(diào)動學生學習的興趣和主動性[4]。
(3)加強課程信息化建設
充分利用學校的在線教學平臺,共享教學資源,將教學計劃、教學內(nèi)容、自學任務和課后作業(yè)等及時發(fā)布,幫助學生更好的學習。教師主動與學生進行網(wǎng)絡互動,利用各種溝通交流工具,了解、解答學生在學習過程中遇到的問題,掌握學習情況,及時調(diào)整教學進度,幫助學生實現(xiàn)課外主動學習的目標。
教師在授課的同時,通過此平臺進行網(wǎng)絡課程建設。教師定期對內(nèi)容進行維護和更新,修訂教學大綱、課件、案例庫等教學資源,增設有關(guān)移動軟件開發(fā)的相關(guān)知識和內(nèi)容,收集有關(guān)移動應用領(lǐng)域的成功案例,對軟件工程系列課程完成全方位覆蓋,并保證知識新穎、內(nèi)容詳實,實現(xiàn)網(wǎng)絡平臺內(nèi)容的動態(tài)化。
(4)擴寬學生獲取新知識的途徑
除了課堂教授、實踐過程鞏固等教學方式外,通過“任務型”教學、案例分析拓展實戰(zhàn)、推薦閱讀經(jīng)典教材、借助網(wǎng)絡資源等方式鼓勵學生多渠道獲取知識,培養(yǎng)學生自主學習的能力,增強職業(yè)素養(yǎng)。
2.3 完善考核機制
由于軟件工程系列課程的特點,其培養(yǎng)目標要求學生在理解基本理論和原理的基礎(chǔ)上,能夠熟練掌握主流軟件的工程管理體系、質(zhì)量管理體系、系統(tǒng)建模工具、程序設計方法等技術(shù),培養(yǎng)科學的思維方法和開發(fā)方法,并提高動手實踐能力和獨立分析解決問題的能力。而現(xiàn)有的考核方式過于單一,重結(jié)果而輕過程,考核內(nèi)容偏理論輕實踐,大大影響了學生學習的積極性和興趣,而對學生動手實踐能力的培養(yǎng)沒有得到應有的重視。因此需建立科學完善的課程考核機制。
(1)注重過程考核
將過程考核納入考核評價體系中,并適當增加比重。過程考核內(nèi)容主要體現(xiàn)為課堂出勤率、案例的參與度、自主完成作業(yè)的質(zhì)量、實踐環(huán)節(jié)解決方案等。通過將考評側(cè)重點向過程考核轉(zhuǎn)移,督促學生積極主動的學習。
(2)完善實驗考核制度
在傳統(tǒng)的實驗教學中,實驗指導教師對學生實驗成績的評定主要是以出勤率、實驗成果和實驗報告作為評價依據(jù),這種考核方式通常無法考核出學生的真實水平,且所有學生用同一種標準來衡量,盡管公平卻不利于學生個性的發(fā)揮和創(chuàng)造力的培養(yǎng)。可將實驗項目分配至各小組,對學生實驗成績的評定綜合考慮整個小組的實驗結(jié)果、學生的態(tài)度和表現(xiàn)、在小組內(nèi)部發(fā)揮的作用等方面,并增加小組集體答辯和小組互評環(huán)節(jié)[5],增強學生團隊合作意識和集體榮譽感。
3 結(jié)語
隨著移動互聯(lián)軟件開發(fā)產(chǎn)業(yè)的蓬勃興起,移動互聯(lián)企業(yè)的人才需求突飛猛進。與移動互聯(lián)開發(fā)相關(guān)的軟件工程領(lǐng)域的研究也方興未艾。作為人才培養(yǎng)土壤的高等院校,其軟件工程系列課程中目前更是缺乏其應有的支撐內(nèi)容。因此,在高校軟件工程系列課程中,提出合理的軟件互聯(lián)知識域框架,引入移動互聯(lián)開發(fā)所需知識,增加移動互聯(lián)實踐案例,建立配套的考核機制將成為必然之舉。一方面可以為面向移動互聯(lián)及“大數(shù)據(jù)”的先進軟件工程技術(shù)提供理論研究基礎(chǔ),另一方面也為學生在移動互聯(lián)開發(fā)時代提供技術(shù)利器,以更好的適應社會發(fā)展的需要。
參考文獻
[1] Gartner:傳統(tǒng)應用程序開發(fā)實踐將對移動應用失效[EB/OL]. 2014. http://tech.ifeng.com/mi/detail_2014_08/18/38311310_0.shtml.
[2] 曾少寧.面向移動開發(fā)的軟件工程專業(yè)教學改革研究[J].中國電子商務,2013(3):159-160.
[3] 鄧先禮.“一案到底”教學法在軟件設計課程中的實施[J].雞西大學學報,2014(7):24-27.
[4] 王振鐸.移動平臺下軟件開發(fā)教學研究[J].現(xiàn)代計算機(專業(yè)版),2012(29):60-61.
[5] 李迎春.《軟件測試》實驗方法的改革和實踐[J].現(xiàn)代計算機(專業(yè)版),2013(6):31-32.