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