丁雪梅,李 璇,倪友聰,杜 欣,曾章瑞
(1. 福建師范大學 數學與信息學院,福建 福州 350108;2. 阿爾斯特大學 計算與工程學院,英國北愛爾蘭 倫敦德里 BT48 7JL;3. 福州學立方教育科技有限公司, 福建 福州 350028)
軟件工程(Software Engineering, SE)是工程學以一種系統的方法在軟件開發中的應用,涉及科技知識、方法、經驗的應用,對軟件進行設計、實現、測試及形成文檔,同時使用工程學原理以最經濟方式獲取可靠的、有效的軟件產品[1-2]。軟件工程項目研究方法與項目管理是軟件工程領域必不可少的技能,因軟件產業的國際化發展特性,研究適應全球的軟件項目管理方法是軟件工程專業教育改革的一項重要課題。
筆者在20多年的高校教學經歷中發現,軟件工程專業甚至其他理工科專業的本科生乃至碩士研究生對項目管理尤其是項目研究方法缺乏系統化專業知識的學習和理解,學生研讀中外文獻的能力較弱,導致很難撰寫出高質量的課程設計/畢業設計文檔,尤其是碩士研究生撰寫英文學術文章的能力普遍較低。因此筆者提出國際化軟件工程項目管理(International Software Engineering Project Management, I-SEPM)人才培養模式框架,見圖1。該項目以數學與信息(原軟件)學院國際合作/校企合作辦學及國際化師資隊伍建設為基石,重點實施軟件工程項目研究方法與項目管理的課程資源規劃及建設。
應以國際化軟件工程項目管理能力為培養目標,結合“理論與實作”以及“學校與產業”模式,建立以提升工程素質為根本、以培養軟件工程項目管理能力為核心的一體化課程體系:①面向本科生開設完整的項目管理實踐課程,在講授和培訓相關學科理論的基礎上,與企業合作開展實用的項目開發管理實踐;②學院注重國際化、工程型和應用型相結合的人才培養模式,參考國外著名高校的項目管理課程設置情況,配套開設相關的雙語教學專業基礎課程,比如計算機概論課程,注重培養學生在項目管理方面的專業英語研讀與寫作能力,使學生與國際化軟件產業要求接軌[3-5];③面向本科生與研究生,開設研究方法與項目管理課程,且作為學位必修課,使學生掌握國際前沿的科研方法和開發技能,具備獨立開展研究和項目開發管理的能力;④選取國外高等院校計算與信息科學類優秀原版教材,選定軟件工程研究方法與項目管理參考書目,借鑒國外優秀課程電子資源,根據原版教材的特點和編寫風格適當調整教學大綱和進度,使課程設置合理化、科學化。

圖1 國際化軟件工程項目管理I-SEPM人才培養模式
該課程的目標是使學生學會軟件工程領域與執行一個項目相關的全部技能。通過該課程,學生將學到研究方法、項目準備、項目管理、項目成果提交等多方面的知識,同時也要求學生從設計一個理想的項目模式到如何實現并評價該項目做出周全的全過程考慮。
通過開設該課程,學生預期在知識的獲取中了解項目開發的關鍵原理和概念,從一個理想中的概念模型到軟件原型的實現,再到軟件評價的整體研究過程中進行知識理解;領會各種研究方法學的差異,并能從中選擇合適的、特定的研究策略和原型設計方法;在人文素質上,學會在軟件工程領域恰當地表達一個研究問題,綜合考量需求規格、原型設計和項目研究的方法,提供一個適合的項目規劃;進而選擇一個技術方案,以便解決與被定義問題相關的各種困難和挑戰;最后采用適當的方法評估研究成果,從而促進學生智商與情商的綜合提高;在專業和實踐技能上,尋找恰當的表達方式來定義一個研究問題,對擬提出的研究框架給出相關約束限制因素;明確如何才能規劃詳細的需求規格說明書,并有能力展示整個項目的研發和管理過程,包括軟件設計、實現、維護與測試;在軟件工程項目研發成果轉讓上,具備敏銳的洞察力,以便選擇一個具有挑戰性、實用性的研究項目;然后以簡明扼要的方式給出可行的設計方案,嚴格地評價來源于眾多資源中的信息;最后以書面或口頭形式正式地展示自己的研究工作,具有產品轉化潛能的軟件項目才是有研發意義的。
該課程理論教學部分包括以下教學內容:科學研究簡介、知識的來源、研究方法學、項目管理、科研成果發布及科研倫理學。實驗教學涵蓋如何發現科研信息以及申請科研實驗數據、研讀科學研究論文、完成文獻綜述、使用恰當的文獻索引軟件、項目規劃等。
首先為適應軟件工程國際化需求,對教學方法的改進由過去的中文教學,轉為雙語教學,并向英文教學循序漸進地過渡;除多媒體教學外,采用多樣的教學手段,如分組討論法、案例分析法、課上與課下項目匯報等;建立基于數字化課程網絡平臺的教學資源,包括教材、教案、課件、習題與作業、試卷全部采用英語形式,教學大綱、實驗大綱、實驗任務書及相關教學輔助資源全部網絡共享;從傳統的按章節講解改革為以項目模塊分組,項目研發階梯式進度匯報及項目整合的循環教學模式[6]。
教學中,項目組成員結合各自科研方向以及參與或指導項目研發與項目管理的經驗,從產學研合作項目中提煉教學案例,支持I-SEPM特色課程的實踐教學。
教改創新團隊在保障CDIO(Conceive、Design、Implement、Operate)組織實施的同時,加強項目管理的軟件工程人才培養新模式。例如圖2基于X/Y/Z計劃項目研發的PMO-CDIO(Project Management Off i ce - CDIO)創新模式[6]。PMO-CDIO能夠培養學生的團隊協作和項目管理能力,包括小型系統、中型系統和大型系統的開發管理以及自創需求開發,延伸自創系統的指定開發以及賦予產學合作項目的開發等。其中學生自創性的需求,經X/Y/Z的計劃都有成熟的表現。在指定特殊需求的委托開發以及產學合作需求系統開發項目中,可以依需求的范疇達成可運用的產品水平。目前已成功研發學立方在線教育服務管理平臺、學立方視頻學習管理系統、高教學生事務平臺等大型項目。

圖2 PMO-CDIO人才培養創新模式
實踐教學是I-SEPM特色課程教學的重要內容,而軟件設計實踐教學一直被認為是軟件工程專業教學難點中的難點。由于缺乏與軟件設計相關的教學資源,學生往往難以在有限教學課時內理解模塊化、信息隱蔽、功能獨立等抽象概念,難以把握高內聚、低耦合等設計原則,更難掌握已有的軟件體系結構風格、設計模式和軟件框架等與工程實踐密切相關的設計知識。為了支撐I-SEPM特色課程體系中軟件設計的實踐教學,項目組開發的軟件框架AF4Java不僅可以幫助學生更好地理解軟件體系結構風格、設計模型、軟件框架等知識,而且還能使學生利用它提供的可重用構件高效地進行Java Web應用軟件的設計。
AF4Java框架被分為用戶界面層(UI layer)、領域層(Domain layer)和數據訪問層(Data Access layer)3層,見圖3。用戶界面層實現圖形用戶接口GUI,提供用戶與應用程序之間的交互。領域層封裝業務邏輯和業務實體,并向UI層提供業務功能接口。數據訪問層則封裝了對數據庫的訪問功能,為領域層提供數據訪問接口。軟件框架AF4Java為學生提供了一種直觀的、有效的軟件設計的教學資源庫。AF4Java軟件工程實踐教學過程分為初始、計劃、實施、評審4個階段。I-SEPM特色課程體系中軟件設計的教學實踐證明,基于AF4Java框架的軟件設計實踐教學過程,幫助了學生理解軟件設計的抽象概念,同時也使學生能更好地進行軟件設計實踐,進而改善軟件工程實踐教學的效果。

圖3 軟件框架AF4Java示意圖
福建師范大學數學與信息(原軟件)學院秉承國際化辦學理念,通過實行國際合作、閩臺合作、校企合作和產學研結合模式開放辦學。學院與臺灣兩所大學開展閩臺合作辦學,學生在臺學習期間,適應英文(雙語)授課,進一步提高國際化軟件工程項目研發能力;另外,在與英國阿爾斯特大學、赫瑞·瓦特大學和阿伯斯特威斯大學建立聯合培養本科與碩士的國際合作辦學模式的基礎上,進一步與更多的國外高校建立合作關系,實現國際化人才培養。也可推薦學生攻讀國外高水平大學的項目管理專業碩士、博士學位。
學院積極開展國際合作多模式聯合培養辦學,2004年與英國阿爾斯特大學(Ulster University)計算與工程學院合作,實行“3+1”雙校本科文憑模式,現階段正在擴展到聯合培養碩士研究生合作模式。2010年與英國赫瑞瓦特大學(University of Heriot-Watt)數學與計算機科學學院合作,實行“2+2”“3+1”雙校本科文憑模式。2011年與英國亞伯大學(Aberystwyth University)計算機科學系合作,實行“3+2”“3.5+1.5”“4+1”本校本科文憑和對方校碩士文憑模式。基于以上國際合作聯合培養項目,迄今已有100多位學生成功地在國外合作大學交換留學,包括優秀碩士研究生在Ulster大學短期訪學、優秀“3+1”項目本科生獲獎學金直接攻讀Bath大學博士學位、優秀碩士研究生獲Bristol大學全額獎學金攻讀博士學位等。
自2012年福建師范大學與臺灣“中央”大學、臺灣師范大學、臺灣財團法人資訊工業策進會實行“2+1+1”模式合作辦學,即第一、二學年學生在本校學習,第三學年在臺灣高校學習,第四學年到臺資企業或學校外包基地實習,以獲取本校本科學歷及學位。
為推進校企之間的資源共享和優勢互補,培養學生工程素質、實踐能力與個性化發展,學院積極拓寬校企聯合辦學模式,長期與新大陸科技集團、福建網龍計算機網絡信息技術、福建富士通信息軟件、福建榕基軟件開發、福建萬城數碼科技、福建天晴數碼、福州宏博科技公司等10多家大型知名企業在人才培養和實踐基地建設上建立合作關系,與迦博數碼科技(廈門)有限公司等企業共建“福建師范大學軟件外包服務與人才培養基地”。建設于校內的軟件外包服務與人才培養基地吸收大學四年級學生或應屆畢業生,特別是閩臺高校聯合培養人才項目學生,到基地進行培訓實習。近3年,基地共實習培訓超過200人,經軟件外包服務與人才培養基地這一平臺的訓練,學生的實踐能力和綜合素質不斷強化,既提高就業率又提升就業質量。
項目在培養國際化軟件人才的同時,課題組成員得到了不斷提升,所有成員均具有博士研究生學位,并且仍通過進修、訪學、引進等多種途徑進行師資隊伍科研素質再提升,學習最新產業化I-SEPM技能,進一步提高雙語教學能力,引入國際化教學理念和方法。項目在研期間,課題組成員先后赴英國Ulster大學、香港大學、英國UCL大學、英國Birmingham大學從事博士后科研項目研究、訪問學者科研交流等工作,他們已經對國際化軟件工程項目研究方法進行深入的研究,同時也積累了豐富的科研經驗。這支團隊完全能夠勝任國際化軟件人才培養的教學重任。
任何軟件項目的成功研發都離不開團隊合作,本項目團隊不僅具有超強的團隊協作意識和凝聚力,同時也注重積極與其他團隊成員合作,共同探索教學改革創新研究以及項目驅動式軟件人才培養新方案[7-8]。
在提出國際化軟件工程項目管理人才培養模式框架的同時,應著重建設研究方法與項目管理課程教學改革新模式和創新教學方法。整個項目以國際合作辦學和國際化師資隊伍培養為基礎,涵蓋課程體系規劃、教學資源建設、項目驅動式教學模式改革。現階段已全部完成項目建設任務。通過面向高年級本科生開設軟件工程項目驅動式課程及面向低年級碩士研究生開設研究方法與項目管理課程,該項目已獲得了滿意的成果,學生科研能力大幅度提高,并且掌握了使用國際化通用的軟件工具協助熱點項目的研發,同時教學改革成果已整理發表。后續工作會將已建設的全部教學資源在學校數字化教學平臺上實現共享。
參考文獻:
[1]Bauer F. Software Engineering[J]. Information Processing, 1972(71): 530-538.
[2]Bourque P. Guide to the Software Engineering Body of Knowledge [J]. IEEE Computer Society, 2016: v-xv.
[3]張宇晴, 丁雪梅. 基于國際合作與交流的雙語教學[J]. 計算機教育, 2015(5): 37-39.
[4]丁雪梅, 李英梅, 倫立軍. 軟件工程專業雙語教學模式研究與實踐[J]. 計算機教育, 2008(2): 37-40.
[5]丁雪梅. 基于數字化課程網絡平臺的軟件工程專業雙語教學模式研究[J]. 計算機教育, 2008(22): 149-151.
[6]姚志強, 曾章瑞, 鄭小建. PMO-CDIO工程教育與人才培養模式改革[J]. 計算機教育, 2017(1): 53-58.
[7]王慧冰, 姚志強, 林銘偉. 基于創新創業能力培養的軟件工程課程建設研究[J]. 福建電腦, 2016(12): 1-3.
[8]任君, 林銘偉, 姚志強. 基于CDIO的項目驅動式軟件人才培養體系研究[J]. 福建電腦,2017(1): 1-3.