摘要:本文從開(kāi)設(shè)“軟件開(kāi)發(fā)環(huán)境與工具”課程的必要性出發(fā),從課程開(kāi)設(shè)時(shí)間、教學(xué)目的、教學(xué)內(nèi)容、實(shí)踐環(huán)節(jié)、教學(xué)過(guò)程、考核體系等方面詳細(xì)論述了課程建設(shè)方案,是教學(xué)方法改革的一次探索。
關(guān)鍵詞:軟件開(kāi)發(fā)環(huán)境與工具;課程建設(shè);案例教學(xué)
中圖分類號(hào):G642.0文獻(xiàn)標(biāo)識(shí)碼:B
1引言
通過(guò)對(duì)太原理工大學(xué)計(jì)算機(jī)科學(xué)專業(yè)本科畢業(yè)學(xué)生的跟蹤調(diào)查,多數(shù)學(xué)生認(rèn)為本科學(xué)習(xí)期間雖然學(xué)習(xí)了很多與軟件開(kāi)發(fā)相關(guān)的課程,但是難以對(duì)軟件開(kāi)發(fā)建立一個(gè)全面的認(rèn)識(shí),不能充分認(rèn)識(shí)到這些課程在軟件開(kāi)發(fā)中的作用和地位,造成缺乏這些課程學(xué)習(xí)的主動(dòng)性和針對(duì)性。學(xué)生畢業(yè)后,仍然沒(méi)有一套完整的軟件開(kāi)發(fā)思想和工具。
參照IEEE/ACM關(guān)于計(jì)算(Computing)學(xué)科本科教學(xué)參考計(jì)劃CC2005(Computing Curricula 2005),在計(jì)算機(jī)科學(xué)專業(yè)開(kāi)設(shè)“軟件開(kāi)發(fā)環(huán)境與工具”課程是非常必要的。在軟件開(kāi)發(fā)基礎(chǔ)理論指導(dǎo)下,學(xué)習(xí)和掌握一些流行的軟件開(kāi)發(fā)環(huán)境與工具,并積極進(jìn)行實(shí)踐,使計(jì)算機(jī)科學(xué)專業(yè)的畢業(yè)生具有從理論研究到軟件開(kāi)發(fā)的能力和良好的軟件開(kāi)發(fā)素質(zhì),畢業(yè)后可以很快適應(yīng)軟件開(kāi)發(fā)的需要,成為合格軟件開(kāi)發(fā)人員。
2調(diào)整開(kāi)設(shè)時(shí)間與教學(xué)內(nèi)容
2.1開(kāi)設(shè)時(shí)間
為了使學(xué)生盡早接觸軟件開(kāi)發(fā)過(guò)程,了解軟件開(kāi)發(fā)相關(guān)課程在軟件開(kāi)發(fā)中的作用和地位,培養(yǎng)和激發(fā)學(xué)生對(duì)相關(guān)課程的學(xué)習(xí)積極性,并熟練使用本課程中講授的軟件開(kāi)發(fā)環(huán)境和工具進(jìn)行后續(xù)相關(guān)課程的實(shí)踐。太原理工大學(xué)計(jì)算機(jī)與軟件學(xué)院計(jì)算機(jī)科學(xué)技術(shù)系在計(jì)算機(jī)科學(xué)技術(shù)系本科生入學(xué)后的第4學(xué)期(大學(xué)二年級(jí)下半學(xué)期)就開(kāi)設(shè)了“軟件開(kāi)發(fā)環(huán)境與工具”課程,前序課程是“C語(yǔ)言程序設(shè)計(jì)”和“面向?qū)ο蟪绦蛟O(shè)計(jì)”。課程系統(tǒng)介紹軟件開(kāi)發(fā)的過(guò)程和一些常用的工具,目的是使學(xué)生撩開(kāi)軟件開(kāi)發(fā)的神秘面紗,建立軟件過(guò)程化開(kāi)發(fā)思想,熟悉軟件開(kāi)發(fā)的主要工具和環(huán)境,并具備很快學(xué)習(xí)熟悉新工具的能力。
由于軟件種類繁多(如系統(tǒng)軟件、事務(wù)處理軟件、嵌入式軟件、科學(xué)和工程計(jì)算軟件、娛樂(lè)軟件等),相關(guān)的軟件開(kāi)發(fā)人員還需要掌握網(wǎng)絡(luò)、硬件等方面的知識(shí)。由于開(kāi)設(shè)時(shí)間早,學(xué)生暫時(shí)沒(méi)有這些相關(guān)課程的理論支撐,不具備開(kāi)發(fā)各類軟件的能力。因此選擇教學(xué)內(nèi)容時(shí),我們主要面向事務(wù)處理軟件的開(kāi)發(fā),系統(tǒng)給學(xué)生講解開(kāi)發(fā)這類軟件較流行的環(huán)境與工具。
但是課程開(kāi)設(shè)較早,也導(dǎo)致出現(xiàn)課程銜接的問(wèn)題。軟件開(kāi)發(fā)需要系統(tǒng)掌握軟件工程、程序設(shè)計(jì)語(yǔ)言、算法設(shè)計(jì)、操作系統(tǒng)、數(shù)據(jù)庫(kù)原理、軟件體系結(jié)構(gòu)等相關(guān)課程的基本知識(shí)??紤]到課程銜接問(wèn)題,教學(xué)內(nèi)容中適當(dāng)增加了一些基礎(chǔ)知識(shí),同時(shí)為后續(xù)課程的深入學(xué)習(xí)做了必要的鋪墊。
2.2教學(xué)內(nèi)容
教學(xué)內(nèi)容面向事務(wù)處理軟件的開(kāi)發(fā)過(guò)程,主要包括三大部分:軟件開(kāi)發(fā)基礎(chǔ)理論、軟件開(kāi)發(fā)工具、軟件開(kāi)發(fā)管理等三部分,見(jiàn)表1。
軟件開(kāi)發(fā)基礎(chǔ)簡(jiǎn)要介紹軟件生命周期、軟件體系結(jié)構(gòu)、編程語(yǔ)言、開(kāi)發(fā)環(huán)境及開(kāi)發(fā)環(huán)境的選擇,數(shù)據(jù)庫(kù)基礎(chǔ)等;軟件開(kāi)發(fā)工具介紹開(kāi)發(fā)事務(wù)處理軟件常用的設(shè)計(jì)、編程與測(cè)試軟件。編程工具以Delphi為例,介紹Delphi的開(kāi)發(fā)方法、文件結(jié)構(gòu)、主要控件、窗體的布局、事件的添加、數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)等,使學(xué)生能夠通過(guò)Delphi這種簡(jiǎn)單易學(xué)的編程環(huán)境與工具快速開(kāi)發(fā)出簡(jiǎn)單事務(wù)軟件應(yīng)用程序來(lái);設(shè)計(jì)工具以PowerDesigner為例,介紹不同分析階段的設(shè)計(jì)模型;數(shù)據(jù)庫(kù)平臺(tái)以Microsoft SQL Server為例,主要介紹查詢分析器的使用,該工具可以作為SQL語(yǔ)句的學(xué)習(xí)平臺(tái)。軟件管理簡(jiǎn)要介紹軟件配置和項(xiàng)目管理的基本概念,并以Microsoft Visual SourceSafe(VSS)和Microsoft Project為例介紹軟件項(xiàng)目管理和配置管理工具。
目前“軟件開(kāi)發(fā)環(huán)境與工具”課程采用40學(xué)時(shí)的課堂教學(xué)計(jì)劃,教學(xué)內(nèi)容安排如表1所示。
2.3實(shí)踐內(nèi)容
本課程注重實(shí)踐,首先保證學(xué)生充分利用實(shí)驗(yàn)室提供的時(shí)間,鞏固掌握課堂講授內(nèi)容,實(shí)驗(yàn)室完成的內(nèi)容和課時(shí)分配如表2所示。
除次之外,積極鼓勵(lì)學(xué)生利用課余時(shí)間主動(dòng)實(shí)踐,并為他們安排一些實(shí)際項(xiàng)目進(jìn)行實(shí)踐,如給學(xué)生描述學(xué)籍管理、住宿管理、圖書(shū)管理等系統(tǒng)的業(yè)務(wù)需求,引導(dǎo)他們進(jìn)行相關(guān)模塊的設(shè)計(jì)與開(kāi)發(fā)。在這些實(shí)踐過(guò)程中,學(xué)生們發(fā)現(xiàn)大量實(shí)際問(wèn)題,通過(guò)與同學(xué)和老師的交流,這些問(wèn)題得到了很好的解決,鞏固和完善了課堂教學(xué)內(nèi)容,提高了解決實(shí)際問(wèn)題的能力。
3改進(jìn)教學(xué)方法
3.1激發(fā)學(xué)生的學(xué)習(xí)興趣
本課程首先給學(xué)生講解軟件開(kāi)發(fā)市場(chǎng)的現(xiàn)狀,并從軟件危機(jī)開(kāi)始講起,使同學(xué)們認(rèn)識(shí)到:“軟件開(kāi)發(fā)必須采用科學(xué)的方法論,借助先進(jìn)的軟件開(kāi)發(fā)和管理工具,采用先進(jìn)的軟件開(kāi)發(fā)技術(shù)”,激勵(lì)同學(xué)們通過(guò)相關(guān)課程的學(xué)習(xí)逐步把自己培養(yǎng)高素質(zhì)的開(kāi)發(fā)人員。
3.2案例教學(xué)
為了便于學(xué)生了解一個(gè)完整軟件系統(tǒng)的較全面的開(kāi)發(fā)過(guò)程,課堂教學(xué)過(guò)程中,選擇學(xué)籍管理系統(tǒng)作為教學(xué)案例。該系統(tǒng)沒(méi)有非常復(fù)雜的業(yè)務(wù)邏輯,是學(xué)生較熟知的業(yè)務(wù),因此不需要花費(fèi)很多時(shí)間給學(xué)生分析業(yè)務(wù)流程,可以集中精力去講解軟件開(kāi)發(fā)的方法和工具。
在講解設(shè)計(jì)基礎(chǔ)時(shí),以學(xué)籍管理為例,講解系統(tǒng)分析與設(shè)計(jì)的方法,引導(dǎo)學(xué)生完成一些模塊的設(shè)計(jì),將未完成模塊作為作業(yè),由學(xué)生在課后完成。而隨著PowerDesigner教學(xué)過(guò)程的進(jìn)行,學(xué)生可以利用工具來(lái)進(jìn)行設(shè)計(jì),同時(shí)感受到利用工具可以輔助設(shè)計(jì),明顯提高設(shè)計(jì)效率。
隨著教學(xué)內(nèi)容的推進(jìn),如數(shù)據(jù)庫(kù)設(shè)計(jì)和SQL語(yǔ)言、用戶界面設(shè)計(jì)、數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)、軟件測(cè)試等,學(xué)生都可以繼續(xù)使用這個(gè)案例。
最后仍然采用這個(gè)案例演示軟件項(xiàng)目管理工具和配置管理工具的功能,使學(xué)生認(rèn)識(shí)到軟件開(kāi)發(fā)過(guò)程中,軟件管理是必不可少的。
另外,課程講授期間,進(jìn)行了多次討論與調(diào)查反饋活動(dòng),如對(duì)軟件危機(jī)現(xiàn)象、軟件開(kāi)發(fā)過(guò)程、學(xué)習(xí)方法的討論,教學(xué)方法及效果的調(diào)查。通過(guò)這些調(diào)查結(jié)果,及時(shí)調(diào)整改進(jìn)了教學(xué)方法和教學(xué)內(nèi)容,是教學(xué)任務(wù)順利進(jìn)行的必要保證。
4調(diào)整考核體系
本課程實(shí)踐性強(qiáng),重點(diǎn)考查學(xué)生對(duì)軟件開(kāi)發(fā)工具的應(yīng)用和軟件開(kāi)發(fā)方法,不能采用傳統(tǒng)的試卷考核方式。本課程對(duì)考核方式也進(jìn)行了新的嘗試,將學(xué)生的考試成績(jī)劃分為3部分:機(jī)試+筆試+平時(shí)成績(jī)。平時(shí)成績(jī)占總成績(jī)的20%,主要包括平時(shí)課堂提問(wèn)、出勤、實(shí)驗(yàn)等情況。機(jī)試成績(jī)占總成績(jī)的40%,主要考查學(xué)生對(duì)工具使用的熟練程度和實(shí)際問(wèn)題解決能力。筆試成績(jī)占總成績(jī)的40%,主要考查學(xué)生對(duì)基本理論的掌握程度。這樣的考核體系可以督促學(xué)生切實(shí)加強(qiáng)實(shí)踐。
5結(jié)束語(yǔ)
目前,太原理工大學(xué)計(jì)算機(jī)與軟件學(xué)院的計(jì)算機(jī)科學(xué)專業(yè)06級(jí)已經(jīng)按照計(jì)劃完成了教學(xué)任務(wù)。與學(xué)生座談中發(fā)現(xiàn)學(xué)生對(duì)這種教學(xué)方法是比較認(rèn)可的。一部分學(xué)生已經(jīng)可以使用所學(xué)的理論和工具完成一些簡(jiǎn)單系統(tǒng)的開(kāi)發(fā),并表示希望能在后續(xù)課程中繼續(xù)學(xué)習(xí)更深入的理論。但是也有一部分學(xué)生反映教學(xué)內(nèi)容太多,學(xué)習(xí)比較困難,這種現(xiàn)象可能是以下因素造成的:
(1) 缺乏配套教材
雖然很多學(xué)校都開(kāi)設(shè)了“軟件開(kāi)發(fā)環(huán)境與工具”,教材也很多,但是由于開(kāi)設(shè)時(shí)間不同,教材內(nèi)容存在很大差異。目前還缺乏一本配套的教材,只能靠教師整合不同的教材來(lái)講授,因此編寫(xiě)一本配套教材是非常必要和緊迫的。
(2) 課時(shí)短
課程內(nèi)容較多,實(shí)踐性強(qiáng)。相對(duì)來(lái)說(shuō)課時(shí)就顯得有點(diǎn)短了,因此還需要進(jìn)一步調(diào)整教學(xué)內(nèi)容,并鼓勵(lì)學(xué)生積極利用課外時(shí)間進(jìn)行學(xué)習(xí)實(shí)踐。
新教學(xué)方式還需要大量的后續(xù)工作和不斷改進(jìn),包括配套教材的編寫(xiě),題庫(kù)(包括機(jī)試與筆試試題)的完善等。隨著這些工作的不斷完善,本課程必將真正成為軟件課程體系的引導(dǎo)課和工具課,學(xué)生們可以充滿興趣的、有針對(duì)性學(xué)習(xí)后續(xù)課程。
參考文獻(xiàn)
[1] 劉乃琦. 計(jì)算學(xué)科CC2004與本科教育知識(shí)體系[J]. 計(jì)算機(jī)教育,2004,(8).
[2] 高枚,龔沛曾. 軟件開(kāi)發(fā)技術(shù)基礎(chǔ)教學(xué)改革與探索[J]. 計(jì)算機(jī)教育,2008,(6).
[3] 全成斌,楊士強(qiáng),趙有健. 計(jì)算機(jī)工程實(shí)踐教學(xué)的改革與探索[J]. 計(jì)算機(jī)教育,2008,(4).