徐 怡
(安徽大學 計算機科學與技術學院,安徽 合肥 230601)
軟件工程是指導軟件開發人員進行軟件開發、軟件維護及軟件管理的工程學科,課程的培養目標是使學生能夠熟練地掌握軟件開發的方法和各種開發工具的使用,為將來有效地策劃、管理、開發大型軟件項目打下堅實的理論基礎[1-2]。因此,在軟件人才培養方面占有重要地位,對于解決我國軟件產業面臨的卡脖子問題具有重要的戰略意義[3-4]。軟件工程課程評價是教學的中心工作,課程評價結果是衡量教學質量的重要依據,加強課程評價是提高教學質量的前提。根據課程的教學目標,建立全面、科學、客觀的軟件工程課程評價體系,對課程教學活動所達到的教學效果做出有效的判斷,可以有效衡量學生的學習效果,促進教師不斷改進教學過程,提高課程教學質量。
傳統的軟件工程課程評價方法側重于學生學習過程的評價,評價的手段主要包括學生的作業、課堂測驗、期中考試、期末考試等。一方面不能體現軟件工程課程的特點,另一方面沒有突出工程教育專業認證背景下成果導向教育的培養目標,即學生通過教育過程最后所能達到的最大能力。成果導向教育(Outcomes-based Education,OBE)是一種基于學習產出的教育新模式[5]。在工程教育專業認證背景下,OBE的理念貫穿于工程教育認證標準的始終。OBE強調教學設計和教學實施的目標是學生通過教育過程最后所取得的學習成果,這里所說的成果是學生最終取得的學習結果,是學生通過某一階段學習后所能達到的最大能力。成果導向教育重點衡量學生能做什么,而不是學生知道什么。OBE要求學生掌握內容的方式,從解決有固定答案問題的能力拓展到解決開放問題的能力。因此,OBE更加關注高階能力,例如創造性思維的能力、分析和綜合信息的能力、策劃和組織能力等[6]。因此,軟件工程的培養目標和OBE具有高度一致性。
本文針對傳統軟件工程課程評價方法的局限性,結合工程教育專業認證背景下的新需求,以培養高素質應用型人才為導向,基于成果導向教育的培養目標,從課程評價內容、課程評價手段、課程評價標準3個方面,系統研究軟件工程課程評價方法,建立全面、科學、客觀的課程評價體系,有效衡量學生的學習效果,促進教師不斷改進教學過程,從而提高軟件工程課程的教學質量。
軟件工程課程具有以下特點:(1)綜合性,軟件工程是一門綜合多學科知識的課程,不但包括操作系統、計算機原理、計算機網絡、數據庫系統、數據結構和程序設計語言等開發軟件所必須具備的知識,還涉及計算機硬件、系統工程、數學、經濟學、邏輯學等領域知識;(2)理論性,軟件工程研究內容廣泛,包含的概念、原理、方法是人們在實際軟件開發過程中總結出來的,具有普遍性及廣泛性,抽象且復雜,難于理解;(3)實踐性,軟件開發過程的技術與方法、經驗與教訓都來源于實踐,把理論知識結合到實際的軟件項目開發過程中,才能領會軟件工程的精髓;(4)發展性,軟件工程自提出至今,其理論和實踐體系得到了不斷完善和發展,涌現了許多新技術、新方法。
傳統的軟件工程課程評價方法,往往只能測試出學生的記憶力,而不能讓學生展示出他們學會了什么。對于軟件工程的學習來說,重要的是理解而不是記憶,對內容的理解所體現的認知能力比對內容的記憶所體現的記憶能力重要得多。軟件工程以培養學生的軟件開發能力為核心,要求學生具備解決復雜工程問題的能力、創造性思維的能力、分析和綜合信息的能力、策劃和組織能力等[7]。
OBE強調以下4個問題:(1)我們想讓學生取得的學習成果是什么?(2)我們為什么要讓學生取得這樣的學習成果?(3)我們如何有效地幫助學生取得這些學習成果?(4)我們如何知道學生已經取得了這些學習成果?針對傳統軟件工程課程評價方法的局限性,基于成果導向教育的培養目標,對軟件工程課程評價的研究主要從3個方面展開,具體為課程評價內容、課程評價手段和課程評價標準。
OBE強調教學設計和教學實施的目標是學生通過教育過程所取得的學習成果,即學生通過教育過程最后所能達到的最大能力。因此,OBE導向的軟件工程課程評價方法,要以專業人才培養方案和培養目標為依據,按照學生畢業要求,結合軟件工程課程的教學目標,研究能夠體現學生學習成果的評價內容。
首先,以安徽大學軟件工程專業工程教育專業認證背景下人才培養方案和培養目標為依據,按照學生畢業要求,根據軟件工程課程支撐的畢業要求指標點,制定4個課程教學目標。
課程目標1:理解軟件工程概論基本理論和方法,了解相關技術標準,掌握軟件過程模型,用于解決復雜軟件工程問題。
課程目標2:熟悉軟件分析的方法和技術,使學生具備軟件工程的分析能力。
課程目標3:熟悉軟件設計、實現、測試的方法和技術,使學生具備軟件工程的設計和實現能力。
課程目標4:熟悉軟件維護以及過程管理的方法和技術,使學生具備計算機工程及產品的工程管理與經濟決策能力。
畢業要求指標點、課程目標和教學內容之間的對應關系如表1所示。

表1 畢業要求指標點、課程目標和教學內容之間的對應關系
其次,根據軟件工程課程對畢業要求指標點的支撐,結合課程的教學目標,細化OBE導向的軟件工程課程評價內容,包括7個方面的學習成果:(1)學生系統掌握軟件工程的概念、原理、技術、方法、工具和過程;(2)學生具備對軟件進行問題定義、可行性研究、需求分析的問題分析能力;(3)學生具備對軟件進行總體設計和詳細設計的軟件設計能力;(4)學生具備對軟件進行編碼和測試的實現能力;(5)學生具備撰寫規范的軟件開發和維護文檔的能力;(6)學生具有良好的團隊協作和溝通能力;(7)學生在對軟件進行分析、設計和實現的過程中,具備軟件項目管理能力。
針對OBE導向的軟件工程課程評價內容,為了有效地對學生的學習成果,即其獲得的各種能力進行評價,單純基于傳統的作業、課堂測驗、期中考試、期末考試很難達到預期效果。因此,以能讓學生充分展示其學習成果為前提,研究新的課程評價手段,使其能夠更好地反映出學生的學習成果。
首先,課程考核方式涵蓋課后作業、大作業、期中考試、期末考試等。課程總成績由課后作業、大作業、期中考試和期末考試成績等組合而成,其中各部分所占比例及其與課程目標對應關系如表2所示。

表2 傳統考核形式的評價手段
其次,在傳統考核形式的基礎上,增加更豐富多樣的考核形式,制定更具有挑戰性的任務。主要有:開展案例研究、完成項目策劃,或者以團隊的形式完成某些比較復雜的開發任務。這樣的任務能讓學生展示創造性思維的能力、分析和綜合信息的能力、策劃和組織能力、團隊協作和溝通能力等。
最后,傳統的考核形式學生展示成果的方式比較單一,多為書寫的紙質材料。為了能讓學生充分展示其學習成果,對應于不同的考核形式,應提供更能體現能力培養的展示形式,讓學生有機會證明自己所學。例如:對于開展案例研究的結果,用口頭匯報的形式展示;對于項目策劃的結果,用小組討論的形式展示,小組之間還可以進行互評;以團隊形式完成的某些比較復雜的開發任務,以小組為單位進行答辯展示。
傳統軟件工程教學重視競爭學習,強調比較性評價,對所有學生采用共同的、單一的評價標準,在學生之間區別出優、良、中、差等不同等級。通過評分將學生區分開或標簽化,將教師與學生、學生與學生置于一種競爭環境中,不利于建立和諧互動的關系。OBE聚焦學習成果,注重合作式學習,強調個性化評定。因此,基于OBE導向的軟件工程課程評價內容和課程評價手段,遵循達成性評價、個性化評價、多元化評價的原則,研究OBE導向的軟件工程課程評價標準。
首先,制定達成性評價標準。OBE強調自我比較,而不是學生之間的比較。強調是否已經達到了自我參照標準,其評價結果用“符合/不符合”“達成/未達成”“通過/未通過”等表示。
其次,制定個性化評價標準。OBE強調自我比較,采用學生各自的參照標準,而不是所有學生的共同標準。因此,教師要根據每個學生的個體差異,制定個性化的評定標準和等級,并適時進行針對性評價,從而準確掌握學生的學習狀態,及時修正。
最后,制定多元化評價標準。OBE的教學評價聚焦在學習成果上,而不是在教學內容以及學習時間、學習方式上。因此,教師應該針對不同的考核形式和不同的考核結果展示形式,制定多元化評價標準,強調達成學習成果的內涵和個人的學習進步。
本文針對傳統軟件工程課程評價方法的局限性,研究OBE導向的軟件工程課程評價方法,符合工程教育專業認證背景下的新需求和人才培養目標。OBE導向的軟件工程課程評價方法,按照反向設計的原則,基于學習成果制定課程評價內容、課程評價手段、課程評價標準,利用成果反饋來改進原有的課程設計與課程教學。在工程教育專業認證背景下,OBE導向的軟件工程課程評價方法的研究成果,可以為其他學科進行工程化教學質量評價提供理論與實踐指導,具有重要的推廣價值。