前言:尋找寫作靈感?中文期刊網用心挑選的軟件工程課程教學思考,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:
針對《工程教育認證標準》中對“畢業要求”提出的要求,結合軟件工程課程的教學內容,對軟件工程課程的教學進行思考和探討,分析認證標準要求與課程內容之間的對應關系以及標準中蘊含的意義,提出教學改進措施,以期更好地培養出符合《工程教育認證標準》的軟件工程人才。
關鍵詞:
工程教育認證;標準;華盛頓協議;軟件工程;畢業要求
0引言
2016年6月2日在吉隆坡召開的國際聯盟工程大會上,經過《華盛頓協議》組織的投票表決,我國正式成為《華盛頓協議》簽約國。這是我國高等教育發展史上具有里程碑意義的一件大事,意味著我國工程教育實現國際多邊互認,教育質量得到國際上的認可[1]。國內高校順應形勢,積極參與工程教育專業的認證工作。湖北工業大學機械設計制造及其自動化專業2016年順利通過工程教育專業認證,這為我校其他工程專業申請認證提供重要參考和指導。在中國工程教育認證協會修訂的《工程教育認證標準》中,對“畢業要求”提出12條要求[2]。針對這12條要求,結合軟件工程課程教學內容,對軟件工程課程的教學進行思考和探索,深刻理解標準的含義和意義,能更好地培養出符合《工程教育認證標準》的軟件工程人才。
1工程教育認證標準
為了與《華盛頓協議》的標準實現實質等效,結合我國工程教育的事實與特點,中國工程教育認證協會修訂了《工程教育認證標準》,對工程專業的學生、培養目標、畢業要求、持續改進、課程體系、師資隊伍、支持條件7個方面規定了標準和要求[3]。其中,在畢業要求中,對工程知識、問題分析等12個方面提出了具體要求,符合工程教育認證以產出為導向的理念。
2軟件工程課程教學內容
軟件工程這一學科的產生源于軟件危機。軟件固有的成本高、邏輯復雜、風險大、維護困難等特點以及人們對軟件的錯誤認識導致軟件危機的產生。人們逐漸認識到必須使用規范的、工程化的方法開發軟件,因此,軟件工程應運而生。軟件工程是應用了工程化思想的計算機領域的一門交叉學科,軟件工程課程是軟件工程專業學生必修的核心課程,其教學內容圍繞軟件生命周期的各個環節[4],講授一個軟件項目從立項到維護各個階段的基本概念、相關技術、開發操作等。這門課程在整個本科4年的課程體系中起承上啟下的作用,需要數據結構、數據庫、面向對象語言與程序設計等前期課程知識的鋪墊,不僅對后續軟件需求工程、軟件測試、軟件項目管理、軟件工程經濟學等專業課程的學習有重要影響,還為學生以后的畢業實習、畢業設計和走上工作崗位所必需的工程實踐能力奠定基礎。
3認證標準的思考與探索
3.1認證標準要求與課程內容的對應關系
《工程教育認證標準》中明確指出工程專業學生畢業時必須達到12條要求,而軟件工程課程大綱里面列出了學生學習這門課程應該掌握的所有知識和內容。通過對比,我們發現《工程教育認證標準》中的12條畢業要求與軟件工程課程的章節內容有一定的對應關系,如圖1所示。
3.2認證標準要求與課程內容對應關系的說明
R1工程知識:要求學生能夠將數學、自然科學、工程基礎和專業知識用于解決復雜工程問題。在軟件工程的經濟可行性分析中,需要用到數學和經濟學的知識,以估算軟件項目的成本、收益、投資回收期、投資回收率等指標,判斷項目在經濟上是否可行。在需求分析、軟件概要設計、詳細設計、軟件開發等階段,需要用到數據結構、數據庫、算法、面向對象語言等各種數學、計算機專業知識,如圖2所示。R2問題分析:要求能夠應用數學、自然科學和工程科學的基本原理,識別、表達并通過文獻研究分析復雜工程問題,以獲得有效結論。在軟件需求分析中,需要根據用戶提出的軟件需求,建立結構化或面向對象的需求模型。R3設計/開發解決方案:軟件概要設計將軟件系統設計為若干模塊相互連接的關系;軟件詳細設計是為每一個模塊設計詳細的算法、數據結構等;軟件開發將軟件詳細設計的結構轉換為可運行的代碼。R4研究:軟件交付給用戶使用之后,還需要一直對軟件進行維護。維護過程中,為了分析研究軟件工作的效率,需要對軟件運行中的各種指標進行統計分析,計算出軟件的可靠性、失效率等,為軟件的改進提供數據支持。R5使用現代工具:在軟件工具這一章節,介紹為了提高軟件生產率和改進軟件質量,輔助和支持軟件開發和維護的各種工具,包括計劃工具、分析工具、設計工具、測試工具等。學生應能了解多種工具以及它們之間的差異,熟悉和掌握某些常用工具,會根據具體情況選擇合適的工具。R6工程與社會和R7環境與可持續發展:在軟件立項之前,需要從各方面進行可行性分析,為項目是否能立項提供決策支撐。除了技術可行性和成本效益之外,政策可行性和市場可行性也是影響軟件能否立項的重要因素。政策可行性考慮是否有政府的政策支持或限制該軟件項目,軟件項目是否危害健康、觸犯法律、影響環境和社會的可持續發展等。市場可行性分析調查市場上同類產品的市場份額、市場成熟程度等。這些內容的學習能讓學生有強烈的社會責任感,教育他們無論是軟件開發員,還是項目的管理者,在軟件立項之前,就應該預想軟件項目對社會、健康、安全、法律以及文化的影響。R8職業規范、R9個人和團隊、R10溝通和R12終身學習:在軟件工程師道德規范這一章節中,ACM/IEEE給出軟件工程師應該具備的職業道德準則,包括公眾感、客戶與雇主、產品、判斷力、管理、專業、同事和自己;除此之外,還給出軟件工程師的職業素質,包括團隊合作能力、人際交往能力等[5]。這些內容與R8—R10和R12完全吻合。R11項目管理:無論是在軟件項目立項時,還是在軟件開發過程中,都需要對軟件項目進行管理。在立項階段需要立項管理,通過規范化的流程,判斷并采納符合企業根本目標的立項建議,提供合適的資金和資源,使立項建議成為正式的項目;或者拒絕不能給企業帶來利益的立項建議,避免浪費人力資源、資金和時間。立項管理包括立項建議、立項評審和項目籌備。需求分析階段需要進行需求管理,管理產品和產品構件的需求,識別需求與項目計劃及工作產品的不一致,包括變更控制、版本控制、需求跟蹤和需求狀態跟蹤。在軟件概要設計、詳細設計、開發階段,同樣需要隨時跟進項目的進度,在每一階段結束后召開評審會議,檢查每一階段的成果是否與相應文檔相符合。
3.3教學改進措施
發現《工程專業認證標準》要求與軟件工程課程內容之間的對應關系,能夠幫助我們深刻理解認證標準蘊含的含義和意義。在軟件工程課程的理論教學內容和實踐環節中,著重強調與認證標準要求對應的教學內容,可以為學生日后從事不同工作和扮演不同角色做好準備。(1)研究者。加深學生對理論知識的理解,幫助學生達到對理論知識舉一反三的水平,能將其他學科的理論應用到軟件項目研究中。(2)開發者。提高學生的動手實踐能力,強調上機、課程設計等實踐環節的重要性,幫助學生在實踐中掌握多種軟件工具,能獨立地分析和解決問題。(3)管理者。項目的管理對一個軟件項目能否順利完成起著舉足輕重的作用。在教學中,平時容易被忽視的軟件項目管理章節也應該被重視起來,為將學生培養為優秀的項目管理人員打下良好的基礎。(4)無論是研究者、開發者,還是管理者,都應該遵循最基本的軟件工程師道德規范,對社會和環境有強烈的責任感和主人翁意識。這需要我們教育工作者在對學生進行智育的同時,也不要忘了對學生的德育。
4結語
申請工程專業教育認證是高校教育工作者反思工作中的不足,進一步提高教學質量的契機。挖掘《工程教育認證標準》中畢業要求與軟件工程課程教學內容的對應關系,為未來的教學工作提出一系列改進措施,為軟件工程專業的工程認證提前做好準備,也為軟件工程教學質量的提高提供理論支持。
參考文獻:
[1]林健.如何理解和解決復雜工程問題:基于《華盛頓協議》的界定和要求[J].高等工程教育研究,2016(5):17-26.
[2]劉成林.工程教育認證背景下現代控制理論課程教學分析與改革[J].中國教育技術裝備,2016(18):106-108.
[3]呂品,王淮亭,汪鑫.“對標國外大學,深度融合認證”的軟件工程專業人才培養方案[J].計算機教育,2017(1):38-43.
[4]鄧娜,陳旭.應用瀑布模型的MOOC制作方法[J].計算機教育,2016(7):89-91.
[5]薛繼偉.軟件工程導論[M].哈爾濱:哈爾濱工業大學出版社,2011:19.
作者:鄧娜 陳旭 王春枝 單位:湖北工業大學 中南財經政法大學