?

面向工程化的軟件開發人才培養體系研究與實踐

2017-03-10 00:50孫琦龍
微型電腦應用 2017年5期
關鍵詞:工程化軟件能力

孫琦龍

(青海民族大學 計算機學院,西寧 810007)

面向工程化的軟件開發人才培養體系研究與實踐

孫琦龍

(青海民族大學 計算機學院,西寧 810007)

以工程化思想作為主線,從培養目標、內容、模式、保障措施出發,構建軟件開發人才的培養體系、實踐教學方法,結合自身特點,發揮老師的主導作用和學生的主體作用,充分調動學生的創新思維、團隊合作精神,進一步提高學生工程化實施和項目管理的能力。通過軟件開發人才培養體系的研究與實踐,培養出有一定專業理論知識、具有較強的實踐能力和職業素質全面發展的軟件工程人才。

工程化; 軟件; 實踐

0 引言

在中國,國內市場對軟件人才的需求每年高達80萬人,而高校計算機畢業生中的軟件工程人才還很缺乏,尤其是高素質的軟件工程人才的極度短缺。盡快培養起適合信息產業所需要的高素質軟件工程人才,已經成為信息化工作中的重中之重[1]。這也是我們在培養軟件工程人才的過程中面臨的主要問題,青海民族大學十分重視軟件人才的培養,在采取多項政策和措施鼓勵教學改革以促進工程型軟件實用人才培養的同時,對軟件工程人才培養目標體系的建立,辦學模式、培養方法、質量保證和考核等方面進行了努力的工作和積極探索,并取得了一些經驗。相關研究成果和業界反饋表明,優秀的軟件工程人才不僅應具備扎實的理論基礎、豐富的專業知識和較強的創新能力,還需受到良好的工程訓練和職業素質熏陶。目前,盡管計算機科學與技術專業學生在基礎理論知識和動手能力的培養上積累了一定的經驗,但是對于其工程化實施能力和職業化素質的培養卻普遍沒有給予足夠重視。本項目是我們在結合青海民族大學實際情況的基礎上,認真分析了軟件工程人才培養規律,并提出“依托地方,服務西部,面向全國”的辦學定位,其目標就是建立一個以工程化為主線的軟件開發人才綜合實踐教學體系,培養新型的復合型工程化軟件開發人才,使學生的專業基礎知識、工程實施能力、項目管理能力、職業素養、創新能力等方面都得到均衡的發展。

2 面向工程化的軟件開發人才培養體系

2.1 面向工程化的軟件開發人才培養目標

要培養既掌握軟件開發技術,又懂得如何實施一個軟件項目并對之進行管理的復合型人才,這要求我們對學生的培養目標重新定位。培養目標應該以社會需求為導向,把工程化教學和職業素質培養作為軟件開發人才培養的核心任務,使培養的學生能在行業中發揮作用。面向工程化的軟件開發人才培養體系不但要求學生學習軟件開發的基本原理、概念和技術方法,還要在自覺遵循軟件工程方法論中的規范和工業領域中行業標準的基礎上,培養他們軟件項目管理的能力、從事工程實踐的素養、創新能力和團隊合作精神。

2.2 面向工程化的軟件開發人才培養內容與方法

一些院校在講授與軟件開發相關的課程時,由于自身從事軟件項目開發經驗的欠缺或學時限制而忽視實踐,形成了不涉及具體軟件項目而只重視理論的現象。盡管有些院校目前采用案例教學方法,但教師在實際授課過程中仍以自己的思路為主導,帶領學生進行知識的學習,而忽視在以案例為背景進行知識講授的同時將軟件項目開發過程的各個環節連貫起來,學生缺少積極主動課堂參與和獨立思考的能力,更不用說完成一個軟件項目的全過程。因此,在教學上不僅要注重基本原理、方法和技術,更應該強調軟件項目管理的重要性和必要性,特別應該把軟件過程管理的內容納入到常規教學內容中,并輔以必要的課堂答辯討論和實踐環節,使得學生能夠對軟件項目實施的各方面內容進行綜合理解和應用。面向工程化的軟件開發人才培養體系培養學生能勝任研究、分析、開發、設計與測試等多種角色,使學生熟練掌握軟件工程知識與技能,具備作為軟件工程師從事工程實施所需的專業能力。

2.3 面向工程化的軟件開發人才培養模式

面向工程化的軟件開發人才培養體系強調在軟件工程的指導下,以數據庫為主線進行工程化課程群組建設,在課程群組建設的基礎上引入案例教學和工程化實踐訓練,具體工作分三個階段進行,即知識傳授+案例討論+工程化實踐的模式。第一階段是理論知識講授。這一階段以理論知識傳授為主,教師系統地講授工程化課程群組建設的知識體系,精講系統原理和方法并突出重點和難點,為后續階段的學習作好準備。第二階段是案例討論。讓有豐富經驗的教師及軟件開發公司的資深軟件工程師和管理者來編寫案例,通過對一些精選案例的分析學習,從中引出與理論知識點相關的問題,培養學生的思維能力、分析能力、判斷能力及用所學知識處理問題的能力。要求學生真正從工程師的角度來考慮問題,引導學生進行深入討論以便發現問題、尋找可能正確地處理和解決問題的具體方法。第三階段是實踐訓練。以小組為單位完成一個項目,一個小組可由幾人組成,按軟件工程項目開發的組成和管理要求,為小組的每一位成員分配角色, 分別進行項目計劃的制定、需求分析、總體設計、詳細設計、編碼實現及測試等各環節的任務。同時也引進企業項目管理模式,對學習過程進行監控和管理,學生是主體,但教師起主導作用,及時發現問題、解決問題、對任務進行總結和評比。在項目中掌握職業能力,達到大綱所要求的能力,包括基礎知識、個人能力、團隊能力和工程系統能力[2]。在實踐過程中,對上述環節的任務完成都以答辯作為考核的方法。按照軟件工程的要求,項目計劃、需求分析、總體設計、詳細設計文檔的書寫是一個重要環節,通過對先期文檔規范格式的講解和對一些精選案例的學習參考,由學生完成每一個環節的文檔資料,而每一個環節在答辯的過程中只有獲得通過后才能進入下一個環節開始工作。

2.4 面向工程化的軟件開發人才培養保障措施

2.4.1 建立新的評價體系。將工程能力和職業素質引入人才培養評價體系,將企業反饋和實習生/畢業生反映作為重要依據對專業教學計劃、教學內容、教學方法進行調整,為進一步提高教學質量打下堅實的基礎,最終使學生能夠更好地適應業界的需要。

2.4.2 以工程化理念指導教學實驗室建設。通過建設與業界同步的工程化綜合實驗環境及實習基地,為實踐教學提供強有力的基礎設施支持。

2.4.3 制定有關規定和教學文件,如:教學規章制度、人才培養方案、課程教學大綱、實驗教學大綱、學期教學進程計劃、課程表、學期教學工作計劃和工作總結等齊全。教學實踐和管理活動中形成了完備的教學檔案,包括教學文件檔案、教務工作檔案、教師業務檔案、學生學習檔案。健全的必要文件和制度均體現了現代教育思想,并積極采用現代管理技術好。

3 面向工程化的軟件開發人才培養體系實施過程

確立工程能力培養與基礎理論教學并重的教學理念,通過全面改革人才培養模式、調整課程體系、充實教學內容、改進教學方法,建立軟件開發人才的工程化實踐教學體系。

3.1 設計課程結構,完善課程的系統性

以面向工程化的軟件開發人才培養目標為基準設計課程的構成。課程在課程群組中的地位、課程的組成部分、課程的特色應完全體現新思想、新技術,既有助于開拓學生的視野又可以培養學生的創新意識與開發能力??傮w上既符合實際的教學情況,又能夠緊跟軟件開發市場的前端需求。課程結構分基礎理論和工程實踐訓練兩部分構成,基礎理論有程序設計語言、數據結構、數據庫原理及應用、操作系統等課程構成,工程實踐訓練有軟件工程、軟件項目管理、軟件過程管理、軟件測試與發布、統一建模語言、網絡綜合應用等課程構成。

3.2 改革教學方法與手段

改變常規“理論+驗證性實驗”的模式,在以工程實踐的運作模式組織教學的過程引入案例教學,學生需要與模擬客戶(即任課教師或其助教)進行正式的溝通與討論以發現問題。在授課過程中,教師通過精選案例來講解軟件生存周期,可行性研究、需求分析、總體設計、詳細設計、編碼、測試和維護等階段的任務,講授與討論相結合, 積極引導學生參與討論,讓學生在課堂上能感覺到學習的成就感,以激發學生的學習動力和興趣,使學生感覺到工程化軟件開發、項目化管理的實用性所在,從而提高培養質量。

3.3 培養工程化思維能力

在開始實施項目前,向學生展示往屆學生的成果,激發學生的學習興趣,使他們認識到自己的潛能。教師除了教授學生學習軟件工程領域專業知識的同時,更加注重對實際應用能力的培養,培養學生的創新精神和團隊合作意識,使學生積極主動地參與其中,而不是被動地接受課堂教學,然后由學生根據教師傳授的知識和技能進行項目的實踐。與此同時教師一定要向學生明確任何項目沒有標準答案,只有預定的目標和指標,而工程就是去實現這個目標和指標,它需要創新,沒有工程思維,就很難進行創新。

3.4 在學生的成績考核方法中引入答辯機制

對于以工程化實施項目的過程除軟件編碼外,其它環節都采用答辯方式來評判學生的任務完成情況。首先,確定答辯小組成員,以7-9人作為一個答辯小組,成員有教師、工程師、學生組成,其中學生成員既是答辯評委又是答辯者,一個班級可以分5-6個小組進行答辯。其次,由學生將自己在前一段時間所做項目的可行性研究、系統分析、總體設計、詳細設計做完整的介紹。之后,答辯小組成員根據介紹內容和文檔資料進行問題的提出,每一個小組的學生評委必須至少提1-2個問題,然后在答辯者和老師、工程師之間展開問題的討論,討論的目的是發現問題,并提出問題的解決方法。在討論的過程中老師注意激發學生的熱情和興趣,并詳細記載每一個答辯學生的設計方案中發現的問題,答辯后學生針對發現的問題修改設計方案并提交給老師,然后才能進行代碼編寫的工作。成績考核中同時引入團隊評分制,不再以個人表現來評定成績,而是以項目團隊的整體表現成為評定成績的唯一依據,以促使學生自發地進行合作、分工和交流,深刻體會到團隊協作的重要性。

3.5 項目實施的角色交換

每個小組的設計方案交換使用,各組選擇其他組的階段成果作為下階段工作的基礎,以模擬實際項目中的代碼評審和新成員加入時面臨的情況,培養競爭意識和表達能力,提高團隊合作意識。

3.6 軟件測試與維護階段

學生邀請非小組成員或班級外的學生對軟件做嚴格的測試,以便發現問題。同時教師給出下一步項目需求的更改情況,學生根據實際情況修改設計芳案增加新功能,其目的是模擬真實項目中的需求變更。教師需要設置好實驗環節的內容、形式,實驗課和課程設計時采用商業軟件的開發模式,以實際項目和企業正常運作時人員的分工配合來進行實驗教學,理論指導實踐,實踐強化理論[3]。

3.7 營造良好的工程實踐教學環境

基礎設施建設是實施工程化實踐教學體系的重要保障。課程實驗是根據課程教學的要求,結合工作和社會實際情況,在課程計劃學時內隨該課程教學進程安排的實踐教學環節,旨在加強和提高學生運用所學知識與技能分析問題和解決問題的能力,并為專業實踐、畢業論文(設計)及今后從事專業工作打下基礎[4]。在實驗室建設中,堅持以工程化培養理念為指導,構建與業界同步并在國內領先的工程化綜合應用實驗室環境,同時在國內IT企業中建立實踐基地,采用加拿大和美國Co-operation Education的模式,為學生提供良好的實踐機會,讓學生具體參與企業運作和項目研發,體驗軟件工程的實施過程。即以制造或建造為核心,組織一體化的課程實踐[5]。

3.8 整合資源,改善教學條件

實用的、綜合的軟件開發能力必須通過軟件工程項目的經歷才能真正培養起來[6]。因此,有必要建設一支專家型的教師隊伍,由我校教師和企業工程師承擔面向工程化軟件開發人才培養的任務,通過加快校內和校外實踐教學環境的建設速度,建立模擬的實踐環境,成立與企業聯合的軟件開發協作體,讓學生參與到實際的軟件工程項目開發過程中。最終,培養的人才應用性特征更加明顯,更能適應經濟社會發展的需要[7]。

4 總結

面向工程化的軟件開發人才培養確立了工程能力培養與基礎理論教學并重的創新教學理念,把工程能力和職業素質培養引入到大學教學中,使學生的基礎知識、專業技能、創新能力、工程能力、職業素質、團隊合作精神都得到全面均衡的發展。同時把工程化教學的實施劃分成基礎理論教學階段和工程實踐階段,在教學內容、教學手段和成績考核方法等方面進行了全面改革,加強了對學生軟件工程的實踐能力、文檔寫作能力、溝通能力和團隊協作能力的培養。

以適應市場需要和突出應用型人才的培養為目標,設計軟件開發課程體系的構成,以階段性的方式設置課程教學方法,完善課程的系統性。在項目實施過程、工程化實踐教學體系的保障方面進行了一系列創新性的探索,教師始終圍繞最終目標和階段任務來強化過程管理,使學生了解軟件工程項目從規劃設計到實施的全部流程。

通過本項目的實施,不但加強了師資隊伍建設,同時以青海省教學創新團隊建設為龍頭,提升了教師學歷和職稱結構,“雙師型“教師達60%以上,聘請5位有豐富行業工程經驗的工程師為專業群校外指導教師。高質量編寫國家“十二五”規劃教材1部,編寫有特色的核心課程講義。建設學生創新實驗室和實踐基地,培養學生創新意識,強化學生實踐能力培養和指導。形成專業核心精品課程群并更新了課程體系和教學內容。以工程化思想為主線,修改專業群人才培養方案和培養模式,修訂專業群全部課程教學、實驗、實踐、課程設計大綱。改進教學方式和教學方法。針對課程特點,努力探討適合課程特點的教學方式和教學方法,培養具有工程化思維和具備職業素養的人才。學生普遍反映能夠適應新的教學體系,個人能力得到全面提高。學生的工程規劃能力、分析設計能力、動手實踐能力、團隊合作能力、創新能力都得到了大幅度提高,綜合素質明顯增強。

[1] 王中華,汪文彬. 軟件工程的哲學思考[J].軟件工程師,2015,18(1):58-59.

[2] 蘇紅麗. 校企融合下的CDIO工程教育模式探索與實施[J].軟件工程師,2015,18(2):53-54.

[3] 錢小紅,張玉蓉. 三本院校軟件工程實踐教學的研究與實踐[J].軟件工程師, 2015,18(5):5-6.

[4] 王愛民.軟件工程專業校企合作實踐教學模式研究[J].實驗技術與管理,2012,29(1):143-145.

[5] 吳俊杰.基于卓越工程師培養的軟件工程一體化課程體系設置[J].現代計算機,2012,1:25-27.

[6] 陽王東.以工程項目為主線的軟件工程專業課程設計實踐教學[J].計算機教育,2012,12:90-3.

[7] 李儒壽.應用型本科人才培養模式改革探索——以湖北文理學院“211”人才培養模式為例[J].高等教育研究,2012,29(8):65-70.

Engineering-oriented Software Development System of Personnel Training and Practice

Sun Qilong

(Department of Computer, Qinghai University For Nationalities, Xining 810007, China)

Taking engineering thinking as the main line, from the training objective, contents, modes, protection measures, a software development training system was constructed. The system combined with the characteristics of the university, let teachers and students to play the main role, fully mobilized the students creative thinking, team spirit. These measures further improved capabilities of students in engineering and project management. Through the practice of the training system, the department cultivates students with certain degree of professional knowledge, a strong practical ability and the quality of the overall development.

Engineering; Software; Practice

青海省教研創新團隊(青教高〔2015〕25號)

孫琦龍(1970-),男,碩士,教授,青海民族大學計算機學院,研究方向:數據庫、軟件工程。

1007-757X(2017)05-0018-03

TP311

A

2016.11.28)

猜你喜歡
工程化軟件能力
消防安全四個能力
禪宗軟件
軟件對對碰
大興學習之風 提升履職能力
你的換位思考能力如何
“飛機性能課程設計”課程工程化改革研究
軟件測試工程化模型及應用研究
玻璃纖維增強復合材料工程化應用進展
即時通訊軟件WhatsApp
解譯全景世界,工程化遙感解譯又出新利器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合