當前位置:學問谷 >

個人範例 >職業 >

軟件工程專業在線課程建設思考的論文

軟件工程專業在線課程建設思考的論文

針對國家和軍隊信息化建設對軟件開發工程人才的迫切需求,以及軟件工程專業課程面臨的知識與工具變化快、項目實踐要求高、強調協同與合作等特徵為目前在線課程模式和平台帶來的挑戰性問題,分析研究2014版軟件工程知識體(SWEBOK)對在線課程建設的影響,分別針對大規模公開在線課程(MOOC)和小規模私有在線課程(SPOC)的建設提出一系列建設思路與方案,關鍵詞:軟件工程;在線課程;軟件工程知識體;MOOC;SPOC

軟件工程專業在線課程建設思考的論文

引 言

隨着軟件在各種領域迅速發展,軟件的類型、規模、複雜度都急劇增長,在有限的時間和成本約束下開發出高質量的軟件被人們高度關注,岡此提高各類信息化系統開發人員的軟件工程能力越來越受到普通和軍隊高等院校的普遍重視。然而,由於軟件從業人員所需知識更新快以及大量軟件開發人員接受軟件工程教育的經歷不足,僅靠傳統的高校課堂內授課方式,難以滿足社會和軍隊信息化快速發展對軟件工程人員的需求。研究如何通過建設軟件工程專業在線課程加快軟件工程人才的培養、優化軟件工程課程資源的配置,對於我們國家和軍隊未來的發展具有重要價值與深遠意義。

1 軟件工程教育的發展與主要問題

軟件工程指將系統的、規範的、可量化的方法應用於軟件的開發、運行和維護的過程。ACM和IEEE/CS成立聯合工作組,在2004年制定了計算教程軟件工程卷CCSE(computingcurriculum-software engineering),並把軟件工程作為計算學科下與計算機科學、信息技術、信息系統、計算機工程等並列的學科。2014年,ACM和IEEE/CS推出軟件工程知識體SWEBOK3.0版,知識領域與2004年版SWEBOK相比從10個增加到15個。此外,由ACM和IEEE主導,國際一些著名高校和企業的專家針塒軟件工程碩士教育制定《軟件工程研究生學位教程指南》(GSwE2009),描述軟件工程碩上需掌握的核心知識體系和相應教程。我國從2001年開始建立示範性軟件學院,並於2006年推出《計算機科學與技術本科專業規範(軟件[r徉)》l512011年,軟件工程專業經國務院批准增列為一級學科。

軟件工程師目前在國內外都是最具吸引力的職業之一,如美國著名的就業網站CareerCast在2012年進行調查,從收入、工作環境、發展前景等因素評選出的十大最佳職業中,軟件工程師名列第一;在我國近來對本科畢業生的職、業調查中,軟件工程師的收入也一直名列前茅。儘管近年來軟件工程教育有了很大發展,但國內外的軟件工程教育還存在諸多挑戰性問題,主要包括以下幾方面。

(1)現有的軟件工程課程從學時數、教學安排等方面都難以達到實際職業對軟件工程深度、廣度和實踐能力的要求,相關培養方案的制訂較少考慮企業的實際需要,針對性不強。

(2)儘管聘請企業中有豐富經驗的軟件工程師授課是一條有效措施,但整體來看,軟件工程授課老師普遍缺乏軟件開發實際經驗,甚至很多都未從事軟件工程領域的研究工作。

(3)軟件工程目前存在眾多不同的開發方法學,它們各有特點和優勢,並且軟件工程相關技術發展迅速,新的方法不斷出現,這使得教學內容的選擇和準備變得非常困難。

(4)當前國內外軟件工程教材多是對眾多方法和技術的描述,對具體技術的深入程度不足且無法適應軟件技術、工具的快速變化,對學生進行實際項目開發幫助有限。

(5)企業的軟件開發中使用了眾多的軟件工具,並且對於重要領域的軟件開發,很多企業採用商業化工具。在教學過程中,這些昂貴的、專用的商業工具較為缺乏,並且在有限課程時間內學生難以接觸到眾多不同類型的軟件開發工具。

(6)軟件工程教育資源非常不平衡,在教育和經濟發達地區,聘請優秀軟件工程師進行授課、使學生參與到企業的實際開發中是可行的,但對於大量其他地區高校就難以實施。

(7)軟件工程技術和工具發展迅速,很多軟件從業人員從程序員開始起步,未接受過系統的軟件工程教育或所受教育很快過時,因此需要持續性的、具有一定靈活性的優質教育資源適應這種情況。

由軟件工程教育面臨的以上挑戰,我們可以看出傳統的高校課堂內軟件工程教育雖然還是必不可少的,但是必須找到新的軟件工程專業課程教學方式,以滿足其知識變化快、人員基數大、持續時間長、資源不平衡等特徵。通過互聯網在線課程的形式實施軟件工程專業課程的教學,無疑是應對上述問題一種有效、可行的方式。

2 軟件工程知識體對在線課程模式的影響

軟件工程可以作為一門單獨的課程進行講授,而軟件工程專業一般包含一系列的課程,如需求工程、軟件設計與體系結構、軟件構造、軟件測試與驗證等。軟件工程專業課程如果作為在線課程進行建設會遇到眾多問題,其中主要包括對實踐環節的要求非常高、追求在真實平台中解決有一定規模的問題、需要團隊合作以及項目管理等,而目前在線課程的教學方式和平台在這些方面有一定欠缺,需要我們進行深入的研究以提供解決方案。

軟件工程課程應該覆蓋一定的知識領域,表1對SWEBOK 3.0版中包含的15個知識領域和子域進行初步分析,判斷其是否適合於目前一般性的MOOC在線課程教育模式和平台。表1中第2列的知識子域適合目前在線課程教學方式,第3列中的知識子域需要對當前在線課程模式進行適當改進才能適用,第4列中的知識子域則需要對當前在線課程模式和平台進行較大改進。對於不適合(需對模式和平台進行改進)的知識子域,筆者在第3節中將研究討論應對方式和措施。

表l中最後兩個知識領域計算基礎和數學基礎作為軟件工程理論基礎的一部分,由於一般放入與軟件工程課程相獨立的課程中講授,如離散數學、編譯原理、操作系統、數據庫原理等,其相關課程也都有較為系統、完善的`體系,因此這裏我們不進行特別考慮。

3 軟件工程專業在線課程的建設

目前已經出現一些軟件工程的在線課程,如UC Berkeley的軟件工程MOOC課程於2012年在Coursera、後來在EdX上線,並在此基礎上發展、延伸出多個小規模私有在線課程(smallprivate online courses,SPOC)。國防科技大學也已有軟件工程相關課程在內部網絡上線,供部隊和軍隊院校一定範圍內的人員在線學習。

3.1 軟件工程專業MOOC課程建設

從對相關知識領域的分析可以看到,目前一般性MOOC授課方式與平台難以適應的軟件工程知識子域主要包含以下特點。

1)難以完全通過講授使學生接受,如需要動手進行實踐才能深入體會的技術以及與經驗密切相關的過程、管理、度量等內容。

2)內容變化頻繁的知識如一些軟件開發技術、工具等總在持續發生變化或出現新的版本,課程每次新開時都可能需要調整。

3)需要團隊式的協作與交流完成內容,如版本控制、需求獲取、協同開發、團隊交流等,僅靠講授或個人作業難以達到效果。

4)軟件工程教育強調具有一定規模和複雜性的項目實踐,這對於教學輔導人員的數量和指導能力要求較高,不僅僅是普通答疑能完成的。

5)對於很多技術和實踐來説,其結果是開放式的,軟件設計、實現、測試、維護等任務一般不存在唯一結果,這給作業評價和成績評定帶來困難。

面向上述特點,根據目前國內外已有的相關實踐、效果以及已經實施的建設情況,我們總結出一些供參考的解決方案。

(1)制訂MOOC教學計劃時應遵循持續改進的原則。傳統課堂教學講究制訂教學計劃時一次到位,但由於軟件工程內容變化快,因此分解教學內容、視頻、作業時應該使其能夠適應快速變化,不要期望一次建設就大功告成。此外,在線課程需要了解大量學生的反饋意見和教學效果,這也需要不斷的改進。如果可行,可採用自行編著的電子教材和參考文獻,使得每次開課時學生教材也可以儘快進行相應修訂。

(2)在線課程平台與軟件協同開發環境的有機融合。對於需要協同、交流才能完成的內容,實際由於許多國際化企業的軟件研發人員遍佈全球,因此已有相應的平台(包括開源軟件工具開源社區等)支持地域分佈的人員進行協同開發。教師可選擇所需的協同開發環境,與軟件工程在線課程平台集成在一起,提高對團隊和協同任務的支持。

(3)對課程進行分而治之的劃分。教師可以把課程按照其內容是否適合在線授課劃分為一些小的子課程,每個子課程更偏重於適合或不適合(如理論內容和實踐教學內容分到不同子課程),以減少整個課程設計的複雜性。在線課程偏重適合講授的子課程,不適合已有在線授課模式的內容,可以通過其他方式實施(如其他高校單獨開設實踐課程、採用適合的平台或投入更多教輔人員等)。

(4)採用新的教輔人員委託模式。由於軟件工程課程的實踐性強,對教輔人員數量和質量要求高,因此僅靠開課學校的課程組難以完成。教師在實踐中可以考慮招募在高校內或通過在線課程已經完成課程學習、成績優秀的志願者,通過一定的激勵或者提高影響力等方式激發他們的熱情。事實上,從開源軟件的蓬勃發展以及Berkeley軟件工程MOOC課程的實際效果看,該方式完全可行、有效。

(5)加強自動化結果評估和成績評定系統的開發與應用。教師可一方面採用各種自動化軟件工具,如通過測試驅動的開發工具、軟件編碼規範檢查工具、基於服務的方式等對課程作業進行自動評估;另一方面可以讓學生參與到開源軟件社區的開發活動中,通過開源項目對其完成工作和貢獻採納情況等進行評價。

軟件工程專業MOOC課程建設面臨的問題眾多,需要教師通過具體實踐逐步研究和完善其在線課程的建設過程。

3.2 軟件工程專業SPOC課程建設

軟件工程在實際實施中所面向的領域背景非常重要,而不同領域的軟件系統各有特點,一個軟件企業一般有其針對性的領域,採用的軟件工程過程、方法、工具、管理等都有各自的特點。因此,非在校學生的軟件工程在線課程學習者可能在一般性的理論之外,希望學習更多對其背景有促進作用的知識。再者,MOOC課程學習者中有相當一部分本身就是高校教師,他們會借用MOOC課程的內容,然後在自己的課程中進行一定改造並增加項目實習等內容,形成適合其學生學習的課程。此外,國防領域未來基於信息系統的體系中,軟件工程人才將會包括科研人員、技術開發人員、管理人員、保障人員、作戰和指揮人員等不同類型,還會針對戰機控制、艦船控制、車輛控制、指揮自動化等不同應用背景,對軟件工程知識的要求都有不同。上述情況都要求能夠在MOOC課程的基礎上進一步建設小規模私有在線課程(SPOC)。UC Berkeley就在其軟件工程MOOC課程基礎上發展了多個SPOC課程,包括在本校以及在其他高校中開設的課程。

對於建設軟件工程SPOC課程,教師可以遵循以下一些原則和策略。

(1)對於公共的知識講授,儘可能利用MOOC課程完成,以減少SPOC課程的建設工作量,充分利用優質資源,提高課程的複用程度。

(2)加強每門SPOC課程的針對性,如針對具體學校學生的培養目標或針對具體領域背景選擇相應的軟件工程技術、工具、標準規範進行講授。

(3)加強課程實踐和項目開發環節的建設,這是MOOC課程本身具有的不足之一,但在SPOC課程中可以進行有效的彌補。

(4)課程成績的評定可以把MOOC和SPOC課程的學習情況結合起來考慮,對學習者對軟件工程共性理論和特定目標知識的掌握情況進行綜合評價。

在未來在線課程發展中,軟件工程專業MOOC課程可能並不一定很多,由能提供優質師資資源的機構開設,但針對具體背景領域的SPOC課程可以更多,因為畢竟軟件作為現代社會無所不在的組成,軟件工程面向的領域眾多,都需要有針對性地培養軟件工程人才。

4 結語

軟件工程專業課程具有變化快、對實踐要求高、需要團隊協作等特徵,這些使建設軟件工程專業在線課程具有更高的難度。MOOC課程和SPOC課程都是未來軟件工程專業在線課程所需的模式,儘管已經有一些相關實踐,但是如何建立較為系統、各門課程完善、質量高的軟件工程專業在線課程,還需要更多的研究與實踐。目前對SWEBOK中知識子域對在線課程建設影響的分析還較為初步,下一步還需要更具體地針對所包含的知識點研究如何通過在線課程進行講授。此外,軟件工程專業在線課程應該與軟件協同開發環境有機結合,這還需要我們進一步進行研究,針對知識點要求形成科學的集成平台體系框架並進行建設。

標籤: 軟件工程 論文
  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flgr/zhiye/w2o915.html