軟件工程專業(yè)在線課程建設(shè)思考的論文
針對國家和軍隊信息化建設(shè)對軟件開發(fā)工程人才的迫切需求,以及軟件工程專業(yè)課程面臨的知識與工具變化快、項目實踐要求高、強調(diào)協(xié)同與合作等特征為目前在線課程模式和平臺帶來的挑戰(zhàn)性問題,分析研究2014版軟件工程知識體(SWEBOK)對在線課程建設(shè)的影響,分別針對大規(guī)模公開在線課程(MOOC)和小規(guī)模私有在線課程(SPOC)的建設(shè)提出一系列建設(shè)思路與方案,關(guān)鍵詞:軟件工程;在線課程;軟件工程知識體;MOOC;SPOC
引 言
隨著軟件在各種領(lǐng)域迅速發(fā)展,軟件的類型、規(guī)模、復(fù)雜度都急劇增長,在有限的時間和成本約束下開發(fā)出高質(zhì)量的軟件被人們高度關(guān)注,岡此提高各類信息化系統(tǒng)開發(fā)人員的軟件工程能力越來越受到普通和軍隊高等院校的普遍重視。然而,由于軟件從業(yè)人員所需知識更新快以及大量軟件開發(fā)人員接受軟件工程教育的經(jīng)歷不足,僅靠傳統(tǒng)的高校課堂內(nèi)授課方式,難以滿足社會和軍隊信息化快速發(fā)展對軟件工程人員的需求。研究如何通過建設(shè)軟件工程專業(yè)在線課程加快軟件工程人才的培養(yǎng)、優(yōu)化軟件工程課程資源的配置,對于我們國家和軍隊未來的發(fā)展具有重要價值與深遠意義。
1 軟件工程教育的發(fā)展與主要問題
軟件工程指將系統(tǒng)的、規(guī)范的、可量化的方法應(yīng)用于軟件的開發(fā)、運行和維護的過程。ACM和IEEE/CS成立聯(lián)合工作組,在2004年制定了計算教程軟件工程卷CCSE(computingcurriculum-software engineering),并把軟件工程作為計算學(xué)科下與計算機科學(xué)、信息技術(shù)、信息系統(tǒng)、計算機工程等并列的學(xué)科。2014年,ACM和IEEE/CS推出軟件工程知識體SWEBOK3.0版,知識領(lǐng)域與2004年版SWEBOK相比從10個增加到15個。此外,由ACM和IEEE主導(dǎo),國際一些著名高校和企業(yè)的專家針塒軟件工程碩士教育制定《軟件工程研究生學(xué)位教程指南》(GSwE2009),描述軟件工程碩上需掌握的核心知識體系和相應(yīng)教程。我國從2001年開始建立示范性軟件學(xué)院,并于2006年推出《計算機科學(xué)與技術(shù)本科專業(yè)規(guī)范(軟件[r徉)》l512011年,軟件工程專業(yè)經(jīng)國務(wù)院批準增列為一級學(xué)科。
軟件工程師目前在國內(nèi)外都是最具吸引力的職業(yè)之一,如美國著名的就業(yè)網(wǎng)站CareerCast在2012年進行調(diào)查,從收入、工作環(huán)境、發(fā)展前景等因素評選出的十大最佳職業(yè)中,軟件工程師名列第一;在我國近來對本科畢業(yè)生的職、業(yè)調(diào)查中,軟件工程師的收入也一直名列前茅。盡管近年來軟件工程教育有了很大發(fā)展,但國內(nèi)外的軟件工程教育還存在諸多挑戰(zhàn)性問題,主要包括以下幾方面。
(1)現(xiàn)有的軟件工程課程從學(xué)時數(shù)、教學(xué)安排等方面都難以達到實際職業(yè)對軟件工程深度、廣度和實踐能力的要求,相關(guān)培養(yǎng)方案的制訂較少考慮企業(yè)的實際需要,針對性不強。
(2)盡管聘請企業(yè)中有豐富經(jīng)驗的軟件工程師授課是一條有效措施,但整體來看,軟件工程授課老師普遍缺乏軟件開發(fā)實際經(jīng)驗,甚至很多都未從事軟件工程領(lǐng)域的研究工作。
(3)軟件工程目前存在眾多不同的開發(fā)方法學(xué),它們各有特點和優(yōu)勢,并且軟件工程相關(guān)技術(shù)發(fā)展迅速,新的方法不斷出現(xiàn),這使得教學(xué)內(nèi)容的選擇和準備變得非常困難。
(4)當前國內(nèi)外軟件工程教材多是對眾多方法和技術(shù)的描述,對具體技術(shù)的深入程度不足且無法適應(yīng)軟件技術(shù)、工具的快速變化,對學(xué)生進行實際項目開發(fā)幫助有限。
(5)企業(yè)的軟件開發(fā)中使用了眾多的軟件工具,并且對于重要領(lǐng)域的軟件開發(fā),很多企業(yè)采用商業(yè)化工具。在教學(xué)過程中,這些昂貴的、專用的商業(yè)工具較為缺乏,并且在有限課程時間內(nèi)學(xué)生難以接觸到眾多不同類型的軟件開發(fā)工具。
(6)軟件工程教育資源非常不平衡,在教育和經(jīng)濟發(fā)達地區(qū),聘請優(yōu)秀軟件工程師進行授課、使學(xué)生參與到企業(yè)的實際開發(fā)中是可行的,但對于大量其他地區(qū)高校就難以實施。
(7)軟件工程技術(shù)和工具發(fā)展迅速,很多軟件從業(yè)人員從程序員開始起步,未接受過系統(tǒng)的軟件工程教育或所受教育很快過時,因此需要持續(xù)性的、具有一定靈活性的優(yōu)質(zhì)教育資源適應(yīng)這種情況。
由軟件工程教育面臨的以上挑戰(zhàn),我們可以看出傳統(tǒng)的高校課堂內(nèi)軟件工程教育雖然還是必不可少的,但是必須找到新的軟件工程專業(yè)課程教學(xué)方式,以滿足其知識變化快、人員基數(shù)大、持續(xù)時間長、資源不平衡等特征。通過互聯(lián)網(wǎng)在線課程的形式實施軟件工程專業(yè)課程的教學(xué),無疑是應(yīng)對上述問題一種有效、可行的方式。
2 軟件工程知識體對在線課程模式的影響
軟件工程可以作為一門單獨的課程進行講授,而軟件工程專業(yè)一般包含一系列的課程,如需求工程、軟件設(shè)計與體系結(jié)構(gòu)、軟件構(gòu)造、軟件測試與驗證等。軟件工程專業(yè)課程如果作為在線課程進行建設(shè)會遇到眾多問題,其中主要包括對實踐環(huán)節(jié)的要求非常高、追求在真實平臺中解決有一定規(guī)模的問題、需要團隊合作以及項目管理等,而目前在線課程的教學(xué)方式和平臺在這些方面有一定欠缺,需要我們進行深入的研究以提供解決方案。
軟件工程課程應(yīng)該覆蓋一定的知識領(lǐng)域,表1對SWEBOK 3.0版中包含的15個知識領(lǐng)域和子域進行初步分析,判斷其是否適合于目前一般性的MOOC在線課程教育模式和平臺。表1中第2列的知識子域適合目前在線課程教學(xué)方式,第3列中的知識子域需要對當前在線課程模式進行適當改進才能適用,第4列中的知識子域則需要對當前在線課程模式和平臺進行較大改進。對于不適合(需對模式和平臺進行改進)的知識子域,筆者在第3節(jié)中將研究討論應(yīng)對方式和措施。
表l中最后兩個知識領(lǐng)域計算基礎(chǔ)和數(shù)學(xué)基礎(chǔ)作為軟件工程理論基礎(chǔ)的一部分,由于一般放入與軟件工程課程相獨立的課程中講授,如離散數(shù)學(xué)、編譯原理、操作系統(tǒng)、數(shù)據(jù)庫原理等,其相關(guān)課程也都有較為系統(tǒng)、完善的體系,因此這里我們不進行特別考慮。
3 軟件工程專業(yè)在線課程的`建設(shè)
目前已經(jīng)出現(xiàn)一些軟件工程的在線課程,如UC Berkeley的軟件工程MOOC課程于2012年在Coursera、后來在EdX上線,并在此基礎(chǔ)上發(fā)展、延伸出多個小規(guī)模私有在線課程(smallprivate online courses,SPOC)。國防科技大學(xué)也已有軟件工程相關(guān)課程在內(nèi)部網(wǎng)絡(luò)上線,供部隊和軍隊院校一定范圍內(nèi)的人員在線學(xué)習。
3.1 軟件工程專業(yè)MOOC課程建設(shè)
從對相關(guān)知識領(lǐng)域的分析可以看到,目前一般性MOOC授課方式與平臺難以適應(yīng)的軟件工程知識子域主要包含以下特點。
1)難以完全通過講授使學(xué)生接受,如需要動手進行實踐才能深入體會的技術(shù)以及與經(jīng)驗密切相關(guān)的過程、管理、度量等內(nèi)容。
2)內(nèi)容變化頻繁的知識如一些軟件開發(fā)技術(shù)、工具等總在持續(xù)發(fā)生變化或出現(xiàn)新的版本,課程每次新開時都可能需要調(diào)整。
3)需要團隊式的協(xié)作與交流完成內(nèi)容,如版本控制、需求獲取、協(xié)同開發(fā)、團隊交流等,僅靠講授或個人作業(yè)難以達到效果。
4)軟件工程教育強調(diào)具有一定規(guī)模和復(fù)雜性的項目實踐,這對于教學(xué)輔導(dǎo)人員的數(shù)量和指導(dǎo)能力要求較高,不僅僅是普通答疑能完成的。
5)對于很多技術(shù)和實踐來說,其結(jié)果是開放式的,軟件設(shè)計、實現(xiàn)、測試、維護等任務(wù)一般不存在唯一結(jié)果,這給作業(yè)評價和成績評定帶來困難。
面向上述特點,根據(jù)目前國內(nèi)外已有的相關(guān)實踐、效果以及已經(jīng)實施的建設(shè)情況,我們總結(jié)出一些供參考的解決方案。
(1)制訂MOOC教學(xué)計劃時應(yīng)遵循持續(xù)改進的原則。傳統(tǒng)課堂教學(xué)講究制訂教學(xué)計劃時一次到位,但由于軟件工程內(nèi)容變化快,因此分解教學(xué)內(nèi)容、視頻、作業(yè)時應(yīng)該使其能夠適應(yīng)快速變化,不要期望一次建設(shè)就大功告成。此外,在線課程需要了解大量學(xué)生的反饋意見和教學(xué)效果,這也需要不斷的改進。如果可行,可采用自行編著的電子教材和參考文獻,使得每次開課時學(xué)生教材也可以盡快進行相應(yīng)修訂。
(2)在線課程平臺與軟件協(xié)同開發(fā)環(huán)境的有機融合。對于需要協(xié)同、交流才能完成的內(nèi)容,實際由于許多國際化企業(yè)的軟件研發(fā)人員遍布全球,因此已有相應(yīng)的平臺(包括開源軟件工具開源社區(qū)等)支持地域分布的人員進行協(xié)同開發(fā)。教師可選擇所需的協(xié)同開發(fā)環(huán)境,與軟件工程在線課程平臺集成在一起,提高對團隊和協(xié)同任務(wù)的支持。
(3)對課程進行分而治之的劃分。教師可以把課程按照其內(nèi)容是否適合在線授課劃分為一些小的子課程,每個子課程更偏重于適合或不適合(如理論內(nèi)容和實踐教學(xué)內(nèi)容分到不同子課程),以減少整個課程設(shè)計的復(fù)雜性。在線課程偏重適合講授的子課程,不適合已有在線授課模式的內(nèi)容,可以通過其他方式實施(如其他高校單獨開設(shè)實踐課程、采用適合的平臺或投入更多教輔人員等)。
(4)采用新的教輔人員委托模式。由于軟件工程課程的實踐性強,對教輔人員數(shù)量和質(zhì)量要求高,因此僅靠開課學(xué)校的課程組難以完成。教師在實踐中可以考慮招募在高校內(nèi)或通過在線課程已經(jīng)完成課程學(xué)習、成績優(yōu)秀的志愿者,通過一定的激勵或者提高影響力等方式激發(fā)他們的熱情。事實上,從開源軟件的蓬勃發(fā)展以及Berkeley軟件工程MOOC課程的實際效果看,該方式完全可行、有效。
(5)加強自動化結(jié)果評估和成績評定系統(tǒng)的開發(fā)與應(yīng)用。教師可一方面采用各種自動化軟件工具,如通過測試驅(qū)動的開發(fā)工具、軟件編碼規(guī)范檢查工具、基于服務(wù)的方式等對課程作業(yè)進行自動評估;另一方面可以讓學(xué)生參與到開源軟件社區(qū)的開發(fā)活動中,通過開源項目對其完成工作和貢獻采納情況等進行評價。
軟件工程專業(yè)MOOC課程建設(shè)面臨的問題眾多,需要教師通過具體實踐逐步研究和完善其在線課程的建設(shè)過程。
3.2 軟件工程專業(yè)SPOC課程建設(shè)
軟件工程在實際實施中所面向的領(lǐng)域背景非常重要,而不同領(lǐng)域的軟件系統(tǒng)各有特點,一個軟件企業(yè)一般有其針對性的領(lǐng)域,采用的軟件工程過程、方法、工具、管理等都有各自的特點。因此,非在校學(xué)生的軟件工程在線課程學(xué)習者可能在一般性的理論之外,希望學(xué)習更多對其背景有促進作用的知識。再者,MOOC課程學(xué)習者中有相當一部分本身就是高校教師,他們會借用MOOC課程的內(nèi)容,然后在自己的課程中進行一定改造并增加項目實習等內(nèi)容,形成適合其學(xué)生學(xué)習的課程。此外,國防領(lǐng)域未來基于信息系統(tǒng)的體系中,軟件工程人才將會包括科研人員、技術(shù)開發(fā)人員、管理人員、保障人員、作戰(zhàn)和指揮人員等不同類型,還會針對戰(zhàn)機控制、艦船控制、車輛控制、指揮自動化等不同應(yīng)用背景,對軟件工程知識的要求都有不同。上述情況都要求能夠在MOOC課程的基礎(chǔ)上進一步建設(shè)小規(guī)模私有在線課程(SPOC)。UC Berkeley就在其軟件工程MOOC課程基礎(chǔ)上發(fā)展了多個SPOC課程,包括在本校以及在其他高校中開設(shè)的課程。
對于建設(shè)軟件工程SPOC課程,教師可以遵循以下一些原則和策略。
(1)對于公共的知識講授,盡可能利用MOOC課程完成,以減少SPOC課程的建設(shè)工作量,充分利用優(yōu)質(zhì)資源,提高課程的復(fù)用程度。
(2)加強每門SPOC課程的針對性,如針對具體學(xué)校學(xué)生的培養(yǎng)目標或針對具體領(lǐng)域背景選擇相應(yīng)的軟件工程技術(shù)、工具、標準規(guī)范進行講授。
(3)加強課程實踐和項目開發(fā)環(huán)節(jié)的建設(shè),這是MOOC課程本身具有的不足之一,但在SPOC課程中可以進行有效的彌補。
(4)課程成績的評定可以把MOOC和SPOC課程的學(xué)習情況結(jié)合起來考慮,對學(xué)習者對軟件工程共性理論和特定目標知識的掌握情況進行綜合評價。
在未來在線課程發(fā)展中,軟件工程專業(yè)MOOC課程可能并不一定很多,由能提供優(yōu)質(zhì)師資資源的機構(gòu)開設(shè),但針對具體背景領(lǐng)域的SPOC課程可以更多,因為畢竟軟件作為現(xiàn)代社會無所不在的組成,軟件工程面向的領(lǐng)域眾多,都需要有針對性地培養(yǎng)軟件工程人才。
4 結(jié)語
軟件工程專業(yè)課程具有變化快、對實踐要求高、需要團隊協(xié)作等特征,這些使建設(shè)軟件工程專業(yè)在線課程具有更高的難度。MOOC課程和SPOC課程都是未來軟件工程專業(yè)在線課程所需的模式,盡管已經(jīng)有一些相關(guān)實踐,但是如何建立較為系統(tǒng)、各門課程完善、質(zhì)量高的軟件工程專業(yè)在線課程,還需要更多的研究與實踐。目前對SWEBOK中知識子域?qū)υ诰課程建設(shè)影響的分析還較為初步,下一步還需要更具體地針對所包含的知識點研究如何通過在線課程進行講授。此外,軟件工程專業(yè)在線課程應(yīng)該與軟件協(xié)同開發(fā)環(huán)境有機結(jié)合,這還需要我們進一步進行研究,針對知識點要求形成科學(xué)的集成平臺體系框架并進行建設(shè)。
【軟件工程專業(yè)在線課程建設(shè)思考的論文】相關(guān)文章:
專業(yè)建設(shè)下對高職文秘實踐課程的思考論文02-21
農(nóng)村初中校校本課程建設(shè)思考論文01-26
關(guān)于全景式課程建設(shè)的思考與實踐論文01-04
對軟件工程課程教學(xué)設(shè)計的思考與實踐10-05