前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的軟件測試實訓總結主題范文,僅供參考,歡迎閱讀并收藏。
關鍵詞:高等職業院校; 軟件測試; 實踐性教學環節
中圖分類號:G712,TP31 文獻標識碼:A 文章編號:1006-3315(2015)02-144-001
1.專業人才需求
我國軟件產業被預測為21世紀擁有最大產業規模和最具廣闊前景的新興產業之一。按《湖北省中長期人才發展規劃綱要(2010-2020年)》公布的全省經濟重點領域急需緊缺人才開發一覽表,軟件工程師及測試人員2020年要達到9.3萬人,我省軟件測試專業人才缺口很大。
2.校企合作模式
學校2010年與企業合辦軟件測試專業。合作企業參與專業人才培養的全過程,提供真實項目資源、教學案例、兼職師資,并且參與專業教學、學生評價和學生就業,并承擔相應的責任。雙方共同申報科研課題、共同解決技術難題,共建共用課程資源、教材和實訓實習基地等教學資源,實施校企合作的人才培養模式。
軟件測試專業學生第五學期在合作企業進行為期6個月的頂崗實訓。合作企業結合軟件人才的實際崗位需求,將培訓學生按照企業的真實環境,組織企業師資團隊,按照企業軟件開發的流程,為學生分組分配角色,對學生進行軟件項目實訓指導和技術培訓,使同學們了解軟件開發主流技術,理解現代軟件開發的規范過程,并在項目經理的帶領下,以開發團隊的形式,進行高強度的全真項目開發實踐。在實訓過程中,通過進度壓力、質量壓力、團隊氛圍,激發同學們自身的潛能,使同學們得到了很好的鍛煉,獲取直接的軟件開發技能,積累實戰經驗,為就業及日后可持續發展打好基礎。
合作企業跟蹤計算機技術的最新發展動態,分析現今主流的軟件開發語言,按照中國軟件行業對軟件人才的需求標準,根據當前IT企業就業的熱門方向,結合同學們的興趣特長,將軟件測試專業在職業技能學習上劃分了三個方向:Java方向、PHP方向和Net方向。分方向教學,讓學生在一個方向上學深、學專。通過分方向教學軟件測試專業畢業生在專業知識和技能上更精、更專,滿足了現今軟件企業的人才要求。
3.實踐教學環節探索
通過校企合作,在實踐性教學環節做了以下的有益探索和實踐。
一是校企合作雙方提前布局、全面部署、計劃周到。實訓前,合作雙方進行了溝通交流,就培訓內容、目標要求與企業進行了充分協商,對學生進行了實訓前的動員,提出了實習實訓的具體要求,統一了思想認識。
二是實訓目標明確、內容充實、過程扎實、收獲頗豐。合作企業周密安排,從內容培訓到項目制作進行了合理規劃,教學內容充實、項目制作任務大、模塊多、要求高,實習內容既有常用技能訓練,又有新技能滲透,使學生真正學到了軟件開發的關鍵技能和最新技術,從教學內容上保證了實訓的質量。
三是制度保障、管理嚴格、全程跟進。實訓過程中,企業方全程跟進,堅持課前有考勤、課中有檢查、周末有小結,結果考核有答辯,堅持經常召開學生會議,強化實訓制度與要求,并把學生的出勤、表現、技能掌握情況與答辯成績納入實習成績評價范疇。除專業教員之外,企業還安排教學督導員,堅持對學生跟蹤指導、坐班聽課,做到管理到位,思想到家,關心到人,從措施與管理上保證了實訓的有序性。
四是創建真實的企業環境,營造良好的學習氛圍。軟件測試專業實踐環節按軟件企業真實工作環境建設。位于合作企業實訓基地完全按軟件企業的功能布局和風格進行實訓環境設計,學生實訓期間,與企業員工要求一致,需要佩戴學員卡,并打卡記錄考勤。
五是提供真實的實訓項目,搭建專業的培訓平臺。將真實項目引入實踐教學課堂,追蹤技術潮流,有效提升了學生的工程實踐能力,實現與企業無縫對接。
六是配備真實的項目經理,組成雙師素質教學團隊,他們參與過中、大型軟件項目開發,具有豐富的項目開發和團隊管理經驗,同時還有較高的授課水平。
七是營造真實的工作壓力,激發學生學習潛力。在企業實訓中,企業會安排人員模擬客戶代表給予項目組施加真實的項目壓力,例如需求變更、新技術風險、工期變更、人員變動等問題,讓實訓學生來應對,從而培養學生承受工作壓力的能力和應變能力,為以后踏入職場打下基礎。
八是面向企業推薦符合條件的學生,解決學生就業問題。合作企業下設人力資源公司,該公司負責聯絡國內各大軟件企業,了解用人需求,并根據培訓學生的表現,選拔推薦同學到有關企業就業或組織招聘、面試,解決同學們就業需求。
通過企業頂崗實習、培訓,學生普遍切身感受到企業文化和企業工作氛圍的熏陶,受到了企業工程師嚴謹求實、刻苦攻關、愛崗敬業的精神教育,學到了軟件設計與開發的基本技能、了解了軟件產業的新近發展情況,增強了學好專業技能的緊迫感,培養了團隊協作精神,提高了表達、溝通及自我管理能力,收獲很大。
項目來源:武漢市市屬高校教學研究重點項目《軟件技術專業仿真式企業課堂與虛擬公司模式研究》(2013039)
參考文獻:
[1]高志升.軟件測試技術教學方法[J]電腦知識與技術,2010年09期
[2]程茂,溫靜,吳玉潔.《軟件測試》課程的教學研究[J]河北師范大學學報(教育科學版),2010年04期
[3]胡宏銀.軟件測試課程教學方法探討與實踐[J]計算機教育,2007年12期
關鍵詞:軟件測試;測試工具;測試管理;企業需求
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2014)32-7664-02
Abstract: In order to reverse the misunderstanding in College of Software Testing Talents Training, through explains the intension of software testing,proposes the teaching was in the software testing course necessary and feasible, as long as the change of thoughts, simulation test case of enterprises in the process of teaching, students' comprehensive quality training, can cultivatecomprehensive talent of software testing by enterprise love.
Key words: Software testing; test tool; test management; enterprise demand
自上世紀80年代,伴隨著軟件行業的發展需要,軟件測試的基礎理論和實用技術開始形成,經過三十多年的發展,軟件測試在軟件開發行業中的角色越來越重要,我們目前評價軟件測試,它即需要工具和技術的支持,更需要有科學的管理體制,它既要保證軟件能夠健壯運行,又要保證軟件的功能完全符合客戶的需求,一個好的測試隊伍,是軟件開發必不可少的依靠,尤其是復雜的軟件項目,開發和測試要親如手足,才能保證項目的順利進行。
目前高校的軟件相關專業的畢業生,大約有1/5的人在5年之內從事過或最終從事軟件測試相關的職業,這是一個相當大的比重,同時也反應出社會上對軟件測試職業的缺口很大,眾所周知,高等教育往往落后于企業的實際發展,這種“厚基礎,寬口徑”的辦學宗旨已經盛行了很多年,當然,在許多專業領域,這種以不變應萬變的培養體系是最明智的選擇,但在計算機軟件教學領域,因為這個學科的發展速度幾乎超乎人類的想象,因此我們必須讓學生在校園里感受到計算機企業中對計算機技術的需求方向,這樣才不至于在學生走出校園時無所適從。軟件測試職業的職位待遇穩步提升,而且其職業壽命要遠遠長于軟件開發,從學生的職業規劃角度來看,在高校進行軟件測試中高級人才的培養是一條可行之路。
1 高校開設軟件測試課程的必要性
事實上,在高校計算機教學體系中開設軟件測試課程,并不單單是為了迎合企業的需求,軟件測試是軟件工程課程的延伸,是軟件開發課程的補充,是軟件管理課程的實踐。
軟件測試課程的基礎學科涉及數學、計算機導論、軟件工程、計算機組成、管理學和信息技術等,如果沒有這些學科的支撐,軟件測試無法深入學習。
軟件測試課程的開設,對高校計算機軟件專業的學生來講,是有著非常大的意義的,目前很多大型的軟件企業并不擔心開發人員的招聘,而對熟練掌握軟件測試技術和管理方法的高級測試人員求賢若渴,這一方向的職業缺口確實非常之大,究其原因就是目前幾乎所有高校的軟件相關專業都開設了軟件開發從技術到管理的全套課程,而軟件測試的相關課程幾乎為零,這樣的學生走出去,很難迅速掌握測試的理念,也無力制定宏觀測試計劃,不得不從測試行業最低端的測試員開始做起,這對于高校畢業生來講這是一種人才的浪費,在高校的計算機課程體系加入軟件測試內容已經迫在眉睫。
在任何一個行業,從業人員對行業的成熟度區分,是企業招聘首先要考慮的問題,我們經常在招聘信息中看到“有工作經驗”這樣的條款,在軟件測試行業也是如此,一般給出5種分級:1級我們稱之為用戶級測試人員,這一級別的測試人員直接扮演客戶的角色來使用軟件,看是否能發現問題;2級是軟件測試操作員,這類人群受過一定程度軟件測試的專門訓練,可以執行上級下達的具體測試任務;3級是軟件測試技術員,這一職位人群有很多軟件測試的經驗,能夠非常熟練的使用某些軟件測試專門技術,能夠設計測試用例;4級是軟件測試系統工程師,他們具有相當廣泛的計算機相關專業知識,熟悉軟件開發,熟練掌握所有軟件測試技術,并具有項目管理經驗;5級是軟件測試總工程師,總工程師負責管理整個軟件測試項目,具有掌控全局的能力和技術。
高校軟件測試人才的培養,其目標要向3級人才靠近,并且這些人才有向4級或5級成長的持續發展能力。
2 軟件測試教學中需要重視的兩個問題
2.1扭轉重開發,輕測試的偏見思想
很多人輕視軟件測試,認為軟件測試無需具備很高的技能,是沒有前途的工作,缺乏創造性,很多高校也存在重開發,輕測試的思想,學生在這種觀點的熏陶下,也對測試工作存在偏見,其中對軟件測試工作有三個認識誤區尤為突出:首先,軟件測試是軟件開發完成之后才進行的,只是軟件編碼的最后一個階段,其地位可有可無。其次,軟件測試不需要具備很高的專業技能,工作乏味枯燥,不具創造性,最后,軟件投入使用后一旦出現BUG,測試人員要負主要責任。
事實上,首先,一個好的軟件測試團隊,在軟件需求分析階段就已經開始測試了,開發人員理解的客戶需求是否正確,要由測試人員監控和保證,測試工作和開發工作是并行的,尤其在軟件項目開始的時候,監控和防范一個微小的問題或隱患,是為了防止軟件成型后出現無法挽回的缺陷。其次,軟件測試是一項綜合技能能強的工作,運用測試工具的能力,與人溝通的能力,有效管理的能力,書寫文案的能力等等,做好軟件測試工作絕對不是想象的那么簡單,而且一旦具備了綜合測試的素質,將是受用終身的資本。最后,軟件測試規范實施后,軟件仍然可能出現BUG,這是開發和測試人員應該共同面對的現實問題,測試人員只能保證BUG越來越少,越來越不影響系統的健壯運行。
2.2強調管理與技術并重
軟件測試的規范實施需要測試技術和管理方法兩方面的支撐,如果不具備專業的測試技術,只能做一些簡單的功能測試,如果不具備宏觀管理計劃的能力,只能處于被指揮狀態進行片面測試的實施,現在軟件測試真正缺少的是技術和管理兼備的人才,高校的學生素質非常適合軟件測試高端人才的培養。高校的培養中,要讓學生深刻理解,我們培養的學生不是只能低頭做測試任務,而是要能指揮測試工作,這絕對不是件簡單的工作,需要全面的技能和完善的人格,只有這樣的人才,才能帶領出出色的測試隊伍。
教學中,增加實訓環節,給學生安排豐富的實例和習題,最好采用實際軟件項目的測試案例,讓學生在學校感受到企業中一樣的工作環境,并安排和企業中一樣的測試崗位,讓學生體會溝通和管理的必要,在獨立處理問題的過程中激發學生的學習興趣,促進理論和實踐教學的結合,把對學生的應用能力的培養融匯于教學中。
3 軟件測試專業課程設計的目標和原則
軟件測試專業要全方位的培養和提高學生的基礎理論、實踐能力、設計能力、實踐訓練等綜合素質。重視管理、人文、經濟等知識的學習。
3.1軟件測試專業課程設計的目標
高校軟件測試培養目標要以市場為導向,培養具有一定的設計測試計劃方案的、具有管理能力,能平衡整個測試項目各方面因素的軟件人才,這些人才要具備軟件開發的整體認識,能制定和執行測試,能利用測試工具完成一定測試任務。
本專業課程的重點包括:軟件缺陷生命周期管理;軟件測試基本概念的內涵;主流測試工具的應用;進行全面的系統測試的方法;注課程以實訓為主,重動手能力的培養等。 具體課程要涵蓋:熟練掌握至少一種數據庫應用技術及一門軟件開發語言;了解軟件開發過程中軟件測試的重要性;掌握主流的自動化測試工具;科學管理測試隊伍。
3.2軟件測試專業課程設計的原則
課程的設計要體現與時俱進的精神,以企業的實際項目為依托,主要原則包括:
1)開展項目教學,項目教學具有針對性、研究性、啟發性和實踐性等。項目的選擇要知識涵蓋全面,要能夠激起學生的學習興趣。
2)制定專業課程計劃、課程大綱和教學方案等,課程計劃提倡電子化、網絡化和課堂教學并用,建設校企合作的專兼結合的教學團隊,開設以項目為載體的教育大綱,用以指導課程教學工作的開展。
3)建立測試工程內容的課程結構模式,把真正的測試項目開展到課堂上來,或者讓學生在學習期間進入企業進行崗前培訓,充分安排工程實踐,引進軟件測試的工程師資格認證,同時逐步建立科學的工程教育檢驗和質量評估體系。
理論與實踐并重,課程需要涵蓋單元測試、集成測試、性能測試、功能測試與系統測試。注重設計和管理的執行過程。為學生創造可自由而主動的學習氛圍。以學生為出發點,在軟件測試中融會貫通大學里學習的軟件相關課程,在項目驅使下培養主動學習的能力。采用分組討論學習方式,結合實際項目,把學生組織為若干小組,在教師指導下完成工作。不斷提升學校教師的專能,提供系統學習和階段性培訓機制。
4 總結
軟件測試課程在高校的教學中,沒有現成的經驗和模式,需要我們根據行業的發展隨時調整,以社會需求為導向,以培養行業
中高級人才為目標,以項目實訓教學為依托,邊進行邊思考,逐步發展,逐步穩定,所以我們要以發展的眼光,靈活的策略來微調教學過程的細節,測試無處不在,高校進行軟件測試的教學改革也是一種測試,只要我們采用嚴謹的工程控制策略,科學管理,總結規律,必然能取得高校進行軟件測試課程探索的勝利。
參考文獻:
[1] Ron Patton.軟件測試[M].北京:機械工業出版社,2002.
[2] Myers G J.軟件測試的藝術(中文版)[M].王峰,陳杰,譯.北京:機械工業出版社,2006.
關鍵詞:軟件測試;校企合作;面向企業;教學改革
0 引言
隨著軟件技術的發展和應用日益廣泛,軟件系統的規模和復雜性與日俱增。然而,由于軟件本身是邏輯實體,軟件開發目前還主要依賴手工勞動,軟件的變更比較頻繁等,導致了軟件質量很難得到保證。軟件缺陷導致的各類損失不斷增加,甚至帶來災難性的后果。軟件質量問題已成為所有軟件使用者和開發者關注的焦點,而作為軟件質量保證和質量控制的有效手段,軟件測試受到了企業、用戶及專家越來越多的關注。隨著用戶對軟件質量要求的提高,企業對軟件測試人才的需求量逐年遞增。據前程無憂網數據顯示,2011年國內軟件測試人才缺口高達20萬,2012年缺口突破30萬人。作為人才培養的主要基地,高校成為企業挖掘軟件測試人才的主要關注地。然而,從目前的企業反饋來看,應屆畢業生很難直接被使用,而是需要經過長時間的培訓,成本較高,這導致了企業對高校人才引進的信任危機。高校也慢慢意識到了這些問題,開始加強軟件測試人才的培養。筆者從企業軟件測試人員的引進及使用現狀、高校軟件測試人才的培養及教學現狀進行分析,對軟件測試課程教學改革進行討論,并提出一些意見,以期能夠對目前的軟件測試人才培養起到一定的促進作用。
1 高校軟件測試課程教學現狀
2001年12月,國家批準建立了35所國家級示范性軟件學院,其中軟件測試課程成為本科及碩士研究生的專業核心課程之一。然而受傳統人才培養模式的影響,高校在軟件測試課程設置及人才培養上存在著如下不足。
1.1 傳統“知識碎片”式的教學模式
在軟件測試課程的教學上,大多數高校仍然采用的是以理論教學為主,實踐教學為輔的教學模式,教師在課堂上講授理論知識,學生上機完成相應的作業。教師授課時采用的案例和學生課后的作業,大多數都是以掌握知識點為主,比較片面,學生無法形成對軟件測試工作的整體認識,更多的是一些“知識碎片”。如講授測試用例設計方法時,教師已講完等價分類法,學生也做了作業,但是學生最終還是不清楚到底為什么要學習等價分類法、在什么情況下用等價分類法,甚至實際應用中真正的測試用例是什么樣子都不清楚。類似的單一孤立知識點的學習對學生來說并不合適。
1.2 具有專業知識及實際經驗的師資力量匱乏
目前在高校從事軟件測試課程教學的教師中,不具備軟件測試專業知識及實際軟件測試項目經驗的占很大比重。一些教師未經過軟件測試專業知識培訓,不具備實際經驗,僅僅是憑借書本進行理論教學,對現實企業中的軟件測試工作不了解,無法針對企業的人才需求展開具有針對性的教學活動。
1.3 實踐教學環境不完備
軟件測試是一門實踐性要求較高的課程,僅僅是通過小型的測試練習是無法達到實踐的目的和效果的,必須建立完備的實踐教學體系和環境。目前高校普遍缺乏真正的軟件測試環境,學生無法通過項目實踐來理解和深入學習軟件測試的相關技能,如軟件測試工具的使用,網絡架構對軟件系統性能的影響,大批量數據處理的性能測試及分析等。
1.4 對學生的理解誤區未給予正確的引導
學生在大學校園中的學習受到社會觀念的影響,對軟件測試產生錯誤的認識和理解,對現實中的軟件測試工作缺乏興趣,從而影響到對軟件測試知識和技能的學習。如“軟件測試工作的技術含量較低,發展前景不如軟件開發工作”“軟件測試工作薪資較低”等,對于這些錯誤的認識,教師在教學過程中未給予正確的引導,從而導致學生就業后不愿意從事軟件測試工作。
2 企業軟件測試人才需求及使用現狀
2.1 企業軟件測試人才引進現狀
軟件測試屬于軟件質量管理的范疇,與軟件開發不同,軟件測試并不直接產生效益,所以企業在這方面的人員投入相對比較謹慎。在歐美等軟件產業發達國家的軟件企業中,測試人員與開發人員的配置比例一般已達到或超過1:1;而在國內被調查軟件企業中,能夠基本達到該比例的企業僅占22%,很多軟件企業的測試人員與開發人員的比例達到1:7以上。
隨著國內軟件市場不斷擴大,軟件企業逐漸走人正軌。近年來,軟件質量越來越被關注,軟件測試日益引起國內軟件企業的高度重視,企業在軟件測試人力上的投入也在逐漸增大。而目前企業引進軟件測試人才的主要途徑有3個方面:高校、培訓機構和自主培養。自主培養軟件測試人員的周期相對較長,無法滿足人才需求的快速增長;社會培訓機構舉辦的各類培訓價格不菲,生源相對較少,且培養出的人才質量良莠不齊,無法緩解人才市場的緊缺狀況,這就使得高校成為軟件測試人才引進的主要源頭。然而,國內高等教育院校對相應的市場需求反應遲緩,開設軟件測試專業的院校很少,且應屆畢業生常常無法馬上勝任相關工作。
2.2 企業軟件測試人才技能要求
目前,企業中軟件測試人員的工作崗位主要包括以下幾種。
1)測試員。
測試員的技能需求主要包括:根據測試規程執行測試,記錄測試過程及結果,編寫測試日志和提交BUG描述;編寫用戶手冊、在線幫助;參與整理測試項目相關文檔、資料等。
2)測試工程師。
測試工程師的技能需求主要包括:根據自動化測試設計,編寫測試腳本;根據測試模擬環境設計,開發測試模擬環境及測試工具;協助OA人員對代碼進行規范性檢查(按照公司標準文件),并記錄檢查結果;代碼測試及走查;制定測試規程,審查測試員的測試日志及BUG描述,并對測試員的測試工作進行指導;分析測試過程及結果,指出可能出錯的原因等。
3)高級測試工程師。
高級測試工程師的技能需求主要包括:制定測試方案;分析軟件項目需求,進行測試需求分析;根據軟件項目概要設計、詳細設計和測試需求,進行測試設計,編寫測試用例;進行自動化測試設計,并指導測試工程師編寫測試腳本;測試工具及測試模擬環境的設計,并指導測試工程師進行測試工具及測試模擬環境開發;進行測試結果分析,編寫測試分析報告;在統計分析的基礎上對軟件整體質量進行評估,提出軟件過程改進建議;改進測試過程、方法、技術和工具等。
4)測試經理。
測試經理的技能需求主要包括:測試項目總體計劃的制訂;組織測試項目總體計劃的評審;測試項目執行過程的跟蹤和監控管理,并向軟件項目組負責人和質量部測試主管報告測試項目的執行情況;分析測試項目資源(人員、設備等)需求,申請資源并參與相關協調工作;制定測試規范;制定階段測試計劃,分配測試任務;組織測試方案、測試需求、測試設計、測試用例、測試腳本、測試分析報告等的評審;組織測試人員的相關培訓;測試項目總結;測試項目組的日常管理工作;測試項目組內部的溝通與協調;測試項目組與開發組之間的溝通與協調;測試項目組內部人員的績效考核管理;向軟件項目組提交測試分析報告等。
3 軟件測試課程改革方案
綜上可以看出,高校在軟件測試人才方面的培養模式已經不能適應我國軟件產業發展的現狀,不能夠提供適合企業需求的軟件測試人才。為適應我國經濟結構戰略性調整的要求和軟件產業發展對人才的迫切需要,實現軟件人才培養的跨越式發展,筆者認為高校應該根據企業需要,針對軟件測試課程展開深入的教學改革和實踐活動,調整培養方案,從而培養出大批合格的軟件測試人才。
軟件測試屬于軟件工程專業的一個方向,可以依托軟件工程專業,加強軟件測試課程建設,加大軟件測試方面的師資力量,改進教學方法,加強實踐教學環節,培養出具有扎實的軟件測試理論基礎、掌握測試方法和具有一定測試經驗的人才。
3.1 正確引導學生的學習觀念,培養學習興趣
要想培養優秀的、符合企業要求的軟件測試人才,必須正確引導學生的學習觀念,培養學習興趣。由于社會上一些錯誤觀念的引導,導致了學生畢業后不愿意從事軟件測試工作,從而對軟件測試課程的學習興趣不濃。學生中普遍認為“軟件測試工作的技術含量不如軟件開發”“軟件測試工作是一種簡單的、重復性的勞動”“軟件測試工作更多的是需要耐心,而不是能力”等,對于這樣的錯誤觀念,應加以正確的引導。
首先,應分析這種觀念產生的原因。在畢業生就業時,很多企業對軟件開發人員開出的薪資比軟件測試人員高,這是實際存在的現象。進一步分析這種現象產生的原因主要與企業目前的軟件測試工作現狀有關,大部分企業所作的測試主要集中在功能測試,甚至是界面測試上,難度相對較?。徽衅笉徫换旧隙ㄎ粸闇y試員,所以開出的薪資較低。而對于測試工程師、高級測試工程師等軟件測試崗位,企業開出的薪資并不會比軟件開發崗位低。
其次,可以將軟件測試工作和軟件開發工作相比較,目前在企業里的軟件開發基本上都是采用成熟的開發框架,開發人員只需要編寫少量的代碼就可以完成相應的功能模塊。同時為了開發效率高,企業基本上會將開發人員定位為某個技術領域,比如界面層開發、業務邏輯層開發、數據處理層開發等,不會讓開發人員隨意變更技術領域。每個領域的開發都是有“前輩”積累的代碼或成熟的框架和組件,開發人員的開發難度相對較低,在不同項目中重復性很高,“技術面狹窄、無法深入”已經成為開發人員的明顯特征。反觀軟件測試工作,雖然測試員的工作相對簡單,但是對于測試工程師和高級測試工程師來說,其工作涉及需求分析、設計和編碼等范圍,在項目中要涵蓋每一個領域。比如功能測試要涉及業務的全面理解,性能測試要涉及各個知識領域,包括框架、數據庫、通信、網絡等;從技術來說,軟件測試人員比軟件開發人員的知識領域和知識理解程度“更寬、更深入”。通過引導,讓學生更清楚軟件測試工作的現狀和未來發展,從而提高其學習興趣。
3.2 基于完整項目的實踐教學
軟件測試的目的是“盡可能地發現軟件中的缺陷”,要達到這個目的就必須要了解軟件,了解軟件的開發過程,了解軟件開發人員的思維方式。目前很多高校軟件測試課程的實踐教學都采用小組的形式完成一個測試任務,編寫《測試計劃》《測試用例》《測試總結報告》等文檔,但是這樣的實踐教學模式過于形式化。學生基本上都是“為了測試而測試”,生搬硬套文檔模板,是因為并不了解軟件及開發流程,無法從本質上尋找問題,測試流于表面。
要想更好地提高測試技能,必須改變實踐教學模式,不能將測試與開發相脫離,而應該讓學生投入一個完整的項目實踐課題,從中體會測試與開發的關系。項目實踐課題可以關注以下幾個方面。
(1)課題內容以學生學習和生活中所熟悉的軟件系統為對象,如《學生宿舍管理系統》《圖書館管理系統》《校園郵件收發管理系統》等,這樣可以更好地引起學生的興趣。
(2)課題的組織采用小組的形式,3~5人為一個小組,自由組合,并推選一位項目負責人來管理項目。
(3)課題的目標是完成一個軟件系統的開發及測試??紤]到與企業里的真實工作流程相結合,項目采用“交叉測試”形式,即每個小組完成本組軟件系統的開發任務,然后將軟件(包括文檔)提交給另外一組進行測試,這就符合“第三方測試”的要求。
(4)課題的考核采用小組答辯的形式。每個小組將自己的開發成果、測試成果進行展示,其他組的同學和老師可以有針對性地提出問題,并對每個小組進行打分,然后根據權重值產生每組的最終成績。
通過這樣的項目實踐,可以讓學生了解軟件項目的開發和測試整體流程。在開發時考慮可能會出現的問題;在測試時進行反思,并深入挖掘,以自身的開發實踐來促進測試,對測試的技術難度和復雜度有更深切的體會,從而提高軟件測試技能。
3.3 加強校企合作,提高師資水平,建設課程實踐環境
企業需要人才,高校為企業培養人才,這無疑為校企合作提供了可行性。高校目前在軟件測試課程教學上存在著一定的困難,一方面是師資問題,缺乏具有實際軟件測試經驗的教師;另一方面是課程實踐環境問題,缺乏真實的軟件測試環境。這些問題都可以通過校企合作來尋求解決。
(1)高校將教師送到專門的培訓機構學習軟件測試技能;還可以與企業合作,將教師送入企業參與實際的軟件項目,與測試人員一起工作,在實踐中學習。這樣就可以培養出一批具有實際測試經驗和技能的專業教師團隊。
(2)高校和企業合作建立軟件測試模擬環境,可以參照企業來建立自己的測試模擬環境,也可以和企業共享。這樣既節約了成本,又能使得測試環境更加專業,滿足學生課程實踐的需要。
(3)聘請企業中的資深高級軟件測試工程師和軟件開發工程師到學校擔任助教或顧問,與學生面對面交流,對學生的學習和實踐進行指導,從而開拓學生的視野。
(4)在教學中引入企業的實際項目作為案例,結合實際項目中所用到的測試方法和測試技能;也可以請實踐項目的開發人員和測試人員現身說法,與學生共享實際經驗,讓學生真切體會實際項目和理論教學之間的差別,從而達到理論和實踐相結合的目的。
(5)聘請企業中資深的軟件測試人員帶領學生進行課程實訓,實訓的題目可以是虛擬的也可以是企業中的實際項目;或者讓學生到企業進行實訓,參與實際的軟件項目,讓他們真正了解實際的軟件測試流程及方法,在實踐中提高測試技能。
通過與企業合作,不僅能夠培養一支具有實際經驗的師資隊伍,也能讓學生從企業的項目中學習到實際的技能。同樣,企業也可以在與高校的合作中引進自己所需要的人才,這對于雙方來說都是非常有價值的。
3.4 走教學產業化發展道路
雖然高校并非是盈利機構,主要以培養人才和科學研究為主,但是“巧婦難為無米之炊”,培養人才和科學研究必須要有相應的資源。如果單純依靠國家的投入,無疑是“杯水車薪”,所以,需要考慮依靠自身的力量和優勢來獲得資源。教學產業化是一條可以嘗試的發展道路。
在軟件測試的課程建設中,可以考慮通過國家投入和企業合作的方式,建立一個完整的軟件測評環境以及一支由高校教師和企業資深的軟件測試工程師共同組成的軟件測評隊伍,這樣的測評環境和測評隊伍可以在滿足高校實踐教學的基礎上面向社會,與一些具有資質的測評中心合作,共同承擔企業的軟件測評任務。這反過來能夠促進測評環境和測試隊伍的建設和發展,不僅滿足了教學要求,又尋找到了一條產業化的發展道路,無疑會對高校其他學科的建設和發展提供借鑒。
4 結語
筆者正是從企業用人的實際需求出發,提出加強校企合作的如上思路,提出面向企業的軟件測試課程教學改革方法,讓企業能夠真正引進優秀人才,讓高校走上產業化促進教學發展的道路。
參考文獻:
[1]楊鵬,賀平.高職軟件測試專業的構建與探索[J].計算機教育,2008(2):63-66.
[2]王福良,任傳榮,楊彩萍.關于普通高校教學課程體系改革的思考與實踐[J].天津工業大學學報,2002,21(3):26-28.
軟件開發技術專業是高職院校廣泛開設的一個傳統大眾化專業,所謂傳統意味著歷史資源的積累,大眾化代表著難于創新。高職院校軟件技術專業如何培養符合現代IT企業需求的一線技術人員,在現代軟件行業就業壓力較大的前提下,尋求更大的就業競爭力,這就要從人才培養的源頭抓起。廣泛調研,緊跟行業發展趨勢,摸清企業對高職畢業生的定位,踏實做好專業建設,探索人才培養模式是提高人才培養質量,提高就業競爭力的法寶。
1 形成“職業情境、項目主導、三階段技能遞進式”人才培養模式
軟件技術專業以應用型、技能型的“軟件灰領”培養模式為主線,以應用能力和適應能力培養模式為輔線,學歷教育與崗位技術培訓相結合,提出三階段技能遞進式的人才培養模式。第一階段為職業素質養成階段,主要培養學生對專業基礎知識的積累;第二階段為職業能力提升階段,重點培養學生的專業技術能力;第三階段為職業崗位規劃階段,重點進行學生的就業崗位能力的提升。
2 探索軟件技術專業人才培養方案緊隨市場需求的動態調整方法
人才培養方案要隨著行業、企業的發展進行調整,尤其是軟件技術發展迅速,伴隨著產生新的崗位及新的人才需求。項目組根據對行業企業的調研走訪、對畢業生的跟蹤反饋和專家的指導意見,并融合多年教學經驗與對行業的了解,研究人才培養方案隨行業、企業調整的方法,如圖2所示。每年暑假對畢業生進行跟蹤評價,評估畢業生就業質量,并對用人企業進行走訪調研,了解企業對我專業畢業生的反饋、了解企業的用人標準、了解行業最新技術、尋求校企合作機會、搜集畢業生對我專業建設的建議等。在年末召開專家專業建設研討會,論證調研結果,聽取專家意見。在第二年初調整或修訂人才培養方案。
根據本次項目調研結果及專家論證意見修訂了本年度人才培養方案。具體調整方案如下:
1)在人才培養方案中,細化了就業崗位群,如表1所示。
表1 軟件技術專業就業崗位群
[就業范圍\&初始崗位群
(畢業3年內)\&發展崗位群
(畢業3年后)\&軟件開發
(web應用程序、手機軟件開發、網站開發、應用軟件)\&程序員\&軟件工程師\&軟件測試
(功能測試和性能測試、手工測試和自動化測試)\&軟件產品測試員\&測試工程師\&軟件技術支持
(軟件實施、軟件維護、數據庫系統維護)\&軟件支持技術員\&技術支持工程師\&其它軟件相關
(軟件需求調研、軟件文檔編寫工程師、軟件銷售、軟件售后服務及培訓、軟件客服)\&相關業務員\&相關主管\&]
2)從基礎素質和專業素質兩方面詳細描述了軟件技術專業人才培養規格
在確定人才培養目標基礎上,從基礎素質和專業素質兩方面細化了人才培養規格?;A素質包括具有良好的語言表達能力和團隊合作精神;具有較強的自我學習能力等。專業素質包括具有軟件開發能力、軟件測試能力、軟件技術支持能力等 。
3)根據職業認證的知名度,行業的認可度,選取了適合在校學生考取的職業資格證書,并按照種類和級別進行分類,如表2所示,將學歷教育與技能認證培訓相融合。
3 構建“基于軟件產品開發工作過程”的課程體系
依據“職業、系統、開放”的理念,按照軟件企業崗位能力要求,分析、整理軟件企業典型職業活動工作過程,按照由簡單到復雜的工作任務進行重構,工作場景通過學習領域來體現,構建了“基于軟件產品開發工作過程”的課程體系。
在課程體系中根據軟件產品工作過程梳理三條技術主線:WEB應用程序開發、安卓系統上的應用程序開發和軟件測試。整個課程結構可分為基礎類課程模塊、人文素質選修課模塊、專業基礎課程模塊、專業方向課程模塊和實訓模塊;描述了專業技能、課程體系、主要教學內容與要求、技能考核項目與要求,并對核心課程做出描述。 4 采用LPT教學模式
在“語言類”課程上采用“LPT”教學模式,即在課程教學過程中采用案例教學、項目教學、任務驅動教學等多種教學方法,將lecture(教學)、practical(實踐)和tutorial(輔導)相結合的教學模式。理論教學主要通過小型案例的方式介紹基本知識點,通過案例的講解使學生掌握該部分基礎知識的使用方法。實踐教學布置兩類實訓任務:一是與教學案例類似的實訓任務,觀察學生對基礎知識的實際掌握情況;二是布置難度高于教學案例的實訓任務,觀察學生對知識點的靈活運用情況。輔導主要是針對學生在實訓過程中出現的錯誤進行個別輔導與易犯的錯誤進行歸類總結,同時也提出在實際使用過程中該部分知識的常用方法。
5 打造全方位教學資源
軟件技術專業課程資源多數為教學課件、教學案例、實訓指導書等上課必備資源。本次項目建設過程中,按照學校課程資源包保準,完善了專業課程資源。具體有:教學資料、學習資源、特色教學資源、課外作業、課外訓練、題庫等。在核心技術課程與綜合實訓課程上,與企業工程師一起研發課程資源,引入企業的案例及相關技術文檔。
通過軟件技術教學資源的建設,為學生提供多樣化、開放式資源,實現學生自主學習、交互式學習。同時教學資源建設為專業教師提供了信息資源共享、相互交流的平臺,通過共享教學資源的教學資源,教師可以獲取最新的技術、行業產業信息、專業資源、課程資源、項目資源和實訓案例等,促進專業建設、課程建設、提高技術應用能力、教學與實踐能力。通過教學資源的建設可以實現培養高素質、高技能的軟件技術專門人才。
6 總結
行業企業對于職業崗位上人才素質培養的需要是職業教育存在的源頭,也是專業定位的基礎。該文依托項目,以人才市場需求為導向,研究了軟件技術專業人才培養模式與教學資源包建設。根據高職高專培養一線應用型人才的宗旨,立足軟件技術專業人才培養模式研究、課程體系建設、教學方法改革、教學資源建設等方面,以培養高素質,綜合型軟件人才為目的,積極更新教育教學觀念,優化軟件技術專業課程建設,提高學生就業能力,實現職業教育專業改革發展的目標。
《軟件開發方法與實踐》課程是計算機信息管理專業所開設的重要核心課程。通過本課程的學習,學生可以了解管理信息系統以及.NET編程的內容和開發過程,掌握軟件開發方法,從需求分析至系統測試的各個軟件開發階段的模型建立、開發工具使用、編程方法、系統測試以及開發文檔寫作等內容。培養學生具有獨立組織管理信息系統的開發能力并能對管理信息系統的運行和維護進行規劃與實施;掌握信息系統規劃、建設及實施的方法和技能;鍛煉獨立思考和創新精神,以提高全面素質。
傳統的軟件開發方法課程一般由管理信息系統課程演變而來。教學內容主要由軟件工程基礎知識、UML等知識組成。教授內容相對單一、理論性強,在基礎知識方面缺乏軟件設計模式等具有實際應用價值的專業內容,而在應用技術方面又缺乏與高級編程語言實際的對接等實踐環節。隨著軟件開發技術的不斷發展,授課內容必須隨之不斷的調整與擴充。伴隨教學改革的不斷深入,校企合作的不斷加強,本著工學結合和以職業能力培養為重點的課程設計理念,將企業開發實際項目融入教學,在教學中使用企業真實開發項目,不斷增強應用性、實踐性。以工作過程為導向,與企業共建課程, 將軟件企業中的軟件開發模式、軟件項目組織管理方式引入課程中,將職業工作活動與教學活動融為一體。學生通過本課程的學習,掌握真實項目的開發流程和技術,定位于企業崗位實際需求,引入全真案例教學,仿真軟件公司的管理制度和團隊開發模式,學生具有員工和學生的雙重身份,真正做到學校和企業“無縫對接”。
一、課程設計思路
1.培養學生具有程序員或軟件設計師職業能力。
2.崗位描述:從事管理信息系統的設計、開發、軟件維護、管理、軟件測試工作。
職業能力:了解管理信息系統以及.NET編程的內容和開發過程,掌握軟件開發方法,從需求分析至系統測試的各個軟件開發階段的模型建立、開發工具使用、編程方法、系統測試以及開發文檔寫作等等。該課程主要任務是通過綜合運用多門軟件課程的知識和技能開發一個應用軟件系統,使學生了解一個完整的軟件開發過程,學會根據軟件開發文檔編寫符合工程規范的程序,提高軟件開發綜合能力,積累軟件項目開發經驗,實現與軟件開發工作崗位的無縫連接。
3.以軟件開發工作過程為基礎。以軟件崗位群為職業分析對象,邀請優秀的軟件工程師、項目經理等軟件領域專家,分析軟件開發的工作過程,確定典型的工作任務,通過典型工作任務實例客觀地描述軟件開發的職業活動。國外軟件開發管理體系及開發體系應用包括以下階段:立項、信息收集、需求分析、系統設計、系統開發、測試、試運行、維護期。對每一階段的實施及驗收制定相應的標準。
4.以軟件設計為載體,設計學習情境。
三個學習情境涵蓋了12個任務,由簡單到復雜,從理論分析逐步過渡到程序編寫等實施過程。
針對軟件崗位群上的典型工作任務,運用職業分析方法確定軟件崗位群要求的職業能力以及職業能力評定等級。分析職業能力的形成過程,確定各項能力形成的條件,按照能力形成規律歸納總結出行動領域。打散傳統的知識體系,按照軟件開發工作過程及職業能力成長規律將行動領域轉化為學習領域,根據崗位能力要求,確定課程目標。以項目為載體,根據工作任務的相關性構建課程內容體系,針對開發項目的工作過程設計學習情境,以完成工作任務的順序組織教學內容,按照行動導向的原則設計教學單元。與企業密切合作,將軟件企業的開發環境、開發方式、開發工具引入實訓基地,構建本課程的職業情境。
改革傳統的教學模式,設計與工作過程導向相適應的教學方法,參照工程標準及職業資格標準制定教學評價標準,最后,由專業指導委員會的軟件領域專家和教育專家共同確定課程標準。
二、教學內容的針對性與適用性
軟件設計方向畢業生所從事的工作崗位有軟件開發員、軟件測試員、軟件維護員等軟件技術人員,完成這些職業崗位實際工作任務學生應該掌握面向對象程序設計、管理信息系統、軟件開發技術;掌握軟件開發的、測試、管理等職業能力。本課程的教學內容整合了《面向對象的程序設計語言》、《管理信息系統》、《軟件案例測試》、《數據庫應用技術》等4門課程為《軟件開發方法與實踐》這門課程,解決實際的軟件設計開發問題,完成一件產品的制作。教學內容用到上述四門課程的知識點。
根據勞動部和信息產業部所制定的高級程序員、全國計算機高新技術職業資格數據庫操作員所要面臨的工作崗位及要完成的工作任務,其中確定軟件開發員、軟件測試員、軟件維護員為具有教育價值的典型工作崗位。因此,本課程主要使學生掌握如下技能:(1)學習編寫程序基礎理論,進而會編寫典型的算法程序。(2)學會可視化程序設計工具的使用,掌握面向對象的程序設計方法、事件驅動的編程方式。(3)利用C#開發程序過程,能夠設計、編制、調試一個實用的程序,要求程序結構簡單,功能齊全,使用方便。(4)使用UML對系統進行分析與設計,能組織管理信息系統的開發并能對管理信息系統的運行和維護進行規劃與實施。(5)對設計的軟件進行全面測試。(6)運用軟件開發的綜合技術,前臺選擇一種程序設計語言,后臺選擇一種數據庫(SQL Server等)開發完整MIS系統的能力。
本課程的理論知識不再是抽象無物的東西,實踐教學也不是單純的技能訓練,而是理論支持下的職業實踐活動;學生的學習內容不再是脫離企業軟件開發實際過程的僵硬教條,而是針對來自企業的工作項目和典型任務,學習內容與企業實際運用的新知識、新技術、新方法實現同步,適應了職業教育的發展方向。
三、教學模式的設計與創新
本課程采用了“項目+過程”的工學結合教學模式。課程以項目為載體,以過程為導向,采用任務驅動的方法,按照企業開發軟件的流程,在工廠化的實習環境中,將“企業的內容”以“教學的形式”來完成“人才的培養”。
1.實際的工程項目與真實的工作任務保證了教學內容與工作內容的一致性。
本課程的項目來自于軟件公司開發的實際工程項目。按照企業的開發方式,整個開發過程需要經歷不同的開發階段,各個開發階段都必須完成多個學習性工作任務,提交階段性工作成果。由于整個課程結構和教學內容由這些工作任務構成,因此,保證了教學內容與工作內容的一致性。
2.企業化的開發流程保證了學習過程與工作過程的一致性。
本課程以小組為單位組織項目開發。開發小組按照企業開發軟件的流程,從業務調查、需求分析、概要設計、詳細設計、軟件編碼到軟件測試、軟件實施,經歷了一個完整的軟件開發過程。學生以準員工的身份參與項目開發的全部過程,完成企業員工應當完成的工作,使職業工作活動與教學活動融為一體。此外,學生還要走出校門,到校外生產實習基地頂崗實習,接受真正工程項目實踐的鍛煉。學生在經歷情境化的工作活動過程中熟悉了軟件工作環境和開發流程,積累了實際工作經驗,實現了職業能力的發展。
3.工廠化的實習環境保證了課堂與實習地點一體化。
本課程主要在軟件生產實訓基地中進行訓練。軟件生產實訓基地按照軟件企業的開發環境建設,它不但可以進行教、學、做一體化教學,而且可以為學生提供一個真實的企業環境開發軟件,學生可以在此進行生產性實習,消除對真實企業工作環境的陌生感,實現學生當前的實訓環境與其未來職業環境的“零距離”對接。
4.采用任務驅動、工學交替的教學模式組織教學。
本課程由同步訓練、拓展訓練和生產實習3個環節構成。同步訓練采用一體化的教學方法,在綜合實訓室完成。拓展訓練采用教師指導下的獨立訓練方式,在校內軟件生產實訓基地完成,而生產實習則在真實的軟件企業中完成。3種訓練方式交替進行,一體化教學逐步減少,生產性實習逐步增多,最終達到與職業崗位群的“無縫”連接。
本課程還采用任務驅動組織教學。每一項任務開始時都向學生下達一個工作任務單,任務單詳細描述了工作任務、工作要求、工作期限、工作環境和開發工具。學生以此為開端,在完成工作任務的過程中學會了知識,增長了能力。
5.行動導向的教學模式使學生逐步積累了實際工作經驗。
改革傳統的以教師為中心的講授模式,建立行動導向的教學模式。課程中的每一個學習情境都按照行動導向的教學模式組織教學,學生在項目開發過程中學,教師在項目開發過程中教,學生成為了學習過程的中心,教師是學習過程的組織者和協調者。學生在“資訊、計劃、決策、實施、檢查、評價”這一完整的“行動”過程中,通過獨立地獲取信息、獨立地制訂計劃、獨立地實施計劃、獨立地評估計劃,掌握軟件開發的技能、習得軟件技術知識,構建自己的開發經驗和軟件知識體系,有效地培養學生職業能力,方法能力和社會能力。
四、可行性分析
《軟件開發方法與實踐》課程是基于工作過程導向的課程開發,與中國軟件行業協會聯合開發課程,以來自企業的實際項目為載體設計教學內容。
教學內容設計了三個學習情境:軟件開發過程、管理信息系統分析和管理信息系統開發,每個學習情境下又設置若干任務,通過每個任務的完成可以實現對應學習情境的學習。
學生通過本課程的學習,掌握管理信息系統的內容和開發過程以及開發方法,初步掌握面向對象的程序開發所需的設計工具、建模工具、開發工具、測試工具以及文檔寫作,提高學生對面向對象軟件的設計以及開發能力,擁有自行獨立開發、維護、運行管理信息系統的技能。使學生能夠適應當今軟件制造行業的高速發展,增強就業競爭力,為學生將來的程序員、軟件測試員、軟件系統分析師、軟件項目管理人員等相關職業生涯奠定了必要的知識和技能。
計算機信息專業與中國軟件行業協會已經正式簽約,成為其在本區域內的第一家合作的高職院校,對本課程的教學進行全程合作,具體表現為三個方面:
項目背景優勢權威性:三方結合國家政策及行業需求強強聯合推出;標準性:逐步建立軟件企業人才準入制度,打造軟件人才培養標準。
核心項目優勢:實用的課程內容:定位于企業崗位實際需求,全真案例教學;強大的師資力量:雙師型的師資隊伍;先進的教學方法:八真教學方法。
就業服務優勢:雄厚的企業資源和跨地域的就業服務體系。
五、特色與創新
1.雙重主導的教學內容組織方式。
本課程以來自真實的項目為載體,項目開發貫穿課程始終。整個課程的教學內容以軟件開發過程及業務邏輯為主線層層遞進,環環相扣,其教學過程與工作過程完全一致。在軟件開發過程的主導下,課程按照認知規律編排多發面的相關技術知識,按照從易到難的原則將其巧妙地融入到項目開發過程中,形成另外一條貫穿始終的技術知識輔線,主輔雙線相互呼應,相互融合,學生在開發軟件的過程中不但積累了工作經驗,同時也將逐步構建自己的知識體系,為未來發展打下一定的基礎。
2.“三位一體”的教學過程。
本課程以項目為載體,通過一個完整的軟件開發周期,將開發過程、學習過程、評價過程融為一體,學生在交替進行的同步訓練、拓展訓練和生產實習過程中逐步提高軟件開發能力,最終達到課程目標。
3.企業化的學習方式。
本課程在教學過程中,將企業中的軟件開發模式、組織管理方法、企業開發環境引入教學中,為學生營建一個企業化的學習環境。課程一開始,每一個學生在開發小組中扮演一個開發角色,教師介紹開發規范、項目背景及組織管理方法,讓學生熟悉環境,幫助學生制定項目開發計劃,以便所有相關人員按照計劃有條不紊地開展工作。在每一個教學單元中,教師首先介紹任務背景,下達工作任務單。任務單詳細描述了工作任務、工作要求、工作期限、工作環境和開發工具。學生在完成工作任務后要與教師一起從交付時間、用戶界面、編碼規范、健壯性等各個方面評估任務的完成情況,然后將評估結果記錄在評審表中。評審結束后,學生要從生產效率、產品質量、技術方法、錯誤分析等多方面進行總結,在此基礎上提交相應的工作成果及工作(實訓)報告,為今后的項目開發積累開發資料。
4.多門課程優化整合。
構建了以軟件開發為主線、以應用為目的的軟件開發課程群,包括C#程序設計、數據庫原理與應用、管理信息系統、軟件測試與文檔寫作課程,各門課程之間相互聯系,融會貫通,形成了有利于學生就業的完備的課程體系。探索并開創了程序設計一條線模型的課程建設,課程組合以后可以將原來一個個單獨的程序變為一個有機的整體。使得學生能夠真正了解程序到底可以干什么,有什么用途。
作者簡介:
關鍵詞:高職軟件技術專業;人才培養方案;CDIO
1 基于CDIO的軟件項目驅動教學
軟件項目驅動教學就是按照軟件工程思想把某一工程項目展開并貫穿于整個教學,教學過程為師生互動過程,學生在項目研發的過程中掌握所學知識,使學生明白所學知識可以做什么、應該做什么和如何做什么。目前,各高校相繼在教學過程中采用了項目驅動教學方法,但產生的效果不盡相同,究其原因也各不相同,總結問題主要存在于項目設計、項目實施兩個環節中。
根據授課內容的不同,可以將項目設計分為學習型、訓練型兩種類型。學習型項目規模較小,目的是通過項目,使學生能夠深入理解課程的重點與難點,其主要應用在實訓課的課堂練習中。訓練型為大中規模項目,要求學生在老師的帶領下,完成從項目的需求分析、系統設計到編碼實現、測試部署的全過程,主要應用在學期項目和畢業項目中。
CDIO教育模式的《標準2:CDIO教學大綱制定的需求分析》闡明CDIO方法論必須將教學大綱的設計與培養目標和產業對學生素質能力的要求逐項具體掛鉤[1]。這種素質能力要求不僅包括技術專業知識的學習(類型1),而且包括學生自身能力(類型2:如認知與學習熱情、工程推理和問題求解能力、試驗和發現新知識能力、系統性批判性及創新性思維能力、職業道德等),團隊合作能力(類型3:如團隊工作能力、交流溝通互動能力、領導力等),產品和系統建造能力(類型4:如結合社會、企業和業務的需求來構思、設計、建造和運行系統)。這種對素質和能力培養的需求要經過專業化的工程師組織、已畢業的校友和產業界用人單位的審核與認可,并在具體要達到的水平、成績標準方面得到他們的指點和幫助。
CDIO教育模式的《標準3:集成化課程設置》要求發展建立課程之間的關聯,使多門課共同支持專業目標,要有具體計劃將課程關聯以針對標準2所要達到的4個類型素質和能力。通常各門課程都是按學科內容獨立的,彼此之間很少關聯,而CDIO方法按照工程項目全生命周期來組織教、學、做,應當能夠將相關課程關聯,避免不必要的重復,使學生掌握各門課程知識之間的聯系,用于解決綜合的問題。
蘇州工業園區職業技術學院軟件技術專業依據上述原則制定了專業核心課程的課程標準,取代傳統的教學大綱,突出了工作過程系統化的教學理念,強調了學習情境的設計。特別需要強調的是,本專業按照《蘇園職院教科字[2008]第61號》文件的要求,在2008級開展了學期項目,要求如下:(1)學期項目必須綜合運用本學期所學課程知識與技能,是本學期各學習領域課程能力的綜合反映;(2)本學期項目重在方案的構思(c)與設計(D)兩個環節,不能當作實訓課施行;(3)學期項目鼓勵來源于生活與企業生產,著力于解決現實生活與企業生產中的小問題;(4)學期項目鼓勵具有創新性。
軟件技術專業的學期項目實施得到了良好效果,兩個學期項目:游戲軟件方向學生的“戰爭與和平――一款手機游戲項目”和NIIT方向學生的“自動點餐系統”包攬了學院學期項目評比的一等獎。
2 軟件技術專業人才培養方案
2.1 職業目標確定
院企雙方共同組成的軟件技術專業建設指導委員會指導課程開發組通過軟件技術崗位分析其職業能力,確定了軟件技術學員的職業目標,如圖1所示。院企合作共同培養面向區域內軟件及IT服務外包產業,從事軟件產品開發、軟件測試、軟件產品管理、軟件產品銷售及售后服務等崗位的一線技術及服務人員。
2.2 職業能力分析
2.2.1 崗位描述
崗位描述如表1所示。
2.2.2典型工作任務及其職業能力分析
本專業對應的3個職業崗位的典型工作任務有:需求分析、軟件設計、編碼實現、軟件測試和軟件服務,典型工作任務及其對應的職業能力詳見表2。
2.2.3能力與素質總體要求
(1)專業能力。具有良好的編碼能力,掌握控制臺應用程序、GUI應用程序、Web應用程序、移動應用程序等軟件的一般開發方法,了解主流企業級應用軟件的基本架構,會使用數據庫軟件,能夠在,NET和JAVA兩種平臺上的熟練地完成程序編碼和測試等工作。
(2)方法能力。保持求知欲和進取心,能夠具有較強的學習能力、發現和解決問題的能力、電腦軟件操作能力,和掌握較強的專業外語閱讀能力。
(3)社會能力。具備人際交往能力、表達能力和自我決策能力、自覺的規范意識和團隊精神,承受挫折的能力,注重學會共處、學會做人,以確立積極的人生態度。
2.3課程體系設計
2.3.1 體系架構與課程設計思路
將典型工作任務的職業能力結合崗位所對應的職業資格要求,歸納出需求分析等共14個行動領域,并轉換成11門對應的專業學習領域核心課程:使用C#進行面向對象的編程、SQL Server 2005設計與開發、XML可擴展標記語言、使用ADO,NET&XML進行高級數據庫應用開發、使用VC#,NET實現GUI開發、使用J2SE 5.0進行GUI開發、UML進行面向對象分析與設計、使用進行Web應用開發、使用J2EE進行企業級應用開發、使用J2ME進行移動應用開發、軟件測試。
2.3.2 課程模塊化設計課程模塊化設計如表3所示。
2.4 專業主干課程描述(摘選)
2.4.1 使用J2EE進行企業級應用開發
參考學分:6:參考學時:96;開設學期:2。
課程目標:培養掌握J2EE各主要技術內容的基礎上,能夠利用J2EE編程思想,解決具體的網絡應用項目問題,并且能夠搭建和使用J2EE開發環境,完成J2EE體系結構項目的開發,按照策劃和需求完成相關的功能模塊設計、編碼、和測試等工作。通過本課程的學習,學生將具有J2EE開發的扎實理論基礎和實際設計經驗,可勝任企業級應用的設計和開發等相關工作。
課程主要內容:掌握J2EE體系結構和建立運行開發環境;Servlet編程項目開發;JSP編程項目開發:項目中使用JAVABEAN;項目中使用JSP自定義標記;利用JDBC訪問數據庫項目開發;EJB編程項目開發。
教學建議:建議小班上課,3~5人一個小組;加強小組進度監管,以防止部分同學濫竽充數;學有余力的學生小組可以在完成教師指定課程項目之后,開發自選項目。
2.4.2 用進行Web應用開發(學期項目課程)
參考學分:6;參考學時:96;開設學期:3。
課程目標:培養學生從專業角度發現現實生活或生產過程中存在的小問題,并初步判斷利用專業知識解決問題的可行性。培養學生自主學習的主動性和自主學習能力;會查閱知識、學習知識、運用知識、分享知識。培養學生利用所學知識,對方案進行論證,判斷可行性。鍛煉小組成員間團隊配合、分工協作能力;鍛煉部分成員的組織協調能力。
同一項目組各成員有不同項目成果,也可以是同一成果的不同部分。
課程主要內容:選題以來源于生活與生產實際,并著力于解決現實生活與企業生產過程中存在的小問題的項目為主,以模擬項目為輔;通過學生查閱相關資料、小組討論和教師輔導的方式提出項目方案;學生對相關領域專業技術基礎、發展現狀及現實應用有一定了解,對專業知識和技能的進一步學習產生興趣;全體學生的團隊溝通協作能力、部分學生的組織協調能力等到鍛煉。
教學建議,學期項目以小組為單位實施,每組成員不超過6名學生。指導老師要規范項目小組會議、合理小組分工、加強老師指導與小組研討記錄、明確CDIO 4個環節的要求等,有效引導學生完成學期項目。學期項目的指導與實施應重在平時,每個項目的周指導課時為2課時,由老師根據學生上課時間自行安排,主要是進行項目制作方法指導與進度檢查等。兩個項目周分別用于學生整理方案書、中期評價、項目制作以及答辯,突出學生的主體作用,但不能當作放假周實施;采用項目指導方式教學,突出培養創新能力,以理論研究為主,培養學生綜合分析解決問題能力。
2.4.3 項崗實習與畢業項目
參考學分:33;參考學時:1320;開設學期:5。
課程目標:頂崗實習是軟件專業教學計劃所設的重要實踐性教學環節,是學生理論聯系實際的課堂。頂崗實習的目的是:
(1)軟件專業的培養目標是培養德、智、體、美全面發展的,具有一定計算機軟件編程技術基礎,掌握軟件項目的實用領先開發方法和實踐技能,具有高度團隊精神的高等應用型技術人才。畢業生主要在各企事業單位從事計算機軟件產品的開發、測試與服務等工作。學生要有軟件開發方面的基礎理論,還要將理論與實踐相結合,在實踐中提高能力。通過生產實習,可以進一步鞏固和深化所學的理論知識,彌補理論教學的不足,以提高教學質量。
(2)通過頂崗實習,提高對軟件開發的認識,加深軟件開發技術在工業領域應用的感性認識,開闊視野,了解相關軟件技術和資料,熟悉軟件產品的開發流程。
(3)通過頂崗實習接觸認識社會,提高社會交往能力,學習軟件從業人員的優秀品質和敬業精神,培養學生的專業素質、理論聯系實際、綜合運用所學知識解決實際問題的能力,樹立良好的職業意識,增強敬業、創業精神,明確自己的社會責任。
(4)學生在頂崗實習期間,選擇與本專業及崗位工作相關的工業案例項目作為畢業項目研究對象,通過理論聯系實踐的深入研究,完成畢業項目,提高專業綜合實踐能力。
課程主要內容:軟件產品開發管理流程:軟件開發各崗位關系與職責;軟件開發技術;軟件測試技術:軟件運維技術;軟件行業的規范標準:軟件從業人員的素質。
畢業項目按照多元化的原則實施項目設計,根據專業特點和學生學業能力的差異及學生實習與否的實際狀況,可有針對性地選擇以下方式中的一種開展項目:畢業設計;畢業論文;社會調查報告;工業案例;可行性報告等。
教學建議:畢業項目題目應符合本專業的方向,符合對學生專業知識綜合訓練的要求;結合實習崗位和企業的生產實際選題。畢業項目可以一人一題或多人一題,但每個項目組最多不能超過3人;畢業論文只能一人一題;小組形式的畢業項目的任務書只有一份,但小組中應明確組長和組員的不同職責,分工明確,任務具體。指導老師要規范項目小組會議、合理小組分工、加強老師指導與小組研討記錄、明確CDIO 4個環節的要求等,有效引導學生完成畢業項目。項目報告是項目完成后對項目的實施和成果做出的總結或說明性文字材料:對于有實物的設計成果,在可以在報告中加入設計框圖、界面圖、程序代碼和照片等,文字部分不得少于3000字。畢業項目采取畢業論文形式時,寫作的格式應按照學術期刊的要求,段落層次劃分清楚,標注參考文獻,字數達到7000字以上。
頂崗實習考核辦法:
(1)無完整實習過程記錄的,不能參加實習成績評定。
(2)實習報告:實習學生在實習期間,必須完成反映企業文化適應,與工作相關的系能力提高,綜合職業素質養成等三個專題的實習報告。每個專題的字數應在1000字以上。
(3)實習單位評價:企業相關部門根據學生的出勤情況、紀律遵守情況、適應能力、團隊合作能力和工作表現五個方面進行考核,并將各項成績錄入,加蓋公司人力資源部印章。
(4)權重分配
實習單位評價:60%;專題實習報告:40%;無實習過程記錄的不能參加實習成績評定。
(5)成績記錄:畢業實習成績采用百分制登記,60分以上及格,60分以下不及格。
f61凡出現下列情況之一的一律取消考核資格,不能取得畢業資格:
未達到規定實習時間三分之二以上者。
實習期間嚴重違反實習紀律,給學校聲譽造成不良影響。
由于個人違規操作,給實習單位造成重大損失。
無故不按時交畢業實習報告和實習過程記錄表的。
3 方案實施所必備的實驗實訓條件、師資條件
3.1 基本實訓條件
(1)校內實訓室基本配置,如表4所示。
(2)校外實訓基地基本狀況。加強了校外實習基地的建設力度,新建18家校外實習基地,總數達到63家。重點建設思科網訊(蘇州)有限公司、方正軟件、宏智科技、蘇州科升通信技術有限公司、蘇州國貿電子系統集成有限公司、友達光電等6個聯系緊密型校外實習基地(其中外包軟件公司3家,自主開發軟件公司2家,嵌入式軟件公司1家),確保提供50名三年級學生準就業實習崗位。并在2009-2010年新開拓了12家軟件企業作為校外實習基地,提供了32名學生準就業實習崗位。
3.2 師資要求
(1)專業帶頭人的基本要求具有較高的高職教育認識能力、專業發展方向把握能力、課程開發能力、教研教改能力、學術研究、項目開發能力、雙語教學能力、實訓指導能力、組織協調能力等。能帶領專業團隊進行專業人才培養方案的設計,構建“1C+5P”能力訓練體系及FMS教學組織模式,并能科學實施。
(2)專任教師、兼職教師的配置與要求,如表5所示。
關鍵詞:高職;軟件開發課程;虛擬實訓;實踐教學
中圖分類號:G712 文獻標識碼:A 文章編號:1007-9599 (2012) 11-0000-02
一、引言
為培養應用型和技能型軟件開發人才,在高職軟件技術專業中實施三階段技能遞進培養模式,該模式將技能培訓分為基本技能積累、專業核心能力培養和綜合技能培訓三階段。基本技能積累階段包含培養學生基本操作技能和編程技能的課程,如程序設計基礎等課程;專業核心能力培養階段包含培養更高一級專業能力的課程,如桌面應用程序開發、web應用程序開發等課程;綜合技能培訓階段是在前兩個階段的基礎上,開展以提高職業行動能力為目標的綜合技術應用訓練。
學生在教學階段遞進過程中需要通過大量實踐掌握軟件開發技能,因此每一門專業核心課程都設置相應的實訓課程,這些課程與綜合技術應用訓練都是以軟件開發項目為載體,通過實訓,使學生提高實踐能力、積累實際軟件開發經驗。為實現實踐教學過程與軟件開發過程的對接,必須采用相適應的教學模式以及提供合適的軟件開發實訓環境。由于培養費用、實踐場地的限制,讓每個學生都走上實際工作崗位參加真實環境中的項目開發存在很大的困難。在軟件開發實訓課程中采用基于虛擬實訓的實踐教學模式可以很好的解決上述問題,虛擬實訓作為一種打破時間、空間限制的實訓方式在節約教學投資、優化教學情境和實現資源共享等方面均起到十分重要的作用。
二、構建基于虛擬實訓的實踐教學模式
(一)構建思路
根據對軟件開發人員崗位需求的調研,軟件產品開發工作過程包括項目立項、需求分析、設計、編碼、測試等一系列工作。工作任務對工作和技術的要求為熟悉軟件開發流程,掌握相關開發技術,具備良好的代碼編碼習慣及技術文檔編寫能力,有較強自學能力、分析和獨立解決問題的能力、團隊合作精神和溝通能力。
為達到學習過程與工作過程的一致性,引入虛擬公司形式,采用虛擬環境與真實項目相結合、虛擬員工與真實管理相結合的方式,構建基于虛擬實訓的實踐教學模式。在學校的實訓室中,模擬公司的工作環境,以真實項目為載體,按照公司的軟件項目開發流程完成項目開發,縮短學生所學知識和應用的距離。通過教師學生員工化,模擬公司開發部的組織結構,教師擔任項目經理的角色,完成崗位相應的工作,包括協調人員配置、制定項目解決方案、監控項目執行、提供技術指導、組織項目評審。學生擔任開發部普通員工的角色,在軟件開發員崗位上完成項目開發各階段任務,在項目實踐過程中熟悉規范的軟件開發流程,掌握高效的軟件項目開發方法和技能。
(二)內容結構
基于軟件開發崗位工作任務的要求,構建具有“工學結合、校企結合、虛實結合”特點的虛擬實訓教學模式。該模式主要由四部分組成:知識培訓、項目實施、項目管理和項目評審。各組成部分涉及三大類角色:項目經理(教師)、項目組長(學生)、項目成員(學生),項目經理負責完成知識培訓和項目管理,項目組長和項目成員負責項目實施工作,項目經理、項目組長和項目成員共同完成項目評審。
知識培訓部分:包括專業基礎知識、實訓項目涉及的關鍵技術與知識以及項目應用領域知識的培訓。專業基礎知識培訓包含軟件工程基本知識、特定語言的代碼規范、團隊開發規范、技術文檔編寫、軟件測試用例的執行和記錄等項目開發支撐知識。關鍵技術與知識的培訓由項目經理根據課程目標和項目特點展開,包括關鍵技術和常用架構的學習、企業最新技術和開發工具的引入。領域知識培訓是指項目應用領域背景知識的介紹,例如財務管理系統的開發背景涉及金融財會的相關知識。
項目實施部分:項目實施是虛擬實訓教學的重要組成部分,包括實訓任務分解和項目實現。項目組接受來自項目經理的實訓任務,由項目組長進行任務分解并分配到各項目成員。項目成員按照企業軟件開發流程執行項目實施各階段的典型工作任務。
項目管理部分:項目管理包括進度控制和過程檢查兩部分,由項目經理實施以保證實訓項目按實訓計劃、實訓大綱的要求如期完成。項目經理指導項目組長制定項目開發計劃,根據項目計劃監督各組的工作進度。過程檢查部分包括設定過程檢查點以及階段通過標準,項目經理按照通過標準審查階段成果,確保項目完成質量。
項目評審部分:項目評審部分由項目演示交流和項目考核兩部分組成。在項目演示交流環節,各項目組介紹開發過程、演示項目運行結果、進行項目答辯。在項目考核方面,采用多元化的考核體系,注重對學生實訓過程的評價,在項目經理考核的基礎之上,參照項目組長評價,得出最終評價結果。
(三)應用過程
關鍵詞:工作過程導向;項目繼續;“三段式”實訓過程;任務模塊
中圖分類號:G642 文獻標識碼:A 文章編號:1007-9599 (2013) 02-0000-02
1 軟件開發綜合實訓教學存在的問題
軟件開發綜合實訓是針對軟件開發職業崗位群的任職要求所設置的具有綜合性質的實訓課程,幾乎所有高職高專院校的計算機專業均開設了此類課程,但教學效果參差不齊。
在近幾年的課程建設和人才培養模式改革中,通過引入項目教學,基于工作過程導向設計教學過程,很多軟件類課程的教學效果大幅度提高[1]。因此,將工作過程導向的思路應用于軟件開發綜合實訓的課程改革中,對課程的教學內容、教學組織、教學方法、考核方式等進行一系列的改革,就顯得尤為重要。
2 基于工作過程導向的教學改革
軟件開發實踐課程要求學生掌握的知識結構是基礎開發平臺、軟件開發技術、工程能力、行業知識、溝通能力、協作能力等[2],圍繞這個教學目的,基于工作過程導向的教學改革思路包含“一個開發方向,兩個貫穿線索,三個實訓階段,四種知識覆蓋,五個任務模塊”。
一個開發方向指的是實訓針對.NET開發方向進行;兩個貫穿線索指項目開發和軟件工程的工作過程始終貫穿實訓過程;三個實訓階段指按照由簡至難、循序漸進的順序將實訓劃分為實訓準備階段、實訓主體階段和能力拓展階段等“三段式”實訓過程;四種知識覆蓋指實訓的內容作為對兩年專業學習的總結,涵蓋了程序設計語言、數據庫應用、網站前臺設計和軟件工程等四類課程群;五個任務模塊是將每個項目的實施過程分為需求分析、軟件設計、軟件編碼、軟件測試和軟件推廣等五個階段,全面鍛煉軟件開發崗位群需要的軟件開發能力、團隊合作能力、人際溝通能力、語言表達能力、工程應用能力等。
3 具體改革措施
3.1 實訓項目的選取。將實訓內容作為“真實的企業案例”以“教學的形式”來完成“軟件開發人才的培養”[3]。這就要求合理選取實訓項目,既能夠滿足職業能力的要求,又能夠照顧到學生的接受能力,讓學生便于實施,樂于實施。在學生熟悉的應用領域中選取項目,避免由于對項目的不熟悉而導致的學習壓力增大、厭學等現象。
基于此,筆者提出一種新的選取思路――“項目繼續”,即校企合作確定的項目不應只體現在軟件開發綜合實訓中,在先修課程的學習中就應該涉及到。學生提前接觸過項目,可以有效的樹立學習的自信心,避免對項目的抵觸心理。但實訓過程中的項目內容絕對不是對先修課程項目的重復,而是項目的深度完善和細化。同一個項目主題,軟件開發綜合實訓中的教學和先修課程的教學有很大的不同,具體如表1所示。
3.2 團隊組建。采用情景模擬教學,將班級組建為一個虛擬的“軟件工廠”。軟件工廠下分多個軟件開發團隊,每個軟件開發團隊由5~6名學生組成,組長負責團隊的任務分配、計劃制定、小組互評等整體工作。除組長以外,根據五個實施模塊,每個成員分別擔任如下角色之一:
1.需求分析經理:主持需求分析過程中的工作,制定需求分析計劃,負責主要的用戶溝通,問題匯總等。指揮其余組員共同完成需求分析的任務。2.軟件設計經理:主持軟件設計過程中的主要工作,制定設計計劃,指揮組員完成軟件的概要設計和詳細設計任務。3.開發經理:開發團隊組長擔任,負責編碼過程中任務分配、計劃制定、進度管理等。4.測試經理:負責測試計劃的制訂,組織測試實施及管理。5.推廣經理:負責項目的推廣和答辯工作。
3.3 項目實施過程。綜合實訓過程由淺入深按照“三段式”方式展開。第一階段為實訓準備階段,讓學生復習熟悉開發環境;第二階段為實訓主體階段,學習B/S、C/S兩種系統的開發能力;第三階段為能力拓展階段,讓學生自主選題,自主開發,發揮創造力,提高實踐技能。
3.4 考核方法?;诠ぷ鬟^程導向的實訓教學要配合以工作過程考核為主體的課程考核體系,以合理評價學生的職業能力,同時調動學生的積極性和參與度。
軟件開發綜合實訓的課程考核采用過程考核和考試項目考核相結合的方式。過程考核主要考核學生在實訓過程中各個階段的表現和學習效果,為了提高學生的團隊意識,這部分考核又分為個人考核和團隊考核兩部分。個人考核包含項目參與性、考勤紀律、個人開發能力和項目貢獻、學生自學能力等;團隊考核包括團隊計劃的制定和完成、分工協作情況、團隊管理情況等。
為了最直觀的反應實訓的教學效果,最后設置專門的考試項目考核。考試項目為小型數據庫系統,涉及數據庫軟件開發中最常用的技術,重點考核學生對這些常用技術的熟練程度。
4 取得的效果
基于工作過程導向的改革能夠有效提高軟件開發綜合實訓的教學效果。首先,靈活的授課形式有效提高學生的學習興趣,鍛煉各個階段的軟件開發能力;其次,情景化教學還培養了學生的人際溝通能力,團隊協作能力,語言表達能力等職業能力,并且有效提高的學生的個人責任感,培養了學生的職業道德素養;再次,考核體系的創新能夠最大限度調動學生的項目參與度,感受軟件開發的成就感、榮譽感,進而樹立行業工作的自信心。
5 小結
改革后的軟件開發綜合實訓類似于企業的崗前培訓。實訓項目來源于企業,人力組織模擬企業,實訓過程效仿企業,整個實訓過程讓學生一方面熟悉企業工作和管理方法,另一方面熟練應用常用開發技術,提高實踐技能,有力的提高了學生的就業競爭力,畢業生受到用人單位的普遍歡迎。但新的改革也對教師提出了更高的要求,借助企業力量,加強教師鍛煉,提高教師駕馭課堂和指導學生的水平將是下一步的工作研究的重點。
參考文獻:
[1]姜大源.當代德國職業教育主流教學思想研究[M].北京:清華大學出版社,2007.
[2]肖蕾,鐘瑛,翁偉.軟件開發綜合實訓課程的教學改革與實踐[J].計算機教育,2012,10:104-110.
一、高職軟件技術專業課程體系改革的基本思路
設計一個專業的課程體系,首先要明確專業的學科定位和人才培養定位,然后建立相關的知識體系,確定課程體系,最后確定課程設置和教學計劃。通過這些年的實踐,我們逐步構建起了產學合作,以就業為導向、以企業需求為依據、以綜合職業素質為基礎、以能力為本位、實施“雙證書制”教育的高職計算機軟件技術專業的課程體系。
1.明確專業定位和人才培養目標
明確專業定位、人才培養目標是專業改革的起點,也是構建科學合理的課程體系的行動指南。《職業教育法》規定:“職業學校、職業培訓機構實施職業教育應當實行產教結合,為本地區經濟建設服務,與企業密切聯系,培養實用人才和熟練勞動者。”由此可見,高等職業技術教育的任務就是面向地方經濟發展的支柱產業,培養技術應用型人才,培養用人單位歡迎的人才。通過近幾年的實踐,我院確定的軟件技術專業人才培養目標是培養能適應現代化建設需要的德、智、體、美全面發展的,掌握計算機的基本理論和方法,能在IT產業第一線長期從事計算機軟件開發及應用工作的高等技術應用型專門人才。
2.以能力為本位,構建與專業培養目標相適應的理論教學體系
高職的性質與功能都是由課程具體體現的,高職軟件技術專業課程改革目標是建立一整套與技術應用型人才培養目標一致的教學內容和課程體系。軟件人才培養,如果脫離企業和社會,閉門造車,培養的人很難得到社會的認可。高職課程改革的深化和突破在于走產學結合、校企合作之路。產學結合重點體現在以就業為導向,開設產學結合的課程上,通過對職業崗位群進行能力分解,以技術應用能力或面向工作過程的能力為支撐,明確一般專業能力和核心專業能力。核心專業能力要體現在掌握本行業主流技術、先進技術和新技術等方面,重點是培養技術的運用能力和崗位工作能力,然后分析學生必須經過哪些技能訓練,才能夠掌握這些技術能力和關鍵能力,必須有哪些理論支撐才能圍繞核心能力的培養形成課程群和課程鏈,再從這些專業課及實訓課中推出需要掌握的基礎理論,按理論以夠用為度的原則,對部分課程進行整合,對課程內容進行調整與更新,加大實踐技能訓練的比重,注重學生能力的培養,以增強教學內容的針對性、實用性和操作性,力爭使課程設置與市場需求保持零距離。
實踐證明,軟件編程人員若不是從事系統分析和算法研究等高層次工作,熟練掌握了一種或幾種編程工具的高職學生,特別是通過認證的學生,完成具體的編碼工作是完全可以勝任的。有鑒于此,我們構建了“寬基礎、多方向、模塊化”的課程體系,整個課程體系包括必修課(公共必修課、職業基礎課、職業技術課、職業技能訓練課)和選修課(限選課、任選課)以及認證課三大部分,并針對專業核心能力,形成縱向的,由簡單到復雜的技術培養和訓練體系。職業技術課要參照企業對員工技能的要求、著名培訓機構和認證機構的課程體系,針對專業方向設置專業課程群和專業課程鏈,供學生選修,這樣既可以讓學生有非常明確的學習路線,能根據個人興趣進行選擇,使學生學有所長,利于其就業,也能夠形成專業特色,便于高職院校開展訂單式培養。如軟件技術專業可以以Java程序員、.NET程序員、C++程序員、數據庫管理、軟件測試五條主線組織以主干課程為中心,關聯交叉課程為依托的課程模塊。刪減與專業方向關聯不大的課程或者將其改為選修課,例如匯編語言。整合內容相近的課程,調整教學內容,減少重復課時,如可以將“C語言”與“數據結構”整合為一門課程。與此同時,拓寬專業口徑,大幅增大有特色的限選課的比重,可讓學生在計算機系內跨專業選修。采取這種“寬基礎、多方向、模塊化”的專業課程體系,既可以提高學生就業的應變能力,又可以滿足學生的個性發展,使學生樹立信心,成為職業生涯的成功者。
產學結合的另一種形式是課程置換,施行“訂單式”人才培養。如我院與IBM軟件學院合作開辦軟件測試專業,在我院2005級教學計劃的基礎上,引入IBM軟件學院測試專業的課程體系,采用課程置換的方式將IBM課程融入到教學計劃中來,對不適合高職學生的課程進行替換與簡化,對動手能力培養比較關鍵的實踐課程,在課時與師資配備上進行加強,利用IBM的豐富案例資源與技術資源進行教學,培養出的人才納入IBM人才庫。
3.完善與專業培養目標相適應的實踐教學體系
實踐教學是高等職業教育的重要環節,我們依據職業技術崗位對專業技術能力的要求設置專業實踐教學體系,包括專業基本技能訓練、專業技術技能訓練和畢業實習三個部分,基本技能訓練通過認知實訓和基本操作實訓完成,專業技術技能訓練則要通過綜合應用在課程設計和畢業設計中實現,使能力的培養由淺入深、逐步遞進。為了加強教學的實踐環節,我們加大了專業實訓課的比重,使理論與實踐教學的學時比為1∶1,部分操作性強的課程教學在實驗室進行。
畢業生實行“一教雙證”,即畢業生在獲得畢業證書的同時,還必須獲得職業技能資格證書。這不僅符合當前國家大力推進勞動準入制度和職業資格證書制度的就業政策,也符合當前企業的要求。目前,計算機類的證書有行業和企業的認證,如“微軟”、“思科”、“Adobe”等認證,也有政府部門,如勞動和社會保障部和信息產業部的認證,這給軟件技術專業的學生提供了很好的考證機會,這就要求學校認真進行市場調查,以便引導學生考取社會認可度高又有助于學生就業的職業資格證書。
4.建立與課內教學相結合的課外教學體系
課外教學不僅僅是課堂教學的簡單延伸,它能實現課堂教學難以達到的目標。一是能夠因材施教,根據學生的不同水平,組織不同的教學內容,培養多模式、多層次人才。二是解決相對基礎的教學內容和門類眾多的應用技術的矛盾,讓學生及時掌握新理論、新技術。三是能夠增強學生自己獲取知識的能力。具體形式有以下幾種。
(1)開設網上課堂
充分利用校園網的功能,開設網上課堂,要求學生圍繞所學知識,通過自學、自問、自解、自判等過程,完成課外練習,當學生遇到自己不能解決的疑難問題時,由專業課老師輪流進行在線輔導,及時為學生解惑答疑。加強網絡教育資源的建設和利用,如結合精品課程建設,將各種課程資源如課程大綱、試題庫、習題庫、課件庫和教學錄像等上網,便于學生預習復習,節省課堂教學時間,提高學生的自學能力。還可以將一些新技術的電子培訓教程(如電子圖書、教學光盤)上網,幫助學生在課外掌握專業新知識。
(2)開展學生第二課堂活動和學科競賽
借助專業實驗室,建立學生課外科研活動基地。從各專業挑選學生組成課外興趣小組,各教研室指派老師負責指導學生的科研選題,開展科技創新活動。每學期組織幾次課程競賽或綜合性的學科競賽,對優勝者予以獎勵并組織他們參加國家和省級學科競賽,力爭取得好成績,借以擴大學校的影響。
三、高職計算機軟件技術專業課程體系的設置
在對軟件企業的發展規劃、軟件技術的發展趨勢、軟件人才的需求狀況等進行了深入的市場調研的基礎上,按“夯實基礎,增強學生的發展潛力;強調適用,注重學生的動手能力”的原則設置了如下的軟件專業的課程體系。
公共必修課包括計算機數學、英語、體育等。本模塊的課程必須適應專業教學的需要和學生繼續學習的需要。
職業基礎課包括計算機應用基礎、程序設計語言、數據結構和計算機網絡技術等。本模塊的課程要以職業素質為基礎,注重掌握必要的理論知識,力求專業針對性和社會適應性相結合,要強化實踐能力的培養。
職業技術課按專業方向提供專業課程群,并根據市場需求可搭配成多種專業課程鏈供學生選擇,學校加以指導和調控,這種模塊化的專業課程體系便于滿足用人單位“訂單式”培養和學生專業發展的需求。具體設置如下:
“Java程序員”方向: Java程序設計基礎、JSP、XML程序設計、J2EE、Oracle數據庫管理與維護、軟件開發過程與項目管理。
“.NET程序員”方向: 、、C#、XML程序設計、、SQL Server 2000數據庫、軟件開發過程與項目管理。
“數據庫管理”方向:關系數據庫與SQL語言、SQL Server 2000數據庫管理與維護、數據庫應用程序設計、數據庫需求分析與規劃、Java語言、網絡數據庫設計、Oracle數據庫管理與維護。
“C++程序員”方向:C++程序設計、SQL Server 2000數據庫、基于C++面向對象程序設計、軟件開發過程與項目管理、Java程序設計、基于.NET的Web程序設計、源程序閱讀訓練。
“軟件測試”方向:電子商務核心知識、Java 2編程技術基礎、DB2通用數據庫基礎、軟件測試、網絡與Web技術導論、軟件開發生命周期、使用 Rational 測試工具進行功能性測試、使用 Rational 測試工具進行性能測試、使用 Rational TestManager 進行有效的測試管理、Rational團隊管理工具。
選修課包括限選課和任選課,其中,限選課包括互聯網實用技術、圖像處理、電腦組裝與維護、多媒體實用技術、數據庫基礎與應用、實用操作系統、計算方法、英語、計算機英語、Delphi程序設計、JSP、面向對象程序設計、J2EE、Oracle、Visual C程序設計、技術、軟件測試技術、企業管理、電子商務、工程制圖、計算機輔助設計CAD、會計應用軟件等。任選課包括演講與口才、人際交流、文獻檢索、書法與美術等。本模塊的課程是提高學生全面素質和綜合職業能力的重要保證,有利于擴大學生的就業面。調查發現,許多畢業生就是靠某一個專門的技能就找到一份工作。
認證課包括各種職業資格證書的認證培訓考試、等級考試和IT廠商的產品認證等。如通過勞動和社會保障部舉辦的“全國計算機信息高新技術考試”,就可以取得相應模塊的職業資格證書。
四、課程體系改革的保障和配套措施
1. 加強師資隊伍建設,打造“雙師型”教師隊伍
師資水平決定著學校的教學質量和辦學水平,決定著人才培養質量,是發展高等職業教育的關鍵。目前,高職院校較為缺乏具有在軟件公司從事過軟件開發經驗的教師,大多數老師難以有效指導學生進行項目開發的實訓和承擔一些新課程的教學任務,因此,必須建立一支專兼職結合的“雙師型”教師隊伍。
在鼓勵老師加強自身學習的同時,應采取多種途徑加大教師培訓力度,如根據課程建設的需要,送相關老師去培訓機構培訓和到合作企業參與項目開發;請有關專家來學院作新課程培訓和舉辦有關軟件產業發展、軟件技術、軟件企業管理模式和軟件營銷等專題講座;發揮現有教授、副教授的作用,以老帶新,開展課題研究,促進教師教學和科研開發能力的提高,成立以系為依托的科技開發公司。
在加強自身師資隊伍建設的同時,可以招聘校外具有扎實的軟件知識功底和豐富的軟件開發經驗的教師以及合作辦學企業中的技術骨干作為兼職教師,使得專兼職教師人數比為2∶1。這樣既解決學院師資實際開發經驗欠缺的問題,又能發揮兼職教師了解IT企業要求的優勢,使得培養出來的學生能熟悉企業的運作方式,適應市場需要,從而保障課程改革的順利實施。
2.構建教、學、做相結合的教學模式,改進教學方法
在專業課的教學中,要從根本上轉變原有的教學模式,要以學生為主體,教師為主導。在教學上淡化理論教學與實踐教學的界限,推行“教、學、做”相結合的教學模式,努力做到兩者互相滲透、有機融合,使學生在“做”中“學”,老師在“做”中“教”。在具體的教學實施過程中,可采用課堂講授和小組學習相結合的模式,主要的、基本的知識在課堂上講授,以便使學生在單位時間內獲得更多系統化的知識,同時,展開小組合作學習活動。通過小組合作學習開發具體的軟件,一方面可促使學生積極主動地參與到課程的教學中,全面深刻地掌握相關原理和概念,另一方面可培養學生的實踐、創新能力及合作精神,激發學生自主學習的積極性。
教學方法要更注重實效性。要從問題出發、從應用出發,對工程性和實踐性比較強的課程(如計算機基礎、網絡數據庫、VB、組裝和維護等),可因地制宜地采用實驗室或實踐教學基地現場教學、單元教學、真實企業案例教學或者項目式教學等教學形式,按提出問題、分析問題、任務設計、完成任務、歸納總結、實踐應用的步驟來組織教學活動。采用真實企業案例教學,組織學生對開發成功的項目,從設計思路、設計技巧、程序結構等方面進行討論、分析,在各抒己見、相互啟發的過程中培養學生發現問題、解決問題的能力。使學生在解決問題的過程中,將理論和實踐較好地結合起來,學習的目的性更強。而采用項目驅動方式教學,可利用合作企業的項目或者已實際應用的成熟系統,在企業軟件工程師的指導下,將學生組織成多個項目小組,對學員進行項目開發培訓,幫助學生掌握系統開發技巧與項目設計、開發文檔、系統測試等知識。這樣既可以讓學生盡早感受企業真正的工作流程,培養學生的團隊合作精神,還可以以教學促科研,提高教師的科研能力。
教學手段也要注重實效性,所有課程都要全部或大部分采用多媒體手段教學;要充分發揮校園網和校內實驗實訓場所的作用,讓學生用計算機作實驗、提交作業、復習、考試、閱覽,師生通過校園網和互聯網網上答疑、批改作業。
3.加強課程資源建設
課程體系的實現最終要落實到每一門課程上,可結合省級、國家級精品課程的申報,組織相關教師組成項目組,圍繞課程大綱、教學內容、教學方法、教材、課件庫、習題庫、案例庫、教學錄像和考試題庫等內容開展建設工作,成果全部上網。主干課程要有校企合作自編的教材,并編寫與課程相配套的實驗實訓教材。
4.加強實驗實習基地的建設
加強校內實習基地的建設,開展中小型綜合性實驗,建立集教學、科研、生產相結合的專業實驗室,建立企業實習基地,學院應在資金、人力和場地等各個方面給予資助和支持。專業實驗室由相關教研室管理,便于教師開展教學實驗和科研,把科研項目納入實踐性教學工作中,可作為畢業設計課題讓學生參與其中,改變目前畢業設計流于形式的狀況。學生在企業實習基地實習期間,也可以讓學生把實習項目作為畢業設計課題,采用學院和企業的“雙導師”制。如果學生帶著開發設計出的成果去求職,學生就業的機會將大大增加。
5.建立新的教學評價體系