[摘 要] 針對目前軟件工程實驗課程教學特點及存在的問題,本文在教學實踐中探索出一套具體的實驗教學實施方法及實驗考核方式。
[關鍵詞] 教學改革;軟件工程;實驗考核
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2010 . 09 . 045
[中圖分類號]G642 [文獻標識碼]A [文章編號]1673 - 0194(2010)09- 0119 - 02
1引言
在軟件企業高速發展的今天,多數高校在教學方式上,仍以教師的講授為主導,學生被動地接受,教學效果不是很理想。不少學生無法把學過的知識與實際應用相結合,不能把理論知識應用在實踐上。因此,對軟件工程實驗課程進行教學改革是很有必要的。
筆者到蘇州工業園區參觀考察,到北京中科院計算機研究所進行軟件工程培訓,結合學院實際,以項目驅動的教學方法[1]來組織教學,經過實踐,教學效果不錯。
2教學步驟及方法
在具體的實驗教學過程中分3個階段,來逐步提升學生的各個方面的能力。在學期伊始,教師需要對學生的基礎和能力有所了解,按照一定的分組方法[2],對學生進行分組,選派小組長,每組3~5人,每個階段教師和學生的角色都會不同。
第一階段:技術基礎能力提升階段。本階段主要是進行能力的提升,在原有理論教學的基礎上(主要是軟件工程專業的專業課程基礎),讓學生掌握符合企業要求的高級語言編程方法,了解框架技術,如Struts框架、Spring框架、Hibernate框架等,重溫數據庫技術,掌握企業級的數據庫開發方法。學生與教師的角色如下:
(1) 教師:訓練者。以精練的授課內容引導學生回顧相關知識,對學生進行知識點撥,使學生熟練掌握以往相關知識。
(2) 小組長:學習委員。組織小組進行知識的掌握,幫助知識差的同學跟進。召開小組會議,討論相關知識的掌握情況。
(3) 學生:學習者。通過教師的引導,做到有的放矢地學習,通過小組學習交流提高自身學習興趣,在交流中獲得互相的了解和信任,培養團隊意識。
該階段,教師可以給出具體的任務,讓學生進行知識的回顧和學習。
第二階段:工程應用能力提升階段。引入一個中小型項目,通過具體項目的開發實踐,掌握符合企業要求的工程方法和開發方法,掌握相關開發文檔的撰寫,了解CMM的內容和主要用途。讓學生學會撰寫項目構思文檔、項目管理文檔、監控文檔、需求分析、設計文檔等,學生與教師的角色如下:
(1) 教師:組織者、領導者。充當項目管理者,給項目小組提出要求,控制項目的開發。
(2) 小組長:項目組長。小組長要學會領導和組織本小組進行項目開發,進行有效的任務分配、合理協調內部工作,學會以會議的形式解決小組問題。
(3) 學生:開發者。項目的開發要符合規范方法,編寫與企業要求相符的代碼,撰寫規范的開發文檔,學會自己解決問題,為以后走向工作崗位打下基礎。
該階段的部分工作可以在課下進行,專業實驗室向小組開放。
第三階段:創新能力的提升階段。敏捷與規范一直是業內的一個關注點。在這個階段,通過學生自己確立項目,嘗試讓學生學會平衡“敏捷與規范”,努力做到既保證開發的敏捷性又確保開發的規范性,研究軟件工程的創新理論和方法。在該階段,教師和學生的角色如下:
(1) 教師:領航者。引導學生分析問題,與學生一起尋找解決問題的方案。
(2) 小組長:研發組長。組織小組成員進行創新討論,開展小組會議。
(3) 成員:研究者。解放思想,進行創新性研究,在討論會上勇于發表自己看法。
該階段,需要經常開會,討論并確立新任務,這樣進行任務的迭代,直到新產品的出現。
3評審與考核
評審與考核是實驗課程的一個重要部分,目的是鍛煉學生對實際項目的交付能力,給學生一個有效的評價。學期結束,每個小組要通過評審與考核,這樣可以有助于學生知識和能力的提高。交付評審時,老師可以自己組織評審,也可以請有關老師擔當評委。評審流程如下:
(1) 每組抽出一名成員進行項目綜述,主要描述項目背景,說明組織方法與實現方式;演示實現成果,展示需求、設計等相關文檔;描述創新及體會。
(2) 評委提出問題,小組成員回答(與項目綜述的成員不能雷同,每個成員回答一個問題)。
(3) 綜合各個小組給出評分。整個過程主要考察學生的團隊組織能力、項目綜述能力、需求分析能力、解決問題的能力。小組成績按百分制,總成績為各項的平均成績,具體標準如下:
① 闡釋項目的需求、對策與解決方案是否完整( );② 項目組織力度( );③ 是否按標準完成交付( );④ 項目演示情況(); ⑤ 創新思考(); ⑥ 小組成員參與情況();總成績()。
個人成績計算方法如下:
個人成績 = 小組總成績 × 個人貢獻系數
其中個人貢獻系數由小組長給出,并在評審會上宣布貢獻系數給出的依據。
項目組長的個人貢獻系數可以由任課教師和小組成員給出,計算方法如下:
項目組長個人貢獻系數=(任課教師給出系數 + 小組成員給出的系數)/2,其中小組成員給出的系數是每位成員給出的系數的平均值。系數取值范圍從0~1。
4結束語
軟件工程實驗是軟件工程課程不可或缺的一部分,是否有效地組織好軟件工程實驗課程關系著學生實際動手能力的提高和就業。因此,我們任課教師應該在注重提高自身的項目開發能力的同時,把具體的實踐經驗帶到課堂,不但培養學生的編程能力,還應培養學生的團隊精神、創新能力等綜合素質,以滿足軟件企業需求。
主要參考文獻
[1] 李偉波.項目驅動式的“軟件工程”教學模式研究與實踐[J].中國電力教育,2009(6).
[2] 王延青,李海峰,林森,朱素霞,倪澤輝.軟件工程系列課程設計的分組及選題策略框架[J].計算機教育,2008(8).