摘要:本文從開設“軟件開發環境與工具”課程的必要性出發,從課程開設時間、教學目的、教學內容、實踐環節、教學過程、考核體系等方面詳細論述了課程建設方案,是教學方法改革的一次探索。
關鍵詞:軟件開發環境與工具;課程建設;案例教學
中圖分類號:G642.0文獻標識碼:B
1引言
通過對太原理工大學計算機科學專業本科畢業學生的跟蹤調查,多數學生認為本科學習期間雖然學習了很多與軟件開發相關的課程,但是難以對軟件開發建立一個全面的認識,不能充分認識到這些課程在軟件開發中的作用和地位,造成缺乏這些課程學習的主動性和針對性。學生畢業后,仍然沒有一套完整的軟件開發思想和工具。
參照IEEE/ACM關于計算(Computing)學科本科教學參考計劃CC2005(Computing Curricula 2005),在計算機科學專業開設“軟件開發環境與工具”課程是非常必要的。在軟件開發基礎理論指導下,學習和掌握一些流行的軟件開發環境與工具,并積極進行實踐,使計算機科學專業的畢業生具有從理論研究到軟件開發的能力和良好的軟件開發素質,畢業后可以很快適應軟件開發的需要,成為合格軟件開發人員。
2調整開設時間與教學內容
2.1開設時間
為了使學生盡早接觸軟件開發過程,了解軟件開發相關課程在軟件開發中的作用和地位,培養和激發學生對相關課程的學習積極性,并熟練使用本課程中講授的軟件開發環境和工具進行后續相關課程的實踐。太原理工大學計算機與軟件學院計算機科學技術系在計算機科學技術系本科生入學后的第4學期(大學二年級下半學期)就開設了“軟件開發環境與工具”課程,前序課程是“C語言程序設計”和“面向對象程序設計”。課程系統介紹軟件開發的過程和一些常用的工具,目的是使學生撩開軟件開發的神秘面紗,建立軟件過程化開發思想,熟悉軟件開發的主要工具和環境,并具備很快學習熟悉新工具的能力。
由于軟件種類繁多(如系統軟件、事務處理軟件、嵌入式軟件、科學和工程計算軟件、娛樂軟件等),相關的軟件開發人員還需要掌握網絡、硬件等方面的知識。由于開設時間早,學生暫時沒有這些相關課程的理論支撐,不具備開發各類軟件的能力。因此選擇教學內容時,我們主要面向事務處理軟件的開發,系統給學生講解開發這類軟件較流行的環境與工具。
但是課程開設較早,也導致出現課程銜接的問題。軟件開發需要系統掌握軟件工程、程序設計語言、算法設計、操作系統、數據庫原理、軟件體系結構等相關課程的基本知識。考慮到課程銜接問題,教學內容中適當增加了一些基礎知識,同時為后續課程的深入學習做了必要的鋪墊。
2.2教學內容
教學內容面向事務處理軟件的開發過程,主要包括三大部分:軟件開發基礎理論、軟件開發工具、軟件開發管理等三部分,見表1。

軟件開發基礎簡要介紹軟件生命周期、軟件體系結構、編程語言、開發環境及開發環境的選擇,數據庫基礎等;軟件開發工具介紹開發事務處理軟件常用的設計、編程與測試軟件。編程工具以Delphi為例,介紹Delphi的開發方法、文件結構、主要控件、窗體的布局、事件的添加、數據庫應用開發等,使學生能夠通過Delphi這種簡單易學的編程環境與工具快速開發出簡單事務軟件應用程序來;設計工具以PowerDesigner為例,介紹不同分析階段的設計模型;數據庫平臺以Microsoft SQL Server為例,主要介紹查詢分析器的使用,該工具可以作為SQL語句的學習平臺。軟件管理簡要介紹軟件配置和項目管理的基本概念,并以Microsoft Visual SourceSafe(VSS)和Microsoft Project為例介紹軟件項目管理和配置管理工具。
目前“軟件開發環境與工具”課程采用40學時的課堂教學計劃,教學內容安排如表1所示。
2.3實踐內容
本課程注重實踐,首先保證學生充分利用實驗室提供的時間,鞏固掌握課堂講授內容,實驗室完成的內容和課時分配如表2所示。
除次之外,積極鼓勵學生利用課余時間主動實踐,并為他們安排一些實際項目進行實踐,如給學生描述學籍管理、住宿管理、圖書管理等系統的業務需求,引導他們進行相關模塊的設計與開發。在這些實踐過程中,學生們發現大量實際問題,通過與同學和老師的交流,這些問題得到了很好的解決,鞏固和完善了課堂教學內容,提高了解決實際問題的能力。
3改進教學方法
3.1激發學生的學習興趣
本課程首先給學生講解軟件開發市場的現狀,并從軟件危機開始講起,使同學們認識到:“軟件開發必須采用科學的方法論,借助先進的軟件開發和管理工具,采用先進的軟件開發技術”,激勵同學們通過相關課程的學習逐步把自己培養高素質的開發人員。
3.2案例教學
為了便于學生了解一個完整軟件系統的較全面的開發過程,課堂教學過程中,選擇學籍管理系統作為教學案例。該系統沒有非常復雜的業務邏輯,是學生較熟知的業務,因此不需要花費很多時間給學生分析業務流程,可以集中精力去講解軟件開發的方法和工具。
在講解設計基礎時,以學籍管理為例,講解系統分析與設計的方法,引導學生完成一些模塊的設計,將未完成模塊作為作業,由學生在課后完成。而隨著PowerDesigner教學過程的進行,學生可以利用工具來進行設計,同時感受到利用工具可以輔助設計,明顯提高設計效率。
隨著教學內容的推進,如數據庫設計和SQL語言、用戶界面設計、數據庫應用程序開發、軟件測試等,學生都可以繼續使用這個案例。
最后仍然采用這個案例演示軟件項目管理工具和配置管理工具的功能,使學生認識到軟件開發過程中,軟件管理是必不可少的。

另外,課程講授期間,進行了多次討論與調查反饋活動,如對軟件危機現象、軟件開發過程、學習方法的討論,教學方法及效果的調查。通過這些調查結果,及時調整改進了教學方法和教學內容,是教學任務順利進行的必要保證。
4調整考核體系
本課程實踐性強,重點考查學生對軟件開發工具的應用和軟件開發方法,不能采用傳統的試卷考核方式。本課程對考核方式也進行了新的嘗試,將學生的考試成績劃分為3部分:機試+筆試+平時成績。平時成績占總成績的20%,主要包括平時課堂提問、出勤、實驗等情況。機試成績占總成績的40%,主要考查學生對工具使用的熟練程度和實際問題解決能力。筆試成績占總成績的40%,主要考查學生對基本理論的掌握程度。這樣的考核體系可以督促學生切實加強實踐。
5結束語
目前,太原理工大學計算機與軟件學院的計算機科學專業06級已經按照計劃完成了教學任務。與學生座談中發現學生對這種教學方法是比較認可的。一部分學生已經可以使用所學的理論和工具完成一些簡單系統的開發,并表示希望能在后續課程中繼續學習更深入的理論。但是也有一部分學生反映教學內容太多,學習比較困難,這種現象可能是以下因素造成的:
(1) 缺乏配套教材
雖然很多學校都開設了“軟件開發環境與工具”,教材也很多,但是由于開設時間不同,教材內容存在很大差異。目前還缺乏一本配套的教材,只能靠教師整合不同的教材來講授,因此編寫一本配套教材是非常必要和緊迫的。
(2) 課時短
課程內容較多,實踐性強。相對來說課時就顯得有點短了,因此還需要進一步調整教學內容,并鼓勵學生積極利用課外時間進行學習實踐。
新教學方式還需要大量的后續工作和不斷改進,包括配套教材的編寫,題庫(包括機試與筆試試題)的完善等。隨著這些工作的不斷完善,本課程必將真正成為軟件課程體系的引導課和工具課,學生們可以充滿興趣的、有針對性學習后續課程。
參考文獻
[1] 劉乃琦. 計算學科CC2004與本科教育知識體系[J]. 計算機教育,2004,(8).
[2] 高枚,龔沛曾. 軟件開發技術基礎教學改革與探索[J]. 計算機教育,2008,(6).
[3] 全成斌,楊士強,趙有健. 計算機工程實踐教學的改革與探索[J]. 計算機教育,2008,(4).