前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件工程實訓報告范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
按企業的標準和流程來實現高校軟件工程實訓課程的目標,讓企業的要求、企業的模式、企業的技術走進軟件工程實訓課堂。在企業實際的需求和項目開發模式基礎上,使學生建立軟件工程意識、提高軟件工程素質、增強軟件項目實踐能力、培養創新精神和創新能力,促進教師團隊和學生團隊的合作精神,以培養能適應社會和企業需要的IT技術人才為目標,引導課程體系的構建和教學組織模式及教學方法的改革,為軟件專業人才培養計劃的制定提供充足的理論與實踐依據。
在企業化實施的過程中要充分體現企業實踐的特色,實訓指導老師要在軟件企業開展調研,了解企業對軟件工程人才專業技能和管理技能的要求;了解企業不同項目開發的平臺;了解企業項目團隊的組織結構;收集企業允許公開的組織過程資產。在調研的基礎上,制訂軟件工程實訓的課程大綱、課程章程、教師和學生的組織結構、平臺和文檔的定義、軟件開發過程和工具的選擇、項目管理的實施等。為達到實訓課企業化的目的,必須做到如下幾點。
1)在調研的基礎上,以企業的標準進行實驗室軟硬件平臺的構建,包括應用軟件企業的實際開發環境、項目管理環境、版本控制環境。
2)規范軟件工程過程和項目管理過程。以PMBOK為指導,嚴格按照項目的啟動、計劃、執行、監控、收尾過程進行,規范學生在開發過程中的軟件工程思想。
3)校企合作,團隊合作。在指導教師層面,采用團隊合作的模式,構建了由企業導師、項目管理人員、開發人員、有測試專長的老師組成的PMO,實時為各小組進行遠程和現場技術支持;在學生層面,以學生的能力和性格為參考,任命各小組的項目經理,并且賦予項目經理一定的權限。
4)激勵機制。將實訓課程提升到項目的級別,定義實訓課程的里程碑,建立完善的激勵機制,定期開展項目的績效評估,公布績效信息,公平公正地給予團隊和成員獎勵,提高學生的積極性和創新能力。
軟件工程實訓課程企業化實施方案的實施流程
實訓課程在企業實施的內容上要具有可行性,要注重學生實踐能力的培養和注重實訓內容與理論的有機結合,避免成為單純的技能培訓。實訓教師除了按企業項目的標準和流程要求指導學生,還必須在實踐的過程中嘗試新的教學方法和新的技術,不斷進行分析和總結,制訂一套適合高校軟件工程專業實訓課程企業化實施的最佳方案,將探索的中心定位在如下幾點。
1)探索如何在實際的軟件項目中應用軟件工程方法論。軟件工程課程是軟件工程實訓課程的先行課,學生對軟件工程概念、思想、方法的理解很大程度上止步于感性的認識,在不同類型的軟件項目開發過程中,如何靈活應用軟件工程的方法論是值得探索的。
2)探索如何在學校實驗室構建軟件企業項目開發的平臺。學校實驗室的軟硬件環境是以教學和科研為出發點構建的,如何在實驗室的環境下,搭建可以同時支持不同規模和類型項目開發的平臺,保證學生在實訓中掌握軟件企業項目開發的平臺,也是值得探索的。
3)探索如何在實際的軟件項目中應用項目管理方法。隨著軟件產業的發展,規范的項目管理是軟件項目成功的保障,因此,國內外的軟件企業越來越重視員工項目管理能力的培養。我們的學生每學期都有實踐課程,由于課程類型和時間等多方面的限制,學生很少在實踐課程中運用項目管理的方法和技術。軟件工程實訓有不少于四周的時間,教師如何在實訓中培養學生的項目管理意識和應用項目管理的方法是值得探索的。
4)探索軟件工程實訓教師隊伍及學生的組織結構。任何的項目開發都是建立在團隊合作的基礎上,為了達到實訓按企業化的模式進行,不能簡單的靠一個校內指導教師全程負責,學生也不能簡單的分幾個小組。因此,如何構建企業指導和校內指導相結合的組織結構,如何根據學生的類型成立團隊是值得探索的。
5)探索軟件工程實訓期間需要的項目文檔,構建團隊的組織過程資產。在項目開發的過程中會產生很多的項目文檔,軟件項目的國家標準就對軟件項目開發所需要的文檔進行了定義。如何在實際的項目中進行對國標規定文檔的裁剪是值得探索的。
基于以上五個探索要點,實訓指導老師可制訂如下的項目實施流程。
1)啟動過程:制訂實訓章程,至少包括制訂基本準則和確定實訓項目。其中,基本準則包括如下幾點:
(1)遵守實訓基地的規章制度;
(2)嚴格執行考勤制度,各項目組組長負責該組成員的出勤管理,組長每周五將匯總情況上報指導教師;
(3)各項目組必須保證每天有半個小時的項目例會時間(可以采用網絡的方式),組長指定相關人員做好例會記錄,因特殊情況而缺席的人員,必須有輔導員簽字的請假條;
(4)每天課程結束之前,項目組組長將團隊版本庫上傳給指導教師。實訓項目指在深入軟件企業調研的基礎上,和企業指導教師互相配合,將企業實際項目裁剪到120人/天的規模,根據實訓人數確定可選項目的數量。
2)規劃過程:制訂實訓的管理計劃、人員計劃、進度計劃、質量計劃、驗收計劃等。管理計劃指實訓指導教師對實訓過程中項目范圍的變更處理、人員變更、時間管理、風險管理等作詳細的管理計劃。人員計劃指為了有效地進行資源共享、團隊合作以及公平的績效和考評,我們給所有參與實訓的企業指導老師、學校指導老師、學生分配不同的權限和責任,形成由PMO項目管理辦公室(學校和企業老師)、指導老師、團隊經理、團隊成員構成的四級項目人員結構。進度計劃指將四周的實訓時間,根據需求分析、設計、編碼、測試、驗收五個過程制定里程碑,各里程碑要進行評審驗收。質量計劃指確定要驗收的項目文檔和評審的節點等。項目文檔指確定各團隊要提交的項目文檔,至少包含項目合同、項目的需求管理計劃、需求文件和需求跟蹤矩陣;項目范圍基準;項目進度管理計劃、項目進度基準;項目質量計劃;項目配置計劃;項目風險管理計劃、風險應對計劃、風險清單;項目溝通計劃、設計報告、變更記錄、例會記錄、用戶手冊、項目總結報告。評審節點指結合需求分析、設計、編碼、測試、驗收五個過程制訂相應的評審節點,給出評審結果和相應的調整措施。驗收計劃指給出實訓考核的標準和方法流程。總的原則是面向過程的考核,以團隊為單位進行績效考核,根據每個同學在團隊中的角色進行任務的分配和考核。
3)執行與監控過程:按照規劃階段制訂的計劃,指導各團隊的項目執行,在質量評審基礎上給出各團隊的調整措施,確保各團隊所做項目的質量和效果。
4)收尾過程:完成各團隊的考核工作,進行實訓組織過程資產的歸檔及實訓總結。按照上面的實施流程,不斷總結和優化軟件工程實訓企業化實施的最佳方案。
結語
關鍵詞:軟件工程;課程設計教學;創新模式;實訓
1 背景
軟件工程課程設計的目標是使學生系統地掌握軟件工程的過程、方法和工具,為學生將來從事軟件的研發和管理奠定基礎。軟件工程教學內容中的需求分析、設計、實現和測試等軟件開發技術以及工程化的開發過程(如軟件過程、配置管理、項目管理等)必須通過實際軟件問題求解過程以及團隊合作進行體驗,而綜合的軟件開發能力的鍛煉和培養是需要借助一個完整的軟件項目開發過程。因此軟件工程課程設計是鞏固課堂教學成果、培養學生軟件工程實踐能力的重要環節[1],為了培養高素質、高質量的軟件工程人才必須在理論與實踐結合上下工夫,通過強化實踐教學來提高人才培養[2]。
2 現狀
教育部高教司2006年一項調查[3]顯示,自2002年以來,高校計算機專業大學生初次就業率連年下滑,然而業界高端軟件人才依舊匱乏。造成這一現象的重要原因為當前高校軟件工程型人才的能力結構和知識結構與當前技術發展不能緊密結合,沒有形成以能力培養為核心、綜合技能訓練為輔助的實踐課程體系[4]。目前軟件工程的實踐教學主要存在以下問題:
1) 軟件工程教學多數還停留在傳統的人才培養模式,基礎理論知識和驗證型實驗構成教學主體,
缺少對學生工程能力和職業素質的訓練,因此培養出來的學生難以適應IT企業的需求。
2) 傳統的軟件工程教學使學生具備一定的專業基礎知識,但沒有機會讓學生將所學知識融會貫通,缺乏實際參與軟件工程項目的經驗。
3) 學校通過在企業建立實訓基地的形式將軟件工程實踐環節引入其中。這種形式可以促進學生從學習專業知識向學習專業技能迅速轉化。但這種形式需要投入大量的人力、財力。目前,由于這種形式風險較大,成本高,多數高校沒有采用。
如何在學校現有教學條件下,借鑒企業的工程化模式,實現軟件工程課堂教學與實訓相結合,使學生走出校門就能實現與IT企業的無縫連接,這正是該門課程在實踐教學環節需要研究和解決的問題。
3 課程設計改革
工程化的方法開發軟件已成為當今業界的共識,對學生工程能力和職業素養的培養僅在學校內部進行顯然局限性大,為了更好地促進學生這種專業綜合能力的塑造,我校通過中國軟件行業協會教育與指導委員會與北京市中關村軟件園簽訂了校企合作的協議,并在中關村軟件園掛牌成立了校外實訓基地。由于軟件工程課程設計周期有限(如1周),進入實訓基地進行教學的效果并不理想。因此,借助合作,我們對軟件工程課程設計教學環節進行改革,
作者簡介:唐曉君,女,副教授,研究方向為軟件工程;李曉紅,女,講師,研究方向為信息系統、軟件測試。
使其與實訓相結合,探索出一種計算機實訓與基本教學實踐環節無縫結合的模式,具體實踐流程如下。
3.1 內容安排
目前,我校軟件工程課程設計教學環節按照教學大綱安排,共分以下幾個步驟。
1) 課程設計要求說明。給出課程設計期間對學生的出勤、時間、地點等要求。
2) 課程設計任務布置與講解。進行課程設計安排時,課程設計任務的布置形式由教師進行課程教學的形式;對課程設計內容的選取大多選擇模擬或選取類似中小企業項目。
3) 分組實踐。分組原則是使每個學生工作量相當,并都能在項目開發過程中得到鍛煉。
4) 中期檢查。教師對各小組中期結果以答辯的形式進行監督檢查,督促各小組按進度進行。
5) 課程設計答辯、設計結果提交。課程設計采用答辯和軟件演示的形式對設計結果進行驗收。
以上這種課程設計安排形式也是大多數高校采用的方式,但該方式不能使學生對企業軟件開發全過程產生很好的感性認識。同時,由于項目大多是模擬項目,學生對待項目積極性不夠,對項目需求的理解及設計的實現也過于局限,小組成員的角色分工也不夠科學。此外,對課程設計環節的管理(任務下發、角色分配、進度控制、在線答疑、任務提交等)一直沒有實現信息化。
3.2 具體措施
結合軟件工程實踐教學的現狀,針對我校軟件工程課程設計存在的問題,在中國軟件行業協會提供的產學研實訓平臺的支持下,我校對軟件工程課程設計的教學進行了以下幾方面的改革和探索:
1) 將實訓模式引入課程設計中。
軟件工程課程設計教學采用的是實訓模式,但由于考慮成本問題,沒有借助企業人員進行專門指導。學生課程設計地點仍在計算機專業機房和專門實驗室,課程設計是在本校軟件工程專業教師的指導下,按照軟件企業的項目開發摸式,以“項目驅動”形式進行軟件開發實踐訓練,既以項目開發帶動軟件工程的理論學習,又以軟件工程的理論來指導軟件開發的實踐,使學生得到較全面、系統和規范的軟件工程實踐訓練,提高軟件設計與開發的能力。
2) 將產學研實訓管理平臺引入課程設計管理中。
對軟件工程課程設計整個環節的管理(包括任務、角色分配、項目管理、進度監控、成果驗收、學生管理等)通過中國軟件行業協會提供的產學研實訓管理平臺實現。平臺為每個學生分配用戶賬號及口令,通過該平臺統一進行學生管理,學生可以通過校園網登錄實訓管理平臺,方便快捷的了解項目需求(課程設計主要任務)、項目相關資料、項目管理流程、項目角色分工等信息。平臺也為指導教師提供管理接口,教師可以通過平臺進行項目案例的與管理、項目的啟用、項目角色的管理等。學生和教師還可以使用在線提問與在線答疑的形式指導教師進行交流,學生與教師的溝通更加實時、高效,實現了完全信息化的管理形式。
3) 將企業真實案例引入課程設計中。
在進行課程設計任務布置時,采用所有項目案例均來自中國軟件行業協會提供的企業真實案例(10余個),考慮到企業員工與在校學生的能力差別,同時根據課程設計要求掌握的知識點和教學時間限制,通過指導教師與軟件行業協會技術人員溝通,對項目案例進行不同程度的調整。因此,應用到課程設計教學中的所有教學案例均由本校教師根據課程設計的要求定制確定。對案例的裁剪既解決了以往教學案例局限的問題,又保證了學生在有限的設計周期內實現完整實際項目開發的目的。
學生按照興趣選擇項目案例,這樣可以確保學生在整個項目周期中有足夠的積極性和信心按期完成。通過以實際的工程項目為背景,使學生參與實際項目開發,以開發團隊形式,按照實訓步驟在規定的時間完成從需求分析建模(需求由案例給出)、設計、代碼編寫、測試、部署體驗完整的軟件開發全過程。這樣,可以激發學生項目開發熱情,使學生完全掌握企業化軟件開發流程,并具備直接進入企業進行開發的能力。
4) 將企業項目管理方法引入課程設計中。
課程設計借鑒企業化運作機制,實施每天八小時工作制,晚上可以加班加點,以項目組長負責、項目組成員協作的形式完成設計任務。
項目啟動(課程設計任務的)通過產學研實訓平臺,學生可以使用個人用戶賬號通過校園網絡登錄到平臺查看自己的項目組及項目要求。由于項目案例均來自企業真實案例,因此,平臺能為學生提供比較規范、詳細的需求說明文檔,幫助學生更好地理解業務知識及流程。
項目小組成立時,指導教師按照項目實際情況(項目需求復雜程度、設計難度、代碼量等)安排小組人數,并按照學生能力對小組成員進行角色分配,如項目組長、軟件工程師、測試工程師、配置工程師等。這種角色分工根據源于企業項目組的分工,能夠使學生更加感性的認識企業中的不同角色。在進行小組人數的安排時,為防止出現工作量過少的情況發生,限制每組人數不得超過5人,滿足軟件工程中7±2的原理。后來的實踐證明,這樣的分組,在項目中每個實訓的學生都有明確的職責和任務,工作量非常飽滿,通過項目組內部協作,能夠降低項目實施的難度,又能確保項目能夠按期保質保量完成。開發過程中,任何一個學生不努力或不配合,都可能導致最終提交的任務效果不理想。
項目進度的控制通過實訓管理平臺設定中期檢查及最終任務提交時間表實現。開發過程中,無論是中期檢查結果還是最終成果驗收都通過平臺來提交,并以教師評語的形式實時有效地將結果給學生反饋,既可以提高學生繼續完善項目的動力,還可以有效地監控各項目組的進度,同時,還可以及時對各項目組進行溝通與指導。
項目進行中(課程設計過程中),教師不再是傳統的講授者,更像是一位工程項目的經理,負責提出項目的要求(即向學生明確項目應用的背景、目的、期望看到的結果、具體的數據和指標要求),檢查項目(學生)的開發進度,監督開發過程,評定軟件質量。同時適當點出課程設計中可能涉及到的知識,幫助學生自主學習、啟發學生創造性思維的觀念,然后由學生自己進行理論分析,自己建立問題的模型,自己掌握開發進度,自己完成課程設計的任務,最終使學生具備獨立分析和解決問題的能力。
對項目成果的驗收,采用全面有效的質量評價指標,不僅考慮項目完成的質量,包括需求、設計模型的合理性、準確性,軟件代碼的完整度,還要考慮驗收答辯時項目組成員不同任務承擔者的表現,這種評價機制既能保證對學生工程能力的考核,又能鍛煉學生的協作能力和職業素養。
3.3 成果
該實踐教學模式應用到了本校計算機2007級、2008級兩個年級中,在成果驗收時與往屆比較有很大進步,體現在以下幾方面:
1) 因采用企業真實項目案例,學生在課程設計過程中學習積極性有很大提高。
2) 以企業規范的需求及設計說明書作為指導,開發過程中對項目需求的理解更加清晰,分析得更加充分。
3) 項目需求分析及設計階段模型建立更加準確。
4) 因有實訓平臺進行角色任務管理,小組成員分工更加科學、合理。
5) 最終提交的課程設計文檔更加規范。
6) 學生的團體協作能力得到很好的鍛煉,項目完成度有很大提高。
7) 學生對企業軟件開發全過程有了更深刻的認識。
8) 在實訓平臺的支持下,將傳統的“以教師為中心”的教學模式,轉變為“以學生為中心,在教師指導下的主動學習”模式,有效地達到了教學互動、教學相長的良好效果,同時老師對學生以及項目的管理更加高效。
另外,在期末進行的評教中,該門課程的實踐教學更是得到了學生的認可,評教優良率達到了98%。
4 結語
讓工程化思想成為學生從事軟件開發工作的行動指南并不是一件容易的事情。在傳統的教學過程中,軟件工程往往是一門獨立的理論性課程,學生們認為軟件工程就是一些條條框框。缺乏實踐經驗,缺乏合作開發軟件的感性體會,使得學生在學習過程中難于理解軟件工程的精髓。
通過軟件工程課程設計教學的改革,使學生對企業軟件開發及軟件過程管理有了更加深刻的認識。這種模式成功地將實訓環節引入了課程設計,在課程設計的實踐教學中培養學生的軟件工程意識,這是對高校計算機專業實訓與實踐教學環節無縫結合模式的有益探索,可在計算機專業其他的實踐教學環節進行推廣,如數據庫實踐教學、程序設計實踐教學等,還可以將這種模式推廣到兄弟院校的計算機專業,這也是中國軟件行業協會一直大力支持和倡導的。
參考文獻:
[1] 朱大勇,張新麗,李樹全. 軟件工程綜合性課程設計的教學實踐[J]. 計算機教育,2009(15):160-162.
[2] 許精明,張雷. 計算機專業實踐教學改革[J]. 計算機教育,2010(16):21-23.
[3] 張建臣.高等院校計算機學科實踐教學的探索與改革[J]. 現代企業教育,2006(24):17-18.
[4] 陳朔鷹,趙小林. 建立軟件實踐課程體系,全面培養工程型人才[J]. 計算機教育,2008(7):14-18.
The Course Design for Software Engineering Based on Training
TANG Xiaojun, LI Xiaohong
(Information Science and Engineering School, Dalian Polytechnic University, Dalian 116034,China)
Abstract:This paper analyzes the principal questions exist in the practice teaching for software engineering of colleges and universities. It proposes an innovation model of course design teaching. In the innovation model, the exiting practice teaching conditions of universities, the requirements of society for computer professionals, engineering management model and classroom teaching and training are all considered. It summarizes the process of reformation and practice with the support of CSIA. The result proves every good.
Key words: software engineering; course design teaching; innovation model; training
(上接87頁)
參考文獻:
[1] 馮博琴,趙音良,顧剛. 狠抓能力培養,提高實驗教學水平[J]. 計算機教育,2008(19):9-11.
[2] 教育部高等學校計算機科學與技術教學指導委員會. 關于進一步加強高等學校計算機基礎教學的意見暨計算機基礎課程教學基本要求[M]. 北京:高等教育出版社,2006:23-27.
[3] 張麗萍,劉東升. 程序設計精品課程建設的研究與實踐[J]. 內蒙古師范大學學報:教育科學版,2007(1):109-111.
[4] 張麗萍,劉東升. 關于精品課程“程序設計”的建設方案[C]//大學計算機基礎課程報告論壇論文集(2006). 北京:高等教育出版社,2006.
[5] 張麗萍,劉東升,王春暉. 計算機應用型人才培養與數據結構改革[J]. 計算機教育,2010(5):21-23.
[6] 張麗萍,劉東升,葛湘巍. 民族地區計算機專業實踐教學改革[J]. 計算機教育,2011(13):8-10.
[7] 張麗萍,劉東升,王春暉. 程序設計類課程考核評價方法的改革與實踐[J]. 計算機教育,2010(2):17-20.
Construction and Practice of the Public Computer-based Courses
WANG Lijiang1, LIU Dongsheng2, ZHANG Liping2
(1. Office of Academic Affairs, Inner Mongolia Normal University, Huhhot 010022, China;
2. Computer & Information Engineering College, Inner Mongolia Normal University, Huhhot 010022, China)
關鍵詞:應用型人才培養;課程體系;模塊化教學體系;人才培養模式;企業實訓
經濟社會的發展需要大量既有扎實理論基礎又有較強實踐能力的計算機軟件應用型人才,而國內許多應用型高校的計算機軟件相關專業仍延續著研究型高校的人才培養目標與模式,過分強調理論知識的系統性教授,缺少對學生工程能力和職業素質的訓練,畢業生的專業能力與軟件產業界的需求往往存在較大的脫節,難以快速融入現代IT企業的運作,一方面用人單位覺得軟件人才匱乏;而另一方面有相當多的畢業生卻找不到合適的崗位。因此,應用型高校必須主動適應經濟社會發展對具有創新能力的軟件工程應用型人才的需求,明確專業能力培養目標及其內涵,探索能力培養的方法與途徑,構建與軟件產業需求相適應的軟件工程專業教學體系與教學模式[1-3]。
1軟件工程專業人才培養規格
1.1專業人才培養目標
培養具有良好的科學與工程素養,系統掌握計算機基礎理論、軟件開發、軟件管理等計算機應用技術,能運用工程化方法、技術和工具從事軟件分析、設計、開發、維護等工作,具備工程項目的組織與管理能力、團隊協作能力的高級應用型軟件工程人才。
1.2專業人才能力分析
應用型人才的主要任務是將成熟的技術和理論應用到實際的生產和生活中,其培養的關鍵是強調對學生專業核心能力的培養[4]。對于應用型軟件工程人才,其專業核心能力包括以下幾個方面。
1) 軟件分析與設計能力。掌握用戶需求調研和需求分析方法,能夠將需求轉換為系統的設計;掌握結構化和面向對象分析方法與設計方法,熟悉常用的軟件分析與設計開發工具;熟悉UML建模技術和常見的軟件設計模式;能夠設計和定義軟件構架、模塊劃分的接口協議;具備數據庫結構設計能力;能夠運用相關工具進行模塊的詳細設計;能夠設計用戶界面;具備用戶需求說明書、軟件規格說明書、概要設計說明書、數據庫設計說明書、詳細設計說明書等軟件開發文檔的撰寫能力。
2) 軟件實現能力。掌握結構化程序設計技術和面向對象程序設計技術,至少熟悉一門高級語言編程技術;熟悉常用的IDE開發工具,掌握軟件的編輯、編譯、運行和調試技術;掌握Web程序設計技術,熟悉HTML語言、JavaScript語言、Java EE和.Net等常見Web應用構建技術,具備界面設計、腳本編程、業務邏輯編程和系統部署能力;能夠運用開發工具的聯機幫助來解決編碼問題;能夠運用打包工具制作產品的安裝程序,能夠編寫用戶使用手冊、安裝說明等文檔;能夠將子系統集成為一個完整的系統,并能在集成過程中優化系統;能夠配置系統調試環境,具備關鍵代碼性能優化的能力;熟悉數據庫編程技術,具備應用SQL語言對MSSQLServer、Oracle、DB2等常見數據庫進行數據操作的能力;掌握數據庫系統的安全保護技術和性能調優技術;掌握Linux、WinCE、Android等常見平臺下的嵌入式開發技術;熟悉嵌入式應用軟件的編程、調試、部署技術;具備硬件驅動程序開發能力。
3) 軟件測試能力。掌握常見的單元測試、集成測試、性能測試和回歸測試技術;掌握常用的白盒與黑盒測試方法,具備測試用例的設計能力;掌握常用的軟件測試工具;熟悉實際的軟件測試流程,能夠搭建測試環境;掌握軟件測試管理技術,具備軟件測試計劃、軟件測試報告等測試文檔的撰寫能力。
4) 工程綜合能力。熟悉RUP、XP等常用軟件開發過程模型,具備針對具體項目選擇適當模型的能力;掌握項目范圍界定、計劃制訂及進度監控技術;掌握軟件配置技術,能夠使用配置管理工具;掌握軟件開發風險評估與控制技術;掌握常用的軟件項目管理工具;能夠基于用戶的反饋情況進行軟件產品的維護,并能對用戶進行培訓;具備軟件開發計劃、可行性分析報告等項目管理文檔的撰寫能力。
2提升軟件工程專業能力培養途徑
2.1改革人才培養模式
建立“2+1+1”三段式期制的人才培養模式,同時堅持工程能力和素質培養4年不斷線的原則,將工程項目教學法貫穿整個教學環節,提高學生的學習興趣,增強學生的工程意識,強化工程實踐能力。
前4學期“重基礎”,即重點完成對學生專業基礎知識和基本技能的培養。通過強化數理基礎模塊和專業基礎模塊教學,促進學生創新思維的形成和創新方法、創新工具的掌握,為后續的專業模塊學習和工程能力的培養打好基礎。從第二學期開始為每位學生配備校內專業指導教師,負責對學生在校期間的學習、專業選擇、學習進程規劃和學習方法等進行指導。
第5學期是在大二結束時安排一個企業實訓學期(企業實訓I),即通過適當壓縮原第4學期教學周數,從而形成一個包括暑假在內共12周的第5學期(變傳統的8學期制為期制)。作為第一階段的企業實訓,主要是培養學生的軟件測試能力,并對軟件的工程化開發流程形成清晰的認知。同時,該階段也能使學生學習和實踐軟件企業的管理運作,熟悉業務流程及項目開發流程。作為校企聯合培養第一環節,該階段由企業安排資深工程師作為企業指導老師,對學生在現場實踐期間進行指導。自此,針對每位學生的“雙導師”指導模式正式形成。
第6、7學期“精方向”,即在雙導師指導下,學生在特定的專業方向進行深入學習。采取基于項目的教學模式和以問題為導向的探索式學習模式,培養學生從工程全局出發、綜合運用多學科知識、結合各種技術和現代工程工具解決工程實際問題的能力,同時培養學生的自主學習能力、創新意識和探索未知領域的興趣。另外,通過加強與軟件企業合作,完善雙方模塊的學分認證標準。學生在此環節獲得的學分雙方互認,并頒發相關證書,從而將軟件行業所需要的專業能力融入人才培養體系。
第8、期“強工程”,學生將利用一年時間到企業進行項目實訓和做畢業設計(論文),通過企業項目實訓和畢業設計(論文)等工程實踐環節,強化學生從事工程實踐所需的專業技術能力,進一步鍛煉學生的工程實踐能力和獨立工作能力。畢業設計(論文)的選題要求來源于企業,做到100%真題真做。
2.2構建模塊化教學體系
2.2.1模塊定義
應用型人才應該具有運用科學理論知識和方法來綜合分析、解決問題,以及將解決方案付諸實施的實踐能力,而傳統的教學體系以課程為教學單位,教學內容存在重知識體系而輕社會需求,重知識傳授而輕能力培養等問題。為此,圍繞應用型軟件工程人才的專業核心能力,通過將理論教學與工程實踐緊密地結合在一起構成“模塊”,以取代傳統教學體系的“課程”。“模塊”作為面向專業能力培養最小的教學構成單位,是圍繞特定能力培養相關教學活動的有機組合,具有可重組性和教學內容的非重復性,其對應能力的培養環節連貫、遞進,可適應不同類型軟件工程師的培養需要。
2.2.2構建思路
軟件工程專業模塊化教學體系構建要求從傳統的知識輸入為導向的課程體系構建,轉變為以能力輸出為導向的模塊體系構建。“知識輸入為導向”指的是以學科體系為導向,構建課程體系;“能力輸出為導向”指的是以崗位需要的專業能力為導向,構建模塊化教學體系。基于“面向專業能力需求反向推導”
的思路,即通過對IT企業相關崗位群的調查與分析,確定學生應該具備的專業能力,再將抽象的專業能力具體化為能力要素,對一組相關的能力要素進行優化整合形成能力單元,圍繞一組特定的能力單元及其對應的知識單元的培養(知識點的組合)設計相應的教學活動,從而形成“模塊”。通過若干個相關模塊的有機搭配構成軟件工程專業應用型人才培養所需的模塊化教學體系,從而將傳統的按學科知識體系構建專業課程體系,轉變為按專業能力構建模塊化教學體系(如圖1所示)。
模塊化教學體系以專業能力為主線,將理論教學和實踐教學有機結合,強調知識和方法如何運用于實際工程領域。在模塊化教學體系中,一個模塊針對特定的能力單元設置,一項專業能力的培養可由一個或若干個模塊來支撐。模塊化要求人們轉變思維方式,即要適應從“專業課”到有功能性單元的“模塊”的轉化,對傳統課程體系的教學內容進行拆散、揉和與優化,以面向能力培養構建模塊的教學內容。如將原有的Java語言程序設計、SQLServer數據庫等課程中的高級應用和難點部分進行整合,設置Web應用系統開發模塊,重點培養基于Web平臺的應用系統設計開發能力。模塊既包含理論知識的講授,又有工程實踐訓練,采用典型的真實工程項目,對學生的工程能力進行培養。
2.2.3進程安排
在軟件工程專業模塊化教學體系參考教學進程
中,執行計劃總學分為180學分。第1至4學期主要學習公共基礎模塊和專業基礎模塊;第6、7學期在校學習專業模塊,第5、8和期到企業進行實訓,結合工程實際完成項目實訓和畢業設計(論文)。教學進程如表1所示。
2.3引入企業實訓環節
軟件工程專業能力的獲取是在運用智力、知識、技能的過程中經過反復訓練而形成的[3]。為此,圍繞提升學生的軟件測試能力、軟件實現能力、軟件分析與設計能力和工程綜合能力這4項專業核心能力,分階段設置3個獨立的企業實訓學期(如表2所示),使學生置身于真實的企業場景、管理制度、競爭壓力、團隊協作等環境之中,以培養學生軟件開發、團隊合作以及項目管理的能力。
1) 企業實訓I,安排在第5學期。通過適當壓縮原第4學期教學周數,從而形成一個包括暑假在內共12周的第5學期(變傳統的8學期制為期制)。作為第一階段的企業實訓,主要是培養學生的軟件測試能力,并對軟件的工程化開發流程形成清晰的認知[5]。
2) 企業實訓II,安排在第8學期。通過將原大三下學期的暑假與大四上學期結合,得到一個約28周的第8學期,作為第2階段的企業實訓,用于強化學生軟件的實現能力和分析與設計能力。為了使學生能在特定的軟件開發領域獲得深入訓練,形成個人的專業特長,該階段應分不同的方向(如Java、.Net及嵌入式軟件等方向)在相應的企業進行。
3) 企業實訓III,安排在第期(原大四的下學期),按一個標準學期的20周設置,并與畢業設計相銜接。針對實際項目(產品),由學生組成項目組,負責整個項目(產品)開發的全過程,并按企業或用戶要求對項目(產品)的完成情況進行評估并答辯,根據項目(產品)中每位學生完成情況確定其畢業設計等次。
以上的企業實訓方案很好地體現了分步進階的專業能力培養原則,它對學生軟件專業能力提升的思路是:以軟件測試技術與技能訓練為主的能力培養以軟件實現技術與技能訓練為主的能力培養以產品或系統構建能力培養為主的能力培養以綜合項目解決方案制定為主的能力培養以適應社會并能夠獨立完成產品/系統研發工作為主的能力培養。同樣,對于各個階段企業實訓內容的安排,也是按照由淺入深、由單項到綜合的方式,層層遞進地實現能力的漸進培養。另外,企業實訓的各個階段均設置考評環節,并按企業對應崗位的技能要求對學生進行能力考評,對應關鍵能力培養的企業實訓環節(如軟件實現能力),不合格者將要繼續本階段的訓練,直到能
力考評達標為止。各階段的企業實訓環節均有對應學分,學生必須修滿相應學分,方允許畢業。
3結語
新建應用型本科高校在培養人才目標、生源和師資力量方面與傳統綜合性重點大學有顯著差異,因此,不能簡單地繼承和延續綜合性重點大學的培養目標和培養模式,而必須主動適應經濟發展對具有創新能力應用型人才的需求,充分發揮自身的優勢和特點,在特色中求生存、求發展。近年來,合肥學院軟件工程專業按照“重基礎,精方向,強工程”的基本原則,建立了“2+1+1”三段式期制的人才培養模式,實行了3學期的企業實訓環節,同時,提出通過將傳統的、按學科知識體系構建專業課程體系,轉變為按專業能力體系構建專業模塊體系,并緊密圍繞模塊體系展開系列教學改革,如編著適應模塊化教學需要的特色系列教材、建立多元化的師資隊伍、引入校企合作及模塊互換學分互認機制等。幾年來的教學實踐證明,采用模塊教學體系在培養企業真正需要的、具有創新意識和國際化視野的軟件工程師方面取得了良好的效果,對于保證應用型人才培養目標和培養要求的實現具有重要的借鑒意義。
參考文獻:
[1] 陳旭東,盧葦,趙宏,等. 軟件工程特色專業建設探索[J]. 計算機教育,2008(8):46-48.
[2] 葉立青,吳曉蔑. 應用型本科生培養模式的創新與構建[J]. 吉林工學院學報,2003,23(1):16-17.
[3] 胡智喜,唐學忠. 計算機科學與技術產學研結合應用型人才培養模式的探索與實踐[J]. 電腦知識與技術,2008,3(8):1751-1752.
[4] 郭建東,劉乃琦,劉貴松,等. 軟件技術教學內容與教學模式研究[J]. 學科建設與教學研究,2005(3):19-22.
[5] 檀明,袁,鐘伯成,許強. 借鑒德國FH的應用型計算機專業人才培養模式改革[J]. 電腦知識與技術,2010,6(13): 3431-3433.
Software Engineering Talents’ Cultivation in Capability-oriented Mode
TAN Ming, ZHANG Xiang-dong, XU Qiang, LIU Deng-sheng
(Department of Computer Science and Technology, Hefei University, Hefei 230601, China)
[關鍵詞]軟件工程;云計算;實訓平臺;架構;模塊
[中圖分類號]G40-057 [文獻標識碼]A [論文編號]1009-8097(2013)01-0107-06 [DOI]10.3969/j.issn.1009-8097.2013.01.023
一、引言
軟件工程是一門綜合應用學科,軟件工程專業具有實踐性、工程性、實用性等特征。學生不可能靠聽講軟件工程的理論學會開發一個實際的軟件,而是在“動手做”和“真正練”中體會和掌握軟件工程的思想,軟件工程專業實訓環節尤為重要。近年來,諸多學者提出采用校企合作培養模式、項目教學法,增加實驗、實訓比例,以增強學生理論與實踐的聯系,提高動手能力、思維能力和創新能力。但目前大部分高校存在資金來源有限、實驗設備老化、實驗實訓資源不足等問題,且校企合作實習基地建設滯后,學校與實習基地之間缺乏互動,均影響學生實踐能力的培養。應用云計算技術建立軟件工程實訓平臺,不但學生可以在“云”中進行真實項目訓練,體驗企業工作環境,提高實訓效果,而且可以降低高校實訓基地的投資與運行成本,提高辦學效益。
二、文獻綜述
1.云計算
云計算是一種商業計算模型,它將計算任務分布在大量計算機構成的資源池上,使用戶能夠按需獲取計算力、存取空間和信息服務。云計算是并行計算(Parallel Computing)、分布式計算(Distributed Computing)和網格計算(Grid Computing)的發展,是虛擬化(Virtualization)、效用計算(Utility Computing)、基礎設施即服務(Infrastructure aS a service,IaaS)、平臺即服務(Platform as a service,PaaS)、軟件即服務(Software as a service,SaaS、等概念混合演進并躍升的結果。云計算的基本原理是用戶所需的應用程序運行在大規模服務器集群中,數據也保存在互聯網的數據中心,其管理與維護由提供云計算服務的公司負責,用戶終端的功能被大大簡化,而諸多復雜的功能都轉移到終端背后的網絡上去完成。云計算具有虛擬化、超大規模、高伸縮性、高可靠性、高通用性、按需服務、極其廉價等特征。
Google、Amazon、IBM、Yahoo、Vlware等大公司是云計算的先行者。2006年,Google啟動了“Google101”計劃,引導大學生進行“云”系統的程序開發。2007年10月,Google與IBM聯合宣布,把全球多所大學納入類似Google“云計算”平臺之中。Google是最大的云計算技術使用者,典型的云計算平臺還有Amazon的彈性云、微軟的云+端、軟件+服務的云計算服務、IBM的藍云(Blue Cloud)計劃等等。2008年,IBM先后在無錫和北京建立了云計算中心。2009年,云計算走進了教育界,黎加厚教授正式提出了“云計算輔助教學”(Cloud Computing Assisted Instructions,CCAI)概念,即學校和教師利用“云計算”提供的服務,支持教師的教學和學生的學習,提高教學質量。“云計算”可以應用于教學管理、學生交流與管理、實驗室建設與管理等方面。
2.云計算輔助教學研究
隨著云計算技術引入我國,諸多學者對云計算輔助教學相關領域進行了探討:(1)云計算輔助教學的可行性與作用研究。Armando Fox(2009)等認為云計算應用到教學中是可行的,還可以幫助學生了解云計算技術和工具:金苗苗、周躍良(2009)、曹大有(2011)等認為云計算的共享性、協作性可以提高學生的學習興趣,培養學生的探索研究能力,并且最小化終端設備的要求,大大減少學校為維護和升級操作系統和應用軟件的費用;張林(2011)等認為應用云計算技術可以搭建個性化的學習環境;林瑜華(2011)認為通過公共云服務平臺提供完善的網絡教學功能和運行環境,具有更好的易用性和實用性;黎加厚(2010)、楊濱王、文霞(2010)則提出應用“云服務”能實現教育活動低碳化。(2)云計算協作學習與網絡學習策略研究。楊濱(2009)以Google sites為例闡述了網絡協作平臺的使用;何雙泉(2010)探討了云計算輔助教學環境中協作學習的特點與活動策略:張潔、裴芳(2012)等提出了基于世界大學城的云計算輔助教學下的協作學習方案;林瑜華(2011)研究了基于云計算的實驗教學環境、改革模式及協作學習模式;于莉(2011)探討了使用百會在線辦公平臺輔助課堂教學策略。(3)云計算教學資源平臺的構建研究。馬強、付艷茹(2011)等討論了國內典型云平臺及Google App Engine“公共云”平臺的接入技術;俞建華(2011)、李偉林、陳戍(2012)等設計了基于云計算的在線遠程教學平臺及運作模式;黃曉玲、趙生慧(2011)設計了通用的實驗教學平臺:楊曼(2011)以分布式計算框架Hadoop為基礎,闡述了在學院網絡實驗室中搭建云計算平臺Hadoop教學環境的過程與方案;張向陽(2012)探討了建設我國“云計算”教學資源平臺的構架與應用功能;張懷南、楊成(2012)則探討了基于云平臺的區域性高校數字教學資源共建、共享體系與模式;張家貴、羅龍濤(2011)、陳巧、胡新平(2011)等提出基于云服務的教學資源大平臺建設思路,認為在大平臺支持下,教學單位無需提供硬件設備、教學資源及技術人員,即可快速構建基于海量教學資源的特色教學資源平臺,促進優質教學資源的共建共享。
現有研究多以云計算技術構建遠程學習、協作學習等虛擬平臺與實驗教學資源平臺為對象,以降低教學成本、提高學生學習興趣與教學效果為目的,以高校教育資源平臺的共享共建、教學資源的利用、教學條件的改進等為重點進行了研究。而結合軟件工程專業的具體特征,如何運用云計算技術,校企合作共建真實的企業實訓平臺與環境,學生不受時空限制接受真實項目訓練,現有研究成果較少。
三、軟件工程專業云計算實訓平臺架構的設計
軟件工程專業云計算教學資源平臺的建設需要有強大的底層技術支撐,同時需要開發符合本專業要求的功能模塊,其技術體系與服務體系構架如圖1所示,云計算技術體系由物理資源層、資源池層、管理中間件和面向服務體系(Service-Oriented Architecture,SOA)的構建層組成。物理資源層包括所有的硬件資源,資源池層通過虛擬化技術將底層硬件如網絡系統、數據庫系統和操作系統等集成起來,虛擬為一個大的資源池,管理中間件層負責管理云計算資源,并為SOA構建層提供支持與服務,SOA構建層將云計算能力封裝成標準的Web Services服務。
云計算技術體系從根本上決定了服務體系模式,云計算強調各種資源的共享和隨需分配,其服務模式劃分方法較多,通常分為三個層次:最底層是基礎層,由硬件或虛擬機資源構成,是整個服務體系的基礎,通過虛擬資源池為學校與合作企業提供計算、存儲、帶寬等按需的動態云基礎設施服務(IaaS):第二層為在線開發平臺層(PaaS),構建在基礎設施層之上,對資源的抽象層次更進一步,為軟件項目開發與教學虛擬資源的建設提供接口與環境,通過分布式計算環境和分布式存貯環境提供海量文件系統、海量數據庫系統、大規模消息系統等服務,在線云通過在線開發平臺將操作系統、應用開發環境等平臺級產品以Web服務的方式提供給高校師生、合作企業開發人員等,方便高校與合作企業對教學資源的開發和使用;第三層為實訓資源應用服務層(SaaS),位于最上層,是用戶與云服務體系的接口,直接為合作企業開發人員、高校師生等提供實訓應用軟件服務,如作品展示、開發文檔輸出、資源設計、軟件檢測以及項目管理等等。合作企業開發人員、高校師生可以在任何時間、任何地點使用PC電腦、3G手機或其他移動終端設備訪問“云”端,接受云計算各層次提供的服務。
云計算供應商提供的服務收費低廉,有的甚至免費。對于單個高校或少數高校聯盟建立云計算實訓中心,高校不必建設云計算基礎設施及其技術體系,只需購買或租用“云服務”供應商提供的云計算服務,按使用付費,按需自助服務,校企合作的重點是建設虛擬教學資源,這樣,可以節省實訓中心初期投資與維護運行成本。而對于全國高校聯盟建設云計算實訓中心,可采用主管部門或高校聯盟主導,云服務開發企業參與,公有云與私有云相結合方式,共同建立云計算基礎設施、服務體系與虛擬教學資源。
四、軟件工程專業校企合作云計算實訓平臺模塊的設計
軟件工程專業實訓是指學生通過直接參與軟件項目開發,提高實踐能力與職業素質的訓練過程。實訓基地的建設應符合真實性、高技術性和通用性原則,體現真實的職業環境,接觸新技術、新工藝[2…。實訓體系要求做到三個“真實”:“真實的企業項目”、“真實的企業化管理要求”和“真實的企業環境標準”。因此,學生實訓平臺的建設離不開軟件企業的參與,校企深度合作是企業實訓的基礎與前提,第二,學生能否進行真實的軟件企業項目開發與指導是軟件工程專業實訓的核心,第三,如何通過構建虛擬環境做到三個“真實”是保證云計算實訓平臺實訓效果的必要條件。軟件工程專業云計算實訓平臺功能模塊關系如圖2所示,黑色虛線框A表示軟件開發的全過程,是實訓平臺的核心模塊,綠色虛線框B為實訓資源模塊,包括實訓環境與教學資源開發功能模塊,紅色虛線框c為實訓管理模塊,包括校企合作、學生管理、團隊管理、項目管理、系統管理模塊,藍色虛線框D為實訓評估模塊,主要有作品展示、實訓報告、成績生成及所有項目文檔模塊。
1.軟件開發模塊
(1)軟件開發模塊的功能
構建軟件工程專業實訓平臺的目的之一是學生可以不去企業,不受時空限制,在學校的軟件工程實驗室或其他任何地方,只要有上網的電腦,登陸至學校的云計算實訓平臺就能進行真實的軟件項目開發訓練,并且學生在開發軟件的過程中,能得到企業老師與學校老師(以下簡稱“雙師”)的適時指導、動態監控。學生可通過以下方式參與企業實際項目開發:一是企業直接在云平臺上進行項目開發,企業老師擔任項目經理,分配任務并指導學生在同一平臺上共同完成項目開發,起到“工學結合、頂崗實習”的作用。二是企業老師挑選已開發過的軟件項目,在云平臺上建立項目庫、案例庫,通過云計算實訓平臺指導學生在該平臺上進行項目開發,或者學生分組完成軟件項目開發全過程。軟件項目開發過程主要包括項目規劃、需求分析、系統設計(軟件架構設計、數據庫設計、界面設計、模塊設計)、代碼編寫、軟件測試等過程,每一個過程應能輸出相應的項目文檔,并且通過軟件開發平臺可以實現師生適時互動,提高學生實訓效果。
(2)云計算軟件開發平臺構架
為了更好地滿足個性化、多樣性、復雜性軟件開發需求,解紹詞等(2011)提出了基于MDA(ModelDrivenArchitecture)的云計算軟件開發平臺模型,這種模型是面向服務、面向軟件的開發方式,稱之為“軟件業務化定制”模式。如圖3所示,云計算軟件開發平臺模型架構主要分布于云計算環境的平臺層與應用層,云端平臺層提供構件支持、環境支持、開發工具支持,將平臺無關模型(Platform Independent Model,PIM)自動轉換為一個或多個特定平臺模型(Platform Specific Model,PSM),然后再生成代碼,最終進行系統測試與。模型交換和變換交換總線是聯系整個開發平臺的技術紐帶,以面向服務的體系結構(service-Oriented Architecture,SOA)方式對外提供統一開放的應用程序編程接口(Application Programming Interface,API),其他模塊通過API進行交互。應用層向用戶提供軟件業務化定制接口,滿足用戶個性化軟件開發需求。對于傳統的個體開發模式更為簡單,直接通過云計算系統平臺層將軟件研發的平臺、開發環境作為一種服務向用戶提供,應用層為用戶提供各種應用軟件服務,即用基于云計算的實訓資源平臺為師生提供各種可靠的、經濟的在線應用軟件服務。
2.實訓資源模塊
實訓資源模塊包括實訓教學資源模塊與實訓環境資源模塊。軟件工程專業實訓教學資源主要包括:軟件開發環境;企業實際軟件項目庫、案例庫;實訓教材;軟件開發的基礎理論資料;軟件開發專用技術資料;重點、難點講解資料及相關文檔、模版等,這是應用型軟件人才培養的基礎和保障,是可教學化實訓體系的核心。軟件開發環境主要指進行軟件開發的各種技術和軟件工具,還包括相關的幫助文檔、開發文檔,軟件開發環境應該符合IT業界使用的主流技術和開發工具。軟件開發環境是云計算服務提供商根據高校及其合作企業的要求,通過云計算在線開發平臺層(PaaS)提供。校企合作雙方共同在“云”端研發實訓教材及配套的課件、主流軟件、具體實訓項目的實際代碼、視頻等,共同制定《實訓教學大綱》、《實訓教學安排與日志》、《實訓教學要求及方法》、《實訓項目開發計劃》等一系列實訓教學指導文件并上傳至“云”端,以企業為主高校配合的方式建設Java、嵌入式、.NET等在內的實訓項目體系,企業將已經完成的軟件工程項目進行需求與技術分析,按照軟件項目管理的基本要求進行可教學化的項目改造,在應用層建立實際軟件項目庫,不斷補充修訂實訓項目文檔,完善實訓內容,在“云”端構建可教學化的實訓教學資源。
實訓環境模擬即軟件企業工作環境模擬,就是讓學生通過云計算實訓平臺親身體驗企業的“真實”環境、工作壓力、管理制度與企業文化,對于提高學生實訓的積極性與主動性具有重要作用。在“云”端通過交互式的可視化工具將企業真實工作現場、學生實際訓練現場、企業工作流程、企業考勤制度等可視化內容與邏輯內容進行有效地集成,再配以聲音效果,對實訓環境構件進行可視化設計,構建虛擬元件。虛擬元件的構建主要包括外觀特性和內部特性的設計,外觀特性主要是可視化設計,內部特性主要是進行內部仿真模擬的邏輯運算。如在“云”端構建虛擬元件,設計虛擬打卡機或指紋考勤機,嚴格管理上下班出勤,設置專門的虛擬會議室供各個小組討論和評審,并配備虛擬會議桌、投影儀、白板等附屬設施,高度仿真企業的工作環境,讓學生有一種身臨其境的感覺,增加新鮮感,提高實訓效果。
3.實訓管理模塊
沒有嚴格的管理,即使技術體系再先進,也難以保證每個開發小組高效地完成開發任務。盡管大學生對新知識、新技術比較渴望,但諸多大學生缺乏吃苦耐勞的精神,責任心不強,所以,嚴格管理對提高學生實訓效果也不容忽視。軟件工程專業的實訓過程主要是學生開發軟件項目的過程。實訓管理體系應以軟件項目開發過程管理為中心,以系統管理、學生管理、團隊管理、校企合作管理等為支撐的一體化管理體系。
(1)項目管理模塊
云計算項目管理模塊主要對軟件項目生命期的五個階段即啟動階段、計劃階段、實施階段、控制階段和收尾階段進行的控制與管理,涉及項目的整合管理、范圍管理、質量管理、進度管理、成本管理、資源管理、風險管理、采購管理、溝通管理等九大知識領域,其中,質量管理、進度管理、成本管理為項目管理的核心領域,成為“雙師”監控的重點。在實訓中,學生將在項目組內承擔的開發和管理任務、項目完成進度及遇到的問題在實訓項目管理子平臺上,“雙師”登陸高校云計算實訓項目管理子平臺,對學生開發項目的全過程進行監控、階段評價與引導;學生將各階段的開發文檔與軟件產品經項目文檔輸出模塊與作品展示平臺進行輸出與展示,“雙師”通過項目管理子平臺及時檢查每一開發過程的項目文檔,通過互動交流平臺及時解決學生的疑問。
(2)系統管理模塊
系統管理模塊是對云計算實訓平臺的運行、維護、應用軟件的二次開發、教學資源庫的動態更新、系統登錄權限設置等的管理。實訓平臺系統管理員應為高校指定的老師,負責基礎信息維護、通訊簿管理、系統用戶管理、模板管理、日志管理、數據備份與恢復等管理。使用者涉及高校老師、學生、合作企業老師三方,可分別以其三個身份進行登錄使用。實訓平臺向用戶提供統一的接口,任何一個授權用戶都可以通過標準的接口來登錄云計算實訓平臺提供的服務。為了方便用戶使用,在線云可借助Web2.0技術中的B/S結構,高校師生、合作企業老師只需要使用瀏覽器便可進行訪問。高校老師主要將實訓計劃與要求到云計算實訓平臺,企業老師按學校的要求在平臺上上傳軟件開發項目及相關指導文件,高校老師提供學生登錄賬號,高校與合作企業老師均可對實訓學生的信息進行審核并分組管理。
(3)學生管理模塊
學生管理是為了實現實訓目標,在實訓期間以學生為管理對象的各種計劃、組織、領導、控制活動,是取得實訓成功的重要條件。如圖4所示,云計算學生管理模塊包括學校管理、企業管理與學生自我管理子模塊。學校教學管理部門、學生工作部門、實訓指導老師分工協作,通過學校入口登陸云計算學生管理平臺對學生進行職能管理。教學管理部門主要檢查學生實訓計劃完成、實訓過程的資料存檔等情況,學生工作部門主要對學生信息、請假、考勤與學習態度進行檢查與考核,實訓指導老師主要對學生實訓項目的選擇、實訓效果檢查、實訓過程的指導、考核與評價。企業指導老師從企業入口登陸云計算學生管理平臺,對學生的實訓全過程進行指導、監控、評價。學生從學生入口登陸云計算學生管理平臺進行自我管理,如學生個人考勤、學生自評、組長申請、小組成員管理、小組評估。
(4)團隊管理模塊
為了提高軟件項目開發效率與實訓效果,開發小組采取團隊工作方式。開發團隊以自由組合的方式,由5-6名學生組成一個開發小組,根據學生對專業知識的掌握程度、項目開發的技能、經驗與興趣,學生自行推選出項目經理與任務角色分配,如開發經理、計劃經理、測試經理、技術支持經理等角色,還可以自行決定崗位輪換方式。小組成員在登陸至云計算軟件開發平臺以后,各司其職,協調配合地開展工作。“雙師”通過團隊管理模塊了解開發小組的分工,監視團隊的運行情況,同時,通過團隊管理模塊,激勵團隊成員的士氣和工作熱情,鼓勵團隊之間開展競爭,提高工作壓力。
(5)校企合作管理模塊
項目庫、案例庫、實訓教材等實訓資源的建設,企業真實工作環境的模擬,學生實訓過程的指導與管理等等均離不開學校與企業的通力合作,因此,校企深度合作是云計算實訓平臺成功的前提條件。通過建設云計算校企合作交流與管理平臺,加強學校與企業之間的溝通,明確雙方的職責、任務與權限,構建人才共育、過程共管、資源共享、優勢互補、責任共擔、互利互惠的合作機制,提高實訓質量。
4.實訓評估模塊
實訓評估既是對學生實訓效果、校企雙方合作成效的檢查,又是對云計算實訓平臺的考驗,是進一步完善與改進的實訓體系與教學管理體系的依據,同時,也是一種牽引和導向,促使學生了解自己在各階段努力的方向。評估體系是一個多維考核評價系統,包括專業技能、綜合能力和職業素養三個維度,其對象包括團隊評估和個人評估,其過程包括階段計劃評估和終結績效評估。實訓評估模塊由項目文檔輸出、作品展示、實訓報告、成績生成等模塊組成。
項目文檔輸出模塊能展示項目開發全過程的所有文檔,是“雙師”作為項目過程控制與質量控制的重要控制點,也是專業技能、綜合能力和職業素養的直觀表現。作品展示模塊為學生提供作品、個人基本信息、院校評價的展示,是實訓考核優異者的舞臺,也是學生評互,實現協作學習、共同提高的平臺,如果對學生就業面試單位開放,讓用人單位進一步地了解學生,還可以提高學生的就業競爭力。實驗報告是學生對全部實訓過程的總結與提高,實訓成績是學生實訓的綜合表現。各階段項目文檔輸出、軟件測試報告、學生實驗報告及學生自評等構成實訓成績評定的依據。實訓評估模塊記錄學生的日常開發工作與團隊表現,給出定量評價并匯總,做到全程實訓全程評價。
關鍵詞:軟件工程;人才培養;教學改革;職業化
自2002年我國高校設立軟件工程專業之初,軟件工程就是一門面向社會經濟發展的實際需求,并以培養具有扎實的計算機領域理論知識和技能,同時能夠從事軟件開發、科研、教學和應用的應用型人才為目標的學科。隨著我國素質教育改革的不斷深入,軟件工程專業的教學像其他以實用性教學為目的的學科一樣,面臨著如何向職業化轉變的問題。相關數據顯示,我國當前對軟件人才的需求達到了20萬人,并以每年20%左右的速度增長[1]。然而,傳統教學模式制約因素的存在阻礙著軟件工程專業的職業化轉變,影響著我國軟件人才的各種能力的培養[2]。因此,如何探索并革新我國軟件工程專業的教學模式,以實現其職業化的轉變是當前急需解決的問題。
1高校軟件工程專業傳統教學模式的不足
1.1課程體系側重理論
受制于計算機行業的整體環境,如軟件復雜性較簡單,計算機硬件設備性能較低等,軟件工程專業設立的初期并未對實踐性人才提出過高的要求,更加側重于培養“知識型”人才。因此,軟件工程課程體系的設置,也更加側重于培養軟件行業人才對軟件理論的理解與掌握[3]。對于實踐性的要求,僅限于能夠通過實踐掌握理論知識即可。在傳統課程體系中,理論課所占比重要遠遠大于實驗課,實驗課設置的目的是為了方便學生掌握理論知識[4]。課程內容也大多是教師事先安排好的內容。實踐證明,經過這種模式培養出來的學生多數具有良好的理論基礎,但是卻無法在實際中很好地運用這些理論。
1.2教學目標脫離職業化
職業化培養模式下的軟件行業人才應該具備軟件、硬件、網絡等各學科綜合知識的復合型人才。軟件行業人才不僅應該具備這些學科的理論知識,也應具備將這些學科的理論和實際結合起來的能力。然而,現有的教學模式則側重于理論教學,而忽略了職業化的軟件行業人才的培養應該是以理論和實踐的有機統一為目的。這種模式過于側重理論知識的學習,而忽略了理論和實際的融合,影響了職業化的發展。
1.3軟件工程就業缺乏導向性
當前,軟件工程教學的一個重要作用就是為學員提供良好的就業。來自前程無憂等幾家公司的報告顯示,企業對軟件工程師的需求仍居于首位,且具有可觀的薪酬。然而,跨入軟件技術領域,成為一名軟件工程師,相應的技能水平及經驗又是必備的“入場券”。如何在由學校跨入就業崗位后能夠快速掌握與就業崗位相適應的軟件開發技能,將是軟件工程專業教學需要考慮的問題[5]。然而,現有軟件工程教學缺乏就業導向性的不足,注定了這些專業學員無法快速適應就業能力需求。
2高校軟件工程專業教學模式改革的構想
2.1明確教學目標
當前的軟件工程專業的教學目標應該是培養職業化的具備軟件、硬件、網絡等各學科綜合知識的復合型人才。因此,軟件專業的教學目標可以基于S-CDIO[6,7,8]培養模式,將培養高層次、實用型、復合型的人才培養作為教學目標,同時強調培養學生扎實的計算機基礎知識、強力的實踐能力和理論應用能力。此外,還要引導學生時刻關注軟件工程及相關行業的各種新技術,如大數據、云計算、VR等。通過明確教學目標,從而能夠有針對性地設置課程體系和培養學生能力。
2.2課程體系設置
軟件工程課程體系的設置是為了培養理論和實踐兼備的復合型人才。它的設置,必須兼顧培養理論知識和實踐能力。圍繞這一目標,課程體系結構包括三個方面:(1)基礎課程。這類課程的設置用于培養學生的理論知識和基本的動手能力。首先,基于SE2004軟件工程方案設置與軟件工程學科相關的基礎科目,這些科目涵蓋的理論包括數據的機器級表示、由機器語言到匯編語言及各種結構化程序語言和面向對象編程語言的各種語言、能夠用基礎語言處理的各種新型技術理論等。通過這些課程的設置,使學生建立軟件工程相關課程的完整概念。其次,設置能夠應用軟件工程方法的課程。這些課程的設置能夠將實際的程序設計和軟件工程理論知識融為一體,并將基礎程序設計方法的學習和小、中規模的軟件結構設計相互融合,培養學生的綜合應用能力。在具體課程方面,可以設置一些如基于瀑布模型的設計方法,可以為學生講授小組級、中規模軟件系統建的綜合技術;如基于螺旋開發模型的方法,可以通過構建中等規模系統,培養學生理論、管理、開發等綜合技能。(2)專業核心課程。傳統教學模式中,專業核心課程的設置思路主要是用于構造計算機系統的核心知識[9]。針對這一情況,改革后的專業核心課程的設置則傾向于培養學生利用各種計算機高級技術解決實際問題的能力,涵蓋了與軟件工程相關的各種計算機硬件、不同等級的程序設計、互聯網環境下的軟件設計、數據庫環境下的軟件設計、面向人機交互的軟件設計等知識。除了這些課程,還設置了一些覆蓋軟件工程高級技術需求的課程,這些課程涵蓋了軟件工程的需求、設計、構造、質量、過程、管理等各方面知識,能夠培養學生從整體上解決整個軟件項目的能力。
2.3改進教學方法
軟件工程專業職業化人才的培養需要做到“教、學、做”的合一。然而,現有教學方法的不足使得現有教學方法只是做到了“教”和“學”兩點,卻忽視了“做”是實現教學的根本目的核心。針對這點,可以從兩點進行改進。第一點,采用案例教學法。案例教學法要求老師在講解理論知識時,始終圍繞已有的項目進行。將一個完整的項目和理論體系拆解分配到個個教學環節中。在每個環節,則明確教學目標、分解教學內容、分析關鍵技術和步驟、引導學生參與項目實踐、展示項目效果。第二點則是考慮使用現代化教學手段。圍繞發揮軟件工程專業實踐教學為中心的地位,通過增加實驗內容和學生實際動手能力,為學生提供充分參與項目實踐的機會。同時,還可以開展大型綜合實驗、綜合實訓、企業實習、畢業設計等實踐教學內容教學,通過開設大型綜合性的實驗課程或綜合實訓課程、組織學生到Ⅱ企業頂崗實習、利用所學知識進行項目開發的能力和就業競爭能力。
2.4加強教學隊伍建設
教學隊伍是高校軟件工程專業教學中的一個重要環節。教師的水平影響著課堂教學和學生動手能力的高低。在現有的一些教師隊伍中,一些教師往往具有很高的理論素養,然而卻缺少足夠的項目經驗[10]。這給學生的實踐教學帶來了不利影響。因此,應該加強教師隊伍的建設。在具體的舉措方面,要做到兩點:(1)學校要引進具有豐富項目經驗的教師或者制定教師提高教學水平的計劃。通過實施這些計劃,使教師能夠加強學習、鉆研業務,掌握教學技能,提高他們的教學水平和教學技巧。(2)學校加大對軟件工程專業教育的投入,多組織高校軟件工程專業教師參加省級培訓、校級培訓等再培訓工作,著手培養基礎好、教學技能優秀、有事業心、敬崗愛業的專業教師,增強軟件工程專業教學師資力量。
2.5培養學生的職業素養和崗位實戰能力
為學生創造職業化的教學環境是提高學生職業素養和崗位實踐能力的最有效手段。在這方面,可以通過和一些企業合作,將學生放置到企業的真實項目中。可以從三個方面進行:(1)組織學生參加和學習企業的項目文化,如定期為學生模擬企業項目運行方式、參觀企業產品展示廳、聽取企業項目負責人、技術人員和管理人員有關企業產品開發的專題報告以及生產管理模式、技術發展趨勢和企業文化、企業資源管理方面的專題報告等;(2)通過持續的教學,為學生建立就業需要的知識體系和技術體系,幫助學生規劃自己的職業生涯,并通過讓學生深入了解自己的能力,認清自己能夠從事的職業;(3)這方面是為了培養學生適應就業所需要的企業文化中的團隊精神、職業技能等。可以聯合企業嚴格按照企業產品的開發以及企業需要的一些技能來對學生進行職業技能、職業素質、團隊精神、職業規范等進行強化訓練來提高學生這方面的職業素養。
3結束語
當前的軟件工程專業的教學處于向職業化轉變的時期。只有對傳統教學模式中那些制約軟件工程專業的職業化轉變的因素進行改革,才能提高我國軟件人才培養水平、實現教學模式職業化轉變,并最終適應社會對軟件工程專業人才的需求。
參考文獻:
[1]藍斌.淺析高校軟件工程專業教改模式[J].計算機光盤軟件與應用,2014(17):313-313.
[2]郝雋.CDIO理念下的軟件工程專業人才培養模式研究[J].中外企業家,2016(3).
[3]張凱,孫華,冷洪勇,等.項目驅動模式在軟件工程人才培養中的應用與反思[J].電腦知識與技術:學術交流,2016,12(1Z):150-151.
[4]檀明,許強,張家銳.軟件專業人才培養模式改革研究與實踐[J].電腦知識與技術:學術交流,2016,12(2):145-146.
[5]司海平,王曉茜.面向市場的軟件工程人才培養與課程體系優化[J].信息系統工程,2017(5):166-168.
[6]鐘瑛,朱順痣.《軟件開發綜合實訓》課程教學模式若干思考[J].科技創新導報,2012(31):187-188.
[7]王立娟,何丹丹,翟悅.基于CDIO理念的軟件工程專業工程化實踐教學改革的研究[J].當代教育實踐與教學研究:電子刊,2015(12).
[8]胡安明.基于CDIO理念創新軟件專業實踐教學的研究[J].科學導報,2016(2).
[9]葉娜,祁飛,邊根慶,等.面向國際化人才培養的軟件工程專業本科教育課程體系研究[J].教育教學論壇,2015(15):142-143.