摘要:本文針對計算機軟件開發類相關課程具有的工程性和實踐性的特點,提出了以項目為導向的教學策略:以一個完整的項目貫穿整個課程教學過程的始終,以項目的構建過程為線索安排教學步驟。并以PowerBuilder這門課程的教學實踐為例,具體論述了項目教學法的實施及效果。
關鍵詞:項目教學法;軟件開發;教學策略;PowerBuilder
中圖分類號:G642文獻標識碼:B
文章編號:1672-5913(2007)16-0085-04
1問題的提出
CCC2002指出:“計算機科學與技術學科除了具有較強的科學性外,還具有較強的工程性”,因此,計算機課程的教學應該是面向設計的。特別是計算機軟件開發類課程,如“面向對象程序設計”、“數據庫技術與應用”、“軟件工程”、“軟件開發工具與環境”更是具有極強的實踐性。對這類課程的教學,必須突出其工程性和實踐性。
我們在教學實踐中,于2004年開始嘗試以項目為導向的教學策略,取得了良好的效果。下面以PowerBuilder課程的教學為例,予以詳細闡述。
PowerBuilder是一套十分優秀的計算機應用系統開發工具,具有面向對象的開發方法和可視化的開發界面。它不僅能夠設計傳統的高性能、基于客戶機/服務器(Client/Server)體系結構的應用系統,也能夠方便地構建和實現分布式系統,隨著Internet的飛速發展,PowerBuilder提供了對OLE、OCX、跨平臺等技術的全面支持,因此也已經成為World Wide Web應用環境下的開發利器。
由于PowerBuilder的上述優點,目前不少高校選用其作為“數據庫開發”和“軟件開發工具與環境”相關課程的背景環境,也成為很多高校學生畢業設計所選用的開發工具。
1.1傳統的教學方法及缺點
傳統的計算機課程教學一般是采取知識結構驅動的教學法,教師循序漸進地講授一門課程的知識點,學生按部就班地學習知識點。雖然大多數教學環節也有實例,但是作為整個課程來說,這些實例是彼此沒有聯系的、孤立的。
這種教學模式的主要缺點是:
(1) 學生在學習過程中,看不到當前所學的局部知識的用處,缺乏學習的興趣和內在動力,容易產生厭倦情緒。
(2) 學生在學習中難以抓住重點,往往過分注重細節,以至于淹沒在知識細節的海洋中,難以把握整體的知識框架。
(3) 主要是以教師為中心,學生只是被動的聽講和練習,難以激發學生的積極性、主動性。
(4) 學生學完后,所掌握的知識是零碎的、不系統的,只見樹木,不見森林,缺乏對一門課程的整體把握能力。
(5) 學生學完后,即使考試成績很好,但仍然缺乏實際能力。學生對一個完整項目的整個分析和設計過程不甚清楚,不能把所學的知識完整地應用起來,解決實際問題時顯得很茫然。
1.2項目教學法
我們認為,學生學習一門軟件開發與設計課程,其主要目的并不僅僅是為了學習一些關于這門課程的知識,而更重要的是為了“掌握”和“運用”:即在掌握了基本的概念和關鍵的技術要點后,具有實際的應用開發能力。對于計算機專業的學生,采用多種模式、啟發自主學習、重視實踐環節、培養創新意識、樹立團隊精神顯得尤為重要。
我們在長期教學實踐和開發實踐的基礎上,在教學中運用了基于項目的教學法,它是教和學互動的模式。其基本思路是:以一個完整的軟件開發項目貫穿整個課程教學過程的始終;以項目的構建過程為線索安排教學步驟;整個教學過程是由項目的任務驅動。學生在學習過程中參與一個完整項目的分析、設計、實現的全過程,這樣就在課堂教學中把理論和實踐教學有機地結合起來,學生在教學過程中就不是被動的接受者,而是積極的參與者,這種開放性、創新性的教育思想和模式,有利于克服以往的教學模式的弊端,極有利于學生在計算機信息管理應用方面實際水平的提高。
2項目的選擇
在基于項目的教學法中,項目的選擇是一個非常關鍵的問題。所選擇的項目應該具有以下特點:
1. 項目應具有一定的代表性,雖然一個項目不可能具有某一類問題的全部特征,但要能反映問題的本質特征。
2. 項目應具有一定的實用性。項目最好來源于實際工作需求,盡可能選擇與實際需要相結合的項目。可結合科研任務、技術開發項目、信息工程建設的需要及實際應用的需要進行選擇。
3. 項目的規模要適中。項目規模過大則在一門課程的教學時數內難以完成,學生也難以把握;項目規模過小則難以涵蓋主要的知識點,也缺乏整體性和挑戰性。
4. 任課教師對所選項目應該非常熟悉,最好是教師親自開發的項目。
5. 項目應和學生生活比較貼近,這樣一方面增強學生的興趣,更重要的是便于學生理解和接受,使學生專注于項目的技術問題。
基于以上考慮,我們在PowerBuilder課程的教學實踐中,選用了“高校學生管理信息系統”作為項目案例。系統主要模塊如圖1所示。

3教學設計過程
3.1分析“高校學生管理信息系統”項目需求和系統主要功能模塊。
把一個項目分成若干個模塊,每個模塊根據對應的知識點再分成若干部分課堂教學內容,將教學目標和內容融入對實際項目的理解和實踐中,教學過程實際就是項目的建構過程。具體做法是:
每一個教學單元圍繞一個主題,提出項目設計目標,然后利用項目的設計過程,講解教學內容,最后給學生布置項目任務。
3.2項目教學的整體構想
項目教學的實施按照以下步驟進行:
(1) 認識PowerBuilder集成開發環境,建立一個新的Workspace和一個新的Application。
(2) 掌握窗口:窗口的創建、屬性、常用函數、事件、基本窗口編程。創建系統主窗口。
(3) 學習和掌握PowerScript語言。
(4) 創建數據庫。創建學生數據庫以及數據表。
(5) 學習和掌握常用的窗口控件:命令按鈕,單選鈕、復選框、分組框、編輯框、編輯掩碼控件等。創建信息錄入窗口。
(6) 學習和掌握數據窗口技術。這一部分是PowerBuilder的核心內容,也是學習的重點內容。
(7) 學習和掌握高級窗口控件:下拉列表框、樹狀視圖等。創建信息查詢窗口。
(8) 菜單的使用。建立系統主菜單,對前面創建的窗口進行統一管理。
(9) 學習和掌握SQL語句。創建信息修改等窗口。
(10) 學習和掌握游標。創建學生成績管理等窗口。
(11) 進行功能調試和系統測試。
(12) 將Application編譯成可執行文件,制作安裝盤,交付使用。
3.3項目教學的實施案例之一
(1) 主題:窗口與常用控件
(2) 項目任務:創建學生基本信息錄入窗口。如圖2所示。
(3)、教學目標:學習和掌握常用的窗口控件:命令按鈕,單選鈕、復選框、分組框、編輯框、編輯掩碼控件。
(4) 教學過程:在此環節中學習創建窗口對象,熟悉各種窗口控件及特性。學會對象屬性、方法的引用格式,事件過程的創建。讓學生創建一個窗口實現向student表添加本班同學信息的功能,這樣可以添加的同時也能體會到成功的喜悅,使學生深入理解和掌握面向對象分析問題的方法。

3.4項目教學的實施案例之二
(1) 主題:數據窗口技術
(2) 項目任務:創建學生信息綜合查詢窗口。如圖3所示。
(3) 教學目標:學習和掌握數據窗口技術。
(a) 使學生掌握數據窗口對象和數據窗口控件的概念,特別是分清這兩者的區別。
(b) 使學生掌握事務對象的概念。
(c) 使學生掌握數據庫連接和斷開的概念和方法。
(d) 使學生掌握數據提取的概念和方法。
(e) 在以上4項的基礎上,使學生熟練掌握使用數據窗口的步驟。
(4) 教學重點和難點分析:
數據窗口技術是PowerBuilder的核心專利技術,數據窗口能夠從5種數據源提取數據,并且開發者可以從11種顯示風格中進行選擇,這樣在應用程序開發過程中,開發者利用這種技術可以以方便、直觀、簡捷的方式操作數據庫,因此可以把精力主要放在應用系統功能的實現上,提高了開發效率,所以掌握數據窗口技術是使用PowerBuilder進行軟件開發的關鍵。
由于這一部分進入的新概念較多,數據窗口的使用步驟也較為復雜,因此掌握數據窗口技術也是本課程的一個難點。
(5) 教學過程:
(a) 提出項目任務。
(b) 概述數據窗口技術。激發學生興趣和積極性。
(c) 演示使用數據窗口畫筆創建數據窗口對象:dw_student。
(d) 演示創建一個新窗口,添加數據窗口控件:d_student。
(e) 演示通過數據窗口控件的屬性設置和編寫代碼這兩種方法,將數據窗口控件與數據窗口對象建立關聯。
(f) 演示編寫代碼。連接數據庫,提取數據,修改數據庫的數據,斷開連接等。
(g) 給學生布置項目任務。讓學生通過數據窗口控件在窗口對象做學生表、課程表及三表連接的修改、刪除和查詢及瀏覽頁面,并且和窗口對象創建的瀏覽頁面進行比較。

(h) 給學生布置拓展任務。要求學生在學習了“學生”信息更新和查詢后,自己獨立完成“課程”,“成績”等查詢窗口的設計,以收舉一反三之功效。
4考核方式
采用項目教學法必須進行課程考核方式的改革。我們嘗試的考核方式為:形成性考核、期末筆試和整個項目完成情況考核三部分相結合的方式。這三所占比例為20:40:40。
形成性考核主要是對學生的平時作業、學習過程中的學習行為表現、上機實踐環節等方面進行考核評價。
筆試考核學生對基本概念、基本理論、基本技能的掌握。
項目完成情況考核主要考核學生綜合運用所學知識解決問題的能力和實際開發設計能力。
5教學效果
基于項目的教學法在實踐性較強的計算機課程教學中,具有無可比擬的優點,它使學生能夠融會貫通地掌握一門課程的精髓;強化學生的計算機應用軟件開發能力;提高學生以計算機軟件工程的原則對開發項目的分析、架構、設計、管理、文檔編寫等能力;給學生畢業后繼續在計算機技術方面自我發展奠定了良好的基礎;培養了學生的合作共事的能力和團隊協作精神。
我們采用項目教學法兩年多來,收到了明顯的成效。從表1可以看出,學生無論是考試及格率,還是職業技能鑒定通過率和畢業設計良好以上比例,都有了明顯提高。

尤其可喜的是,由于學生的實際軟件開發能力得到明顯提高,大大增強了他們的就業競爭力。例如三名學生通過Internet把自己的設計作品上傳給某軟件企業,企業對他們開發的軟件表示認可,很快就到軟件公司從事專業的軟件開發工作。
6結束語
計算機技術與應用的飛速發展,促使我們必須對傳統的計算機課程教學模式進行改革,不斷更新教學觀念、教學內容、教學方法、教學手段。基于項目的教學法,作為我們在教學改革實踐中的探索,盡管取得了一定的成效,但也面臨著挑戰,例如,項目教學法對教師的教學水平提出了更高的要求,要求教師不僅要具有一定的理論水平,也要具備較為豐富的開發經驗。我們將在今后的教學實踐中繼續探索,以達到提高學生專業技能和綜合素質的目的。
參考文獻
[1] 鄭阿奇. PowerBuilder實用教程[M]. 北京:電子工業出版社,2005.
[2] 明日科技. PowerBuilder管理信息系統完整項目實例剖析[M]. 北京:人民郵電出版社,2005.
作者簡介:牛軍濤(1969-),男,河南襄城人,計算機軟件與理論專業工學碩士,講師,高級程序員,現任河南質量工程職業學院信息工程系主任,研究方向:數據庫,軟件工程。
聯系電話:13937546348
E-mail: niujtao@163.com