前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件測試實訓總結范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
我院從2004年即開設了軟件測試方向,在培養方案、課程體系、實踐環節等方面作了大量的探索、研究和實踐工作,取得了一些成效,也遇到了許多問題。本文對我院的軟件測試技術人才的培養模式進行分析和總結,希望能拋磚引玉,與同行交流。
1兩年制軟件測試方向課程體系的特點
兩年制軟件測試人才培養的特點主要有:
(1) 學制短,只有兩年;
(2) 目標是培養實用型軟件測試技術人才;
(3) 要具備一定的編程能力。
上述特點決定了軟件測試人才的課程體系的特點:
(1) 方向即專業由于學制短(兩年),除了第四學期的畢業實訓,實際上真正上課時間只有三個學期。所以軟件職業技術人才不能像本科生培養一樣,到大三才分方向,而必須從入校就開始分,所以軟件測試方向實際上是按軟件測試專業來培養。
(2) 開發與測試兼備一個合格的軟件測試人員必須具備基本的編程能力和軟件開發人才的基本素養。所以軟件測試方向的課程除了測試課程外,還要掌握軟件技術的基本課程,包括數據結構、數據庫、計算機網絡、軟件工程,以及至少一門主流程序設計語言等。
(3) 課程緊湊、課時多由于相對于其他專業來講,軟件測試方向的學生要學習更多的課程,所以課時就多,課程安排緊湊。
(4) 實用性和實時性作為實用型軟件測試人才,學生必須掌握當前主流的測試工具、實用測試技術和方法等。所以課程體系必須要具備實用性和實時性。
2課程的設置
在設置課程時,我們進行了大量的調研,經過2004級和2005級兩屆學生的培養實踐,針對培養效果,進行了一些分析和課程改革。目前2006級的課程設置是在掌握基本的軟件技術基礎知識和一門主流程序設計語言的基礎上,開設了“軟件測試技術”、“功能測試與性能測試”、“測試管理”等軟件測試專業課程。
主要專業課程設置見表1。
從功能上講,課程的設置可以分成5個部分,對應學生不同層次能力的培養。
第一部分程序設計能力、工程化開發思想的培養。該部分的課程主要包括VB、Java、數據結構、計算機網絡、數據庫、軟件工程等,主要是軟件技術基礎知識的學習,培養學生基本的程序設計能力,使之具備軟件技術人才的基本素養,同時軟件工程等培養學生工程化和規范化的軟件開發思想。采用Java作為主要編程語言,將另一主流語言C#作為選修課,體現課程設置的靈活性。
在編程的課時和基礎訓練上和軟件技術專業編碼方向的學生一樣,設置的原則:首先是一個軟件測試人員必須具有基本的編程能力和經驗,才能更好地搞好軟件測試工作。第二是根據當前軟件企業的人才需求考慮學生的就業,因為河南省絕大多數軟件企業規模都較小,設置專職的軟件測試崗位的較少,程序員通常又是測試員,所以使學生既能編程又能測試,拓寬就業渠道。
第二部分軟件測試基礎知識。主要是“軟件測試技術”課程,側重于測試理論和技術的掌握、搭建測試環境、測試工程師的基本職業素養培養。使學生在學習編程的同時,掌握對應的測試技術概念和基本知識。為進一步的實際項目測試打下基礎。該部分對應有2周的一級集中實踐課題,進行基本的測試訓練。
第三部分主流測試技術和工具的掌握和使用、實際測試能力的強化和提高。對應的課程是“性能測試與功能測試”,該課程主要是結合實際的軟件項目,介紹主流的測試技術和測試工具的使用,但并不只是性能測試與功能測試。該部分對應有3周的二級集中實踐課題,分組進行實際的測試訓練。
第四部分測試項目管理能力培養。主要課程為“軟件測試管理”,培養學生工程化的測試思想,學習主流測試管理方法和工具的應用。該部分對應有3周的三級集中實踐課題,訓練項目的測試過程管理和測試管理工具的使用。
第五部分綜合測試能力培養,即畢業實訓。該實訓為最后一個學期,學生到軟件企業或實訓基地參加實際的軟件項目開發和測試,進行實境實習,綜合地運用所學的測試和編程技術。
3實踐環節
培養過程的實施可以歸結為“夯實基礎,強化訓練”,夯實基礎即培養基本的編程能力和掌握基本的測試技術。強化訓練即強調實際能力的培養,通過對實際的軟件項目進行測試訓練,使學生熟練掌握主流的測試技術和測試工具的使用。
為了加強實際能力的培養,在正常教學的實踐外,我們還在第1~3學期分別設置了一級、二級、三級集中實踐課題,并要求軟件測試方向的學生要與軟件編碼方向的學生組合協作進行,專門負責相應的軟件測試工作。使學生感受到測試工作的重要性,同時培養其協作能力。一級和二級實踐課題主要為驗證型,三級實踐課題則為設計型。
第4學期為畢業實訓,采用實地場景教學,對實際的應用項目進行測試,角色模擬,項目驅動。該階段從測試需求分析開始,一直到測試總結報告的撰寫,貫穿一個完整項目的開發和測試整個過程。是對學生所學知識的一個總結和綜合利用的強化。
各實踐環節環環相扣,循序漸進,由易到難,由單一到綜合,形成一個完整的實踐體系。
集中實踐環節安排見表2。
4測試工具的選擇
由于軟件測試工具較多,而兩年制課時太緊張,所以只能學習常用測試工具的使用。我們選用的主要自動化測試工具見表3。
通過測試工具的使用,可以加深對測試原理和理論的理解,掌握主流的測試技術和方法。
5遇到的問題及采取的措施
軟件測試人才作為剛興起的職業技術人才,在培養過程中必然會遇到許多問題,相信這些問題也是其他院校在培養軟件測試人才時遇到的共性問題,我們針對這些問題采取了許多有效的措施,不斷改進。
(1) 對口就業較難
主要原因是我國“重開發,輕測試”的現象過于嚴重,很多軟件公司沒有專門的測試部門,測試工程師太少,開發人員兼作測試工作的現象十分普遍。但并不是說我們的培養方向不對,這正說明軟件測試工程師職業還沒形成規模,正在興起時期。據2006年12月國家信產部“2006中國軟件質量年會”公布,軟件測試人才為2006年最緊缺的人才之一,在上海、北京等地,軟件測試工程師已成為“地位高,待遇高”的“雙高”人才。企業規范化需要規模和過程,軟件質量問題將成為軟件企業能否繼續發展壯大的關鍵所在,越來越多的企業管理者意識到產品測試的重要性,所以軟件測試工程師屬于朝陽職業。
當然我們也采取了有效措施,如在前期強化基本的編程訓練,使學生既能搞開發,也能搞測試,提高就業的靈活性。
(2) 教材少
軟件測試作為一個新的專業(方向),目前還沒有成體系的軟件測試系列教材,所以在選教材時只能選與教學大綱內容相近的教材或技術書,或自己編寫講義。但給講師授課帶來許多困難。當然要很好地解決該問題需要教育管理部門和眾多同行的共同努力。
(3) 測試項目實例缺乏
由于測試項目都屬于公司內部資料,一般很難獲得,不像通用應用程序模塊一樣在網上可隨意找到。對此我們組織設計了一些測試案例,同時從合作的軟件公司獲取了一些實際項目案例,使學生能在實境中實踐。畢業實訓時大部分學生則直接到軟件公司進行實地實習。
(4) 師資力量薄弱
師資是保證教學質量的關鍵,開始時師資力量較薄弱,我們采取的措施有:挑選有實際項目開發經驗的老師來授課、從IT公司引進專業測試工程師、將有一定測試工作經驗的老師送出去加強培訓等。另外還不定期聘請IT公司的測試專家來做專業講座,拓展學生的知識面。
CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人與職業技能、人際團隊能力和工程系統能力四個層面,要求以綜合的培養方式使學生在這四個層面達到預定目標。CDIO不僅繼承和發展了歐美20多年來工程教育改革的理念,還提出了系統的能力培養、全面的實施指導、完整的實施過程和嚴格的結果檢驗的12條標準,具有很強的可操作性。
2綜合實訓課程的定位與培養目標
按照循序漸進,由淺入深,逐層推進的原則,鹽城師范學院信息科學與技術學院將軟件工程專業的實踐教學體系分為四個層次:課程實驗、課程設計、綜合實訓、畢業設計。其中,綜合實訓是以前期課程實驗和課程設計為基礎,綜合運用多門相關課程(群)知識完成一個工程項目的實戰訓練,并作為后續畢業設計的預演,是整個實踐教學體系中承上啟下的關鍵環節。在軟件工程領域,軟件開發與軟件測試是目前兩個主流的就業方向,也是綜合實訓課程訓練的重點。軟件開發綜合實訓要求以軟件生命周期為主線,綜合運用程序設計、數據庫應用、軟件工程、軟件項目管理等學科知識,嚴格遵守軟件開發的流程與規范,完成一個軟件項目的開發,最后提交軟件產品和相關技術文檔;軟件測試綜合實訓要求學生以軟件開發綜合實訓所完成的軟件產品為被測對象,綜合運用軟件測試與質量保證、軟件測試流程與方法、測試框架與自動化測試等學科知識,使用軟件測試的方法與技術,設計測試用例和測試腳本,完成被測軟件的功能測試與性能測試,生成測試報告,并對測試結果進行分析。綜合實訓的培養目標為:通過軟件開發與軟件測試項目的實戰訓練,全面提升學生綜合運用所學知識與技術解決實際工程問題的素質與能力,進一步加深學生對工程化、系統化原則與方法的理解,為勝任現代軟件工程環境下高質量軟件的開發、測試和維護工作奠定堅實的基礎。
3CDIO模式下課程改革與實踐
根據綜合實訓課程的定位和培養目標,借鑒和吸收CDIO工程教育理念和標準,按照“以CDIO培養大綱為指南、以項目為載體任務為驅動、以工程能力培養為目標”的原則,對我們綜合實訓課程改革進行了探索與實踐。
3.1全真模擬企業環境,實施一體化訓練模式
軟件開發和軟件測試是綜合實訓的主體內容,傳統的訓練模式將二者割裂開來,分兩個階段分別完成實訓項目,這種方式沒有考慮軟件開發與軟件測試的內在關聯與協同性,與企業真實環境也不相符合;并且由于兩個實訓階段時間跨度較大,項目銜接性差,效率低下,實訓效果也大打折扣;而在真實的企業環境中,軟件開發小組和軟件測試小組共同對同一個項目負責,各司其職,協同完成整個項目。鑒于此,我們采取“全真模擬、同步協作、角色互換”的策略,實施軟件開發與軟件測試一體化的訓練模式。具體地說,整個實訓過程完全模擬企業真實環境,將某個項目分配給由若干學生臨時組成的項目組,該項目組又細分為開發小組和測試小組,分別負責軟件的開發與測試工作;項目完成后,開發小組和測試小組角色互換,重做該項目。實踐表明,一體化的訓練模式能實現軟件開發與軟件測試的無縫銜接,學生能在更為真實的環境中參與整個項目過程,體驗不同角色的職責范圍,并通過不同的角色轉換,使學生更深刻認識到開發人員與測試人員協同合作對完成整個軟件項目的重要性。
3.2項目驅動,全面實踐CDIO
CDIO的核心就是企業與社會環境下的構思、設計、實現和運作系統,它展示了一個產品或系統完整的開發過程,也體現了“做中學”和“基于項目的教育和學習”的精髓。從軟件開發與軟件測試的角度,無論是以軟件生命周期為主線的開發過程,還是以測試流程為主線的測試過程,無不體現著軟件產品從構思到運作的整個生產過程,與CDIO理念不謀而合。這里,我們以項目為載體、任務為驅動,以CDIO方法論為指導,嚴格按照“構思、設計、實現和運作”四個不同階段來開展實訓過程,以培養學生對產品、過程和系統的構建能力,增強學生的工程化意識。CDIO與軟件開發、軟件測試過程的對應關系
3.3分組互學互助,培養團隊協作能力
團隊能力是CDIO大綱要求工程畢業生必備的一種能力,也是軟件企業非常看重的一種職業能力。在實際實訓過程中,我們模擬企業真實環境,將所有學生分為若干項目組,每個項目組又細分為開發小組和測試小組,各小組由一名組長和若干名組員構成。根據任務分工不同,每名學生都被賦予一定的角色,組員在組長的指揮協調下通力合作,共同完成實訓項目。實踐表明,分組模式能較好地激發學生的學習熱情,提高學習效率,而且也營造了良好的學習氛圍,組員之間分工協作,互學互助,學生的溝通能力、協作精神和團隊意識大為提升。
3.4面向全體,務實勿虛,促進共同進步
綜合實訓是一種典型的自主學習課程,學生在任務的驅動下以小組為單位協作完成實訓項目,但由于任務分工不合理、學生自制力差等原因,容易導致小組內個別技術較好、自覺性高的學生承擔大部分甚至全部工作,而部分學生卻人浮于事,使團隊分工協作流于形式,不利于全體學生的共同進步與提高。為避免此類現象的發生,我們考慮在角色分配和任務分工時,盡量使學生都能承擔軟件設計、編碼、測試用例設計、腳本設計、測試實施等較為具體的工作,使學生通過具體的訓練來提高專業技能,而對于需求分析、計劃制定、總結報告等相對較“虛”的工作則由組長帶領全體組員共同完成;同時,任務分工也充分考慮學生原有的技術基礎、興趣愛好和特長。這種分工方式在尊重學生個體意愿的基礎上使得每個人都有具體明確而又力所能及的任務分工,能充分調動學生的學習積極性,激發學生的學習潛能,促進全體學生的共同進步與提高。
3.5實施多維度考評體系,注重過程考核和能力考核
考核是對學生學習成果的認定和評價,良好的考核機制能對學生的學習過程和學習動機產生正確的指引作用,促進培養目標的達成。在實訓課程的考核上,我們以CDIO大綱要求的能力培養為導向,學習過程與學習結果并舉,實施多維度的考評機制,每名學生的成績由平時成績、所在小組成績和個人成績三部分組成。其中,平時成績主要考評學生的職業態度與能力,小組成績主要考評學生所在小組的整體表現和工程實作能力,個人成績主要考評學生個體所承擔任務的完成質量,且每項成績的考評方式也是多元的,力求做到公平、公正、合理。在小組內部,同組學生的小組成績相同,但平時成績和個人成績各異,引導學生在努力完成各自任務的同時,重視組內的協作互助,并通過各個個體的高質量工作提高整個團隊的工作質量。實踐表明,該考評體系既重視最終學習成果的呈現也關注學生學習過程中的表現;既重視團隊整體的工作效率也關注學生個體在團隊中的價值;既強調學生專業技能的訓練和工程能力的培養也關注學生職業素養和個人能力的提高,有效避免了傳統評價方式只看結果不看過程、評價指標單一化、評價結果趨同化的弊端。
4結束語
本人從事一年級《計算機組裝與維修》教學,根據中職學校學生的升學和就業的需要,在教學中,我認為《計算機組裝與維修》課程主要涉及四類主要的知識塊:硬件組裝(匹配)、故障檢測、軟件安裝及軟件測試。下面具體探討“硬件組裝”、“故障檢測”、“軟件安裝”及“軟件測試”四類主要的知識塊如何按照“任務驅動”教學模式進行教學。
⒈“硬件組裝”知識塊
該知識塊的教學組織與實施一般過程為:課堂設計――示范引導――模仿試做――糾錯重做――復述總結。主張課堂組織以學生小組為中心,內容教學以任務為驅動,形成師生互動、生生合作的探究式學習氛圍。各環節具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養專業能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
示范引導――主講教師進行操作示范,在此過程中結合錄像、課件、網絡、軟件進一步向學生展示操作的全過程。
模仿試做――學生在觀看完老師的演示后開始動手實際操作,教師巡視指導,發現個別錯誤與一般錯誤。
糾錯重做――及時糾正個別錯誤,集體講評一般錯誤,之后讓學生重做一些步驟。
復述總結――最后老師對操作步驟進行復述,特別提醒容易出錯的步驟和環節,總結整堂課技能要點、方法要點和社會需要要點。
例如,在“為系統安裝網絡硬件”課例中,抓住其中的網卡安裝、插槽選擇、金手指的接觸情況、網卡類型的選擇,IP地址的設置等幾項關鍵技術,而在網絡原理、網絡ISO的分層則一帶而過只作簡單介紹。教師先講解示范,接著由學生試做,同時教師巡回指導,發現個別性問題,及時指導解決;針對一般性問題,教師則講評糾錯;之后對一般性問題容易出現的環節,讓學生重做有關步驟。
2.“故障檢測”知識塊
“故障檢測”包括硬故障和軟故障的檢測,硬故障是指計算機硬件出現的問題,軟故障是指軟件運行出現的問題。該模式的一般過程為:課堂設計――預設故障――分組討論――嘗試修復――糾錯重試――分析總結。上課前教師提前預設若干個可控制故障,上課開始時分組討論每個故障產生的原因,在討論的基礎上小組嘗試排除故障。這種模式采用問題驅動來展開。各環節具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養專業能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
3.“軟件安裝”知識塊
“軟件安裝”包括系統軟件安裝和應用軟件安裝,以及多操作系統安裝。“軟件安裝”行為引導教學模式的一般過程為:課堂設計――軟件介紹――安裝提示――學生安裝――個別輔導――總結提高。本模式教學以問題或任務為驅動展開。各環節具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養專業能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
軟件介紹――介紹所要安裝的軟件背景知識,包括軟件的開發商、版本的演化、最新版本的功能等。
4.“軟件測試”知識塊
“軟件測試”就是用軟件對硬件系統進行性能測試,目的是觀察或比較不同品牌的組件的性能表現。“軟件測試”行為引導教學模式的一般過程為:課堂設計――布置任務――分組操作――結果報告――比較分析。這個過程采取任務驅動來展開。各環節具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養專業能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
布置任務――軟件測試包括兩類任務,一是匹配性測試,一是系統優化測試。教學中可以選擇某一類任務或兩類任務組合進行。
分組操作――學生在明確任務后開始分組測試。
結果報告――對小組測試參數進行分析,形成一個有說服力的組件選擇方案或匹配優化的測試報告。
在教學中可以充分利用學校的現有資源。現在計算機技術發展很快,各個學校都有許多淘汰的計算機,但它們都還可以正常使用。我們可以利用它們建立計算機組裝與維修實驗室,在加上一些典型的、比較新的演示教師機,基本就能滿足教學要求,解決學生的動手操作問題。上述大部分教學都應該在組裝與維修的實驗室進行才能達到教學目的。
在本課程中還有很重要的組成部分那就是實訓部分。《計算機組裝與維修》實訓的目的是鍛煉和培養學生實際操作技能和解決問題的動手綜合能力。學生可在基本掌握各部分內容的基礎上集中進行相關實驗,以加深對知識的理解和掌握。在實驗的基礎上進行實訓,提高學生的軟硬件安裝水平和排除故障的能力。
本課程考試改革的目的旨在加強學生技能、能力培養,使學生重視實踐性技能的學習。課程考試采用抽簽抽取問題決定操作考試和口試內容的考試方法。通過建立涵蓋《計算機組裝與維修》各關鍵技術的項目庫,給出各操作項目的難度系數,考試前將這些操作項目作為考試內容公布給學生,讓他們全面準備,這些項目涉及組裝、測試、維護和維修的主要方面,目的是要學生全面掌握操作內容。考試時,讓每個學生隨機抽取一個項目,學生先口頭陳述本操作項目的原理、方法、步驟和過程等,然后再進行動手操作,操作完成后學生還可以再作補充陳述。教師根據操作與口試結果,以及所選擇項目的難度系數,以操作與口試7:3的比例給學生評定本課程考核成績。具體安排為整個考試總時間為3小時,包括口試和操作考試。口試陳述、答問30分鐘,其余時間為操作考試時間,操作完成后學生還可以再作補充陳述。
考試程序為:
(1)學生抽取考試項目。
(2)根據項目名稱,口頭陳述本項目的原理、方法、步驟和過程,期間老師根據學生陳述情況隨時提出問題,學生口頭回答。老師做好相應口試記錄。
(3)學生進入操作考試,教師和輔導教師全程監控,并做好相應的記錄。
(4)操作完畢,有需要再陳述的學生可以提出補充陳述要求,否則離開考場。監考老師合議評定學生考試成績。
如上面的考題學生基本都能回答正確,這樣進入社會工作后,基本可以達到用人單位對中職計算機應用專業學生的要求。那我們的教學目的也就達到了。
附加:
本課程所需要的實驗條件:
摘 要:文章以如何培養滿足企業要求的軟件技術人才為出發點,詳細論述廣州大學華軟軟件學院培養軟件技術人才的實踐教學體系及實踐教師隊伍建設和實踐教學質量評價。
關鍵詞:獨立學院;軟件技術人才;實踐教學體系
軟件產業正成為信息產業和國民經濟發展新的增長點,然而國內的軟件企業一再強調軟件人才的不足,原因何在呢?軟件人才教育的相對落后是影響人才短缺的一個重要因素,學生在學校學到的知識不能直接應用到企業的軟件開發或測試上[1]。軟件企業要加大與高校及培訓機構的合作,開展“訂單式”人才培養,學校在教學過程中,更加注重實踐教學。廣州大學華軟軟件學院成立于2002年,是全國300多家獨立學院中唯一的一所軟件學院,學院在軟件技術人才培養方面的探索和實踐已取得一定的成效,其中實踐教學發揮了重要的作用。本文著重介紹學院軟件技術人才實踐教學體系的相關內容。
1 軟件工程專業簡介
軟件技術人才的培養主要立足于軟件工程專業(專業方向包括軟件開發、移動互聯網絡應用及軟件測試技術)和計算機科學與技術專業(筆者所在系的專業方向為企業級數據庫應用與開發)。軟件工程專業重視基礎理論、工程訓練、職業發展及外語能力的培養,實踐課程注重軟件系統分析與設計、軟件開發與測試、軟件質量控制與項目管理等方面能力的培養,要求本專業學生在掌握計算機軟件領域基本理論知識的前提下,通過與IBM、Microsoft、SUN等業內大型企業合作,及時了解業界最新的軟件開發與設計和軟件項目管理技術,并能熟練使用軟件工業界主
作者簡介:吳愛華,男,講師,研究方向為數據庫技術、軟件開發方法及軟件測試技術等。
流的開發工具以及開源軟件技術開發有一定質量的軟件系統[2]。
1.1 專業方向
軟件工程專業包括三個專業方向:軟件開發、軟件測試及移動互聯網軟件應用與開發。軟件開發方向側重郵件交換技術、短信平臺應用及網絡應用編程,要求學生能搭建B/S動態交互網站,熟悉軟件開發方法,對軟件工程有一定的了解,能勝任應用軟件系統的設計、開發、測試、維護等工作。軟件測試方向要求學生具備一定的軟件開發能力,掌握軟件測試理論與技術,側重于單元測試用例編寫,熟練應用軟件自動化測試工具,搭建不同的測試環境并在不同環境下進行軟件測試,了解測試管理的內容并能編寫規范的測試報告。移動互聯網應用與軟件開發方向側重移動通信及移動互聯網基本理論知識,移動終端系統應用開發、維護及單元測試,移動互聯網通信開發技術及移動互聯網WAP平臺搭建和移動搜索引擎開發[2]。
1.2 軟件工程專業課程體系
軟件工程專業三個方向的課程包括共同的專業必修課和各自的必修課。共同的必修課主要有計算機科學導論、離散數學、C++程序設計、SQL Server數據庫、軟件工程概論、數據結構與算法、操作系統、編譯原理、Web編程。表1列舉出三個專業方向相關的必修課程。
表1 各專業方向專業必修課程一覽
2 實踐教學體系
軟件工程專業的專業課均是理論與實踐并重的課程,理論課和實踐課各占一半學時,通過實踐教學鞏固所學理論知識,培養學生解決實際問題的能力。在實踐教學過程中,啟發學生積極思維,利用所學理論確定實驗課題的解決方案,掌握解決實際問題的方法和思路,同時也是培養創新型應用人才的有效手段。
2.1 實驗課
軟件工程專業的實驗課分為基礎性實驗、綜合性實驗、設計性實驗三種形式。基礎性實驗是指圍繞課程某一章節的教學內容所開展的實驗,是一種演示性或驗證性實驗。綜合性實驗是指實驗內容涉及本課程的綜合知識或與本課程相關課程知識的實驗,一般以課程設計的形式進行。設計性實驗是指給定實驗目的、要求和實驗條件,學生自己設計實驗方案,并加以實現的實驗,一般以項目實訓(包括畢業設計)的方式進行[3]。專業基礎課程以基礎性實驗為主,各專業方向的專業必修課涵蓋基礎性實驗和綜合性實驗,畢業項目實訓和畢業實習為設計性實驗項目。
課程采用大小課相結合的方式,實行課程負責人負責制,課程負責人和課程組其他教師共同承擔該課程大小課的教學任務,大課即理論課,小課即實驗課,根據修讀的學生人數分配大小課的班級,大課教室一般是容納90至300人不等的多媒體教室,小課教室一般都是配備64臺電腦的機房。
2.2 項目實訓
項目實訓在軟件工程專業教學中占有重要的地位,主要包括兩種形式:三年級學生暑期的集中式項目實訓和大四第一學期的項目實訓課程。
項目實訓模擬軟件生產流程,結合一個模擬的軟件項目,讓學生體驗項目啟動、需求獲取、架構設計、詳細設計與實現、測試、質量管理等完整過程,是對專業學習的一次集中總結和實踐,教師通過實訓項目管理平臺對集中式的項目實訓進行有效的管理。集中式項目實訓邀請IBM、Microsoft、Parasoft等國際知名軟件企業的專家指導,在實訓項目中整合三個專業方向,軟件開發與軟件測試方向組隊,移動互聯網應用與軟件開發與軟件測試組隊,目的是模擬軟件企業的生產模式,使學生在未進入企業之前就對企業的生產方式有所了解,旨在培養學生軟件設計、開發及測試的能力以及溝通能力和團隊合作精神。
2.3 畢業設計
畢業設計是在專業課程的教學完成之后進行的一個重要環節,著重培養學生綜合分析和解決問題的能力,通過綜合訓練深化、拓寬、運用所學知識,是學生從學校學習到崗位工作的過渡環節,同時也是衡量高等教育質量和辦學效益的重要評價內容。教師結合業界新技術、新業務擬題,提供具有創新性的畢業設計課題以提高學生的創新能力,指導過程中啟發學生逐步解決問題的能力。
2.4 精英班
學院設有Java精英班和.NET精英班,由軟件研究所與軟件工程系共同承擔,成立專門的教研室負責日常管理和教學工作,通過有效的方式甄選出一批有志于從事軟件開發、學習能力較強的學生,精英班加大實踐教學力度,重點是項目實訓,并與企業有對接項目,學歷教育以外還增加了一系列專業課程,使優秀的學生接觸到更多的專業知識,獲得更多的實踐機會,表2列舉的是Java精英班的主要專業課程,表3列舉的是.NET精英班的相關課程。
表2 Java精英班主要課程
(The Main Courses of Java Elite Class)
表3 .NET精英班主要課程
(The Main Courses of .NET Elite Class)
2.5 軟件設計競賽
我們組織學生參加各級專業競賽以促進實踐教學,擴大學生自主學習的時間和空間,調動學生學習的主觀能動性,培養學習興趣和創造性思維能力。學院提供開放式實驗室供參與競賽的學生使用,吸引學生在此進行實驗、實訓、技能訓練,歷年來我校學生在各級競賽中獲得較好的成績。
1)“高校杯”軟件設計大賽由廣東省計算機學會主辦,是省內在校大學生軟件設計專項比賽的最高賽事,比賽每年舉辦一次,目前已成功舉辦20屆。2006年我校成功承辦第16屆“高校杯”軟件設計大賽,該項賽事首次由獨立學院承辦。本屆大賽全省19所高校的25件作品進入決賽,本院學生開發的“無線遠程終端”奪得大賽第一名和“創新獎”雙料大獎,另一個參賽作品“Soker搜索引擎”則獲得二等獎。
2)“國信藍點杯”全國軟件專業人才設計與開發大賽由教育部、工業和信息化部主辦。首屆比賽我校獲得Java組2個一等獎,5個二等獎,4個三等獎,C語言組獲得2個二等獎,4個三等獎,7個優秀獎;2011年第二屆我院共有53名選手參賽,其中獲得一等獎6名,二等獎10名,三等獎21名,優秀獎8名,同時我院還獲得優勝學校獎和優秀組織獎。
3)“微軟校園之星大賽”由微軟教育培訓合作伙伴ATA公司舉辦,旨在提高學生軟件開發的創新能力,選拔優秀人才,是“微軟實習生計劃”的一部分。2009年軟件工程系第一次組織2006級學生參加了第三屆“微軟之星大賽”,兩個學生組隊入圍決賽,最終獲得全國三等獎,2010年組織2007級學生參賽,三個學生組隊闖入決賽,最終獲得全國一等獎。
4) 廣東大學生科技學術節由共青團廣東省委員會、廣東省教育廳、廣東省科技廳、廣東省學生聯合會聯合舉辦,以“營造學術氛圍、提升科技素質、培養創新人才”為主題。我院軟件工程系4支代表隊分別闖入2011年第五屆廣東大學生科技學術節之首屆“創新杯”粵港澳大學生計算機軟件應用大賽總決賽,并最終獲得兩個二等獎和兩個三等獎。
2.6 實訓基地建設
學院的軟件研究所主要負責學校信息系統的開發和維護,同時也是學生的校內實訓基地,每年都會選派大三學生到研究所實習,表現優秀的留校或者推薦就業。學院自成立之初就著手與企業合作建立校外實訓基地,目前為止實訓基地數目達到30家,其中包括IBM、南天電腦系統有限公司、神州數碼、電訊盈科、華南資訊等。
3 實踐教師隊伍建設
作為教學活動的直接承擔及實施者,教師自身的科研實踐能力直接影響實踐教學的質量,現階段獨立學院教師的科研實踐正是其薄弱環節,究其原因有以下幾點:1)獨立學院乃民辦學校,缺乏吸引高端人才之優勢;2)教師的來源一是退休的公辦學校的教師(教授或副教授),未必有足夠的精力再投入科研實踐,二是剛剛畢業的大學生(本科生和碩士生),三是來自企
業,有一定的業務和工程經驗,但缺乏科研能力。
加強實踐課程教師隊伍建設,提高教師的科研實踐能力,首先要合理使用資深教師的科研資源,指導青年教師積極開展科研實踐,申報各級課題;其次青年教師要緊跟理論和應用領域前沿,結合自己的專業方向努力鉆研,再則學校為教師提供寬松的科研環境,并予以積極支持,可考慮與科研院所建立合作關系,選拔青年教師去培訓或進修。教師在進行科研實踐時,選拔學有余力的學生參與,對學生的實踐和創新能力的培養是大有裨益的。
4 實踐教學質量評價
為提高實踐課程的教學質量,應該制定合理的質量評價指標。結合教育部的評估要求與獨立學院的具體情況,主要從以下幾個方面進行評價:1)實踐課程的內容是否符合專業特色;2)實踐課題能否培養學生的動手及創新能力;3)實踐課程的考核方式是否合理有效;4)教學督導的評價及學生的反饋意見。
5 結語
以上從6個方面介紹了我院軟件技術人才的實踐教學體系,實踐教師隊伍建設。實踐證明,遵循此教學體系培養出來的學生越來越多地受到企業的青睞。
參考文獻:
[1] 高素梅.當前我國軟件產業發展狀況及趨勢[N].中國電子報,2008-6-2(10).
[2] 廣州大學華軟軟件學院軟件工程專業介紹[EB/OL]. [2011-05-01]. /major01.aspx
[3] 廣州大學華軟軟件學院. 廣州大學華軟軟件學院實踐性課程建設實施辦法[S]. 廣大華軟[2011]10號文.
Practical Teaching System for Independent Colleges’ Talent of Software Technology
WU Aihua
(Department of Software Engineering, South China Institute, Software Engineering Guangzhou University,Guangzhou 510990, China)
軟件工程是一門建立在計算機科學和工程學基礎之上,同時涉及數學、管理學、經濟學和系統工程等學科理論與方法的學科及專業。軟件工程教育兼具科學教育屬性與工程教育屬性,前者培養的是軟件工程基礎研究人才,后者培養的是軟件工程技術、應用、管理和服務人才。我校作為一所普通本科院校,結合區域經濟發展實際,將軟件工程專業的培養目標定位為培養應用型、工程型軟件人才。即能夠綜合應用計算機科學、數學及管理科學等學科知識,以工程化的原則與方法為指導,勝任現代軟件工程環境下高質量軟件的開發、測試和維護等工作的軟件工程技術、應用、管理和服務人才。該培養目標可進一步解讀為以下三點:扎實的專業基礎、良好的工程學意識、較強的動手實踐能力。
2CDIO模式下實踐教學體系的構建
軟件工程是一門實踐性很強的專業,應用型、工程型軟件人才的培養定位更加強調學生動手實踐能力的培養和工程方法學的訓練,因此,實踐教學的體系建設和教學效果對學生的培養質量起著至關重要的作用。借鑒和吸收CDIO工程教育理念和標準,我們從教學內容和教學方法兩方面對軟件工程專業實踐教學體系進行了重新構建和實踐。課程實驗、課程設計、綜合實訓、畢業設計四個層次循序漸進、由淺入深、環環相扣;在教學方法的構建上,我們從工程教育的角度出發,形成了“案例牽引、項目驅動、團隊合作、引導互動”的教學模式。
2.1教學內容的構建
在教學內容的構建上,我們按照“以CDIO培養大綱為指南、以項目設計為導向、以工程能力培養為目標”的原則,將軟件工程專業的實踐教學體系分為以下四層次。2.1.1課程實驗課程實驗是單門專業課程教學中的實踐環節,也是整個實踐教學體系的基礎,對學生基礎專業技能的培養具有重要作用。為了加強實踐教學,我們在絕大部分專業課和專業基礎課中都設置了課程實驗,根據教學目標的不同,課程實驗設計為驗證性、設計性和綜合性等不同的層次。對于實踐性很強的專業課程,如程序設計基礎、面向對象程序設計等,采用完全實驗教學的方式,通過一個完整的項目將課程知識結構串聯起來,并通過“分而治之”的形式來學習各個知識點,將教師講解與演示、學生實地操作有機融合起來,最后完成整個項目,以培養學生的動手實踐能力和專業興趣;對于理論性較強的專業課程,如數據結構、操作系統等,采用理論講解與上機實踐并舉的方式,加強學生對專業基礎理論知識的理解與應用。2.1.2課程設計課程設計是實踐教學體系的第二層次,是在課程實驗的基礎上,選擇一些實踐性強且具有代表性的課程作為單獨課程開設綜合性課程設計。例如,Java程序設計課程設計、軟件工程課程設計等。與課程實驗相比,課程設計具有綜合性和實用性的特點,學生在教師的指導下綜合運用相關課程的知識和技術完成一個完整的設計或實現。通過課程設計的訓練,培養學生運用專業知識分析問題和解決問題的能力,使學生的專業技能得到進一步的提升和拓展。2.1.3綜合實訓綜合實訓是以課程設計為基礎,綜合運用多門相關課程知識完成一個工程項目的實戰訓練。綜合實訓以項目為載體構建知識結構,將學科知識、專業技能與工程實踐有效結合,體現軟件工程領域中的工程學和方法學的實施,實施技術與管理能力訓練和職業綜合素質綜合的培養[4]。根據方向不同,我們在軟件工程專業開設了兩門綜合實訓課程:(1)軟件開發綜合實訓。以軟件生命周期為主線,綜合運用程序設計、數據庫應用、軟件工程、軟件項目管理等學科知識,嚴格按照軟件開發的流程與規范,完成一個軟件項目的開發,最后提交軟件產品和相關技術文檔。(2)軟件測試綜合實訓。要求學生以軟件開發綜合實訓所完成的軟件產品為被測對象,綜合運行軟件測試與質量保證、軟件測試流程與方法、測試框架與自動化測試等學科知識,使用軟件測試的方法與技術,設計測試用例和測試腳本,完成被測軟件的功能測試與性能測試,生成測試報告,并對測試結果進行分析。2.1.4畢業設計畢業設計是實現人才培養目標的重要手段,是實踐教學體系中最后一個綜合性、創造性的實踐環節;是對學生基礎理論、專業知識與實踐成果的全面總結,是學生綜合素質與工程實踐能力的全面檢驗[5]。為了提高畢業設計的質量,我們從以下三方面層層把關。(1)在課題選題上,強調選題的可行性和實用性,忌空忌大,選題最好能與指導教師的科研方向或學生的實習工作相關聯;(2)在過程控制上,實行師生定期交流與匯報制度,確保畢業設計按計劃保質保量完成;(3)在畢業設計報告及相關材料的撰寫上,從規范性和科學性兩方面嚴格要求,確保質量。
2.2教學方法的構建
2.2.1案例牽引案例教學是實踐教學中的常用手段,具有直觀性高、互動性強的特點。按照CDIO大綱能力培養的層次要求,結合各實踐課程的教學目標,我們在實踐教學中精心規劃和設置了不同層次、不同復雜度的教學案例,以案例實現過程為驅動來安排教學內容和方法。在教學過程中,以一個具體的案例為線索,把教學內容巧妙地融合在案例之中,學生以完成案例任務為目標,在老師的指引下對目標問題進行分析與分解,并通過動手實踐解決問題,真正做到“做中學”和“學中做”。在完成任務的過程中,不僅使學生的動手實踐能力得以提高,也培養了學生的創新意識、創新能力以及分析問題、解決問題的能力。2.2.2項目驅動工程實踐能力是專業技能的進一步升華和提高,是從整體上對工程項目的一種實做能力,是工程類畢業生必備的核心素質。根據CDIO“做中學”和“基于項目的教育和學習”的思想,我們在實踐教學中廣泛采用項目驅動的教學模式。強調以一個產品或系統從構思、設計、實現到運作的完整的構建過程來培養學生的工程實踐能力。以軟件開發綜合實訓課程為例,在課程中引入“項目驅動”的教學理念,以軟件生命周期為主線,以項目為載體、任務為驅動開展實踐教學。通過一個軟件產品從項目啟動到需求分析、設計、實現、測試、運行維護的整個生產過程的實戰,培養學生的工程能力和綜合素質。2.2.3分組教學團隊能力是CDIO大綱要求工程畢業生必備的一種能力。在實際教學過程中,我們模擬企業的真實環境,將所有學生分為若干項目小組,每組由一名組長和若干名組員構成。根據任務分工不同,每名學生都被賦予一定的角色,組員在組長的指揮協調下通力合作,共同完成實驗項目。實踐表明,分組教學模式能較好地激發學生的學習熱情,組員之間分工協作、互學互助,學生的溝通能力、協作精神和團隊意識大為提升。2.2.4革新考核方式考核是對學生學習成果的認定和評價,良好的考核機制能對學生的學習過程和學習動機產生正確的指引作用,促進教學質量的提高。在實踐課程的考核上,以能力培養為導向,采取多元的考核方式。引導學生在平時項目實訓過程中加強專業技能的訓練、工程能力的培養以及綜合素質的提高。(1)對基礎性的課程實驗,重點考核學生專業知識與技能的掌握情況,采取平時實驗成績與期末上機考試成績相結合的方式。(2)對課程設計和綜合實訓類課程,重點考核學生的工程實踐能力和團隊協作能力。采取以作品演示、項目答辯為主的考核方式,同時規范化的文檔資料也是重要的考評指標。(3)對于畢業設計,重點考核學生的創新能力。科研能力以及分析解決問題的能力,考核方式同綜合實訓。總之,以能力培養為導向,注重能力考評。2.2.5校企合作校企合作是培養學生的綜合素質和實踐能力的重要途徑。為了增強人才培養的針對性和畢業生與工作崗位的無縫對接,我們同中創、中遠等知名軟件公司開展校企合作聯合辦學。充分利用學校和社會兩種教育環境和教育資源,聯合構建工程型實踐教學隊伍與教學平臺。一方面,學校聘請企業一線的工程師作為兼職教師來校授課,不僅充實了實踐教學隊伍,更帶來了企業的最新技術和行業資訊;另一方面,選派優秀教師到企業學習鍛煉,參與企業項目,提升師資隊伍的水平。此外,通過在企業建立校外實訓、實習基地,使學生盡早感受企業文化和接觸到真實的企業項目,也為學生就業積累了豐富的工程實踐經驗。
3結束語