?

面向系統能力培養的軟件工程課程改革與探索

2023-04-06 21:26祖弦范慶春程敏程舒慧
電腦知識與技術 2023年5期
關鍵詞:軟件工程應用型人才實踐能力

祖弦 范慶春 程敏 程舒慧

關鍵詞: 軟件工程;教學改革;系統能力培養;實踐能力;應用型人才

0 引言

隨著大數據時代的到來,新工科及“雙一流”高校建設對計算機類人才培養提出了更深層次的需求,要求學生從具備“基本的程序開發設計能力”上升為“強調系統能力的綜合能力”[1]。系統能力重點包括系統分析、設計、驗證三方面能力,相輔相成,以達到綜合解決系統問題的目的[2]。計算機系統能力旨在通過系統化方法,提高對計算機系統層面的整體認知[3],從而培養學生從計算機系統的角度來設計開發并解決問題的能力。截至2021年的統計結果顯示,教育部計算機類專業教學指導委員會(以下簡稱“教指委”) 已分批在80所高校內推廣系統能力培養試點和研究課題。

目前,結合各類軟硬件上下游產業鏈的現狀及需求,各類高校在建設應用型本科的同時,以學生能力培養為導向,積極響應系統能力培養相關課程建設。以合肥師范學院為例,自2017年學校成功申報教指委開設的第二批系統能力培養試點高等院校以來,以計算機學院牽頭成立的“系統能力培養”教學團隊在近幾年的計算機本科教學及教改工作中,通過以提高學生工程應用能力為導向的課程群建設,積極探索軟件類課程體系新模式,旨在使計算機類畢業生不僅能具備系統的專業知識素養,還能具備企業需求的工程實踐及創新能力,從而滿足為安徽省級區域經濟發展貢獻大量軟件人才的需求。

1 目前課程教學問題分析

本文重點對軟件工程課程教學現狀進行闡述及分析,并提出面向系統能力培養的軟件工程課程改革思路,從而提升教學效果,提高學生計算機系統能力。

1.1 學科層面,知識體系缺乏系統性

軟件工程課程作為普通高校軟件工程專業的專業核心課,正常于大三上學期開設,學生已學完其先修課程如數據庫理論與技術、數據結構、C語言等偏軟件類課程,而任務管理類等偏后端硬件類課程均未開設或者未在本專業開設,但完整的計算機系統包括了計算機硬件和軟件,缺一不可。學生在對軟件系統設計與開發時,無法理解一些與系統有關的任務管理模塊,如事件驅動型任務、時鐘驅動型任務,這類任務之間優先級如何設定等與軟件系統實際開發密切相關的問題,此時學生會出現不同程度的知識脫節,影響課程教學效果及學生未來的實際開發能力。因此,亟待加強知識點連貫的課程群建設,提高學生對計算機系統整體的理解程度,使學生具備從計算機系統層面去思考如何設計開發一個完整軟件系統的能力。

1.2 教學方法層面,模式陳舊,方法單一

隨著慕課、智慧課堂等多模態教學形式的興起,傳統的以教師為主體的教學模式弊端日益突出。目前多數軟件工程課堂仍以教師課件教學為主,學生被動地接受大量理論知識點。在課堂教學中,忽略培養學生動手能力,教師重在講解理論方法,缺乏軟件系統項目的課內課程設計融合。另外,統一的上機實踐環節,均設置一些驗證性實驗,如熟悉軟件分析與設計工具Visio的使用、面向對象建模工具Rational Rose 的使用、軟件配置管理工具VSS的使用、軟件項目管理工具Project的使用等,缺乏開放性、綜合性實驗,無法提高學生的綜合能力。軟件工程本質上是采用工程的概念原理及技術方法來提高計算機軟件的生產力,課程開設初衷在于提高學生解決軟件實際問題的工程能力。而上述這種重理論輕實踐的教學模式,很難調動學生上課積極性,從而失去學習興趣。

1.3 教學資源層面,儲備不足,影響教學效果。

對于教學資源,本文從課程資源和師資隊伍兩個方面進行詳細剖析。首先,教學資源缺乏,目前學生教材選擇的是2013年修訂的第四版張海藩主編的《軟件工程》,軟件更新速度較快,教材內容的老舊已跟不上軟件工程快速發展的步伐,另外課程組缺乏有關軟件項目電子資源的儲備,教學中的項目實例無法更直觀地展現給學生,使課堂效果達不到教學目的。其次,課程組師資隊伍方面,部分教師缺乏企業實習實訓的經驗,由于各類知識的儲備不足,無法在課堂上貫徹落實理論聯系實踐,因此提高課程組教師教學素養迫在眉睫。

1.4 考核層面,缺乏個性化考評標準

課程考核上,評價標準缺乏個性化設置,導致評價目標不明確。目前軟件工程仍采用統一的理論課試卷來評估學生對知識點的掌握情況,但缺乏對工程應用能力的考核,一些動手能力強的學生也可能卷面成績不高,缺乏對學生個體的個性化考量標準。沒有個性化且針對性的評估,就無法做到因材施教及個性化培養。

2 面向系統能力培養的軟件工程課程改革新思路

面向系統能力培養的軟件工程課程改革,堅持以學生為主體,厘清新工科背景下的計算機類學科培養目標,以應用型成果為導向,探索教學改革新模式。培養學生的計算機系統能力,本質上要引導學生從多維度去理解計算機系統,從而培養學生在計算機系統各層級組件上均具備設計及工程實現能力[4]。

2.1 軟硬件課程深度融合,參與特色課程群建設

對軟件相關專業學生而言,計算機系統能力的培養需要為學生構建更全面、更系統、更連貫的課程體系,從而使學生在未來實際軟件項目開發中,能從多角度去思考。具體思路如下:首先,軟件工程課程組應重新組織知識架構,嘗試與其他上下游課程建立完整的計算機系統課程群。本文嘗試對課程群設置進行重組改進,如圖1所示。對于課程群的重組設定應嚴格遵循軟件工程中功能模塊知識分解的脈絡,設計開發一個完整的軟件系統應該分解為四個部分:人機交互部分、問題域部分、任務管理部分和后臺數據管理部分,在圖1中系統每一部分均對應了相關聯課程,相關程度較大的課程嘗試設置在同一學期開設,如軟件工程和操作系統,學生對操作系統中任務管理概念的理解,直接決定了在設計軟件動態模型時,對于并發任務優先級的分配策略。另外,類似計算機組成原理這些計算機功能部件類硬件課程的先導學習,可以加深學生在開發人機交互系統時,能更好地契合軟硬件系統。當課程結束后,為了鞏固所學知識,在后續學期的課程設置中,繼續設置了軟件工程運維及管理活動的后續課程,從而有利于增加軟件的生命周期。通過上述與知識關聯較密切的課程建立協同教學,使學生對知識點的前因后果能達到更深層次的理解,最終達到能提升和促進學生對計算機系統不同角度認知的目的。

其次,借助綜合性教學平臺,通過數據分析促進教學改革。如引入浙江大學的拼題A平臺、超星學習通等平臺輔助教學,與教學同步,還能實時通過大數據實現學情分析,并能根據不同班級的教學情況對教學進度做出動態調整。最后,邀請高新企業人才及專家技術團隊,共同參與軟件工程課程標準和培養方案的制定工作,明確軟件工程應用型人才培養目標,將工程能力培養融入課程教學的各個階段。

2.2 結合項目實踐,變更課堂主體

軟件工程課程屬于實踐性綜合性較強的一門課,更應強調通過實驗實訓促進知識內化。首先,教師在教學過程中需以學生為中心,開展知識傳授活動。教師在課堂教學中則扮演引導和參與的角色。其次,以項目驅動教學進度,具體來說,軟件的生命周期大體上由軟件定義、軟件開發、運行維護這三個階段構成,因此,課程組嘗試以軟件生命周期為主線,配合每個階段對應的項目開發,推進教學進度。最后,上述過程具體實施由學生為主體進行,每位學生選擇一個信息管理系統,模擬項目管理人員、項目開發人員、項目測試人員等角色,積極參與每個章節對應的系統開發進程,邊學邊實踐,以教促學,以學促教,逐步構成以學生為主體的良性教學過程。比如在需求分析這一章節,當教師對本章節知識點講解結束后,組織每一個項目小組的學生,以課堂PPT演講的方式,將各組的可行性分析(經濟、技術、法律或社會認同感)和需求分析(功能性需求+非功能性需求)逐一在課堂上向教師及其他同學詳細闡述,不僅鍛煉了個人表現能力,還能增加其他同學對各類型項目知識的認知和學習。相較于傳統的填鴨式教學,經實踐教學中的學生反饋,學生對于這種新型教學方式更感興趣,更能提高自身主動學習及主動解決問題的能力。

2.3 豐富教學資源,加強雙能型師資隊伍建設

教學資源方面,嘗試搭建產學研一體化教研平臺,將教學研究、工程實踐、學生實驗平臺貫通,融合各類專業課程實踐實驗項目,預先設定課程群,豐富各類電子教學資源的同時,也能匯總課程群各科目的教學成果,為后續教學提供項目資源支撐。例如多數教師在承擔校級或者省級質量工程項目的教研活動中,會積累一些新的教學想法或改進措施,及時將這些新思想總結至一體化教研平臺,能高效促進與其他教師之間的交流溝通和學習。

師資隊伍建設方面,教師水平和教師知識素養的提高,對提升課程教學效果起到了不可或缺的作用。為積極響應普通高校推進各類專業認證和新工科建設需求,課程組教師以提高工程實踐能力為目的,開展各類師資培訓活動和企業輪崗任務。一方面教師利用寒暑假積極參與各類軟件公司的設計研發工作,如講授面向對象程序設計類課程的教師,可以利用假期積極去軟件公司的開發技術崗進行實習研發工作,講授軟件測試類課程的教師,可以利用業余時間去公司進行軟件測試類工作,而講授軟件項目管理類課程的教師可以多與軟件管理人員之間進行溝通學習;另一方面,還可以考慮聘請企業高工來院系兼職授課,共同參與教學過程??傊?,提高教師隊伍中雙能型教師配比,可更好地服務和促進學校辦學向應用深度轉變。

2.4 培養應用型人才,建立個性化評估標準

個性化評估標準與2.2小節介紹的項目實踐緊密聯系,形成教學及考核閉環。具體來說,對課程的期末考核不再局限于閉卷筆試,替之以項目各環節成果打分為主,對不同個體進行個性化考核。依照軟件工程中對軟件生命周期的定義,可將每位學生的項目階段與生命周期對應,每一個階段需提供相應的里程碑成果,并以文檔進行記錄,作為學生對當前階段知識點掌握程度的考量依據,具體評分細則如圖2所示。教師可根據每位學生的實際進度、答辯情況和完成程度進行個性化打分。在軟件工程實際教學中,由于教學脈絡緊跟軟件工程生命周期的幾個階段,因此在每一階段課程講授結束后,均會設置相應的階段性驗收考核,如需求分析階段,會對學生的課堂演講PPT和課后所交的需求規格說明書進行一一打分,在詳細設計階段,會對學生的課堂表現和提交的詳細設計說明書進行一一打分,最終當所有階段均結束后,將匯總每一階段的打分情況作為最終的綜合分數。階段性多維度的考核打分,相較于傳統的紙質試卷,更能體現和驗收每位學生的學習能力和學習效果。

3 結束語

本文詳細闡述了一種面向系統能力培養的軟件工程課程改革模式,從學科建設、教學方法、教學資源及教學考核四個角度剖析了現有課程教學中存在的問題,并以計算機系統能力培養為目標,分別從以上四個方面提出改革創新,旨在提高軟件工程教學質量,也為軟件工程專業的新工科人才培養提供了一種新思路。

猜你喜歡
軟件工程應用型人才實踐能力
關于如何創新和完善計算機軟件工程管理的探討
高校單片機課程設計教學方法探討
淺析應用型人才培養下的物理教學改革
應用型人才培養背景下模塊化教學研究與實踐
基于應用型創新人才培養的模塊式實踐教學體系構建
芻議大學生實踐創新訓練計劃項目
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合