時間:2022-10-12 19:03:24
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇軟件測試課程總結,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
我院從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公司的測試專家來做專業講座,拓展學生的知識面。
關鍵詞:案例教學;教學模式;軟件測試
近幾年來,軟件測試人員的培育要求和計劃已納入高職教育范疇,具有軟件測試的知識體系和工作技能已成為軟件人才新的職業構成標準,《軟件測試》這門課程成了各高職院校計算機軟件專業的一門必修專業課。開設該課程的主要目的是使教學對象掌握軟件測試的基本概念和基本理論,掌握基本測試技術和方法,并應用到實踐;使教學對象具備軟件測試的必備專業知識和實際工作能力,能基本承擔起軟件測試的工作任務,并為未來成長為軟件測試工程師奠定必備的理論知識與實踐基礎。而目前的情況是,大部分院校軟件測試課程的教學并沒有較好地達到預期的要求和目的。
一、軟件測試課程的傳統教學
軟件測試課程涉及的專業知識面較廣,而且要求有良好的基礎知識,如英語、數學等方面的知識。課堂教學內容繁雜,沒有規律可循,更難以用一條主線相連、跳躍性大,從而導致學生對教材的理解不深,容易出現前面學、后面忘的情況。本課程具有很強的實踐性、綜合性和社會性,與工程實踐聯系緊密,知識更新的速度很快,涉及到有關學科的綜合運用和團隊合作精神等。因此,如何將所學的內容與實際工程聯系起來,學會用所學的理論知識分析和解決實際工程問題,成為該課程教學成敗的關鍵問題。
“粉筆+黑板”仍是目前許多課堂教學的主要方法,這種傳統的方法,相對來說,教學環境一成不變,教學手段呆板枯燥,課時效率低。在教學活動中主要采用的是“教師講,學生聽;教師寫,學生抄的滿堂灌”的教學方法。在學習過程中,學生要不斷鞏固測試理論知識,加深對其理解和認識,完成所承擔的測試項目中的各項工作任務,提交測試分析報告,通過項目培養和訓練協同工作、溝通交流、角色轉換等,形成實際工作能力。按照傳統的教學方法教學,很難解決以上問題,也無法滿足現代教學要求。
二、軟件測試課程案例教學的重要性
軟件測試課程在高職院校是一門本著“理論夠用,實踐為主”原則的重要專業基礎課,但在實際操作中,如何把握這個理論夠用的度,實踐為主又如何展開,這都需要從實際的教學過程中不斷地總結和調整。在軟件測試這門課程中,針對高職高專學生基礎差、學習積極性和主動性不強的特點,在教學過程中采用“案例驅動”、“從實踐中領悟理論”,即案例教學是比較理想的模式。這種模式能夠讓學生在教學中動手動腦、直觀體會實際的測試過程,尋找理論的根據和支點,從而達到預期的教學效果。
案例教學法源自醫學教育的問題導向學習(Problem-based learning),強調以學習者為中心的合作學習,是一種跨學科領域的學習架構。此種方式較口述或文字敘述更能傳達真實問題情境的復雜,給學生提供更接近真實的問題學習情境。案例教學法除強調問題的真實性外,也著重解決問題過程中學習者搜集、分析、整理資料,乃至提出解決方案的學習歷程。
案例教學法的特點是突出實踐性、較強的綜合性、深刻的啟發性、過程的動態性。案例教學法注重學生的智力開發及培養學生解決實際問題的能力。在本課程的教學活動中,采用案例教學能改變傳統的灌輸式的教學方法,充分調動學生的學習積極性,使學生的思維空間得到拓展,提高其學習興趣;使學生學會用所學的理論知識分析和解決實際工程問題的方法,從而也改變其對理論學習的枯燥感和“讀書無用”的觀念。
三、軟件測試課程案例教學的思路
1.案例的引入和設計
首先,要根據教學計劃安排和教學進度的要求設計教學案例,為課堂的教學內容埋下伏筆。案例教學以案例為基本教學材料,將學習者引入工程實踐的情境中。因此,教學案例應具有很強的實踐性;要蘊涵工程實踐的理論、原則與原理和方法;要具有新穎性、講究時效性、背景要清晰等特征。其次,在完成理論課的講解后,再將相關案例發給學生,給學生較充足的課外時間準備相關的材料。一般情況下可通過多媒體教學軟件或服務器的形式發放給學生,要求他們在規定的時間內認真完成。一個好的測試案例應包含測試目的、特殊的硬件要求、特殊的軟件要求、特定的配置、執行測試的描述、測試的預期結果或成功條件。另外,還要考慮如何將本堂課的新知識點貫穿其中。
2.案例分析討論
案例分析討論是案例教學中的重要環節。學生通過分析案例,可以知道本節課要掌握的理論知識、操作內容、注意事項、所要達到的教學要求和目的、在課后應完成哪些報告或查找哪些資料等。案例分析的過程是學生與學生或教師與學生之間討論交流的過程,教師要善于在討論過程中啟發引導學生,培養他們思考問題的敏捷性和洞察力,讓他們學會用理論知識來指導實踐,遇到關鍵節點時能夠急中生智,穩中求勝。
在案例教學中,學生的學習在討論與爭辯中進行,學生充當主角,是主動的學習者,教師的角色是指導者和推動者,其作用是領導案例教學的全過程。課堂上教師要組織案例討論,不僅要引導學生去思考、去爭辯、做出決策和選擇,解決案例中的特定問題,進而從案例中獲得某種感悟,而且要引導學生探尋特定案例情景復雜性的過程及其背后隱含的各種因素和發展變化的多種可能性。
3.案例實驗操作
教學案例的主要內容是與教學內容為依據相匹配的,要有較強的可操作性。下面是一個教學內容與案例的匹配圖示:
從圖1可以看出,在設計實驗案例時,既要有簡單的基礎性實驗案例,又要有綜合實驗甚至是課程設計。簡單的基礎性實驗案例主要是讓學生熟悉基本的軟件測試方法,綜合性的實驗案例主要是讓學生增強實際操作能力,增加軟件項目測試的綜合經驗。通過一個個綜合性的案例,特別是較大型的軟件項目測試實驗,讓學生在實驗的每一個步驟中理解軟件測試技術和各種具體的測試方法。同時,學生可以通過對案例的操作和理解,進一步了解熟悉軟件測試工作的完整流程,包括文檔的編寫與收集,都是一個很好的鍛煉。這樣的教學在不知不覺中就邁出了“工學結合”的第一步,與高職教育需求完全吻合。
4.案例歸納總結
案例討論后要做簡短的歸納和總結,從案例討論中得出一定的結論,為后續的課堂理論教學提供準備。教師在總結過程中,要講明案例中的關鍵節點,以及在實驗操作時存在的長處或不足,但不宜對錯誤的觀點簡單地否定,以免挫傷學生的積極性。實驗結果可以多元化。在總結中,要揭示出案例中包含的理論,強化以前討論的內容,提示后續案例,達到突出教學重點,回歸教學的目的。
四、其他豐富的教學方法和手段
經過實踐中的不斷摸索和總結,發現《軟件測試》課程在教學過程中要增強師生互動,提高教學效果,達到預期的教學要求,在教學方法和手段上還可以采取以下幾種形式的結合。
(1)課堂進機房,避免純理論的“PPT滾動”,注重課堂里的師生互動。(2)FLASH動畫分解操作內容,教師錄相演示操作流程。(3)分組合作討論,責任到人,各盡其能。(4)優秀組員示范,榮譽物質兼并鼓勵。(5)定時地帶學生了解軟件測試企業“完整的工作過程”,讓他們從實踐中得到熏陶。(6)“一帶一”訂單式的互助。讓基礎好的學生幫助基礎不好的學生,督促完成相應的教學內容。(7)開設課外興趣小組,為基礎興趣較好的學生提供更多更好的實踐環境。
五、結語
在高職院校,對軟件測試這門課程,我們結合自己的學生不斷地進行探索和實踐,進行了一系列的教改與創新,受到學生及領導的好評。該教法以企業的要求為導向,注重學生動手能力的提高,注重培養學生主動思考問題、解決問題的能力,同時又運用現代教育學理論,在教學過程中采取案例教學與項目教學等多種教學方法和手段來實現“工學結合”。通過學生座談會了解到,大多數學生認為這種多樣化的教學,使他們對課本知識的理解更加深入,主動思考問題的能力有了一定的提高,動手能力得到進一步加強,“軟件測試”的教學質量和教學效果有了較明顯的好轉。
參考文獻:
[1] 張尚仁.古希臘哲學家的故事[M].北京:中國青年出版社,1984.
[2] 李亞.“軟件測試”教學探索與實踐[J].Computer Education,2008,(6).
[3] 賀平.軟件測試課程開發[J].計算機教育,2006,(12).
[4] Ron Patton.Software Testing Second Edition(第2版)[M].北京:機械工業出版社,2006.
[5] 鐘元生.軟件測試實踐教學特色的構建實踐[J].電化教育研究,2006,162(10):62-65.
[關鍵詞]軟件測試 課程體系 教學改革
[作者簡介]李靜(1969- ),女,陜西興平人,河北北方學院信息工程學院,副教授,碩士,研究方向為教學設計、操作系統與軟件測試;趙志升(1965- ),女,河北張北人,河北北方學院信息工程學院,教授,碩士,研究方向為教學設計、軟件工程、數據挖掘。(河北 張家口 075000)
[中圖分類號]G642.3 [文獻標識碼]A [文章編號]1004-3985(2014)02-0135-02
軟件測試技術近年來發展迅速,已經成為與軟件開發齊頭并進的專業技術。軟件測試工程師承擔產品功能、性能、可靠性、易用性等全方位測試,保證產品質量,滿足用戶需求,保證企業信譽,是當前IT業界需求量驟升的熱門人才。目前我國軟件產業在產品功能和性能測試領域仍然存在著嚴重不足,軟件測試的廣度和深度已成為影響企業生存與發展的核心問題。培養大量的具備專業素養和高層次技能的測試人才,更好地推進我國測試行業和測試技術的長足發展,是高等院校必須擔負的職責。
一、國內軟件測試專業教育現狀
自2000年軟件測試技術在我國興起至今十余年,軟件測試人才隨著軟件行業的迅猛發展呈現出供不應求的態勢。專業的軟件測試機構、測試網站及測試技術培訓機構等迅速發展起來。目前,國內許多高校已經逐步設有本科階段軟件測試方向的專業。2011年11月,由教育部主辦的“2011年高等學校軟件測試課程教學論壇”在上海同濟大學召開,對國內軟件測試人才的培養及測試領域的全面發展起到積極推動的作用。
1.社會培訓模式與現狀。當前國內業界一些知名網站主要承擔起測試人才的培養職責,如51testing、達內科技、北大青鳥等,為測試行業輸送了大批動手能力較強的測試人才。針對性很強的短期教育模式是社會培訓的特色。培訓機構通常按照助理級、初級、中級和高級測試人員安排培訓內容。諸如北大青鳥等規模較大的培訓機構引進歐美的混合教學模式,采用“理論知識+分模塊項目實踐+全真項目實訓+職業素質訓練”的模式,形成一個科學并且實用的培訓體系。培訓機構通常設立自己專用的教學平臺,通過網絡遠程授課與集中化分期分班授課方式,在半年到一年的較短時期,培訓出上崗快、操作熟練、針對性強的應用人才,而且很多學員直接通過測試工程師面試,并在后期工作中累積了較深厚的測試經驗,成為測試領域的支撐力量。培訓課程主要內容涵蓋操作系統管理、網絡應用與Web編程、數據庫管理等專業課程,實訓環節應用主流的測試工具,如Winrunner,Loadrunner,Rational Robot等。著重于實用性的項目實踐和開發是培訓機構與高校教育的最大區別。參加這些培訓班已成為目前大學生崗前培訓的主要途徑。
2.高校專業教育現狀。軟件測試技術要得到廣泛應用和深入發展,不能僅依靠社會辦學,高校系統化的專業教學體系能夠為學生奠定一個更加扎實和科學的專業基礎,并對測試技術本身的學科化發展起到不可替代的作用。近三年來,軟件測試技術作為專業課程逐漸在多所高校開設。目前,多數高校將“軟件測試技術”作為一門獨立課程設置,交叉課程主要為“軟件工程”。當前一些高校開始申報軟件測試專業,但是軟件測試技術的學科化發展目前仍受到諸多因素的影響。主要是:(1)缺乏豐富的理論支撐。軟件測試目前仍是發展中的計算機技術,專業論著少,適合于高校的教學材料非常有限,并且普遍存在知識結構不合理,教學內容不規范統一,論點少并缺乏依據,實驗指導教材匱乏等問題。另外作為一門獨立學科,與其他學科的交叉與相輔是理論體系的必要部分,測試技術與計算機領域諸多技術關聯,相互結合教學是當前教改面臨的問題。(2)目前通用性測試平臺仍未完善發展與普及,在高校中缺乏結合教學實驗內容的通用的實踐平臺,實驗環境單薄。多數高校停留在泛泛講授幾個熱門的測試工具的階段,缺乏成熟、實用的測試環境來實踐完整的測試項目。(3)教學模式上存在嚴重缺陷,專業培養過程中存在大量的不規范性和隨意性。主要表現在:實踐課程比例小,測試項目實例缺乏;理論課程知識結構不合理;教學理念和手段陳舊,脫離測試技術發展的實際與市場應用;不重視對學生從事軟件測試職業素養的培養。尖端技術的學科化發展是高等院校的職責,建立一個科學、完整的專業教學體系是高等教育最為核心的問題。
3.當前推進測試技術應用的其他途徑。除了專業公司培訓和高校培養外,當前軟件測試行業的發展還依賴于多種良好途徑:校企合作、技術沙龍、測試專業微群、社會信息輻射等。新興技術發展需要社會傳播產生的廣泛影響力來推動。以MPD(亞太軟件研發團隊管理)峰會、51testing等領銜的線下技術沙龍活動和巡回演講,聚集了很多高端的測試人才,相互學習交流,積極推進軟件測試行業的發展。一些較有影響的網絡微群提供測試技術的交流和分享,如軟件測試、敏捷測試、落地微群等,大量的測試人員和測試工程師提供測試過程管理、測試工作總結等資料,有很強的借鑒性。
軟件測試行業的人才匱乏仍然是當今的重要問題。依照行業需求,軟件測試人員配備應是軟件開發人員的2倍,而目前我國軟測人員與開發人員比例卻僅在15至18之間。以高等院校專業教育為主,實現多種途徑的人才培養是當前軟件測試行業的當務之急。
二、高校軟件測試專業課程體系建設
構建專業課程體系,需要設置好基礎課與專業課、理論課與實踐課、必修課與選修課的比例關系,并合理安排與協調課程相互間的分工與配合。建設科學完整的軟件測試專業的課程體系是一個需要多方考證借鑒和不斷探索完善的工作。
1.課程設置。軟件測試是一門技術性很強的專業,對專業素養要求很高。在測試模式、測試方法上與軟件開發的模式、開發平臺直接相關。學生必須對操作系統、軟件的邏輯結構以及物理存儲過程、操作實現方法達到一定深度的了解和掌握,對于硬件的拓撲結構、物理結構要也需要盡可能多地熟知。在軟件測試行業,對優秀人才的要求是擁有高敏感能力、高發散能力、高分析能力,而這些都是以扎實的理論基礎為前提的。建設軟件測試專業課程體系,應契合技術發展、學科發展與從業需求。經過多方考證,下表所述課程囊括的專業知識對于高層次的自動化軟件測試技術的掌握必不可少。
由于計算機專業課程的關聯性很強,一些專業課程可以相互結合教學。比如語言類,Shell等可以結合到UNIX/Linux操作系統課程中,HTML/XML可結合到.NET以及網絡技術等課程中,PHP融入Web服務器配置等專業選修課程教學中等,避免專業內容交叉而造成的重復教學現象。在教學過程中,要將軟件測試的思想廣泛地滲透到所有的專業課程中。如在各類程序設計語言基礎課程中引入單元測試的思想,在軟件工程課程中強調軟件測試的重要性,增強軟件質量管理意識。當前微軟、蘋果、惠普等軟件公司都推出完整的計算機應用與開發平臺,從硬件、操作系統、集成開發環境到用戶應用軟件,基本上提供一條龍服務。以微軟為首的測試框架開發也日趨成熟。高校需要從專業建設角度考慮,把握學科發展方向,汲取眾家之長,將尖端技術和主流應用平臺作為專業教學內容,在有限的學時之內統籌安排,讓學生形成一個專業學習的整體思想,做到知識累積層次清晰、得到一個完整的專業知識體系。隨著測試技術的快速發展,課程設置需要不斷更新調整,既要考慮專業建設、學科建設,又要考慮市場需求和研發需求。合理選擇、科學地納入新知識到專業課程中,是需要不斷探索和改革的無止境的工程。
2.教材選擇。教材選擇應當寬口徑,除了主要教材之外,要為學生提供更多的輔助教材和資料,給學生自主學習的空間和時間。這方面要學習西方高等教育的模式,按照教學計劃和教學內容,指導學生分期、分階段大量閱讀與課程相關聯的專業資料,并匯總論點和典型實例展開討論,開闊學生的眼界,培養學生獨立思考、邏輯分析能力和探索精神。另外,教材選擇應把握專業技術的最新發展,與專業領域的最新研究成果、社會培訓資料等結合,及時更新教學內容。例如有經驗的測試工程師撰寫的技術開發、測試報告與測試總結等書籍資料,是完善和填充教材的重要知識源。
3.實驗教學規劃。(1)實驗教學內容,應包括兩部分:測試框架應用和測試項目實踐。前者是指基于實驗室配置的測試框架,選擇針對操作系統或者客戶端軟件、網站等的服務性能測試案例,編寫一些通用的測試腳本,在測試框架上實現完整的測試流程。后者是指選擇實際的軟件測試項目來組織實驗教學內容。在測試項目實踐中,需要提供給學生被測試的軟件系統代碼以及軟件開發綜述,包括需求分析、概要設計書、詳細設計書等文檔,便于學生真實地模擬實際工作中的測試流程。項目實踐中,可將學生分成若干個項目組,分別設置測試經理、測試負責人、測試人員等角色,依照測試用例設計、測試任務管理、測試計劃實施、測試過程監控、測試日志與測試報告管理環節,安排角色各司其職,協同完整測試項目,并對被測軟件系統做出質量評審,撰寫格式規范的質檢報告。通過實驗教學,使學生深入理解和掌握常用測試工具,如單元測試工具NUnit等應用,提升學生的項目管理經驗和軟件測試技能。(2)實驗教材選擇:實驗教材選擇應參考社會培訓機構的項目實訓資料,選擇基于主流測試平臺的項目實例教程,并結合測試技術的應用發展現狀和高校測試環境,廣泛篩選輔助資料,設置測試項目,豐富實驗教材的內容。(3)實驗環境配置:搭建面向高校教研的通用測試環境。當前各類測試平臺及測試工具不斷推出,種類繁多,但針對性較強,應用性能受到限制,缺乏可被廣泛普及的通用型測試平臺,導致測試過程缺乏通用性和穩定性、測試標準設定和測試價值評估無法明確等問題。建立一個通用測試環境對高校的實驗教學和專業研究十分必要。通用測試環境應囊括軟件測試管理平臺、回歸測試平臺和性能測試平臺功能。提供軟件的文檔審查、安裝測試、功能性測試、易用性測試等測試項目,并能提交形式內容規范的測試報告。通用測試環境搭建需要高校結合專業研究項目實施二次開發。
三、面向從業需求的教學改革
1.注重面向市場應用的課程體系改革。為了更好地為社會培養應用型人才,高校應以企業崗位能力需求為標準,不斷進行課程體系改革,構建“知識+應用+研究”的混合型課程體系結構,為學生從業后盡快適應工作崗位,擔負起科技職能,并進一步從事測試技術開發與研究奠定基礎。軟件測試課程體系改革應基于不斷發展的測試技術以及社會測試崗位的能力需求,從培養學生專業素養、測試技能、項目分析能力、探索開發能力等全面素質的高度進行必要的整合和重組,把學生應具有的知識、能力、素質結構作為課程體系改革的依據,組建模塊化的課程結構。
2.注重面向從業需求的教學實踐改革。面向從業需求,加強教學實踐環節是高校實驗教學改革的重要內容。目前很多高校與自己的合作企業簽訂培訓合約,建立人才基地,共同開發軟件和培訓人才、交流人才,是教學結合實際應用的最佳模式。圍繞著以企業需求為目標進行實驗教學,使學生在真實的項目流程中對軟件測試的完整過程與實施細節、管理機制與管理措施進行全面的了解,提高測試能力和積累測試經驗,便于學生日后盡快適應實際工作,在專業技術崗位發揮人才作用。
3.注重培養學生的職業素養。高等教育為社會輸送專業技術人才,不能忽視對人才職業素養的培養。在教學過程中要把專業素養、技能訓練和職業素質培養有機結合起來。在學生實踐與實習過程中,注重培養學生綜合運用所學知識發現問題、分析問題、解決問題的能力,進而培養學生的技術應用和技術創新能力,并培養學生的團隊合作精神和相互協作能力,提高將來從事測試行業的職業素養。應結合社會對軟件工程師的崗位需求,設立面向畢業生的專項系列講座,為學生提供面試技巧培訓、競爭意識培訓、溝通與協作技巧培訓和就業指南等,是極具實效且必要的教育內容。依照國外標準,軟件測試工程師應與架構師處于同一等級。從事測試行業必須具備扎實的專業基礎、綜合的個人能力和較高的職業素養,才能真正實現高端的自動化測試。
[參考文獻]
[1]朱少民.軟件測試方法和技術[M].北京:清華大學出版社,2005.
[2]錢麗.以就業為導向的軟件測試課程體系改革探析[J].科技信息,2012(1).
[3]頓煜卿.軟件測試教學過程中的思考和實踐[J].計算機光盤軟件與應用,2012(14).
Abstract: Nowadays, more and more attention has been paid to software testing, many colleges and universities have set up software testing courses, some colleges and universities have established software testing professional. This paper takes the students of the computer science department of Beijing Youth Politics College as the research object, combined with the characteristics of higher vocational college students, through the comparison of different case teaching effect and current interests of the students, and the demand of enterprises, makes a preliminary analysis and produces a relatively suitable software testing technology course case base.
關鍵詞:高職院校;軟件測試;案例庫
Key words: higher vocational colleges;software testing;case base
中圖分類號:G423.07 文獻標識碼:A 文章編號:1006-4311(2017)03-0217-02
0 引言
隨著科技的迅猛發展,人們在日常工作和生活中,已經離不開電子產品,作為它們靈魂的軟件,其智能度和復雜度也越來越高,更由于網絡和智能手持設備的普及,人們對于軟件的質量也提出了更高的要求,而軟件測試就是為了保證其質量的有力法寶。目前,軟件測試已被越來越多的公司和學校重視,很多高職院校也都開設了相關的課程。但是,作為一個高職的新興專業,此專業教學內容新、課程案例少,教學資源不足,在這種情況下,研究和制作適合高職院校教學的課程案例是非常有必要的。
1 高職院校軟件測試技術課程教學現狀
1.1 軟件測試技術課程及從業人員特點
軟件測試是一門綜合性的學科,測試不只是測試的執行,它包括從測試計劃的制定到測試結束后測試報告的撰寫等一系列活動,有著較強的理論性、設計性和實踐性。要學好軟件測試課程,滿足從事軟件測試崗位的要求,業務能力方面,從業人員需要較強的閱讀分析能力,文檔編寫能力,測試用例設計能力,還需要了解軟件項目開發基本過程和特征,具有基本的編程能力。個人素質方面,從業人員需要有較強的責任心,要有團隊合作的溝通意識和時刻保持懷疑的態度且具有缺陷預防意識,同時還要細心、耐心。
1.2 軟件測試技術教材現狀
目前,面向高職院校的軟件測試技術的教材,其教學目標和教學內容仍然偏重理論知識掌握,很多教學內容嚴重滯后,大部分教材案例舊,與時代脫節,激發不起學生的學習興趣,學生的參與度不高。教材中關于實踐的設計相對少,與市場上的軟件測試崗位要求掌握的基本技能差距較大,而且教學案例簡單,學生沒有完整的測試思路。
1.3 高職院校學生現狀
高職學生錄取分數低,加之近幾年北京生源減少,高職的錄取分數更低,學生的文化基礎較差,大部分學生的學習動力不足,自我控制力差,對于學習缺少有效的學習方法。針對北京青年政治學院計算機系2014級計算機應用技術1、2班開設軟件測試前的調查顯示,學生對于之前學習過的程序開發基礎掌握差強人意,文檔編寫能力弱,理論知識掌握較差。由此,引導學生自主學習,激發學生的學習興趣,提高學生的實踐能力,就需要把握高職學生特點,掌握學生的興趣點,與課堂教學有機的融合在一起。
2 案例庫建設
職業院校的教學應該立足于應用,而應用是為了盡快走向工作崗位,借鑒招聘網站中招聘軟件測試崗位的需求,找準目前企業需求的方向,調研測試公司的實際操作流程,再參考測試培訓公司的講課模式,講課案例,結合高職院校學生的特點,才能開發適合高職學生的課程案例。
2.1 案例庫建設原則
軟件測試技術課程的理論性和實踐性都比較強,而高職學生的特點之一就是對理論的學習效果差。如何選擇合適的案例讓學生在積極參與實踐的過程中把理論知識掌握是案例庫建設的指導性原則,由此,案例庫建設應滿足以下幾個基本原則:①規范性:案例的建設要符合國家信息資源建設技術規范。②新穎性:案例庫的建設要在充分調研學生的興趣和愛好的基礎上選取,才能調動學生的參與性。③學科性:能與軟件測試的理論知識結合起來,讓學生在實踐中掌握知識點。④連續性:時代在發展,新生事物不斷出現,學生的興趣點也不斷改變,案例庫的建設應該與時代同步發展。
2.2 案例庫建設模型
以案例庫建設原則為指導,結合課程知識點,調研學生的興趣愛好,調查企業需求,找到合適的結合點,開發出適合當前高職院校的軟件測試案例,建設模型如圖1所示。
2.3 案例庫建設舉例
由于網絡及電商的發展,網上購物已成為常態,現在的學生幾乎都參與網購,尤其是雙11、618、各大節日時各電商的促銷,更是把網購推向高峰。針對這一現象,在講到黑盒測試中狀態遷移方法的時候,打開某購物網站,與學生一起回顧網購經歷,從選擇產品,加入購物車,清空購物車,提交訂單,撤銷訂單,結算,退換貨等流程,引導學生把這些步驟作為一種狀態,再按照實際操作過程,與學生一起分析各種狀態之間的到達情況,做出狀態遷移表。
作為購物買家,只是處理自己的相關信息,流程相對簡單。而作為賣家,需要處理的信息量很多,面對的是所有購買本商店商品的買家,所以賣家對訂單及相關信息的處理才是業務的關鍵。由此,在學生自己購物流程的基礎上引導學生作為賣家身份來處理信息,并指導學生分小組討論,模擬買家與賣家,統計出買家與賣家之間的活動有多少種,怎樣才更全面,更人性化,更合理。例如,取消訂單在何時買家能操作,何時后不能取消,退款、退換貨的申請與處理,都讓同學們在模擬中體會。以小組為單位,共同找出所有的狀態點,再分析各種狀態之間的關系,在如表1購物網站訂單信息狀態基礎遷移表所示(X表示不可達,?處需要學生討論完成)的基礎上補充并完成狀態遷移表(表中可添加新狀態),并進一步按照狀態遷移圖設計方法,做出狀態遷移圖,設計出完整測試用例,最后教師點評、總結。案例講解完成。
3 課堂教學效果
教學效果以北京青年政治學院計算機系2014級計算機應用技術1、2班為調查和測試對象,以講解狀態遷移圖為例,在課堂教學中發現,學生對課本的例子注意力整體上比較散,不是特別的感興趣,學生的參與度不高,而與學生一起打開購物網站,一起回顧購物流程時,發現學生明顯比較感興趣,參與度很高,尤其是分模擬角色在處理退款與退換貨時在熱烈的討論中完成了各個狀態的設定,并順利完成了狀態遷移圖和測試用例的設計。在隨堂抽查中,發現學生很好的掌握了狀態遷移圖方法的精髓,達到預期教學目標。
4 結語
時代在發展,科技在進步,隨著新興事物的出現,學生的興趣點也會有所變化,所以,案例庫的建設不是一勞永逸的,而是一個不斷發展和改革的過程,我們要不斷淘汰不適合的案例,增加新的適合的教學案例。
參考文獻:
[1]田明君,張月,呂俊燕.《軟件測試方法與設計》課程教學改革的探索與實踐[J].電腦知識與技術,2015(31).
[2]董玉坤.“軟件測試”課程教學現狀分析[J].課程教育研究,2015(9).
[3]鄭小蓉.高職院校《軟件測試》課程教學問題及對策研究[J].科技資訊,2016(20).
關鍵詞:軟件測試;課程改革;實踐教學
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2011)21-5186-02
Reform and Practice of Software Testing Professional Course in Higher Vocational Education
ZHANG Xiao-qin
(Anhui Vocational College of Electronics & Information Technology, Bengbu 233030, China)
Abstract: Software testing professionals are extremely deficient, training software testing professionals has already been one of the most urgent tasks in higher vocational education. This paper analyzes the teaching situation of the software testing professional curriculum in higher vocational education and analyzes the software testing professional practice of teaching reform form and achievement of Anhui Vocational College of Electronics & Information Technology, offer reference to other vocational colleges in software testing curriculum construction.
Key words: software testing; curriculum reform; practice teaching
近年來,中國軟件產業保持了迅猛發展的態勢,而與此同時,軟件缺陷帶來的影響也日益增多,軟件產品質量也越來越受到人們的關注。軟件測試是減少軟件缺陷最有效的手段,然而,由于國內軟件測試行業起步較晚,只是最近幾年才開始興起,這就使得軟件測試人才極度匱乏。51testing公司的《2010年中國軟件測試從業人員調查報告》顯示,中國軟件企業軟件測試人員與開發人員比例為1:1的只占10%,而比例為7:1以上的占了20%。而且這個數據調查的還是設有專門軟件測試人員的企業。有的企業甚至還沒有軟件測試部門和專門的軟件測試人員。而國外小一些的軟件企業,軟件測試人員與軟件開發比例基本是1:1,微軟公司更達到了2:1。按照這個比例,國內測試人才的缺口至少有20萬,在未來5到10年中這一數字還將繼續增大。如何盡快建立軟件測試人才的系統培養機制、進而保障軟件業的健康化發展已成為現階段亟需解決的當務之急。
1 高校軟件測試專業課程教學現狀
近兩年來,軟件測試人才的培養也受到了高校的重視,有的高職院校甚至本科院校也嘗試著開設軟件測試專業。然而卻存在著以下的缺點:
1.1 教學模式陳舊
“本來數量就不多,何況質量又不好”,這兩句話可以概括現在高校開設軟件測試課程的現狀。很多學校本身并沒有軟件測試專業,軟件測試課程的教學只是作為軟件工程專業的一門課程《軟件測試》。通過一門課程想要系統的講授軟件測試,讓學生畢業后從事軟件測試工作非常之困難。由于只有一門課程,課時畢竟有限,很多學校就選擇將軟件測試方法以理論講授的方式灌輸給學生,忽略了實踐教學或者實踐教學所占的比重很小。
1.2師資力量薄弱
51testing公司的《2010年中國軟件測試從業人員調查報告》顯示,“軟件測試從業人員的出生年代集中在20世紀80年代,所占比例為91%,出生于70年代的不到8%,60年代的比例不到1%”。這份數據從側面顯示,軟件測試行業在國內是一個新興行業。這也說明了現在在高校從事軟件測試專業方面課程的教師并不是真正的軟件測試專業畢業的教師。這就使得大部分教師本身對這個專業并沒有進行過系統的學習。而且,由于教師主要在學校從事教學工作,參與到真正項目中的機會比較少,他們的項目經驗不足。這也就導致教師在教學過程中并不能將真正的工作過程傳授給學生,使得學生掌握的技能和實際工作的要求有所偏差,甚至有很大偏差。
1.3 案例教學中案例庫案例過于簡單
很多高職院校在教學過程中也注意到這一點:軟件測試專業的課程不能只偏重理論,而應該將理論教學和實踐教學聯系起來,提出了“項目教學法”和“案例教學法”,這些方法確實取得了不錯的效果。然而卻也存在著這樣一個問題:項目和案例從何而來?從調查情況來看,項目和案例的來源主要有:
1)往屆學生畢業設計;
2)學生上機作業和課堂作業;
3)教材和參考書;
4)互聯網;
5)教師自己編寫的案例。
這些案例相對來說比較簡單,實用性不強。作為一門課程的實踐教學基本上可以,然而要想讓學生通過這些項目掌握真正的測試技術,還是比較困難的。學生在測試這些項目時可能在老師的指導下能夠順利進行,而在實際工作中面對一個真正的項目時卻不知如何下手。
2 軟件測試專業課程實踐教學的改革
2003年,安徽電子信息職業技術學院成為全國35所國家級示范性軟件職業技術學院之一。2004年就有預見性地開設了軟件測試與維護專業并開始招生。這些年來,一直對軟件測試專業的課程建設進行探索,目前取得了不小的成果。
根據這幾年的探索與實踐,我們認識到,軟件測試專業課程教學的難點在于實踐教學。軟件測試的相關理論學生很好理解,例如黑盒測試方法中的等價類劃分法。學生對這種方法能夠理解,給出一段程序規格說明,他們能夠劃分出各個有效等價類和無效等價類。但是在實際項目測試中,在設計測試用例時,又往往設計不出合理的測試用例。要么冗余,要么沒有覆蓋到所有的等價類。所以,在教學過程中要把更多的時間與精力放在實踐教學上。
安徽電子信息職業技術學院軟件測試專業課程的實踐教學改革主要體現在兩個方面。
2.1 單個課程的實驗教學――案例教學法
在單個課程的實驗教學中我們采用的是案例教學法。例如《軟件測試》這門課程,我們的實踐教學主要體現在實驗教學上。在實驗教學中,選取學生熟悉的“學生管理信息系統”,首先對其需求分析說明書進行靜態測試,再對其中的重點模塊例如登錄模塊,用戶管理模塊等進行單元測試,然后將各個模塊組裝起來進行集成測試等。在教授理論的同時,讓學生能將其應用到實踐之中。
2.2 整個專業課程的綜合實訓――企業實際工作場景教學
單個課程實驗教學中的案例都很簡單,而且是學生熟悉的一些程序,主要是讓學生能夠更好地理解軟件測試的理論方法。然而,想讓學生通過這些項目的訓練掌握測試技能,畢業之后直接從事軟件測試工作基本上不可能。安徽電子信息職業技術學院前兩年的軟件測試與維護專業采用的就是這種教學模式,然而經過對畢業生的跟蹤調查,發現學生對自己掌握的測試技術很不自信,畢業之后根本不敢進入軟件公司從事軟件測試工作。所以只有很少的學生做測試,其他同學都轉向了編程,等有了開發經驗之后再轉向來做測試工作。
經過我們課程組的討論,大家認為之所以造成這種現象,最主要的是學生實踐不夠,訓練不多,而且沒有接觸過真正的項目。而要讓學生測試真正的項目,熟悉工作流程,僅僅依靠學校的師資力量是遠遠不夠的。于是,2008年我們進行了教學改革。與中國科技大學軟件學院、安徽科大訊飛信息科技股份有限公司合作成立了“科大訊飛軟件測試實訓班”,聘請科大訊飛公司一線的高級軟件測試工程師來給學生上課。而且上課方式采用的是公司上班形式。學生每天8點準時“上班”,下午5點“下班”,有時還設有“加班”。在教學過程中,采用的是公司實際的項目,有的是以前做的項目,有的是正在進行中的項目。學生每天在“公司”上班,早上召開“晨會”,討論項目進展情況,并制定一天的工作計劃。下班前召開“晚會”,對工作進行總結并就遇到的問題探討解決方案。經過三個月的實戰演練,學生的實踐能力得到了很大的提高,而且對自己充滿了自信。他們畢業后都能找到滿意的對口的工作。
3 軟件測試專業課程實踐教學改革取得的成效
2010年我們針對于08級學生又開辦“科大訊飛軟件測試實訓班”。現在學生還沒畢業就已被用人單位“搶購”一空,就業效果非常好。
經過這兩個階段的實踐教學,我們的學生對軟件測試工作已非常熟悉,在真正的崗位上能勝任軟件測試工作,并逐漸地在工作中起到骨干作用。
4 結束語
作為高職院校,軟件測試專業以培養軟件產業生產一線急需的高素質技能型專門人才為目標,要求學生在畢業前掌握軟件測試的基本方法及常用測試工具的使用,具備較好的軟件綜合素質,滿足軟件產業快速發展對軟件測試人才的需求。而要達到這一目標,實踐教學必須得到高度的重視和合理的設計。
參考文獻:
[1] 程茂,溫靜,吳玉潔.《軟件測試》課程的教學研究[J].河北師范大學學報,2010,12(4):117-120.
[2] 胡冬萍.普通高校軟件測試課程建設初探[J].中國教育信息化,2007(12):70-72.
[3] {志升.軟件測試技術教學方法[J].電腦知識與技術,2010,6(9):2275-2276.
[4] 周元哲.“軟件測試”教學改革的探索與實踐[J].計算機教育,2008(22):14-15.
關鍵詞:翻轉課堂 微課程 PPT制作
中圖分類號:G712 文獻標識碼:A 文章編號:1003-9082(2016)02-0243-01
一、引言
雙語教育(bilingual education)的歷史源遠流長,它最早在美國、加拿大等國家實施并獲得了成功,被國際外語教學界公認為是一項成功的外語教學策略。有些國家出于統一語言、社會穩定的需要,專門由政府立法把它上升為國家的一項基本國策。[1]國外的“雙語教育”,在我國稱為“雙語教學”,近幾年我國部分中小學、高職、本科開始了雙語教學的探索,即把英語教學大膽整合到非語言學科教學中,以此來提高學生的英語能力。雙語教學是外語教學發展到一定階段的產物,這是由我國的現實情況決定的。[2]隨著世界經濟一體化、全球化和現代化進程的加快,社會對精通雙語的復合型人才的需求越來越迫切。
我國《教育信息化十年發展規劃(2011―2020年)》指出,“教育信息化的發展要以教育理念創新為先導,以優質教育資源和信息化學習環境建設為基礎,以學習方式和教育模式創新為核心”。[3]微課程的概念最早可追溯到1960年在美國傳統教育中興起的“微型課程”概念,“微型課程”又稱為短期課程、專題式課程或者模塊課程,是在學科范圍內由一系列半獨立的、小容量的學習單元(學習專題)組成的一種課程形式。[4]“微型課程”作為新型的課程形式在20世紀70年代正式引人美國的課程改革,因其自身周期短、靈活性強、易操作的特點得到廣泛的應用和推廣。本文以計算機雙語的微課程建設為例,討論了基于翻轉課堂的軟件項目開發雙語微課中的軟件測試實例,為基于翻轉課堂的計算機雙語課程的研究提供了范例。
二、基于翻轉課堂的計算機雙語微課程的開發
在基于翻轉課堂的計算機雙語課程的開發過程中將翻轉課堂與微課程相結合,先讓學生通過計算機雙語微課程對教學中的重難點進行自學,再在課堂上通過教師的指導、學生間的協作學習掌握和內化知識,實現先學后教的計算機雙語課堂反轉。下面以基于翻轉課程的軟件項目開發雙語微課程中軟件測試為例,討論微課程的設計環節。
1.教學分析
在計算機雙語教學軟件項目開發時軟件測試(Software Testing)是教學的一個主要內容,這個章節主要求學生學會如何進行軟件測試,如要求學生掌握軟件測試的概念、軟件測試的目的和原則、軟件測試方法、軟件測試的步驟、軟件測試用例的設計以及面向對象的測試等。現以“測試用例的設計(Testing samples design)”為例進行分析與設計。
1.1教學目標分析
知識與能力目標:掌握白盒子法測試用例的設計(如語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋)、黑盒子法測試用例的設計(等價值劃分、邊界值分析、錯誤推測法),培養學生解決問題的能力和專業英語的應用能力。
情感態度和價值觀:通過實際用例的設計提高學生的專業素養和英語水平;進一步培養學生的學習興趣。
重點:針對具體問題用不同方法進行測試用例的設計。
難點:條件組合覆蓋、錯誤推測法。
1.2教學條件分析
教室中必須要配有計算機、投影設備、音響等教學設備,教師應熟悉計算機軟件的測試用例的設計及具備一定的英語水平,能熟練使用教學課件。
1.3學習評價設計
本課程主要采用形成性評價的學習評價方式。[5]在教學過程中對學生的學習情況進行形成性評價,即在課堂中及學生完成隨堂作業的過程中,通過巡視課堂、觀察學生操作的情況,通過詢問以了解學生對知識點的掌握情況。
2.基于翻轉課堂的微視頻設計
首先依據軟件項目開發的課程標準進行視頻素材的選取,一般是對已有的資源進行創作和加工。
然后再進行微視頻內容的設計。這里將其分為三個步驟。步驟一:展示軟件測試后的實例結果,進行翻轉教學。[6]先讓學生對測試用例的設計有一定的認識,再引發其對學習這個任務的興趣;步驟二:先后使用不同方法進行用例設計。從實際測試用例的設計入手,讓同學們對這個任務有一個感性的認識;步驟三:進行測試方法的總結。總結不同的測試方法并進行比較和分析。
接著要對上述內容進行詳細的腳本設計。腳本設計完成后,再根據腳本進行視頻的制作,用錄播軟件將上述過程和步驟都記錄下來,在后期的編輯過程中,把畫面編輯好后,再配上解說詞和標注。
三、結語
在基于翻轉課堂的軟件項目雙語微課設計中,需要教師在對本課程內容非常熟悉及英語口語非常熟練的前提下進行大膽創新,通過內容翻轉和新的教學手段,促進高職計算機雙語課程的教學質量。
參考文獻
[1]王亞麗:“雙語教育在我國的實踐”,《學前教育研究》,2002年
[2]魏日寧:“文萊的雙語教育及其啟示”,《中小學英語教學與研究》,2004
[3]白麗潔.學前教育專業情境教學法在一體化教學中的應用 [J]. 校園英語,2014.
[4]劉梅.淺談“微課"及其在高職專業英語教學中的應用[J].長沙通信職業技術學院學報,2013.
[5]陳葆華.淺析微課在高職高專教學中的運用[J].時代經貿,2014.
本人從事一年級《計算機組裝與維修》教學,根據中職學校學生的升學和就業的需要,在教學中,我認為《計算機組裝與維修》課程主要涉及四類主要的知識塊:硬件組裝(匹配)、故障檢測、軟件安裝及軟件測試。下面具體探討“硬件組裝”、“故障檢測”、“軟件安裝”及“軟件測試”四類主要的知識塊如何按照“任務驅動”教學模式進行教學。
⒈“硬件組裝”知識塊
該知識塊的教學組織與實施一般過程為:課堂設計――示范引導――模仿試做――糾錯重做――復述總結。主張課堂組織以學生小組為中心,內容教學以任務為驅動,形成師生互動、生生合作的探究式學習氛圍。各環節具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養專業能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
示范引導――主講教師進行操作示范,在此過程中結合錄像、課件、網絡、軟件進一步向學生展示操作的全過程。
模仿試做――學生在觀看完老師的演示后開始動手實際操作,教師巡視指導,發現個別錯誤與一般錯誤。
糾錯重做――及時糾正個別錯誤,集體講評一般錯誤,之后讓學生重做一些步驟。
復述總結――最后老師對操作步驟進行復述,特別提醒容易出錯的步驟和環節,總結整堂課技能要點、方法要點和社會需要要點。
例如,在“為系統安裝網絡硬件”課例中,抓住其中的網卡安裝、插槽選擇、金手指的接觸情況、網卡類型的選擇,IP地址的設置等幾項關鍵技術,而在網絡原理、網絡ISO的分層則一帶而過只作簡單介紹。教師先講解示范,接著由學生試做,同時教師巡回指導,發現個別性問題,及時指導解決;針對一般性問題,教師則講評糾錯;之后對一般性問題容易出現的環節,讓學生重做有關步驟。
2.“故障檢測”知識塊
“故障檢測”包括硬故障和軟故障的檢測,硬故障是指計算機硬件出現的問題,軟故障是指軟件運行出現的問題。該模式的一般過程為:課堂設計――預設故障――分組討論――嘗試修復――糾錯重試――分析總結。上課前教師提前預設若干個可控制故障,上課開始時分組討論每個故障產生的原因,在討論的基礎上小組嘗試排除故障。這種模式采用問題驅動來展開。各環節具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養專業能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
3.“軟件安裝”知識塊
“軟件安裝”包括系統軟件安裝和應用軟件安裝,以及多操作系統安裝。“軟件安裝”行為引導教學模式的一般過程為:課堂設計――軟件介紹――安裝提示――學生安裝――個別輔導――總結提高。本模式教學以問題或任務為驅動展開。各環節具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養專業能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
軟件介紹――介紹所要安裝的軟件背景知識,包括軟件的開發商、版本的演化、最新版本的功能等。
4.“軟件測試”知識塊
“軟件測試”就是用軟件對硬件系統進行性能測試,目的是觀察或比較不同品牌的組件的性能表現。“軟件測試”行為引導教學模式的一般過程為:課堂設計――布置任務――分組操作――結果報告――比較分析。這個過程采取任務驅動來展開。各環節具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養專業能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
布置任務――軟件測試包括兩類任務,一是匹配性測試,一是系統優化測試。教學中可以選擇某一類任務或兩類任務組合進行。
分組操作――學生在明確任務后開始分組測試。
結果報告――對小組測試參數進行分析,形成一個有說服力的組件選擇方案或匹配優化的測試報告。
在教學中可以充分利用學校的現有資源。現在計算機技術發展很快,各個學校都有許多淘汰的計算機,但它們都還可以正常使用。我們可以利用它們建立計算機組裝與維修實驗室,在加上一些典型的、比較新的演示教師機,基本就能滿足教學要求,解決學生的動手操作問題。上述大部分教學都應該在組裝與維修的實驗室進行才能達到教學目的。
在本課程中還有很重要的組成部分那就是實訓部分。《計算機組裝與維修》實訓的目的是鍛煉和培養學生實際操作技能和解決問題的動手綜合能力。學生可在基本掌握各部分內容的基礎上集中進行相關實驗,以加深對知識的理解和掌握。在實驗的基礎上進行實訓,提高學生的軟硬件安裝水平和排除故障的能力。
本課程考試改革的目的旨在加強學生技能、能力培養,使學生重視實踐性技能的學習。課程考試采用抽簽抽取問題決定操作考試和口試內容的考試方法。通過建立涵蓋《計算機組裝與維修》各關鍵技術的項目庫,給出各操作項目的難度系數,考試前將這些操作項目作為考試內容公布給學生,讓他們全面準備,這些項目涉及組裝、測試、維護和維修的主要方面,目的是要學生全面掌握操作內容。考試時,讓每個學生隨機抽取一個項目,學生先口頭陳述本操作項目的原理、方法、步驟和過程等,然后再進行動手操作,操作完成后學生還可以再作補充陳述。教師根據操作與口試結果,以及所選擇項目的難度系數,以操作與口試7:3的比例給學生評定本課程考核成績。具體安排為整個考試總時間為3小時,包括口試和操作考試。口試陳述、答問30分鐘,其余時間為操作考試時間,操作完成后學生還可以再作補充陳述。
考試程序為:
(1)學生抽取考試項目。
(2)根據項目名稱,口頭陳述本項目的原理、方法、步驟和過程,期間老師根據學生陳述情況隨時提出問題,學生口頭回答。老師做好相應口試記錄。
(3)學生進入操作考試,教師和輔導教師全程監控,并做好相應的記錄。
(4)操作完畢,有需要再陳述的學生可以提出補充陳述要求,否則離開考場。監考老師合議評定學生考試成績。
如上面的考題學生基本都能回答正確,這樣進入社會工作后,基本可以達到用人單位對中職計算機應用專業學生的要求。那我們的教學目的也就達到了。
附加:
本課程所需要的實驗條件:
隨著軟件開發應用需求和軟件產業經濟的發展,軟件工程理論、方法和技術也在不斷發展,社會對軟件人才的數量需求越來越大,對軟件人才的規格的要求也越來越高,越來越精細。2002年,我國教育部新增軟件工程專業,2011年軟件工程被設置為一級學科。
由于軟件的應用領域不斷拓展和深入,軟件規模不斷擴大,復雜程度不斷提高,可靠性要求越來越高,軟件的質量風險越來越高,1991年美國愛國者導彈由于系統時鐘內的一個軟件錯誤導致導彈誤炸美國士兵等惡性事故給軟件質量敲響了警鐘,軟件質量保證與測試的重要性日益突出,越來越被業界所認同和重視,軟件質量保證與測試已經成為軟件工程專業的核心課程,介紹軟件質量保證與測試的相關基本概念、軟件測試理論、測試方法和測試技術等,通過該課程的學習,要讓學生樹立軟件質量保證和測試的觀念,了解測試理論,掌握測試方法和技術,能夠分析軟件測試問題,制定測試計劃,設計測試用例,編寫測試腳本,執行測試過程,對測試結果進行總結分析,撰寫測試報告等。
軟件質量保證與測試是一門新課程,為做好該課程的建設,我們依托校企合作,從以下方面來加強課程建設。
一、緊貼企業職業崗位需求,明確教學目標和要求
應用型本科教育主要任務是培養高端技術應用型人才,為體現應用型人才培養的特點,我們軟件質量保證與測試課程的教學內容、難易程度把握等應針對企業職業崗位需求,為此我們和文思海輝等多家企業合作,深入企業了解軟件質量保證與測試職業崗位的知識、素質、能力需求,并以此作為課程的教學目標和要求。
二、引入企業教學資源和實踐教學師資力量,快速提高課程建設水平
軟件質量保證與測試是一個新興領域,一門新的課程,校內教學資源積累不太多,任課老師的相關實踐能力不太強,為此,我們專門從合作企業引入軟件質量保證與測試完整案例;測試需求分析、測試計劃、測試設計、測試報告等全套文檔;軟件測試工程師等,投入我們的軟件質量保證與測試課程建設和實踐教學,快速提高課程的建設水平和教學水平。
三、加強實踐教學條件建設,建設立體化課程,強化實踐能力培養
實踐教學環節在軟件質量保證與測試課程中非常重要,目的是要通過實踐教學讓學生理解和掌握軟件質量保證與測試的相關理論、方法和技術,掌握規范化的軟件質量保證與測試流程和測試工具的使用,并能應用到實際的軟件質量保證與測試項目當中去,提高學生分析和解決軟件質量保證與測試問題的能力。
為此,我們大力加強實踐教學條件建設,建立軟件質量保證與測試實驗室,從企業引進了多個軟件質量保證與測試相關軟件,如表1,用于課程實踐教學。
表1用于課程實踐教學的軟件質量保證與測試相關軟件
[序號\&軟件名稱\&教學用途\&1\&Logiscope\&靜態代碼分析\&2\&IBM Rational Functional Tester\&自動化功能測試\&3\&51test\&綜合測試項目\&]
為強化實踐能力培養,我們的軟件質量保證與測試課程由理論課程、實驗和課程設計三個環節組成,如表2,三個環節有機結合,服務于學生的實踐能力培養。
表2軟件質量保證與測試課程的三個教學環節
[序號\&教學環節\&學時\&教學內容\&1\&理論教學課程\&32\&介紹軟件質量保證與測試的相關概念、理論、方法和技術。\&2\&課程實驗 \&16\&黑盒測試、白盒測試、自動化測試等測試技術的課程實驗。\&3\&課程設計\&20\&學生實際參與綜合測試項目,完成整個測試過程。\&]
四、結合校企合作,編寫應用教材型
在經過一段時間的軟件質量保證與測試課程教學和建設資源積累的基礎上,結合校企合作,我們在2013年12月自編了教材《軟件測試技術實驗指導和習題》,由南京大學出版社出版,該教材規范了實驗教學內容,并把依托于Logiscope、IBMRationalFunctionalTester等測試軟件的實驗教學設計寫了進去。
下一步我們將依托校企合作繼續進行《軟件質量保證與測試》理論教材的編寫,并開發相關教學課件,開設軟件質量保證與測試MOOC。
總體來看,我們的軟件質量保證與測試課程建設取得了一些階段性的進展,如:①依托校企合作、結合實際案例、強調實踐教學的課程組織和實施形式大大提高了學生的學習興趣,受到學生歡迎。②建立軟件質量保證與測試實驗室,引進多款軟件質量保證與測試相關軟件,改善了教學條件,保障了教學需求。③引入企業教學資源和實踐教學力量,安排理論課程、實驗和課程設計三個教學環節,強化了學生的實踐能力培養,提高了學生的實踐能力。
但是,作為一門新課程,軟件質量保證與測試距離優秀課程還有很多工作要做,下一步,我們要進一步提高課程建設和教學水平,依托校企合作繼續進行《軟件質量保證與測試》課程教材的編寫,開發相關教學課件,開設MOOC,適應不斷發展的課程建設和教學需求。
一、建立獨立學院特色計算機軟件人才培養機制的必要性
1.1 軟件產業人才結構與就業現狀的需要
據權威部門公布的調查數據顯示,我國對IT人才的需求每年至少在40萬人,其中每年至少存在20萬軟件人才缺口,并且這個缺口還在以每年20%左右的速度增長。各地舉辦的IT招聘會場場爆滿的情況即可看出些端倪。如此之大的軟件人才需求量,給作為高等教育新生力量的獨立學院帶來了比較好的機遇。
然而,我們也看到大量計算機專業畢業生面試時卻屢屢受挫。經過分析,公司或企業需要的是能夠馬上投入實際工作的人員,而不是像大多數應屆畢業生那樣,缺乏實際編程能力,甚至不知所措,需要公司投入大量人力、物力、財力進行培訓,這無形中加重了公司的成本負擔,因此大多數的工作機會順理成章地被給予有過從業經驗的人士。有研究曾經對185家用人單位進行問卷調查,結果表明:68.6%的用人單位希望畢業生能掌握系統的專業知識,縮短培訓期;54.6%的用人單位認為畢業生的適應期應在三個月以內。計算機專業學生感覺就業難,企業招不到合適人才,已經成為令人極為頭疼的矛盾現實。究其根本原因,是我國高等院校目前的計算機教育,尤其是軟件人才培養,不能滿足企業的現實需求。高等教育市場化,高校畢業生人數不斷增加,就業壓力越來越大,如何在激烈的就業市場競爭中毫不遜色,改革勢在必行,這對獨立學院的計算機軟件人才培養機制提出了更大的挑戰。
立足獨立學院特殊性,特色的人才教育是關鍵。求職時,學生時常抱怨在學校里沒有學到企業需要的技能。主要是因為,目前大多數高校計算機軟件人才培養機制改革的速度落后于軟件產業發展的速度,重點注重學生理論功底,理論與實踐脫節,課程設置的職業導向性不強,導致學生缺少就業核心競爭力和優勢。
大部分軟件企業需要下述三類人才:既懂技術又懂管理的軟件高級人才;系統分析及設計人員,即軟件工程師;熟練程序員,即軟件藍領。這三類人才正常比例應該是呈金字塔形,而我國軟件人才呈兩頭小中間大的“橄欖”型,既缺乏一大批能從事基礎性工作的“軟件藍領”,又缺乏既懂技術又懂管理的軟件高級人才,即“軟件金領”。獨立學院的計算機軟件人才培養導向應選擇以基礎程序員為主,培養中低端實用型人才,來盡量彌補這部分人才需求缺口。
1.2 獨立學院自身特點與發展定位的需要
獨立學院作為高等教育辦學領域內的一個新生事物,是按照新的機制和模式舉辦的本科層次的二級學院,利用公辦母體高等學校的部分資源,實行嚴格的獨立辦學。所招收學生主要來自高考的第三批次,學生入學分數低于普通高校生,基礎知識相對薄弱,學生主體的學習自覺性不夠,對新知識的接受能力要比一本、二本的學生差。獨立學院的人才培養不能以學術型、研究型為取向,而是應以廣大用人單位實際需要的技術型教育為取向。因此獨立學院的自身特點決定了它不能完全照搬母體高校的人才培養機制,需要站在一個新的角度來重新審視。
二、獨立學院特色計算機軟件人才的培養機制
2.1 樹立特色人才培養理念
獨立學院必須具有自身特色人才培養的先進理念,一改以往重理論輕實踐的教育模式,計算機軟件的人才培養應以面向應用,突出實踐為主,培養具有創新精神和實踐能力的應用型人才,全面實施素質教育,堅持個性發展原則和創新原則,注重教育功能性,由學生未來崗位決定教育內容。
2.2 構建特色人才培養計劃
傳統教學計劃標明的培養目標過于寬泛和籠統,與本專業領域相關職業崗位相脫節,導致教師實際課程教學目標不明確,學生更是不知所云。課程設置中計算機一般基礎課多,富有特色和針對性的專業技術課少;課程內容滯后于職業實際需求;內容安排中追求本科教育學科知識的理論性和完備性,理論課時偏多,實踐教學課時少,模擬現實的實訓課程更少。
學校應建立起有別于一般普通高校、課程設置合理、繼承遞進、靈活更新的教學計劃,從理論教學與實踐教學兩個方面提出較為完善的課程體系,使所培養的計算機軟件人才更加適合市場的需要。課程體系的設計應遵循寬口徑、多方向、模塊化、組合型的原則。
計算機軟件人才大致分為軟件開發、軟件測試、網絡管理三大方向。圖1大致描述了特色軟件人才培養計劃中,為培養各方向人才,所設置的相應基礎課程、通用課程以及專業課程。
所謂“寬口徑”,是指強調學校首先做好學生行業通用技能的培養。例如,“計算機基礎課程”和“C語言程序設計”等通用課程是各個培養方向的前導課程。又如,培養軟件測試人員和軟件開發人員所需的前導課程是基礎課程,一級通用課程,以及二級通用課程 (“JAVA OOP”、“數據結構”) 。
對于這類課程,學校應高度重視教材與師資,力求做成精品課程。學生只有具備了扎實的基礎,才能在畢業后既具有上崗適應能力,又具有轉移工作的再適應能力。學校培養的是“多方向”軟件人才,是指按照崗位設置專業方向,圍繞“職業特定技能”,設置相應的專業課程。
該特色課程體系最大的特點是“模塊化”,模塊具有繼承、共享和重用特性,便于教學管理,易于提高教學質量;有利于提高教學效率和教學資源的利用率。教學進程構建靈活,易于快速跟蹤市場,對課程進行及時的更新。例如,“軟件測試”方向和“軟件開發”方向都需要具備面向對象程序設計能力,“JAVA面向對象程序設計 (OOP) ”課程就構成了一個通用課程模塊。又如,據統計,軟件測試工程師是2006年最緊缺的人才之一。目前市場上,軟件測試工程師正處于一個地位高、待遇高的“雙高”地位,職業前景非常廣闊。學校應該把握這一趨勢,有計劃地加強對學生“軟件測試”職業導向性的培養,具體做法是進一步細化“軟件測試”方向的專業課程模塊,如可細化為白盒與黑盒測試、測試用例設計等課程。“組合型”就是在“模塊化”的基礎上,自下而上,沿著“基礎-通用-專業”方向的模塊間組合,形成各個方向的培養計劃路線。
考試是檢驗學生對課程掌握程度的衡量尺度之一。舊的考試形式,多數注重對死記硬背知識的熟記,而忽略了真正對學生能力的考查。考試內容和方式的設計直接導向課程在學生心目中的實際掌握標準。因此,絕不可忽略考試這一重要環節。
2.3 重視師資組建與培訓
提高獨立學院的師資水平,并不單單是指提高在校專職教師的學歷水平。目前,眾多院校的教師缺乏實踐經驗,講授按部就班的多;教材內容更新不及時;師生互動,啟發討論式教學少。因此注重提高教師實踐能力的培訓是必不可少的。通過培訓,教師可以對課程體系和教學目標有更為深入的了解,能夠掌握更新的計算機技術,其獨特的教學方法也應該是從實踐中總結出來的,這樣更有益于學生接受與掌握。具有科學教學方法和先進教學內容的“雙師”型教師才真正能夠勝任獨立學院的教學工作。
此外,建設一支專兼職教師結合的師資隊伍,建立聚集專業帶頭和骨干教師的培養與引進結合機制,定期邀請企業內專業人士進行現場授課,舉辦一些針對性的培訓或技術講座,與教師、學生座談。
2.4 更新教學模式
軟件人才一般要具備抽象思維、邏輯思維的能力、算法設計與分析的能力,計算機系統的認知、分析、設計和應用能力。這些能力的培養,并不是一兩門課程就可以完成的,而是需要在一個循序漸進的過程中逐漸完成的。因此,在授課過程中應注意形成學生良好的職業習慣,“潛移默化”地“養成”合格人才所要求的“能力”和“素質”。例如,網頁制作課程中,在學生動手制作網頁之前,一定給學生強調html文本命名規范,以及采用功能模塊化設計思想來預先進行網頁設計等問題。又如,C語言程序設計課程,首先必須使學生養成“程序設計”的習慣,初步掌握程序設計的基本方法和思想 (如自頂向下的思想) ,而不要急于代碼的實現。
軟件人才能力的培養毫無疑問是以實踐為主,但是為了學生今后職業生涯能夠持續發展,必然要具備一定的理論深度。也就是說,教師要善于在合適的時機滲透理論教學。例如,網頁制作課程可以采用以實踐為先為主的教學方式。在網頁設計課程的教學環節中,讓學生完成預先設計好的若干個網頁課題,學會網頁三劍客 (Dreamweaver、Firework、Flash) 的使用后,再幫助學生剖析超文本標記語言HTML的主要標記及結構特征。
采用強調教師的教學目的和方法的同時,更要強調學生的學習目標和方法,不斷激發學生獨立思考。使學生確信,持續的專業發展需要終生的學習,并為之作好準備。教會學生使用信息資源,掌握適當的策略,以了解領域前沿。在院校中,適時根據當期課程內容,發起一些競賽活動或參加企業實踐。鼓勵協作式的學習,促進集體的交互。
摘要:本文從“軟件工程”課程的特點和目標出發,從調整課程結構、加強工程實踐、規范文檔三個方面進行了詳細的闡述,并對課程改革中的重要問題及細節作了分析與解決。
關鍵詞:軟件工程;課程改革;分階段課程;工程實踐訓練
中圖分類號:G642
文獻標識碼:B
1引言
目前,在國內1900多所普通高校中有500多所開設了計算機科學與技術專業,有40所左右的院校開設了軟件工程專業。“軟件工程”是軟件工程專業的專業核心課程,是一門綜合性很強的課程,幾乎包含了SWEBOK的全部領域。在教學中為了教學課時的安排和突出重點,通常是以軟件需求、軟件設計、軟件工程工具和方法為主,再加上各種條件的限制,較多地強調理論學習,所講授知識相對當前的新技術來講有些滯后,雖然也有一定的實踐相配合,但實踐與當前軟件工程技術的發展還有較大差距。
再加上由于軟件工程的優勢在訓練學生的小型項目上體現不充分,學生普遍認為軟件工程就是畫畫圖,學與沒學差別不大,導致學習效果不好,使得軟件方向的學生只重視編碼,面向對象的開發方法重視不夠,建模方法使用混亂,文檔不規范,影響了對學生工程素質的培養和能力的提高,與社會對畢業生需求的能力相差較大。這些暴露出的問題說明“軟件工程”課程的教學結果不令人滿意,教與學的付出和收獲沒有成正比,沒有得到社會的認可。此外,隨著軟件工程技術的發展,軟件工程領域的教學內容不斷更新、豐富,軟件企業對軟件工程能力的要求越來越高。為改變這一現狀,適應技術的發展,對現行的“軟件工程”課程進行改革勢在必行。
2以培養工程型應用人才為課程目標
開設軟件工程專業的大部分院校通常會把培養目標定位于應用型人才。但是,對于軟件工程專業來說,僅局限于應用型人才是不夠的,這是由軟件工程專業的特點(即它是計算機科學為基礎的新興交叉學科,具有鮮明的工程特色,與應用領域結合緊密)決定的。軟件工程專業的培養目標應當是培養信息化社會需要的工程型應用人才。學生通過理論和實踐的學習,應具備軟件工程師從事軟件工程實踐所需要的素質、知識和能力。
對軟件工程專業核心課程的“軟件工程”來說,課程目標應同專業的培養目標一致,也就是培養學生的軟件工程素質,提高學生的軟件工程能力,促進工程型應用人才的培養。
3調整課程結構,不斷強化工程能力
現行軟件工程課通常是以軟件生命周期為主線進行教學,在內容上,以需求分析、軟件設計、編碼為主,輔以軟件測試、軟件維護、軟件項目管理的一般知識;在方法上,面向過程和面向對象均有;課程安排,通常集中在一學期內完成,課時通常較其他專業課程多,配套的實踐課通常是與理論在同一學期完成,課時較理論課時少,題目一般較簡單。在保留現行課程教學優點的基礎上,主要從調整課程結構、加強工程實踐、規范文檔三個方面進行“軟件工程”課程的教學改革。
3.1調整課程結構,延長教學的時間和空間
這里對課程結構的調整不是要打亂軟件生命周期,而是增大課程的時空跨度,將原來在一學期內開設的課程擴展為兩個學期的課程,增加案例教學與實踐訓練題目的綜合度,進一步充實課程內容,通過連續性教學的刺激,使工程的意識和方法得到正強化。從而在較長時期的潛移默化中培養學生的工程素質,在不斷的實踐中提高學生的工程能力。具體措施是:將現行課程分為基礎和提高兩個階段,基礎階段理論和實踐相結合,以理論為主,高級階段以實踐為主,適當補充理論,兩個階段之間是螺旋上升的關系。
課程基礎階段的內容是軟件工程的基礎知識,以軟件生命周期為主線,目的是讓學生對軟件工程課程的內容、結構有一個較全面的了解,掌握基本知識,熟悉基本方法,為后續的學習打好基礎,課時數可以在50~60學時之間。理論講授以需求分析、軟件設計、編碼為主,注意小案例的運用,配套實踐以訓練基本技能為主,包括對Visio或者Rose等工具的使用。課程基礎階段應盡量早地開始,可以在第四或第五學期,這個時候程序設計課、數據結構等重要前驅課程都已經開過了;更重要的是,在其后的其他課程學習中,特別是實踐環節,很多時候都要用到軟件工程的知識和方法,這樣可以讓學生在不斷的練習中強化基礎知識,加強知識之間的聯系,培養工程意識。
課程的提高階段主要是以項目小組為單位的實踐訓練,仍然是以軟件生命周期為主線,以較綜合的貼近實際的軟件項目進行訓練,包括完整的軟件過程,目的是讓學生在強化訓練中,把軟件工程課的基礎知識與包括軟件程序設計技術、項目管理、數據庫、軟件測試等各相關課程的知識聯系起來,以文檔和程序系統為手段,提高工程能力,形成一定的工程素質。提高階段課程應稍后一些,可以在第七學期,以學生課外完成為主,課堂上主要是答疑性指導,課時數可以在40左右,在實驗室進行。同時,教師應根據學生的掌握情況,查漏補缺,并適當補充一些知識,比如較新軟件過程模型、軟件開發方法和CMM的實施等。
在進行課程結構調整時,必須注意兩個階段的連續性,否則容易造成理論與實踐脫節的后果。注意到在兩個階段課程之間的長達兩三個學期的時段,因此必須有相應的課程安排與之配合,這就是知識與能力不斷線原則。課程安排可以是在其他課程的實驗里面規定使用基礎階段所講授的內容,也可以是單獨的課外實踐,一定要保證正強化。
3.2加強工程實踐,切實提高學生的工程能力
理論結合實際的能力是當前畢業生的一個軟肋,滿足不了社會的需要,造成當前計算機相關專業特別是軟件工程專業學生畢業后的就業“低潮”。只有從低年級開始大力加強以“軟件工程”課程實踐為代表的實踐環節,提高能力,才能使學生具備一定的工程素質和工程能力。這里以課程提高階段的實踐進行說明。
課程提高階段的實踐訓練是整個課程的總結,課程的成敗很大程度上依賴于綜合實踐,因此,在進行實踐訓練安排時,訓練形式、內容、要求等都很重要,用于訓練的項目要有一定的規模和綜合度。
實踐訓練在一學期之內完成,以項目小組的形式進行,每個組按照項目管理的方式進行組織和管理,充分發揮學生的主動性。按軟件生命周期分為需求分析、軟件設計(也可再分為總體設計、詳細設計)、編碼、軟件測試與改進四個階段,每一階段都要進行驗收,驗收時盡量推行學生論講,最后階段完成后要進行答辯,對每一階段都要嚴格要求。
實踐訓練的內容實際上就是需求分析、總體設計、詳細設計、編碼、軟件測試與改進,其中,可以需求分析與詳細設計為重點。方法上應以面向對象的分析與設計為主。除編碼外,每一內容都應有相應的文檔訓練,而且對文檔應嚴格要求,在小組完成項目后,應該有一個總結報告。根據專業的特色和條件,訓練的項目最好與某些應用領域相結合,這樣能使訓練更接近實際。在訓練過程中,不僅要考慮系統的性能,還要考慮建造系統的代價以及可能帶來的副作用,逐步培養學生的工程素質。此外,可以適當引入一些中小IT企業的方法和管理,可以建議學生在詳細設計和編碼階段寫程序員日志(或叫開發日志),提前讓學生感受到企業的工作氛圍。
軟件測試對軟件環境和師資條件要求較高,有條件時可以使用WinRunner、QTP等軟件進行訓練,條件不具備時,可以使用JUnit等進行單元測試訓練。
在學生負擔不重而且有相應的條件時,可以按照CMM2實施,從中抽取初五個關鍵過程:需求管理、軟件項目計劃、軟件項目跟蹤與監控、軟件質量保證、軟件配置管理,對其加以改造或者適當降低要求進行訓練。
3.3文檔的規范化引導
軟件工程的文檔編寫一直是學生的難點,好多學生都認為太麻煩,這是因為他們對文檔的重要性認識不夠。因此,在整個“軟件工程”課程中都要強調并加強引導,在各個驗收階段要嚴格要求。
軟件文檔的標準本身對師生來說就是一個較困難的事情,因為學校跟IT業界是有距離的。很多主流的文檔格式或者說模版,比如CMM標準的文檔,如果沒有跟企業合作的話,是很難了解或拿到的。在這種情況下,可以按照國標GB-85系列來進行。
實際上,對學生的文檔規范性引導,并不是一定要有了最新的業界標準文檔格式才能進行,因為格式這個東西很容易學會,關鍵是要訓練學生常規的編寫經驗,培養文檔意識,把文檔作為驗收的內容和階段結束的標志。因此,在訓練過程中一定要詳細地給學生講解怎么寫文檔,需要注意些什么,在驗收后一定要對學生的文檔進行點評,對典型問題要注重回頭看,教師要用自己的嚴謹、負責的態度感染學生,突出文檔規范的重要性。
4結束語
“軟件工程”課程自身的綜合性以及在軟件工程專業中的重要地位決定了課程必須跟上時代的發展,符合社會的需求,因此對“軟件工程”課程必須以培養工程型應用人才為目標,不斷向前推進改革。只有在教學過程中注重理論與實踐的結合,不單純地以“軟件工程”課程的基本知識為內容,而是綜合軟件工程專業的多個相關課程,對學生進行綜合訓練,加強文檔訓練,把握好課程改革的度,穩步推進,才能有效改進目前的課程教學。
參考文獻
[1] 中國計算機科學與技術學科教程2002研究組. 中國計算機科學與技術學科教程2002[M]. 北京:清華大學出版社,2002:7-52.
在軟件工程教學中主要存在三方面的問題:
1、軟件開發技術飛速發展,新方法、新技術、新工具、新平臺不斷出現,給軟件工程教學帶來了諸多問題:課時不變,教學內容偏多,教材的更新跟不上技術的發展。
2、教學過程仍然以教師“教”為中心,在教師的指導下完成課程的相關實驗及課程設計的學習。軟件工程課程可操作性差、理論多、內容抽象、難理解,很難充分調動學生學習的積極性和自主性,導致理論與實踐脫節。
3、學習軟件工程的學生幾乎都沒有軟件開發的經驗,對于管理學的知識更是不知所然,加上有的教師也沒有完整項目軟件開發的經驗,要讓學生做到“學中做,做中學”,真的是難上加難。
二、三元整合的教學思維
軟件工程課程主要介紹了軟件問題定義、項目計劃、需求分析、設計、維護等軟件開發過程中的各種問題。通過市場調查、觀摩學習、講座、校企合作,發現軟件行業在軟件設計、軟件維護、軟件測試三方面就業崗位多,人才缺口大。結合學生學習的特點,參照國家相關職業標準,確定軟件工程,培養人才方向崗位定位在軟件設計、軟件測試、軟件維護三個崗位,因此教學中將重點放在軟件設計、軟件維護、軟件測試上。文中以“學生信息管理系統”項目為載體,將項目開發過程中用到的各項工作技能按照工作過程分解任務,項目分解成一個個的子案例,以任務分解的方式完成技能的案例教學,體現工作過程的完整性。三個崗位的工作任務、職業能力、知識結構之間的關系。整個教學過程是一個循序漸進的過程,每個崗位有明確的工作任務,每個工作任務對應不同的職業能力,知識的表現形式也就不同。為了與崗位工作任務相適應,在項目教學中培養學生的職業能力,使學生做到“學中做,做中學”;在設計教學項目案例上做到項目難度適中、易理解、易操作、易掌握、有針對性和代表性,并且包含上述三個工作崗位的工作任務與職業能力相關知識,最終達到項目驅動,任務分解的教學目的,同時學生也能進一步理解工作過程中需要掌握的技能。
三、三元整合在教學中的應用
案例教學、項目驅動、任務分解的教學方法有各自特點,如何將這些教學方法整合在一個具體的項目中,并發揮其優點是教學中要重點解決的問題。將“學生信息管理系統”項目進行分解,每一個子項目對應一個具體的工作任務。對每個子項目按以下的教學步驟進行教學:
1、項目分解,確定每一個子項目的工作任務根據項目完成的時間限制、要求,將項目分解成子項目,不同的子項目對應不同的工作任務。如“學生信息管理系統”可分解為“學生管理、課程管理、成績管理、信息查詢”四個子項目,且每個子項目對應不同的工作任務。把工作任務獨立、花費時間少的稱為小任務;反之,工作任務需要多個教學單元經過綜合實踐才能完成的,稱為大任務。在教學中又可將大任務分解為小任務,通過分析總結,最終使學生能掌握自上而下逐步求精分析問題解決問題的能力。
2、理論講解,案例演示教師結合案例演示,講解子項目中對應的工作任務,讓學生真實理解工作過程中這個子項目到底要做些什么,怎么做,哪些知識是已知的,哪些知識是未知的,提出問題,充分調動學生的好奇心與求知欲。
3、學生分組討論,協同合作根據學生興趣、成績、實踐動手能力將學生分成4到5個人為一個小組。小組成員共同討論完成項目的開發。工作任務完成過程中,讓學生輪換擔當不同的角色,使其能體驗不同角色在不同階段的職責與任務,既培養學生團隊協作能力,又發揮了各自特長,調動了學生的積極性,從而提高了學習興趣。
4、學生各自完成工作任務通過項目分工,團隊中的每個成員都有明確的任務,結合教師的案例演示進行工作任務的模擬練習,讓學生對工作任務的完成有了真正的認識,從而培養學生的職業能力。
5、總結工作任務成果,評審驗收首先,學生對自己完成的子項目進行展示、總結,哪些完成,哪些沒有完成,原因在什么地方;其次,教師對每個團隊項目完成的情況進行比較,并將各團隊工作成果與案例演示中的工作成果進行比較,總結規律和技巧,使團隊中的每個學生知道自己在做什么,做得如何,哪些地方需要改進,哪些知識需要完善,自己發揮了什么作用,將實踐上升到理論高度,進而培養學生的職業能力。
6、拓展第二課堂,培養學生的研究、創新性學習能力在案例教學與學生實踐的基礎上,學生對工作過程中所要完成的工作任務有了基本的了解和認識。對于學習興趣高、實踐能力強的同學,選擇自己感興趣的方面跟老師一起參加項目研發,在教師的指導下,了解跟蹤軟件開發新技術發展趨勢,更加深入了解軟件工程精髓,進而培養自己創新性學習能力。
四、總結
信息產業的迅速發展對軟件技術從業人員提出了更多要求;盡管國內高校軟件人才的培養數量不斷攀升,但真正能夠融入軟件開發團隊的人并不多,這嚴重阻礙了我國信息產業的發展。造成這一現象的主要原因是軟件技術相關專業的人才培養模式落后,基礎理論+實驗室上機實踐構成了教學的主體,普遍缺少對學生素質和工程化實踐能力的培養,同時也缺乏工程化[1]實訓必備的教學環境,因此很難培養出符合軟件公司要求的實踐型技能型軟件人才[2]。
長沙民政職業技術學院軟件技術專業教師團隊通過對學生職業素質和核心技能培養方面進行了一系列的探索與研究,通過對高職軟件技術專業課程進行工程化改造的探索與實踐,在教學過程中產生良好的教學效果。本文以長沙民政職業技術學院為例對此教學探索實踐活動做了一個闡述與總結。本院軟件技術專業培養目標通過對面向對象的軟件工程方法、數據庫、.Net/Java/移動應用/WindowsStore/云應用開發技術、軟件測試技術等專業理論基礎知識的學習,使學生掌握程序員及相關崗位必備的理解軟件設計、掌握從事軟件開發先進技術、熟悉測試、實施以及現場管理等專業理論基礎知識,具備良好的職業道德、職業素養,培養德、智、體、美全面發展,心理健康,具有“愛眾親仁”道德精神和“博學篤行”專業品質和較強學習能力、創新能力的高素質技術技能型軟件技術專門人才。本專業教學團隊通過對北京中軟強網、杭州TCS公司、上海漢得信息技術有限公司等數十家公司核心崗位所需人才的能力需求調查分析與研究,發現IT行業人才所需能力主要分為三類:職業核心能力和職業核心素質。其中職業核心能力主要包括軟件分析能力、軟件設計能力、數據庫編程能力、界面編程能力、程序編碼能力、軟件測試能力和系統維護能力;職業核心素質主要包括分析與解決問題能力、自主學習能力、團隊合作能力、表達溝通能力、探索創新能力和抗挫抗壓能力。
本專業教學團隊根據調研情況,對課程進行工程化體系[3],為了實現教、學、做一體化的教學目標,在講義或教材的運用上重點闡述項目實施的方法和步驟,按照軟件開發過程對教學內容進行了重構,形成新的“工程化”課程體系。在本專業教學中采納特色教學法ISAS教學法、項目教學法和榜樣教學法。工程化課程內容組織循序漸進,從簡單到復雜,從實踐到理論,再到實踐不斷循環,使學生對技術的應用能力不斷提升。項目實踐劃分為“四個應用層次”:①驗證性項目:學生在解決一個與教師示范或操作規程中類似的、或更復雜的問題,學以致用,鞏固基礎知識。②訓練性項目:學生借助相關輔助工具完成的項目,主要培養學生的對技能的熟練程度。③設計性項目:設計性項目是在一個訓練單元結束進行的綜合性項目,由學生綜合運用本單元所學理論解決實際的問題,主要培養學生的分析問題、解決問題的能力和必備專業核心技能。④創造性項目:創造性應用層次是在課程結束后給出課程的課程設計題目,由學生綜合運用本課程所學理論解決實際的問題,主要培養學生創新能力和抗壓抗挫的能力。基于工程化的課程體系的改革與實踐成果為培養更多優秀人才和提高專業人才的合格率奠定了堅實的基礎。
通過多年的課程工程化改革的探索與實踐,我院軟件技術專業以就業為導向,緊跟行業的發展方向,依據行業人才的需求特點,全面實施學院與市場對接、學生與社會對接、教學與就業對接的培養機制,加強實習實踐環節,分期分批安排學生到企業實習、實訓,畢業生就業競爭優勢明顯,專業就業對口率顯著提高。
作者:唐一韜 單位:長沙民政職業技術學院