摘要:本文介紹了我院結合校級教改課題,針對“軟件工程”課程的教學內容、教學形式的組織、軟件實踐項目的考核形式與標準等方面的改革所做的探索。
關鍵詞:軟件工程;課堂教學形式;小組考核
中圖分類號:G642文獻標識碼:B
1引言
“軟件工程”是重要的專業基礎課,在整個教學體系中占有非常重要的地位。但是由于與該課程相關的教材都是理論性很強,學生在學習的過程中很容易把它當作文科類課程來學習,靠記憶課本上的一些基本理論來通過考試。等到了畢業設計這一環節時,很多學生都不知道對指導教師布置的題目該從哪一步開始做。因此,如何提高本課程的教學效果一直是我們關注的研究課題。
其實,軟件工程是一門實踐性非常強的課程,教材上的很多基本原理都是國內外軟件工程研究者的經驗總結,它并不像數學那樣經過嚴格的證明,也沒有必要進行理論證明,因此不能用對待公理的態度去生搬硬套,而應該在實際中靈活運用,檢驗其是否有效。所以,應用才是軟件工程學習的關鍵。
本文結合校級教學研究項目——“計算機專業學生軟件工程能力的培養研究”,就如何在較短的教學時間內使學生能較快而扎實地掌握軟件工程課程的內容并具有一定的軟件開發能力,主要針對課堂教學內容與形式的組織進行了探討。
2課堂教學形式的組織
目前,與本課程相關的教材都是沿著兩條主線來闡述軟件開發的過程,首先講述傳統的軟件開發過程,然后由傳統軟件開發過程的缺點引出當今主流的軟件開發思想——面向對象的軟件開發。為了讓學生能將這兩種軟件開發思想應用于實踐,同時體會后者的優點,我們將軟件04級1、2、3班的同學在各班級內以至多5人一小組的方式進行自由組合,最后形成了10個軟件開發小組,每組選一個負責人。每個軟件開發小組可以選做教師布置的題目,也可以自行選題,但要求10個小組內不能有多于2個以上的小組做同一題,以防抄襲。期末考試的成績由四部份組成:平時考勤10%,實驗環節10%,軟件開發項目60%,期末筆試20%。
軟件工程課程有54學時,理論學時占42學時,實踐學時占12學時。在42個理論學時內,我們的教學時間安排是:12個學時講授傳統的軟件開發思想;18個學時講授面向對象的軟件開發思想,余下的12個學時由每組的小組負責人選派一名小組成員擔任教師的角色向其他各組的同學講述自己的軟件開發計劃、進度、需求分析、設計等等。
3實踐教學形式的組織
本課程的實踐教學根據學院教學計劃規定,要求在實驗室完成。我們在實踐內容的安排上注重了把握以下幾個方面:
(1) 由小組負責人安排每個小組的同學坐在一起或相鄰的位置上,方便軟件開發過程中的協作。
(2) 由于指定的實踐學時遠遠不能滿足軟件項目開發的要求,所以要求每小組負責人安排課外時間。
(3) 由于每次實驗上機時間只有2學時,所以根據這種實際情況,我們要求學生在這段時間內主要學習軟件開發過程中常用軟件的操作和使用,以方便各小組在后階段提交各種文檔。
(4) 要求學生必須熟練使用三種軟件:Microsoft Project、Microsoft Vision、Rational Rose。
4小組考核標準
10個軟件開發小組課堂講述時間總共為12學時,分三次。每一次演講的時間由教師根據教學進度安排提前兩周通知學生。每小組的本次得分是其余9個小組評分的均值。每次考核完成后的1周內向教師提交階段性的成果和文檔。三次考核的要求和標準如下表所示。
可以看出每一次考核內容各不相同。從第1、2次到第3次的過渡可以讓學生體會到傳統的軟件開發方法在分析與設計之間由于概念與表述方法不同,因此在需求的分析與設計之間存在著鴻溝。而面向對象的方法由于問題域的基本單位是對象,在分析與設計階段采用一致的概念和表示法,分析與設計之間不存在鴻溝。經過實際項目開發的對比,學生可以感受到面向對象軟件開發方法的優點。同時,在整個教學環節中,由于嚴格按照軟件工程的要求分階段布置任務,并讓學生分階段地提交相應的文檔和開發成果,督促學生保質保量地按時完成軟件開發的任務,從而真正達到了將理論運用于實踐的目的。
5改革的效果
對于本次“軟件工程”課程教學內容形式的改革,我院在軟件041、2、3班共69人中進行了實踐,實踐后達到了以下的效果:
(1) 通過本課程的學習,學生不僅掌握了書本上的理論,更重要的是掌握了軟件開發的基本流程,并能將書本上的理論初步應用于實際問題的解決。
(2) 進一步激發了學生學習軟件工程的興趣,增強了學生學習的主動參與性,減少了學生對該課程感到枯燥無味的情緒。
(3) 軟件042班的劉俞同學利用這次軟件工程課程的學習,為自家的家具銷售公司開發了一個實際的進存銷管理系統,解決了父母用傳統的方法管理賬目的不便。
參考文獻
[1] 王春玲. “C++程序設計”課程實踐教學改革的探討[J]. 計算機教育,2007,(12):3-4.