數據庫課程設計報告范文

時間:2023-05-06 18:23:53

導語:如何才能寫好一篇數據庫課程設計報告,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

數據庫課程設計報告

篇1

關鍵詞:CDIO工程教育模式;數據庫課程設計;教學改革

中圖分類號:G64 文獻標識碼:A 文章編號:1009-3044(2015)05-0141-03

Reform and Practice of Course Design of Database based on CDIO

LU Lu, LING Jie

(School of Computer Science and Technology, Guangdong University of Technology, Guangzhou 510006, China)

Abstract: Aiming at the problems of the shortcomings of the traditional pattern of traditional course design of database,Based on the concept of the CDIO engineering education, combining with the present teaching situation of course design of database of computer-related specialty in an university of Guangdong, the specific measures on the teaching system and evaluation for course design of database is expounded. The practice results show the teaching reform expands the students' open minds,stimulates students' initiative and raises the students' practical abilities .

Key words: CDIO engineering education; Course Design of Database; teaching reform

CDIO工程教育模式是近年來國際工程教育改革的最新成果。從2000年起,麻省理工學院和瑞典皇家工學院等四所大學經過四年的探索研究,創立了CDIO工程教育理念。CDIO代表構思(conceive)、設計(design)、實施(im-plement)、運行(operate),它是“做中學”和“基于項目教育和學習”(Project based education and learning)的集中概括和抽象表達。它體現了現代工程師所應具備的服務于現代工業產品從構思、設計、實現到運行的全過程所必須擁有的基本能力。CDIO培養大綱將工程畢業生的能力分為工程基礎知識、 個人能力、 人際團隊能力和工程系統能力四個層面[1-2]。然而我國工科的教育實踐中還存在不少問題,如重理論輕實踐、忽視團隊協作精神等問題。國內外的經驗表明CDIO的理念和方法是先進可行的,適合于工科教育的教學改革。

1 數據庫課程設計傳統教學模式培養現狀

數據庫課程是計算機及其相關專業課程體系中的核心和基礎;而數據庫課程設計是數據庫課程的實踐科目,其特點是綜合性強,對動手操作能力要求比較高。但是,傳統數據庫課程設計的教學模式,往往偏重理論,這會讓學生處于課堂教育與實踐操作嚴重脫節的尷尬境地。因此,針對計算機專業人才培養的現實需求,數據庫課程設計教學改革勢在必行。

2 數據庫課程設計教學改革研究

為了達到讓學生主動學習的目的,基于CDIO的模式理念,本文構建了數據庫課程設計教學內容體系。該體系自始至終與數據庫理論內容以及CDIO模式相結合,通過項目驅動,讓學生參與其中,按照數據庫設計的每個階段由學生自發獨立的發現問題以及解決問題,最終完成課程設計的各個內容。

2.1 數據庫原理教學內容以及傳統數據庫課程設計教學安排

數據庫原理針對計算機相關專業本科教學內容主要涉及關系數據庫、關系數據庫標準語言SQL,數據庫安全性完整性、關系數據理論、數據庫設計、查詢優化、數據庫恢復和并發技術[3]。

以廣東某高校計算機學院為例,數據庫原理理論教學56課時,授課時間為學期第1周至第16周。數據庫課程設計16課時,課程設計準備工作主要集中在第13周到16周,設計完成以及檢查時間為第17周。(教學內容與進度如圖1所示)

這種傳統教學的弊端主要體現在:

1)理論教學與實踐操作相互脫節。學生不能發揮主動學習的積極性;

2)課程設計實踐操作部分學時少,準備不夠充分;

3)課時分布不均勻,前松后緊,學生動手實踐部分大多放在學期末,容易造成學生在期末考試的壓力中忽略動手能力的提高和培養,眉毛胡子一把抓;

4)單憑一個課程設計報告和程序很難衡量學生對知識的理解和掌握程度;

鑒于以上的內容,本文提出了基于CDIO模式的新的數據庫課程設計教學體系。

2.2 數據庫課程設計教學模式改革

數據庫課程設計教學模式改革主要體現在:課程設計在理論教學中貫穿始終。基于CDIO的數據庫課程設計教學改革內容如圖2所示。

2.2.1 課前準備

CDIO模式不僅重視個人能力的培養,同時也關注團隊協作的能力培養。因此,團隊協作也作為數據庫課程設計教學改革的一個重要內容。為了學生溝通方便,每個行政班中以寢室為單位(4個學生)組成若干個開發團隊,選取組長,并且向老師上報各個組員的分工情況,之后各個開發小組可以根據老師給出的備選題目進行選題。

2.2.2構思(Conceive)

CDIO的精髓在于讓學生“做中學”。但是對于沒有任何數據庫基礎知識的學生來說,課程開始就投入到實踐中是不現實的,所以范例教學十分重要。在理論教學開始時教師利用大概2周的時間,講解數據模型、數據庫系統結構、數據庫系統的組成、數據庫技術的研究領域以及前沿的知識體系、開發工具,讓學生對該領域的知識產生濃厚的興趣。然后,教師可以從典型案例著手――以學生管理系統為例,講解如何進行業務流程分析、功能分析和數據需求分析,如何繪制用例圖,在數據庫設計過程中如何完成數據流圖和數據字典分析,讓學生在范例講解中一步步的學會如何繪制ER圖,如何設計數據字典中的各項內容。該階段是構建系統藍圖的階段,所以,教師要引導學生立足于不同項目的實際需求,通過調查問卷、查閱資料、客戶走訪等形式,深入探析軟件的功能和性能,確定軟件設計的限制和軟件同其他系統元素的接口細節,定義軟件各項有效的需求,與此同時,在確定需求過程中,團隊成員之間的磨合與溝通也是必不可少的。通過各個成員的協調,才能最終確定該團隊共同的軟件需求以及數據庫整體規劃策略。該階段的匯報成果即是各團隊小組的需求分析報告。

2.2.3設計(Design)

數據庫設計包括概念結構設計、邏輯機構設計和物理結構設計,所涵蓋的理論知識點比較多。傳統數據庫原理教學和數據庫課程設計在設計階段幾乎是相互脫節的,見圖1。為了能讓學生提高完成項目的主動性以及自我認知性,數據庫課程設計調整幅度也相對比較大。

1)課堂學習關系數據庫時,引導學生以課程設計中的選題項目為基礎,編制相關的關系代數的演算

2)課堂學習關系型數據庫標準語言SQL時,引導學生以課程設計為基礎,利用SQL語句解決數據的增刪改查的一系列問題,并且針對需求分析中不同的設計模塊,設計不同的SQL操作,其中包括單表查詢、多表查詢、模糊查詢、相關子查詢、不相關子查詢、多表更新操作、視圖操作等。

3)課堂學習數據庫的安全性和完整性時,通過一系列反例,例如違反實體完整性的數據操作會帶來怎樣的后果;違反了參照完整性的操作會有哪些危害等等,讓學生強烈感知如何能設計出效率高、安全性較好的數據庫基本表。此時,可以讓學生根據項目選題設計出系統的各個分ER圖并且形成初步ER圖,在合并過程中找出沖突和問題所在,為后續內容做準備。

4)課堂學習規范化理論時,利用循序漸進的方法,舉例說明,讓學生利用范式的思想,對項目中的表格進行規范化分析,判斷屬于第幾范式,有什么樣的優缺點,能否進行優化。此時,課程設計的概念結構設計,邏輯結構設計已經初具雛形。

5)課堂學習第七章數據庫設計時,結合實例,讓學生獨立完成概念機構設計中的消除沖突與優化,完成由基于項目的初步ER圖到基本ER圖的轉變;同時結合需求分析中的數據字典,根據聯系轉換為關系表的知識點以及規范化理論,對初步的邏輯結構表進行修改和完善。

該階段的匯報成果是各團隊小組的概要設計報告。

2.2.4實現(Implement)

設計階段其實是將任務離散化,那么實施階段就是將項目綜合化。該階段中,書本上的重點內容已經基本結束,學生可以根據學過的基礎知識自由發揮,將之前的需求文檔以及概要設計文檔進行拓展和完善,并且將自己設計的關系代數以及SQL語句轉換成高級程序語言中的數據庫操作的語句。這時候,有能力的同學也可以根據老師上課講授的查詢優化等內容針對具體項目實際進行查詢算術優化和物理優化,并且對比執行效率,感受在不同的實際應用中對不同問題的處理方式。

該階段的匯報成果是各團隊小組成員的詳細設計報告的綜合文檔。

2.2.5運作(Operate)

系統模型建立好之后,要進行軟件的各項測試。學生可以通過學習恢復和并發控制等內容,對系統的完整性、安全性等性能進行進一步的改善,完善詳細設計報告,補充系統測試內容以及使用系統安裝使用說明。最后,通過小組的公開答辯,向老師和全班同學展示系統的設計思路、完成過程以及跟同學們交流心得和體會,并由其他非小組成員的同學作為評委進行點評。

2.3 課程設計考核評價改革

課程設計是一門衡量學生動手操作能力、綜合運用能力的科目,所以這門課程更要體現對學生是實踐能力的檢驗。數據庫課程設計考核評價改革主要體現在:改變單一的評分標準為多角度綜合性評價標準(如圖3所示)。

2.3.1 項目文檔(分數比例50%)

項目文檔包括需求分析報告、概要設計報告、詳細設計報告。

1)需求分析報告(分數比例10%),內容包括:

①可行性分析;

②擬采用的開發工具;

③用例圖;

④數據字典,包括數據項,數據結構

⑤軟件模塊初步設想以及每個模塊可能進行的操作。

2)概要設計報告(分數比例20%):

①數據庫設計方面:分ER圖和總體基本ER圖(標明各實體之間聯系的類型)、邏輯結構設計(有完整性約束說明,標明主碼、外碼,分析范式類型)、物理結構設計(索引、存儲路徑等)、數據庫完整性設計(違反實體、參照完整性時的解決辦法,比如觸發器、存儲過程等)

②軟件設計方面:功能結構圖以及各功能模塊主要功能(明確小組成員的分工)

3)詳細設計報告(分數比例20%),內容包括:

①系統與后臺數據庫連接的執行過程;

②系統各模塊的主要界面和UI接口;

③系統各個模塊的流程圖以及詳細實現過程;

④關鍵問題的解決方案;

⑤總結系統后續有待優化和改善的方面。

2.3.2 項目成果演示(分數比例40%)

該類別主要考核的方面如下:

1)系統運行正確;

2)功能完善:有增、刪、改、查功能,輸入、輸出功能;

3)有基本的統計、報表功能;

4)有多表連接查詢、自身連接查詢、字符串匹配查詢、模糊查詢、分組查詢等;

5)工作量飽滿,系統實現技術的難度;

6)是否符合軟件開發規范;

2.3.3 團隊綜合素質(分數比例10%)

該類別主要通過系統演示、課題答辯以及團隊的出勤和會議紀要等信息考核團隊成員的協同合作的能力,而且,尤其要注意有些同學過分依賴他人的思想。所以答辯過程中要求每個小組成員都要對自己所做的內容進行闡述和說明。

3 結束語

通過一系列的基于CDIO模式課程設計教學改革,使得每一個同學都有公平的主動參與的機會,同學們從這門課程開始就主動思考項目中各種實際問題,由“學中做”轉變為“做中學”,極大發揮了學生的積極性和創造力,從而使得數據庫課程設計的實踐教學取得了非常好的教學效果。很多同學都對數據庫產生了濃厚的興趣,而且也有一部分同學畢業之后選擇了數據庫相關的行業。

參考文獻:

[1] E.F.Crawley. Creating the CDIO Syllabus, a universal template for engineering education, fie, vol.3,Pp.F3F8 -13, 32nd Annual Frontiers in Education (FIE’02), 2002.

篇2

關鍵詞:數據庫;課程設計;教學改革

中圖分類號:G 642.0 文獻標識碼:a DoI: 10.3969/j.issn.1003-6970.2012.02.028

0 引 言

培養和提高學生的創新思維和實踐應用能力是高等教育改革的一項重要任務。在高校計算機專業中,數據庫系統原理作為專業方向必修課,具有非常重要的地位和實際意義,而數據庫課程設計作為其實踐環節重要性也至關重要。數據庫課程設計是計算機科學與技術專業集中實踐環節的必修課,是學生學習完“數據庫系統原理”課程后,進行的一次全面的綜合訓練。其目的在于加深對數據庫基礎理論和基本知識的理解,培養學生具有數據庫應用軟件系統的設計和開發能力,在課程設計實踐過程中強化學生的實踐意識,提高動手能力、創新意識和合作精神。然而目前有些高校本科計算機專業的數據庫課程設計教學還存在一些問題,教學效果不夠理想。本文結合瓊州學院數據庫課程的實踐教學,就計算機專業數據庫課程設計中存在的一些問題提出一些觀點和建議。

1 高校數據庫課程設計中存在的問題

1.1 對課程設計認識不足

根據我們在實際教學中掌握的情況,很多學生認為課程設計只不過是一門考查課,沒有試卷,沒有老師監考,自己知識把實驗做一下,課程設計報告交上去就可以了。甚至有些同學根本就沒有自己的東西,隨便到網上下載一個管理系統應付了事,到驗收的時間,具體的設計是怎么完成的,一問三不知,當問到通過課程設計學到了什么的時候,很多人表示自己也不清楚。可見,很多同學對課程設計的重要性認識不足。實際上,作為對理論的鞏固與應用,數據庫課程設計是一門綜合性比較強的課程。它不僅要求學生具備基本的程序設計理論,還要求學生掌握規范化的軟件開發流程,它不僅僅是像某些同學認為的比較復雜的程序,而是一個完整的軟件,要包括規范的開發文檔等一系列內容,在數據庫課程設計中,學生就是一名數據庫應用軟件開發工程師。所以,我們要加強學生對這門課程認識上的引導,培養他們嚴謹,科學的研發態度。

對于課程設計的目標,有些同學并不清楚,他們只是根據老師的要求,完成自己的任務,而不知道通過課程設計,自己應該達到什么樣的目標,應該收獲什么東西。很多同學在課程設計中只是停留在老師給出的題目和任務上,沒有進行更深層次的考慮,他們認為只要完成任務就可以了。事實上,數據庫課程設計是對軟件開發的一個系統模擬過程,通過這項課程設計,讓學生熟悉軟件開發,數據庫及其應用開發的操作流程,掌握行之有效的軟件開發方法和軟件開發工具。更重要的是培養學生嚴謹細致規范的學習作風,為科研工作奠定基礎。

1.2 課程設計選題存在的問題

優秀的課程設計選題方案不僅可以提高學生的學習興趣,也會激發他們的創作性,從而在課程設計中做出一定的成績。但是有些學校在選題上存在幾個問題;選題沒有新意,每年都是同樣的幾個題目,有些同學直接把師兄師姐們的東西拿來照抄,這種選題不僅不能引起學生的興趣,也不能跟上發展的要求;題目過大,比如飛機訂票系統,火車訂票系統等。這些選題看似不錯,能夠鍛煉學生的開發能,但實際上根本沒有必要選擇這么大的題目,學生也沒有能力完成這樣的題目,所以,課程設計的選題很重要,應大小適中,以實際能力出發,最好結合學生自己的興趣愛好方向,貼近實際情況,讓學生自主選題,指導教師提出針對性建議和方向,讓學生發揮自己的特長與創造性,會獲得更好的效果。

1.3 課程管理復雜,考核方式不夠科學

通過調研一些高校學校,發現其數據庫課程設計的考核方 式與其他課程的課程設計一樣,但是數據庫課程設計本身更注重實踐、更貼近實際的特點使它不能跟其他課程同等對待。我們了解到很多學校通常采用平時分加實驗分作為總成績,但實驗分數上面存在很大的問題,就是最終課程設計的驗收往往只是隨便問幾個問題,根據學生的回答情況給出相應的分數。我們認為在這種考核方式下學生是在被動地完成任務,而不是進行創造性的思考,不能夠通過課程設計有效地提升學生的創新能力。

2 加強數據庫課程設計建設的幾點措施

針對以上在數據庫課程設計中存在的問題,我們結合本校教學研究實踐,總結了以下幾點措施。

2.1 引導學生樹立嚴謹的學習研究態度

嚴謹的學習態度是培養學生的一個重要目標,他們在不久的將來要成為國家科技發展的脊梁,肩負著科技興國的責任,一個沒有嚴謹求實的研究態度的人,是不可能擔此重任的,數據庫課程設計中出現的應付了事、抄襲他人的現象,反映出學生學習浮躁、投機取巧的學習態度,這種現象的出現不是偶然的,具有一定的“遺傳性”,它反映了一個學校近期的整體學習風氣,從表面上看是學生的學習態度不端正,從深層次上看,這在一定程度上暴露了學科教師的科研治學態度問題。教師要求不嚴格,沒有加以合理的引導,也會導致這一現象的產生。

所以,我們必須先從端正的學生學習態度,在教學過程中對學生進行學習研究以及科研工作的基本素養教育,這不僅促進了學生良好習慣的養成,更重要的是其在無形之中具備嚴謹、科學的學習研究態度,無論對他們課程設計的完成,還是以后的工作學習,都奠定了堅實的基礎。

2.2 開放式教學方式,增強學習自主性與創造性

長期以來,在數據庫課程設計中由于課時少時間緊,在選題上,大部分教師提供固定的題目供學生選擇,這樣可以更方便的進行指導與管理,但在另一個方面卻忽視了學生的個性發展。每個學生對教學內容掌握情況不大一致,對課程的理解也參差不齊,所以有必要讓學生自由發揮,自選題目,自由選擇開發工具,只要完成所要求的設計內容即可。加入在數據庫選擇上,可以選擇 SQL Server、Oracle、Mysql 等,在開發平臺上,可以選擇 Power Buider、Delphi、. net、J2EE,這些內容需要學生自己選擇,老師盡量不去指定某個平臺。這樣學生的自主性、創造性可以更好地發揮出來。

在人員分工組織上,很多情況下還是一個人完成系統所有的開發任務,這種做法不符合實際情況,因為在公司里面幾乎沒有哪個軟件是由一個人負責開發完成的。我們需要培養學生良好的合作、交流表達能力,而課程設計恰好提供了這樣一個平臺,在實際操作中,可以更具學生不同特點,合理進行項目的分組。比如,每個組里面各包含一個組織能力較強的同學、動手能力較強的同學、語言書寫能力較強的同學,這樣不僅可以發揮每個同學的長處,又可以避免有些組幾個人都只擅長同一樣東西,課題無法很好的完成的現象。另外,如果有條件,可以模擬公司的開發環境,組織每個小組進行團隊開發,讓他們掌握團隊開發中的軟件版本控制問題,這些都能為以后的實際工作積累很好的經驗。

2.3 規范化課程管理的構建

在課程管理環節,建議采用了以下流程:確定選題,開題,中期檢查,系統驗收,課程設計答辯,提交設計報告。通過規范化管理模式,學生可以清楚的了解在什么階段應該做什么,課程設計得以順利進行。

確定選題要求學生根據自身情況,合理進行分組,確定題目,描述系統要實現的功能,為開題做好鋪墊。

開題是整個開發過程中最重要的一環,我們要給學生以良好的指引。這個階段要求學生對系統進行需求分析,確定系統邊界,建立業務模型,對具體的業務流程繪出圖表,確定各個業務功能模塊之間的聯系。之后根據系統的功能模塊,進行數據庫的概念設計,抽象出業務實體,進行數據庫的概念模型設計,畫出 E-R 圖,描述各個實體的屬性、聯系。這是整個系統的關鍵,直接影響到后面的詳細設計的完成。

中期檢查是對學生上一階段的設計情況作一個總結,解決開發中出現的問題,比如,小組成員之間的有效溝通,進度是否符合要求等。

系統驗收是對完成后的系統的正確性、可用性、合理性及性能,實現的情況是否與初期設計目標一致進行的一個檢查。這一驗收結果是評價學生完成課程設計質量的主要依據,比如,系統是否能夠完成基本的數據查詢、更新,是否使用了視圖機制保護數據庫的安全,是否試用儲存過程提高系統的性能,是否有完成的日志系統以保證系統具備良好的可維護性,系統界面是否符合操作習慣等。

課程答辯是對整個系統完成情況的一個系統的總結,也是最終評定課程設計成績的重要依據。學生在此過程中可以提高總結描述能力,通過對整個開發過程的總結,對某些細節問題的回答,提高了學生的臨場應變能力及口頭表達能力。

2.4 考核方式的構想

在進行選題的開放性教學后,由于大家的選題不一樣,開發平臺不一樣,最終系統完成的功能、效果不一樣,很多老師會遇到一個共同問題就是如何對課程設計結果進行考核。根據課程設計的流程,我們可以分別在開題、中期檢查、系統驗收、設計答辯4個環節進行考核評價。由于各個小組完成系統功能的差異化相同的某項功能。開題考核占整個課程評價的15%,評價標準初步構想如下:

概念模型:E-R是否符合規范;實體屬性師傅完整、恰當;實體聯系師傅正確。(7分)

系統結構:系統設計整體思路師傅符合需求;難度、規范是否合理。(5分)

開題報告:開題報告是否符合規范。(3分)

中期檢查主要是對學生進行課程設計進度的監督檢查,目的是督促學生按照課程計劃如期完成課程設計任務,檢查的指標包括各種數據操作是否實現,系統功能模塊完成情況。中期檢查占整個課程評價的20%,評價標準如下:

各種數據操作:數據庫連接;查詢,更新。(10)

功能模塊:模塊劃分是否合理;模塊互操作是否實現;模塊功能實現的程度;流程圖是否正確。(10)

系統驗收是對學生課程設計的主要評價,學生對整個系統開發設計的完成情況都體現在這里,我門主要對系統界面、功能實現、系統性能、創新點、幫助系統進行考核。占整個課程評價的45%,評價標準如下:

界面:界面顯示效果;可操作性。((5分)

功能:正確性;實現程度;復雜性。(20分)

性能:穩定性;運行效率。(10分)

創新點:是否有創新之處。(5分)

幫助系統:完整性;操作是否方便快捷。(5分)

課程答辯是對整個系統完成情況的一個系統的總結,檢查學生是否能夠根據自身完成情況清楚流暢地介自己完成的工作,是否能夠對老師提出的問題給出恰當的回答。占整個課程評價的20%,評價標準如下:

課題介紹:總結、表達能力。(5分)

答辯:正確性;實現程度。(7分)

課題評價:人員分工情況;團隊合作情況。(2分)

課程答辯是對整個系統完成情況的一個系統的總結,檢查學生是否能夠根據自身完成情況清楚流暢地介紹自己完成的工作,是否能夠對老師提出的問題給出恰當的回答。占整個課程評價的20%,評價標準如下:

課題介紹:總結、表達能力。(5分)

答辯:正確性;實現程度。(7分)

課題評價:人員分工情況;團隊合作情況。(2分)

設計報告:課程設計報告是否符合規范。(3分)

技術文檔:是否符合規范。(3分)

3 結束語

本文對數據庫課程設計教學存在的幾個問題作了深入的分析,提出了對學生嚴謹、科學、創新的教學目標,極大地調動學生的學習自主性,提高學生分析問題和解決問題的能力,培養學生的創新思維能力。幾年來,我們在數據庫課程設計教學中積累了豐富的經驗,提高了學生分析問題和解決問題的能力,同時也提高了學生學習課程的興趣和課堂教學質量,并將繼續將其發展和完善,在教學指導方法上不斷創新,并在其他課程的實驗教學中逐步推廣。

參考文獻

[1] 陸慧娟. 數據庫系統原理[M].杭州:浙江大學出版社.2004.

[2] 王珊,薩師煊. 數據庫系統原理[M].4版.北京:高等教育出版社,2006.

篇3

數據庫技術及應用是與各專業應用結合比較緊密的應用技術基礎課程,是一門工程性和實踐性都非常強的課程,因此我們主要以工程化實踐教學模式進行數據庫技術與應用課程的教學,根據“初步體驗、獨立項目實踐、從業實踐與實訓”3個層次實行漸進式實踐教學訓練。在教學過程中,我們注重培養學生的工程能力,強化學生的工程實踐意識,從教學內容的組織和實驗環節的設計到課堂教學案例和實驗教學的開展,都圍繞工程素養的培養進行遴選。

1.1采用工程案例驅動的理論教學模式

在理論課講授方面,我們以工程案例驅動模式進行教學,以網上書店的開發案例貫穿教學全過程,將數據庫基本原理和設計技術融于案例教學過程。同時,根據浙江傳媒學院電子信息工程專業的傳媒行業特色,對教材的內容進行優化整合,增加與新媒體應用相關的多媒體數據庫等新技術內容,加強數據庫工程應用設計及網絡數據庫應用技術能力的培養。在各章的教學中,我們用案例進行分析,逐層引導,全過程地闡述數據庫系統原理及應用中的各類概念和技術問題。

1.2實行漸進式的工程化實踐教學過程

1)初步工程訓練體驗。課程的教學除了理論教學外,還有相應的課內實驗教學。實驗內容分成兩部分,一部分是數據庫技術的基本實踐,主要包括特定DBMS的使用、SQL語言的編程練習以及數據庫的連接技術;另一部分是小型數據庫應用系統的開發,采用工程化的基本思想,組織學生分組設計實現一個初步的工程項目,培養學生的自學能力、主動學習能力、團隊協作能力以及初步的工程實踐能力。在初步工程訓練體驗階段,教師提出工程設計的基本功能和性能要求,包括系統界面設計、基本的數據操作和查詢統計功能設計、性能指標設計等基本要求。學生可自由組成小組,根據教師要求自主選題并自主選擇開發工具和數據庫環境,在完成基本功能要求的前提下,可以結合自己的工程項目設計實現一些特色功能模塊,然后完成項目設計的總結報告。最后,教師對每個小組的作品進行項目驗收,要求每個小組制作PPT進行項目工作匯報并演示所設計的作品,由學生推選出的若干學生評委負責項目評分。工程項目設計成績作為該小組成員平時成績的主要評分依據。

2)獨立工程訓練實踐。獨立工程訓練實踐要求學生在課程設計階段完成。該階段要求每個學生自主完成一個真實的或模擬的項目開發實踐,以著重培養學生的自學能力、獨立從事工程實踐的能力、基本的分析問題和解決問題能力。課程設計階段要求學生自學數據庫開發工具和環境,強調獨立設計,強化學生查閱資料能力、自學能力、創新設計和實踐能力的培養。在此課程設計階段,教師除了提出項目設計的基本能力訓練要求和設計作品的基本功能和性能要求外,還給出一系列參考選題讓學生選擇。學生也可以自主選題,但需征得教師同意,以保證選題的質量。為避免抄襲等行為的發生,每個學生的題目和內容必須不同。同時,課程設計階段會要求學生采用與上一次設計不同的工作模式(C/S或B/S),采用工程化的手段和方法完成基本的設計實現工作。課程設計完成后,指導教師組織學生評委(7人)對學生作品和設計方案進行檢查,最后通過匯報答辯的形式評定作品設計成績。作品設計和匯報答辯成績由學生評委給定,教師在設計過程中負責答疑,在答辯過程中負責點評,但教師有權對成績進行微調。另外,在課程設計結束后,學生要完成課程設計報告,教師對課程設計報告批注評語并給出成績,課程設計的最終成績由作品設計成績和設計報告成績組成。經若干次實踐證明,上述實踐教學方法既減輕了教師的工作任務,同時又促使學生相互學習并取長補短,在促進學生自主學習、主動學習和實踐的同時,也提高了學生的表達能力;通過課程設計報告,學生提高了撰寫規范的項目設計方案的能力和設計總結報告的水平。

3)從業工程訓練實踐。從業工程訓練實踐主要指學生在企業實習期間,以行業一線的真實工程項目為背景,參與并完成相應的工程項目設計實現工作(或作為其畢業設計),培養數據庫工程應用實踐開發和運用數據庫技術從事服務外包等實際應用開發能力。第3階段主要是結合實際數據庫工程項目,尤其是與傳媒應用密切相關的數據庫工程項目的設計與實現工作,如電視節目查詢點播系統、媒體資產管理系統、影視資料編目系統等。這一階段的實踐主要培養學生的實際應用能力,幫助其盡快適應社會需求,在離校前具備應對復雜工程實踐的基本能力。通過3個階段的實踐教學,學生能夠初步具備到一線從事數據庫工程及服務外包等項目開發的基本能力。

二、以能力培養為目標的考核評價機制

教學方法和手段中的一些不足之處,不可避免地會導致考核評價機制不科學和不公平現象的發生。多數課程的考試都采用期末筆試形式,課程考試無法真正做到考核學生的實際工程能力,為此改革評價方式宜與教學模式改革相配套。為使實踐訓練能落到實處并能給出客觀公正的實踐評價,我們對于C語言、Java課程以機考為主,采用具有自動評價學生程序功能的程序設計上機練習及考試系統,改變期末筆試的考試形式,在開學半學期后每兩周組織一次機考,采用多次開卷機考的方式進行課程考核。通過考試的學生如果不滿意成績,還可以在學期結束前的任何一次考試中重考。數據結構與算法課程考核分為筆試和機考兩部分,期末總評成績建議按照平時成績占20%、筆試成績占40%、機考成績占40%的比例計算。數據庫技術與應用課程的成績由理論考試成績和工程項目設計成績兩部分組成,理論考試和工程項目設計各占總成績的50%,其中設計作品占40%,設計報告占10%,不再單獨設置平時成績,而以初步的工程項目實踐成績作為平時成績。課程成績的評價采用理論學習與能力培養并重的方式。

三、結語

通過組建由C程序設計、Java程序設計、數據結構與算法分析、數據庫技術與應用4門課構成的計算機類課程,我們從以下幾個方面對教學模式尤其是實踐教學模式進行改革和探索。

(1)以案例驅動方式深化C語言課程的教學改革,完全由學生自學C語言語法,突出專業層面的基本程序設計能力訓練。

(2)以案例驅動和項目驅動并重的方式深化Java語言課程的教學改革,前半學期主要采用案例教學法,讓學生學會Java語言的語法規則和調試方法,熟悉Java特性和程序架構,特別是熟悉面向對象程序設計的理念;后半學期主要通過項目驅動教學方法,強化學生工程實踐能力的培養,突出項目設計實現能力訓練。

(3)以理論與實踐并重的模式開展數據結構與算法課程教學,以學習傳統的、經典的數據處理方法為核心,以掌握算法設計基本功能為目標,通過課堂教學與OJ系統中相應的配套練習,基本達到工程設計必需的基本技能要求。

篇4

關鍵詞: “數據庫原理”課程 教學內容 理論教學 實踐環節

1.引言

數據庫技術是計算機科學技術中發展最快的領域之一,也是應用最為廣泛的技術之一,它已經成為計算機信息系統和應用系統的核心技術和重要基礎。經過幾十年的發展,數據庫技術已經形成了比較完整的理論體系和廣泛的應用系統。

“數據庫原理”課程作為大學本科計算機專業的一門專業基礎必修課,主要講授數據庫的基本原理和應用設計方法,理論性強、應用廣泛。通過該課程的學習,如何使學生既能掌握數據庫技術的基本概念和理論,又能掌握數據庫的設計和應用方法,更好地勝任今后的實際工作,是所有任課教師都要重視的問題。目前,我國高校計算機及信息技術等相關專業大都開設了數據庫原理這門課程,教學內容和教學方法基本相似,并且大都存在著一些類似的問題。針對目前數據庫原理教學中存在的一些問題,本文對該課程的內容組織、教學方法和實踐環節幾個關鍵問題進行研究探討。

2.優化教學內容的組織結構

教學內容的選擇和知識模塊的組織方式是課堂教學的一個重要方面,直接影響著教學效果。教學內容是培養目標、教學計劃和課程體系的完整體現,也是課堂教學得以實施的基本保證,而知識模塊的組織方法則是先進教學思想的體現,它對于教學方法和教學手段的創新,以及提高教學質量都有著非常重要的促進作用。

傳統的數據庫原理課程的教學內容主要以關系數據庫為基礎、數據庫管理系統為中心,介紹關系系統的基本原理,理論教學始終放在首位,很少涉及具體的應用,學生在最初的學習過程中因為沒有實踐的心得體會而很難理解那些抽象的概念和理論,并進一步導致學生被動乏味、興趣低下。進入實踐階段后,由于理論基礎不扎實,學生常會感到無從下手,致使實踐和理論之間嚴重脫節,更進一步挫傷了學生學習的積極性,影響了教學效果。

鑒于內容編排上的問題,我們在介紹完數據庫的一些基本概念之后,即對照著某一具體的關系數據庫系統,如SQL SERVER 2005,介紹關系模型、關系代數和關系數據庫語言SQL等內容,同時進行上機實踐,這樣學生能較早對關系數據庫有個感性認識,較好地掌握SQL的語法和功能,并鍛煉其實際操作能力。接下來,針對某一具體數據庫應用系統的需求,如圖書管理系統,講授關系數據庫的規范化理論和設計方法。這樣讓課程內容的組織始終與具體應用相結合,不僅使很多抽象難懂的概念更加具體和容易理解,而且調動了學生學習的興趣和積極性。

3.從需求和問題出發進行理論教學

現在很多數據庫原理教材都是從理論出發,先講解一大堆的理論,然后才談及實踐。由于數據庫的基本原理、概念和技術的理論性強、抽象度高,因此這樣常會導致學生在最初的理論知識學習階段感覺被動乏味、興趣低下、理解困難,一些學生甚至會自暴自棄。并且,這種用理論引出實踐的方法也不符合人們認知世界的規律。的實踐論和認知論告訴我們,理論源于實踐,又反過來指導實踐,脫離實踐的理論是空洞無力的,“實踐―理論―再實踐―再理論”無限循環往復才是人類認知世界的基本過程。因此,從實踐引出理論會使理論知識更容易理解,能夠讓學生首先明白學習這些理論的實際意義,也更容易激發學生的積極性和主動性。

為了幫助學生理解抽象的理論,激發興趣,我們采取了下面的方法。

(1)課程第一堂課,先聯系生活實際,談談我們生活中哪些地方離不開數據庫,如:銀行儲蓄,火車飛機訂票,學生的學籍管理,人事工資管理,等等。讓學生從感性上認識到數據庫和我們現代生活的密切相關性。接著引出一些相關概念,如:信息、數據、數據庫、數據庫管理系統等,并用實例和類比的方法講解這些概念及其相互關系。有實際生活知識做背景,這些概念理解起來也就更容易了。

(2)在以關系數據庫為例講解數據庫的基本概念、模型和技術時,選擇一個主流的大型數據庫系統作為理論教學背景和實踐教學平臺,如SQL Server 2005。在理論教學講授SQL語句時,如果干巴巴地列出語句格式和要注意的事項,學生必定感到枯燥乏味。那么,可以在講解SQL語句及其使用格式的同時,在SQL Server 2005環境下輸入SQL語句,然后讓學生觀察結果。如果語句出錯,則引導學生思考原因:為什么出錯?是格式錯誤,還是邏輯錯誤?如果有條件,也可以在實驗室進行這部分內容,邊講解邊實驗。這樣不僅調動了學生學習的積極性,而且加深了學生對基本概念和理論的理解。

(3)基于問題驅動的理論教學法。在講數據庫設計的規范化理論一章時,很多學生不明白學習這些形式化的理論有什么用。因此,在講這一章之前,應先把問題提出來,比如,如何設計一個數據庫的關系模式,你設計的這個關系模式是好是壞?衡量的標準是什么?為什么?讓學生知道學習這章內容就是為解決這些問題的,有其必要性和重要性,從而做到心中有數。接下來講解相關理論,以及這些理論是如何解決提出的問題的時候,學生就可以有的放矢地進行學習了。

4.重視實踐環節,加強應用能力的培養

數據庫原理是一門應用性很強的課程,實踐環節直接關系到整個課程的教學效果。目前在數據庫原理的教學中普遍存在一定的誤區;過分強調原理和知識的完備性和系統性,而忽視了實踐教學、實驗方案在培養學生實踐能力和創新能力中的重要作用,認為既然是原理課,不論對什么學生都應著重講解理論知識,實踐環節的學時偏少,忽視了學生實際應用能力的培養。此外講課也大多是填鴨式的教學,在學生自主學習和創新能力的培養方面還很欠缺,學生學習狀態不佳,學習目的不明確,導致學習效果不理想。

目前大部分院校本科生學習該門課程的目的是為了應用。對于這樣的學生,數據庫的實踐教學尤為重要,任課教師更應該在實踐教學上下功夫,讓學生能夠真正把所學理論知識和實踐聯系起來,為日后開發數據庫應用系統奠定基礎。

由于學時的限制,我們在課程實驗環節上做了精心設計和周密安排。除了與理論課相配合的實驗課外,我們還在課程結束后的小學期設置了相應的課程設計。

(1)通過基礎實驗幫助學生理解和鞏固理論知識

教學過程中課堂教學和基礎實驗需同步進行。學生只有通過上機操作才能真正理解所學,消化課堂上的理論知識,這一點對數據庫課程也尤為重要。為提高上機質量,教師應首先做好實驗課和理論課的銜接關系,實驗課最好和相應的理論課同步進行,否則很難達到好的效果。我們按照教學順序編寫了實驗指導書,讓學生設計SQL語句并通過上機來驗證。結合課程內容,我們設置的實驗如下。

建立數據庫及基本表:學習使用關系數據庫SQL SERVER 2005,并練習數據庫的建立和刪除、基本表的建立和修改、數據的輸入。

數據更新:使用INSERT、UPDATE、DELETE語句進行數據更新。

數據查詢:使用SELECT語句進行數據的查詢。

視圖的創建與修改:使用CREATE、DROP語句創建和刪除視圖,使用INSERT、UPDATE、DELETE語句更新視圖,體會更新視圖的前提條件。

數據完整性:使用PRIMARY KEY、FOREIGN KEY REFERENCES、NOT NULL、UNIQUE、CHECK等關鍵字定義完整性約束,并通過相應操作驗證這些完整性約束,體驗完整性約束的作用。

(2)通過課程設計培養學生的綜合應用能力

為了增強學生的綜合運用能力,在學完數據庫原理課程之后的小學期我們開設了相應的課程設計。課程設計的任務是讓學生從實際生活中的數據庫應用系統出發,完成一個實際的、基于C/S或B/S的數據庫應用系統設計的全過程。包括:需求調查、數據庫設計、數據庫建立、數據輸入、應用系統的設計和開發,用戶界面的設計和實現等。具體要求如下:

分組:將學生分成小組,每組人員為4―5人,組長1名,負責任務分工和總體協調。

分工:每名學生擔任不同的角色,包括系統分析、系統設計人員、數據庫設計人員、應用系統開發人員、測試人員等,分工協作、共同完成設計和開發任務,從而培養團隊精神。

開發數據庫應用系統:選擇一個合適的DBMS產品,選擇合適的應用開發工具,按照設計的結果建立數據庫,開發應用系統,輸入數據并調試運行所開發的系統。

實驗報告:寫出完整的實驗報告,包括:需求調查報告、系統分析報告、數據庫設計報告、應用系統設計報告、數據庫實施計劃、系統測試計劃、系統測試報告、用戶使用手冊等文檔。

考查形式:向教師和其他小組運行演示開發的數據庫應用系統,提交所有文檔。

課設任務書后面可附上參考題目,以供學生選擇,如:圖書管理系統、網上書店系統、加油站管理系統、醫院住院管理系統、股票交易系統、人力資源管理系統、倉庫管理系統、企業工資管理系統等。

課設小組完成設計方案后,組織全班學生對每個小組的設計方案進行討論和評價,各小組根據大家的意見進行修改,通過后再進行代碼的編寫。整個系統完成后,每組派代表演示本組所開發的系統。通過集體討論,大家可以互相學習,交流開發過程中的收獲和體會。

數據庫課程設計不僅要用到數據庫的知識,而且要用到編程和軟件工程方面的知識。教師應該讓學生充分發揮自己的積極性和主觀能動性,一方面應注重學生獨立解決問題能力的培養,另一方面還要注重培養學生的團隊合作精神。在整個課程設計中,要以學生為主體,充分發揮教師的引導作用,教師不僅要指導學生學會查找資料,更重要的是培養學生發現問題、分析問題和解決問題的能力。

5.結語

要提高數據庫原理的教學效果,必須不斷優化教學內容,積累實踐經驗,改進教學方法和手段,構建科學、合理的教學體系。由于數據庫技術在不斷發展,知識在不斷更新,教師觀念也必須不斷更新,教師應從教學內容、教學方法和實踐等方面認真思考,銳意改革,為社會培養出更多具有創新能力的數據庫應用人才。

參考文獻:

[1]崔巍等.淺談數據庫課程實踐教學.計算機教育,2007.11.

[2]黃德才等.“數據庫原理及其應用”課程知識模塊組織和教學實踐,中國科教創新導刊,2007,(471).

[3]施伯樂,丁保康等,數據庫系統教程(第2版).北京:高等教育出版社,2003.8.

篇5

關鍵詞:課程體系;教學大綱;師資隊伍;教材

【中圖分類號】TP311.13-4

課程資源的開發和建設意義重大,課程建設是高校教學基本建設之一,是落實辦學定位,提高教學質量,實現專業人才培養目標的根本。隨著信息技術和互聯網的發展,課程資源已經成為課堂的延伸,豐富的課程資源是一門課程很好的輔助。目前很多高校在課程資源的開發與建設方面做的很好,并取得了一定的成績,對教學起到了很好的輔助作用,黃淮學院在這方面起步較晚,目前仍處于一個探索階段。下面就黃淮學院《數據庫系統原理與應用》這門課程在課程資源開發與建設中遇到的幾個問題進行探析。

一、 課程建設的指導思想

以科學發展觀為指導,以落實黃淮學院“建設特色鮮明的應用型本科高校”辦學定位為宗旨,以服務黃淮學院確定的“就業能稱職,創業有能力,深造有基礎,發展有后勁”的技能型人才培養為目標 ,以強化實踐、開發資源、項目驅動、案例教學為基本原則。優化課程體系,改革教學內容,更新教學方法,全面提高課程建設質量和應用型人才培養質量。

二、課程建設的目標

通過《數據庫系統原理與應用》課程的開發與建設力爭達到如下目標:

1.使本課程達到河南省省級精品課程的要求;

2.根據本專業學生就業市場需求修訂教學大綱,和企業結合選擇經典案例,使培養的學生符合社會需求,達到就業能稱職的目的,符合應用型大學的培養目標;

3.組建高水平的教師隊伍,營造濃厚的學術氣氛;

4.根據本課程的特點和定位設計合理的教學內容,并把本學科最新發展成果和最近的教改教研成果引入到教學中,強化實踐教學;根據不同級別的學生(本科和專升本學生)特點,改進教學方法和教學內容,設法調動學生的學習積極性。引導學生積極思考、勇于實踐,提高學生自主學習能力。

5.強化校外實習基地與校內實訓基地建設,適應知識的網絡化;

6.自編符合應用型培養目標的案例教材,通過《數據庫系統原理與應用》課程的學習讓學生熟悉數據庫和應用系統的設計步驟、方法和技巧,達到能自行設計和開發應用系統的目的。

三、課程建設的內容

課程建設內容是課程設計與建設的核心,該課程建設內容從資源類別來講課包括以下三個方面:教學基本資源、教學核心資源和教學拓展資源。其中教學基本資源包括:教學大綱、教學進度和教師團隊;教學核心資源包括:每個單元(模塊)的教學課件、教學視頻、教學案例、作業(包括:課前練習、課堂作業、課后作業和課后測試)、實驗(包括基本實驗和綜合實驗)和本單元(模塊)相關文獻(包括必讀文獻和參考文獻);教學拓展資源包括:案例庫、試題庫、試卷庫、單元測試題、電子圖書、職業標準、專題講座、網站鏈接、背景素材、交流平臺和主流數據庫管理系統教學視頻等。下面重點就課程體系建設、教學大綱、師資隊伍和教材建設等幾個方面進行探析。

1.課程體系建設。

數據庫技術是信息技g發展的動力和基礎,軟件工程專業的學生必須熟練掌握數據庫技術,但是,目前黃淮學院軟件工程專業學生數據庫相關課程只有《數據庫系統原理與應用》和《數據庫系統原理與應用課程設計》兩門課,筆者認為這是不夠的,因為《數據庫系統原理與應用》重點是講解數據庫的基本原理,內容多而且比較抽象,由于課時有限,所以在應用上就很少涉及。 而課程設計往往放在學期即將結束時進行,學生忙于復習考試,沒有精力做課程設計,多數同學課程設計以應付了事,達不到課程設計綜合實訓的目的。所以,應該開設一門數據庫后續課程如:《數據庫應用技術》或《大型數據庫》或《數據庫編程》等課程,熟悉一個大型數據庫數據庫管理系統的使用,掌握一些數據庫新技術,培養學生的自學能力和實際動手能力。重點介紹一個大型數據庫管理系統比如Oracle,并帶領學生完成數據庫應用系統的設計和開發工作。

2.教學大綱建設。課程教學大綱應符合軟件工程專業人才培養目標,突出教學內容的應用性和實習實訓等實踐教學環節,著力培養學生的應用能力和創新精神。為突出教學內容的應用性,該課程整個教學過程采用模塊化教學模式,理論教學整體分成數據庫基礎知識、數據庫設計、數據庫維護、成績管理系統后臺數據庫的設計與實現和自選項目五個模塊。通過一個完整的成績管理系統的設計與實現,并與數據庫系統原理相關理論知識有機地結合起來,并且學生在 “跟做、 參考完成和獨立完成”這三個逐漸加深的學習過程中,不僅完成了應用系統開發技術和數據庫設計知識的學習,還能夠加強學生自主學習的能力,同時對于應用系統整體把握上也更加游刃有余。實驗教學包括基礎實驗和綜合實驗,其中基礎實驗包括:數據定義、數據查詢、數據完整性控制、數據庫安全控制與事務處理、數據庫的備份和恢復。綜合實驗包括數據庫編程和管理系統的設計與實現(題目自擬)。由于實驗學時有限,基礎實驗大部分實現項目課堂上很難完成,主要安排在課余時間完成,實驗課安排實驗項目,要求學生在規定時間內提交實驗報告。其中綜合實驗結合課程設計完成,為避免與學期結束時學生備考沖突,課程設計一般提前安排,在學習完數據庫設計后即開始課程設計,給學生充足的時間完成。

3.師資隊伍建設。師資隊伍建設是課程建設的基石和保障,沒有強大的師資隊伍不可能保障課程建設的質量。《數據庫系統原理與應用》課程是理論抽象而實踐性有很強的一門課程,如果任課教師沒有一定的項目開發經驗 , 就難免會在把握課題時流于“ 紙上談兵 ”,只有具有一定的專業水平和豐富的實踐經驗的老師才能熟練地駕馭該課程。要選擇合適的學科帶頭人,組建教學團隊,學科帶頭人要有豐富的教學和實踐經驗,能帶領團隊完成教學和科研工作。通過引進高學歷和有企業實踐經驗的工程師,并通過教師進修和企業實訓等措施提高任課教師專業知識和實踐動手能力,形成合理教學隊伍。充分利用教研活動,通過開展集體備課,任課老師互相聽課,積極開展教研教改活動,創造良好的學術氛圍。

4.教材建設。教材是教學內容和課程體系的集中體現,是教師教學和學生學習的基本工具。要注重依據課程教學大綱,以應用性、實用性、先進性為標準選擇合適教材,但是、目前圖書市場上數據庫系統原理相關教材主要分為兩類,一類是理論性很強,應用性體現不足,一類是側重于一種數據庫管理系統的應用而理論知識不足,這兩種類型的教材都不太適合應用型本科學生的培養。為此筆者組織教學團隊成員自己編寫適合本校學生使用的教材。該教材突出應用性和實用性,以學生比較熟悉的學生成績管理系統的設計貫穿于教材始終,從開始平臺的搭建、數據庫設計、數據查詢、數據處理到最終系統的實現,每一步的設計與實現都詳細介紹,把枯燥的數據查詢、數據操縱、數據維護等知識都是通過系統實現,同時,數據庫的相關理論知識穿插到實踐當中,讓學生通過具體系統的實現,體會到數據庫的作用,并熟悉應用系統的開發過程和開發技術。借助于本教材通過該課程的學習,讓學生即掌握了數據庫的基本理論知識,也熟悉了數據庫的設計和開發工作。

五、課程資源評價

1.該課程資源的成效

本課程資源的主要成效體現在,引導以教為主的教學模式,向以學為主的教學模式轉變;并引導學生的學習以課堂學習為主的學習模式,向課堂內外學習相結合的學習模式轉變;學生的學習效果以結果評價為主,向結果與過程評價相結合的轉變。實現教學資源的共性,提高學生的學習積極性、主動性及動手實踐能力,充分體現職業性、開放性和實踐性,與黃淮學院應用型技術大學的技能型人才培養為目標一致。通過資源共享、師生互動、師師互學、生生互促等方式有力推動了教學模式和教學方法的改革。優化了課程體系,提高了應用型人才的培養質量。

2.該課程資源的不足

(1)人力課程資源不足。目前,參與該項目的教師有多年的教學經驗,但是項目經驗不足。目前,急需要引M參與過大型項目數據庫開發經驗的教師。

(2)物質課程資源不足,為達到理想教學效果,需要建設教學做一體化的教室。

(3)實訓企業數量不足。應進一步加強校企合作,讓學生和老師參與到企業實際項目中,鍛煉教師和學生的實踐動手能力,通過企業實際項目進一步豐富、優化教學案例,并加大與企業聯合開發課程的層面。

(4)課程評價體制不完善,通過完善課程評價體制,不斷提高教學資源的利用率。

六、結束語

課程資源的開發與建設是一個長期而艱巨的工作,需要課題組成員齊心協力、鍥而不舍、勇于創新的精神。沒有最好只有更好,黃淮學院《數據庫系統原理與應用》課程的課程資源還在逐步的完善當中,經過課題組成員的共同努力,《數據庫系統原理與應用》課程逐步向正規化、精品化方向發展,離課程建設的目標會越來越近。

參考文獻:

[1]閆彩虹.計算機應用基礎課程建設初探[J] .佳木斯教育學院學報, 2013,(1)

[2]許速,孫宜貴.對計算機專業數據庫相關課程建設的幾點思考[J] .河南教育,2008,(2)

[3]張春燕,趙吉.高職院校Web項目開發課程資源庫建設的探析[J] .科技資訊,2015,(9)

篇6

關鍵詞:軟件工程;實踐教學;課程設計;案例庫;可復用

課程設計是一門課程結束之后安排一周或者兩周綜合實訓,讓學生完成一個實際的課題鞏固理論知識,對課程知識體系獲得更深刻全面的理解,是提高學生實踐能力的重要環節[1]。目前,學院軟件工程專業從第4、5學期陸續開設專業基礎課和專業課,如《C#面向對象的程序設計》、《Java程序設計》、《軟件需求分析》、《數據庫原理及應用》、《軟件工程》、《UML技術》、《軟件測試》等,這些課程均安排了為期一周的課程設計。但大四畢業設計時發現部分學生實踐能力達不到專業培養要求,原因主要在于專業類課程實踐環節沒能夠達到理想的教學效果。經調研發現,這些課程設計周是由各科授課老師布置一個相關課題,明確課題要求,給一周時間讓學生自主完成,最后提交一個小的系統與課程設計報告。這種課程設計存在以下問題:(1)課程設計教學內容方面。老師未能提供系統、綜合的課程知識相關案例,導致學生對題目理解不足,對課題認知模糊,無從下手,降低了學習主動性。(2)教學手段陳舊。基本還是停留在老師講、學生聽的階段。師生互動較少,學生沒有足夠時間思考,即使在某個環節出現問題也不能及時解決,課后問題可能不了了之。(3)課程設計考核體系不完善。實踐環節大多為考察,導致學生不夠重視,提交一個報告了事。由于缺乏完整監管機制,學生對整個課題的開發過程認識不清,沒有收獲。另外,老師憑提交的報告給出成績,區分度不明顯,不夠合理公平。針對目前存在問題,本文提出軟件工程類課程設計實踐教學改進方案。首先,建設一個可復用的軟件工程實踐教學案例庫,案例庫中的教學案例運用主流開發技術、管理技術及開發環境。“可復用”是指同一案例根據不同課程分割出不同的知識單元,軟件工程類課程之間本來就緊密聯系,相互承接,案例庫可供多門專業課在實踐環節教學中使用。其次,推行案例同時更新教學手段,采用注重學生參與及師生交流的分段式教學模式。最后,制定明確的課程設計監管與考核方案,對整個課程設計過程嚴格把控,培養學生綜合應用知識能力與實踐動手能力,提高課程設計環節教學效果。

1案例庫建設

案例庫中的項目不僅要考慮案例庫的可復用性,能夠服務多門課程,還需體現軟件工程專業能力培養需求,并考慮開發難度與學生接受程度。因此應選擇學生熟悉的業務系統,采用主流開發工具來實現輕量級工程化系統。系統功能盡量有代表性,同類系統可以仿照實現,并根據課程知識結構需要進行功能定制。如案例庫中的項目:《學生成績管理系統》用C#與SQLServer2008開發。該系統是典型的小型MIS系統,主要實現了學生、教師、管理員3類用戶對學生信息、課程信息及成績信息不同程度的增、刪、改、查。該案例可以服務于《C#面向對象的程序設計》、《數據庫原理及應用》、《UML技術》、《軟件工程》、《軟件測試》等課程的設計教學。案例庫項目開發融合了軟件工程很多專業課程知識,在不同課程中使用,學生可以明確各門課程學習目標,從不同視角體驗軟件開發流程,提高對軟件工程整體把握的能力,建立軟件工程的思想。

2知識結構劃分與整理

案例實現之后,為了服務于不同課程,不同授課教師需要重新組織教學資源,梳理課程大綱、劃分教學內容、整理教學素材、制作教學課件,這一步至關重要也最為核心。想要通過一個完整教學案例,使學生建立起課程知識結構網絡,授課教師不僅要基于案例將課程相關基本知識點及聯系貫穿其中,還要對知識進行高度提煉,體現課程內容有機聯系。這樣學生通過案例講解,不僅對理論知識理解更加透徹,對課程體系也會有更深刻的把握,學習效果取得質的飛躍。下面以《學生成績管理系統》的實現為例,按不同課程知識側重點進行概要劃分,在課程設計環節中,授課教師結合案例針對本門課程側重講授知識結構。(1)《面向對象的程序設計C#》,講授如何利用C#語言進行系統開發。利用常用控件來搭建設計學生成績管理系統界面、實現窗口間跳轉、消息傳遞;利用面向對象的程序設計方法實現系統業務邏輯與主要功能;利用ADO組件訪問數據庫,完成對系統數據的基本操作。(2)《數據庫原理及應用》,講授如何進行學生成績管理系統后臺數據庫設計。數據流圖,數據字典的創建;概念結構設計(E-R圖的繪制)邏輯結構設計,將E-R圖轉換為關系模式,如何考察關系模式、規范化程度、規范化理論、視圖機制、安全性及完整性設計;數據庫的實施:SQL的應用,建庫、建表、錄入數據等。(3)《軟件工程》,以學生成績管理系統為例,按照軟件工程流程,講解每一階段任務及涉及方法,結合案例從可行性分析、需求分析、總體設計、詳細設計、系統實現及系統測試幾個步驟進行。(4)《UML面向對象設計與分析》,對應學生成績管理系統開發各階段從建模的角度講解UML的9種圖,主要包括在需求階段如何識別參與者與用例,建立用例模型;在分析設計階段靜態結構模型的建立(類圖、對象圖)及動態行為模型的建立(順序圖、狀態圖、活動圖);系統實現階段物理模型的建立(組件圖、系統部署圖),及將UML自動轉換為面向對象設計語言的實現。可以看到,不同課程使用《學生成績管理系統》案例側重于不同知識體系。

3案例推行與考核模式建立

授課教師在課程設計環節中推行案例,按照案例教學、任務驅動模式來進行,課堂講授仍然是不可或缺的[2]。首先通過分析案例程序引導學生學習,由案例的講解分析,深入淺出地引出知識點,引導學生逐步理解課程重點、難點,深化理論知識學習[3]。其次提出本次課程設計任務要求,老師詳細分解設計題目內容與步驟,給出參照與示范。案例講解與任務分解交叉進行,課程差異性使得案例教學不必拘泥于固定模式與時間,講授案例時間大概是6~10學時,老師可以自行調整授課進度與節奏。在案例教學中,為了充分調動學生主動性,并及時發現問題、解決問題,采用了“教師提出課題—學生分組討論—教師演示案例—學生實踐—學生總結、師生交流”分段方式進行,并且在以學生為主體的階段進行考核。在案例講解、任務驅動教學方式下,建立完整考核機制,教師監控整個實踐過程,激勵學生參與到每一個階段中,學生遇到問題也可以反饋給老師,及時得到幫助,提高學生主動性。成績考評是根據學生每一階段任務完成情況,從分析解決問題、團隊合作、語言表達及文檔書寫能力表現作綜合評定,不僅保證了評價結果客觀性,也引導了學生加強這些方面的能力培養。

4結語

針對學院現在軟件工程類多門課程在課程設計環節存在問題,提出了建設可復用的案例庫,并根據不同課程教學需要對案例進行知識結構劃分與整理,在實踐中采用分段式教學推行案例,加以完整考評方式,現已收到較好教學效果。基于案例庫的實踐教學改進方案還可以應用在軟件工程綜合實訓環節,為了達到更高教學要求,培養高質量人才,案例庫還需要不斷更新與完善。

參考文獻:

[1]吳金秀.課程設計在高職實踐教學中的應用與探索[J].網絡與信息,2008(10):78.

篇7

關鍵詞:課程設計;VB;內容和形式

中圖分類號:G642 文獻標識碼:B

文章編號:1672-5913 (2007) 22-0009-04

1VB課程設計的作用

VB課程設計屬于VB程序設計的實踐環節,一般安排在教學內容基本結束后進行,目的是使學生進一步理解和掌握程序設計語言的知識、擴展VB的知識、掌握利用VB編寫應用程序的技巧、了解VB應用程序的編寫規范和設計方法、加強學生應用VB程序設計語言解決實際問題的能力、培養和考核學生對編程知識的理解和綜合應用能力。因此,如何確定VB課程設計的內容和形式是一個非常重要的問題。下面介紹我校VB課程設計內容和形式的改革。

2VB課程設計的內容

VB課程設計的內容決定了課程設計的質量。雖然目前市場上有一些VB課程設計指導書[1],但是這些指導書要么過于簡單,達不到訓練學生解決實際問題能力的目的;要么偏難,在規定時間內無法完成課程設計任務,給課程設計評定工作帶來一些困難。因此,我校以教研室為單位,按照教學大綱的要求,組織該課程教師編寫VB課程設計指導書,交教研室討論,呈教務處審閱,最后付諸實施。

2.1VB課程設計的選題原則

(1) 課題的綜合性

課題應盡可能多地覆蓋VB程序設計的各個知識點,要盡可能涉及該課程的重點和難點,這樣才有利于學生知識的擴展和深化。VB在多媒體、網絡、數據庫方面的應用都很廣泛,課題的設計應強調學生對VB課程設計知識的綜合運用能力。

(2) 課題的實用性

課題要能解決現實生活中的某個問題,即具有一定的實用性,以便學以致用,從而有效地激發學生的學習興趣。

(3) 課題的靈活性

課題應當給學生一個創造發揮的空間,避免要求太死,這樣才能促進學生思考和探索,充分發揮學生的想象力。由學生根據設計指導書中的要求自己查閱資料、獲取數據、確定方案、選擇流程等,并要求對自己的設計做出選擇、論證和評述。

(4) 課題的創造性

課程設計是一次培養學生獨立分析和解決問題的能力的機會,在整個設計過程中,學生是主體,老師的任務在于引導和啟發。當學生在設計中遇到問題時,應鼓勵學生刻苦鉆研,自己去找資料,請教業內人士,盡可能找到比較好的解決問題的方法。這樣可培養學生獨立思考的好習慣,從而培養他們敢于創新和獨立思考的能力。

(5) 課題的可操作性

課題不能太難,也不能太容易,應該使大部分學生在經過努力之后可以完成。課題設計得太難不利于課程設計的順利進行;課程設計太容易,不利于學生能力的培養。

2.2VB課程設計的內容改革

為了全面訓練學生應用程序設計知識解決實際問題的能力,我校VB課程設計內容主要以綜合性、設計性項目為主。每個學生可以根據自己的興趣、愛好和能力任選一個完成。這樣使課程設計內容既具有指導性,又具有靈活性,每個學生都可以從中找到適合自己的課程設計內容。

根據VB課程設計大綱要求和VB程序設計的重點,VB課程設計的內容主要集中在三個方面。其一,數組和函數在實際中的應用;其二,利用VB進行圖形圖像處理的技術;其三,利用VB操作數據庫的技術。其中利用VB操作數據庫的技術是重點,也是難點。

下面是我校VB課程設計中有關數據庫應用的參考題目和基本要求介紹,實際課程設計指導書的要求更具體。

為了充分發揮學生的能動性和創造性,還可以允許學生自己收集資料,自行確定課程設計題目。

3VB課程設計的形式

3.1小組模式的組織方法

VB課程設計以培養學生系統設計與分析能力為目標。為了達到目標,必須確定合適的課程設計形式。按照大綱規定,VB課程設計只有1~2周時間。一般來說,一個學生很難在規定時間內單獨完成一個較復雜的中小型系統或軟件,我校教師在近幾年的VB課程設計教學中吸取過去的失敗教訓,總結歸納出一套有效的課程設計形式,即變過去的個別模式為現在的小組模式。小組模式的組織方法如下:

(1) 分組選題:

根據學生的興趣、能力和計算機水平進行分組,每小組一般2~4人。每組由一名協調能力較強、計算機水平較好的學生擔任組長,負責本組課程設計任務的分配和課程設計過程的監督管理。各小組通過調查和討論,確定本組課程設計課題,遞交課程設計開題報告[2]。

(2) 分組設計:

1) 確定具體設計方案,建立數據庫,確定表結構及表間關系,確定程序模塊,并進行明確分工;

2) 各人分別完成自己的設計任務;

3) 程序匯總、編譯和調試等;

4) 根據學生特長進行分工,進一步美化界面,設計個性化的菜單和對話框等。最后打包,制作成安裝盤;

5) 按教師指定的格式完成課程設計報告。

3.2小組模式下課程設計的保障

為了使小組模式下的課程設計順利進行,必須為學生的課程設計提供一定的保障。

(1) 為學生提供方便的交流平臺

小組模式下的課程設計必須有方便的交流平臺,當學生在課程設計過程中遇到問題時,學生之間、學生與教師之間可以隨時交流。VB課程設計一般在學生機房內進行,保證一人一臺電腦。學生可以通過BBS和QQ實時交流,也可以通過本校的網絡教學平臺進行交流。

(2) 為學生提供豐富的信息資源

在課程設計過程中,學生會遇到一些在課本上無法找到答案的問題,學生一般靠自學來解決,教師必須為學生的自學提供各種信息資源的獲取渠道,主要包括電子文檔、圖書、上網、調查等。

3.3小組模式下課程設計的管理

(1) 課程設計的監督

由于課程設計的組織形式是比較松散的,如果缺乏有效的監督機制,學習態度不端正的學生就會得過且過,平時不和其他同學交流,對自己的任務敷衍了事,到最后抄襲他人成果,企圖蒙混過關,嚴重影響本組課程設計的質量和進度。因此,平時對學生的監督顯得尤為重要。在課程設計過程中,由組長負責管理本組同學,組長每天記錄各個同學的課程設計的進展情況、討論情況、出勤情況等,遇到不良現象及時向老師匯報,這些記錄也將作為教師對學生進行考核評定的重要依據。

(2) 課程設計的指導

課程設計是學生在教師指導下的一個實踐過程,在此期間教師給以適當的指導不僅可以幫助學生解決一些難題,避免學生走彎路,而且可以引導學生培養正確的設計思想及設計方法。我校VB課程設計堅持以學生自主探討為主、以教師理論指導為輔的原則。為此,我們在指導設計時采取代表性的問題集中講解,個別問題單獨指導的方法。教師的指導側重引導和啟發,逐步培養學生分析和解決問題的能力[3]。

3.4小組模式下課程設計的考核

(1) 考核內容

我校VB課程設計的考核形式由三部分組成:自我評價、小組評價和教師評價,分別占總成績的10%、20%和70%。

自我評價部分主要讓學生客觀公正地評價自己在課程設計過程中的努力程度和收獲;小組評價主要考查該同學與其他同學的協作精神和對本組課程設計的貢獻;教師評價主要通過三個方面來評定:課程設計報告的質量、程序的效果和課程設計的態度,分別占教師評價的60%、30%、10%。

(2) 考核模式

為了保證教師評價的客觀公正,教師對學生的考核分兩步進行,先分組考核,再個別考核。首先由學生分組展示課程設計報告和程序,評出優秀的課程設計報告和程序,然后有針對性地給每個小組設計5個問題,對同一組的學生進行個別考查,根據各個學生的答辯情況分別評定。

3.5小組模式下課程設計的交流

(1) 小組交流

完成課程設計之后,每小組安排一次經驗交流會。讓每位同學回顧課程設計的構思,課程設計過程中遇到的問題和解決辦法,課程設計的得失。交流不拘形式,各位同學暢所欲言。在此基礎上,推選出本組代表到班級進行交流。

(2) 班級交流

安排一次班級課程設計經驗交流會。各組代表介紹本組課程設計完成情況,由教師進行點評,并對本次課程設計進行綜合評定。通過交流,可拓寬學生的視野,活躍同學們的思維方式,促進開放的學習理念。

4結束語

同樣課程不同專業的課程設計會有不同的要求,同樣課程同樣專業不同學校也會有不同的課程設計理念。但是,不斷探討課程設計的內容和形式,提高課程設計的質量,則是每位教師必須共同研究和探討的問題。只有聯系本校實際,互相借鑒,不斷創新,才能使課程設計達到更好的效果,為社會培養真正有用的人才。

參考文獻

[1] 黃娟琴, 何欽銘. 計算機專業課程設計教材建設研究[J]. 計算機教育, 2007, (14).

[2] 胡國強. 課程設計的教學探索[J]. 焦作大學學報,2002, (01).

[3] 王廷山. 關于教師參與課程設計幾個問題的思考[J]. 教育探索, 2007, (02).

作者簡介

范士喜,北京印刷學院計算機科學系教師。主要研究方向:計算機教育應用。

通信地址:北京市 大興區 北京印刷學院 計算機科學系,102600

篇8

關鍵詞:CDIO;數據庫;課程體系;工程教育模式

CDIO代表構思((Conceive)、設計(Design)、實施(Implement)與運行(Operate),它是麻省理工學院和瑞典皇家下學院等4所大學在全球經濟一體化的背景下,經過4年的研究而得出的成果。CDIO高等工程教育模式以構思、設計、實踐及運作全過程為載體來培養學生的工程能力,不僅包括個人的學術能力,還包括學生的終身學習能力、團隊能力和大系統掌控能力。CDIO工程教育模式(Initiative)為我們提供了一種新的教育方法,有助于解決工程教育普遍存在的問題,并可滿足學生和社會的需求。

數據庫課程與其他課程結合緊密,與操作系統、數據結構、編譯技術、離散數學、程序設計、軟件工程等課程都有密切關系,是集理論性、實用性、操作性、創新性于一體的綜合性課程。數據庫課程體系設置的合理與否,直接關系到本專業每個學生的數據庫應用水平和計算機實際應用能力。

針對數據庫相關專業畢業生缺乏工程設計能力、不能滿足IT企業需求的情況,我們在數據庫課程新體系中引入CDIO工程教育模式,以幫助學生建立理論知識與工程設計知識之間的聯系,進一步提升教學效果。

1 將CDIO引入數據庫課程體系的必要性

許多大的現代企業,他們對年輕工程師所需的品質要求有著驚人的相似之處。企業界要求工程師所需具備的知識、能力和態度,主要包括:了解工程基礎、工程設計和工程制造過程;具有工程實踐的背景;具有批判性思維和創造性思維、溝通能力與團隊工作能力。

目前,我校數據庫課程體系的直接相關課程有:數據庫原理及應用、數據庫程序、數據庫大型實驗周、軟件工程、UML可視化建模。課程體系設置的不足之處主要表現在:培養方案設置的專業課程里單科性課程太多,理論分析學時過多,過分注重單學科課程的理論性和知識的系統性。相反,培養學生工程綜合能力的課程少,訓練學生的直觀判斷力和工程經驗、工程意識的教學環節少,但都是以“知識點”的形式串接在各相關理論課程單元之間,學生很難把自己所學的理論知識與生產實際相結合。這種工程教育模式培養訓練出來的學生與飛速發展的現代工業社會極不相適應。因此,高校工程教育陷入怪圈:一方面產業界缺乏有實踐經驗和動手能力強的大學畢業生;另一方面工科大學畢業生抱怨在學校沒有實踐機會,學習空洞理論,求職無門而面臨巨大的就業壓力。

將CDIO理念引入到數據庫課程體系教學之中,旨在培養學生的工程設計能力,將理論課程與實踐環節相互關聯,環環相扣,圍繞社會和企業的需求,將軟件工程設計方法和軟件開發技術融入教學內容之中,為學生鋪墊更寬廣的職業道路。

2 構建基于CDIO的數據庫課程新體系

2.1 課程新體系目標

數據庫課程體系主要目標是基于軟件工程理論,讓受教育者了解和掌握軟件開發中的方法學和工程學知識,并應用于實踐。學生通過學習實踐掌握軟件工程的設計方法,并能應用到數據庫原理課程的學習過程中,且高效地開發軟件并進行有效維護。培養學生數據抽象和數據建模能力、一定的系統分析與設計能力、較強的數據庫設計和應用開發能力、使用和維護數據庫的能力,并培養學生良好的自主學習、創新和團隊協作精神。

2.2 課程新體系的教學內容改革

2.2.1 教學大綱及教學內容的整合

我們將數據庫原理與應用、數據庫程序設計、UML可視化建模和軟件工程作為集成課程,修訂了教學大綱,將理論知識、軟件工具應用和工程設計方法結合起來,形成理論――應用――工程設計方法的教學主線。

此外,數據庫原理與應用中的基礎篇、系統篇與設計篇與數據庫程序設計課程相關內容進行關聯;應用開發篇中數據庫原理及應用中的數據庫設計概論、需求分析、概念結構設計、邏輯結構設計、物理設計與數據庫的實施和維護同工程設計方法的軟件工程概論、軟件需求、軟件概要設計、詳細設計、軟件實現相對應;同時將軟件工程中各個階段的文檔進行規范說明,并以UML為實例在各個階段予以講解,從而可以看出數據庫實踐開發過程中所貫穿的軟件工程理念,且在數據庫程序設計中具體實現。具體知識結構如圖1所示。

2.2.2 改革教學過程和教學方法,完善實訓環節

在教學過程中,教師不僅講授課堂理論知識,還在教學過程中,將大案例的工程設計問題以任務的形式布置給學生,學生以小組為單位,進行合作、討論,按照軟件工程的設計步驟,分析案例中的工程任務,找出解決問題的方法,分步驟完成任務,最后形成工程設計方案。教師及時指導、反饋學生設計中存在的問題,并在最后選擇優秀設計向學生展示,與科研案例進行比較,點評設計中的不足之處。

通過課程設計實踐環節,實戰訓練學生的工程設計能力。選擇小型的數據庫工程設計項目,將學生分組,每組設計一個小項目,教師為學生發放項目設計任務書,任務書包括項目需求和項目設計要求,并要求學生按照軟件工程設計方法按步驟進行設計,設計過程中組長要組織組員進行方案論證和軟件設計,要求撰寫需求文檔、設計文檔、技術報告、軟件使用報告。在實踐過程中,教師要和學生不斷交流,對于學生設計過程中存在的問題,要及時反饋。在整個實踐過程結束后,教師要向學生展示成功科研項目,幫助學生尋找設計中存在的差距。

2.2.3 加強教學輔助環節

在整個教學過程中,充分利用現代教育技術,為了更好地指導和引導學生的自主學習,本項目組開發了網絡化教學與學習平臺,平臺包括軟件簡介、教學大綱、教學電子教案、示范案例演示、優秀設計演示、設計小知識、小項目任務要求和互動天地等內容,為教師的課堂教學、課后指導和學生的在線學習提供了技術平臺。其中示范案例演示了教師的真實科研案例,給學生提供一個數據庫應用系統軟件的總體設計思路,另外學生還可以參考真實科研案例中的實際文檔內容,更加清晰地理解演示中的系統設計思路;在“工程設計”的“課程設計”中給出課程設計任務的任務書以及文檔書寫規范,“設計小知識”根據學生選擇的開發語言把學生提出較多的軟件實現問題以示例展現給學生,幫助學生解決設計過程中存在的問題;在“互動天地”中與學生進行交流,回答學生的問題,接受學生提出的建議,并在以后的課程設計教學工作中進行改進。

篇9

關鍵詞:軟件開發;能力培養;案例教學

當前計算機專業或軟件工程專業的學生存在著學用脫節、實際開發能力偏弱等問題。盡管很多高校計算機專業、軟件工程專業在軟件方面的課程體系上是將整個學科專業的知識按一定順序和層次分解,使得學生能夠循序漸進地學習和掌握知識,這無疑是行之有效的。但掌握了軟件開發領域的知識,并不意味著同時具備了軟件開發的能力。事實上,學生雖然接受了系統的軟件開發專業知識的學習和軟件開發技術應用的訓練,但軟件開發能力低下的情況還相當普遍。要從軟件開發的“菜鳥”,成長為軟件開發的高手,或者稱之為“高級藍領”,必須通過長期的歷練,沒有捷徑。但好的教學案例和人才培養模式,對促進軟件人才的成長和開發能力的提升有很重要的作用[1]。

1軟件開發人員能力要求

由于軟件開發是一項技術綜合性很強的工作,因此,企業對軟件開發人員能力的要求也是綜合性的[2]。按照教育部對軟件學院學生實踐能力培養的要求和工程應用型人才培養的定位[3],軟件學院的學生在軟件開發過程中,既要能將用戶的需求映射到良好的軟件體系結構,在進行應用軟件總體設計時有大思路和大局觀,也要能運用現代軟件設計方法和編程技術在進行詳細設計時關注細節,實現高質量的軟件;在考慮軟件實際應用時,既要支持國際化及本地化的應用要求,也要支持軟件及運行平臺升級、操作系統遷

移的應用要求;在技術應用能力上,既要對使用的編程語言和開發環境有很好的把握,也要能綜合運用前期所學的操作系統技術、數據庫技術、網絡編程技術、圖形圖像處理技術、人機交互技術等專門技術;在軟件工程素質上,既要具有軟件工程技術和管理方面的知識,還要具備良好的團隊合作、交流和文字與口頭表達能力。上述這些就是現代IT企業對軟件開發人員的能力要求。

2案例實踐教學對軟件人才培養的意義

案例實踐教學對軟件人才培養具有以下優勢:

1) 學生通過案例學習不僅對理解和掌握計算機軟件的抽象概念及原理十分有用,而且對學習先進的軟件編程方法、使用先進的軟件開發技術、提高自身的軟件開發能力大有益處。

2) 學生通過對案例代碼的閱讀分析,可以使一些一知半解的概念突然變得清晰易懂,使一些久思不解的問題變得豁然開朗。

3) 通過案例學習,學生能夠零距離接觸到軟件高手,深深為他們巧妙的方法、過硬的技術、認真細致的精神、追求完美的態度所折服。

3實踐教學案例的設計

案例設計的內容、質量以及案例教學的水平是案例實踐教學的基礎,是案例學習成功與否的關鍵。

作者簡介:蔡建平,男,教授,研究方向為軟件工程、嵌入式軟件測試和數字媒體技術。

3.1案例設計要求

設計支持軟件開發能力,特別是綜合開發能力培養的實踐教學案例是許多高校計算機軟件類專業教學面臨的問題。

首先,這樣的案例對于高年級的學生要涉及到他們前期所學的計算機軟件開發各個方面的知識和技術,如程序設計、面向對象編程、數據結構與算法、操作系統、數據庫、網絡通信、圖形圖像處理、人機交互、軟件體系結構,等等;另外,要幫助這些學生在通過案例學習后,建立起軟件開發的大思路或大局觀,對軟件的質量要求(特別是可靠性要求)、維護要求(特別是軟件功能擴充及升級要求)有很清晰地了解,并能夠反映到軟件的設計和實現上。最后,學生學習完案例后,要了解支持軟件跨地域、跨平臺和跨時間的應用需求,并掌握保證這些需求得以實現的相關技術,如軟件的國際化和本地化、軟件及平臺的升級、平臺移植或系統遷移等技術。

在案例設計中最為關鍵的問題是案例能夠在各高校無障礙地推廣,不要因為經費、實驗環境等問題使案例設計成果沒有應用價值。因此,案例設計要求全部使用開源代碼或開源技術。事實上,開源軟件的使用,不僅有利于通過免費的開源軟件大大降低搭建實驗環境所需的條件,使學生能夠零距離地學習優秀軟件,全面提升自身的軟件開發能力和軟件開發素質,而且學生可以根據專業興趣或學時安排,有選擇地對其中的軟件和技術進行更深入的學習和專門的研究,形成自身的技術特長和研究方向。

案例設計中還有一點要特別注意:所選擇的案例不要涉及很深的領域專業知識,又是人們感興趣、經常接觸到的東西,這樣有利于激發學生的學習興趣;另一方面,希望案例涉及多種計算機軟件開發的主流技術,如面向對象程序設計技術、客戶/服務器技術、多線程技術、網絡編程技術、數據庫技術、圖形學、GUI等眾多軟件技術;最后,希望所設計的案例是綜合性的應用軟件,以適合學生綜合開發能力的訓練。

3.2案例詳細設計

基于上述的案例設計要求,以及早期項目的研發經歷,我們選擇股票軟件作為軟件綜合開發實踐教學的案例。首先,股票軟件不涉及很深的領域專業知識,又是現代社會人們非常關注、感興趣、且有可能經常接觸或身陷其中的事物,學生容易入門和感興趣;另一方面,這類軟件其工作模式主要是客戶/服務器的工作模式,涉及到面向對象編程技術、網絡通信技術、數據庫技術、圖形技術、用戶界面技術以及數據結構與算法等眾多軟件技術,其綜合性很強,對學生綜合開發能力的訓練非常合適;最后,我們所選擇的股票軟件Stock-0.0.9是一個早期的開源股票軟件,它是一個股票軟件的雛形,易于學生學習和完善,包括做第二次開發。將該軟件作為案例進行實踐教學可讓學生接觸和應用如下開源技術:

1)Linux操作系統及虛擬機技術;

2)GCC程序設計技術(包括編譯技術、調試技術及集成開發技術等);

3)MySQL數據庫應用技術(基于C/C++應用編程接口API的MySQL數據庫開發技術);

4) 基于套接字編程的網絡通信技術(支持TCP/IP協議的開源liptcp++庫的應用);

5) 基于Gtk+的界面設計技術(應用Glade支持界面的設計及應用框架的生成);

6) 股票軟件的結構化程序設計及面向對象編程技術等。

在對Stock-0.0.9進行編譯生成可執行目標代碼并建立其運行環境的過程中,學生能夠接觸和了解到程序設計的強類型機制、可靠性編程思想、軟件構造方法、C/S工作模式實現手段、開發環境及應用環境升級對策、軟件國際化及本地化應用要素、操作系統遷移或移植問題等方面的內容,使學生真正掌握基于復雜圖形用戶界面的大型應用軟件開發的方法和技術,理解現代軟件開發方法學和現代程序設計思想,增強他們解決實際問題的工程實踐能力。

4案例教學實踐及成果

4.1實踐情況

軟件學院針對教育部對軟件學院學生實踐能力培養的高要求和軟件工程碩士復合型工程人才培養的定位,以及學院學生(特別是非在職的工程碩士研究生)綜合性實踐能力太弱等實際情況,經充分論證,確定了提升學生軟件綜合開發能力的培養目標,分別于2006年下半年在學院為本科生開設了“界面設計”課程,為軟件工程碩士開設了“高級軟件編程技術”課程。這兩門選用同樣案例,講授了10多次,受益學生達800多人。在這期間,課程的教學案例和實踐資源也不斷得到補充和完善。

4.2實踐成果――教材建設

學院考慮到案例實踐教學的效果以及教學案例和實踐資源的成熟與完整,決定將案例和課程資源進行總結與提升,出版與之配套的實踐教材,推廣相關的實踐教學經驗,讓國內高等學校計算機和軟件相關專業的實踐教學從中受益。學校對此工作提供了經費支持,同時在清華大學出版社的支持下,完成了《軟件綜合開發案例教程――Linux、GCC、MySQL、Socket、Gtk+與開源軟件》的編寫工作,該教材已于2011年2月出版發行。

1) 教材的主要內容。

除了有大量篇幅講述計算機應用的主要開源技術外(如Linux操作系統、GCC編程語言、網絡Socket編程通信、MySQL數據庫管理、Gtk+界面設計),特別通過實際案例――Stock股票軟件將這些技術融會貫通在一起,并站在更高的角度上對軟件體系結構、應用軟件開發模式、軟件的國際化與本地化,軟件開發和應用環境升級方法以及平臺移植技術等充分地介紹和實例說明,以此達到授人以漁的目的。可以說這是一本集各種主要的計算機開源技術應用于一體的軟件綜合開發實踐教材。

2) 教材的特色。

① 能夠滿足計算機、軟件工程及相近專業高年級學生在前期學習了程序設計、操作系統、數據庫、計算機網絡等計算機專業基礎課程后,急需通過一個案例或一個項目來應用這些專業基礎知識和技術進行綜合性實驗或實踐,提高自身計算機技術綜合應用能力的需求。

② 除了對主流的計算機開源技術做了詳細地介紹和舉例分析外,還特別地突出了計算機開源技術在實際股票軟件項目中的應用,很好地支持著案例驅動式的實踐教學。

③ 教材所涉及到的實驗教學資源相當豐富,覆蓋面相當廣,且全是開源軟件或開源工具,保證了國內許多院校在辦學條件不足,實驗教學經費有限,無法全方位引進商用軟件工具的情況下,仍然能夠開設出軟件綜合性開發的實踐課程。

總之,該教材作為案例實踐教材,自始至終強調和灌輸現代軟件開發方法學和現代程序設計思想,強調軟件綜合開發能力的培養。該教材所涵蓋的大量技術內容、實操案例及問題解決方案,如果學生能夠完全掌握并能實際地用于軟件項目的開發,從軟件開發能力上說已達到一個高級藍領的要求了。

5案例實踐教學的實施方案

北京工業大學軟件學院在學生軟件綜合開發能力培養上分別針對軟件工程本科專業的學生和軟件工程專業學位的學生開設了選擇同樣案例和教材的不同課程――“界面設計”和“高級軟件編程技術”。下面我們主要以本科生為例,介紹在“界面設計”課程中案例實踐教學的實施方案或課程大綱。

5.1課程設計目的

學院在四年制軟件工程專業本科生的教學計劃中,為大三的學生在第二學期安排了“界面設計”的課程,60學時,2學分,共15個實驗單元(每個單元4學時)。

“界面設計”課程是按照教育部對國家示范性軟件學院培養工程化軟件實用人才的要求,以界面設計為立足點,對前期所學的主要計算機技術(如軟件開發、程序設計、網絡編程、數據庫應用等)進行綜合訓練。

要求學生在掌握界面設計的原則、方法和常用技術,掌握當前主流的開源界面開發工具Gtk+和開源界面設計工具Glade進行界面設計及實現等技能的基礎上,通過具體的案例――股票行情分析軟件,將計算機軟件開發所涉及到的相關知識綜合在一起,開展實踐活動。

通過該實踐課程,除了使學生掌握界面設計的全部流程和技術,培養學生界面的設計能力外,可使學生接觸和學習基于復雜圖形用戶界面的大型軟件開發的方法和技術,了解Linux操作系統、編程語言、程序設計、編譯應用、圖形界面、數據庫、網絡通信、軟件體系結構、應用軟件開發模式以及平臺移植等技術在實際軟件開發或應用項目中的具體應用,達到增強他們工程實踐能力的目的。

5.2課時安排

該課程設計以《軟件綜合開發案例教程》為實踐教材,其實踐教學方案主要是按照15個實驗單元并依據教材內容和知識單元組織進行制定的。

第1單元:對課程設計提要求,對Linux操作系統知識點進行講解,并安排學生進行Linux操作系統的實際應用,學會Linux虛擬機的安裝、配置和使用。

第2單元:對應用GCC進行軟件開發知識點進行講解,安排學生進行GCC開發應用實踐,學會編寫工程文件、用GCC編譯C/C++程序、調試程序、建立集成開發環境。

第3單元:對網絡通信及Socket編程知識點進行講解,安排學生進行網絡通信的Socket編程實踐,學會在libtcp++環境下建立客戶/服務器的工作模式。

第4單元:對MySQL數據庫應用知識點進行講解,安排學生進行MySQL應用的相關實踐,學會用MySQL C API進行數據庫應用的簡單開發。

第5單元:對Gtk+用于界面設計的知識點進行講解,安排學生進行Gtk+的界面設計實踐,學會用Gtk+和Glade進行簡單界面的開發。

第6單元:介紹股票交易的相關知識、股票軟件一般包含的內容和所涉及到的技術,安排學生學習和使用國內主流的股票軟件,學會股票軟件的使用方法和使用流程。

第7單元:對開源股票軟件Stock進行分析講解,并帶領學生將Stock源碼編譯成可執行的二進制碼,要求學生學會處理編譯和連接過程中出現的各種問題,特別是強類型問題。

第8單元:對應用軟件國際化和本地化相關知識和技術進行講解,對Stock軟件的Gtk+1.2界面實現方法進行分析,并帶領學生解決Stock軟件中文顯示問題,要求學生掌握在Gtk+的界面控件上和繪圖區中正確地顯示中文、英文及數字方法。

第9單元:對Stock軟件的數據庫應用編程、網絡通信編程等實現方法進行分析,帶領學生解決股票數據庫的建立、股票數據的導入等問題,要求學生掌握Stock軟件中用MySQL C API進行股票數據庫應用、用Socket進行網絡通信的開發技術。

第10單元:對Gtk+2.0特點進行講解,帶領學生解決Stock軟件從Gtk+1.2到Gtk+2.0升級中遇到的各種問題,要求學生掌握確保軟件能夠升級的軟件設計思想和問題解決方法。

第11單元:對在Windows上進行Gtk+應用程序設計的方法進行講解,帶領學生將Stock軟件從Linux上移植到Cygwin和MS VC上,并解決移植過程中的問題,要求學生掌握一般軟件移植的基本要點和基本方法。

第12單元―第13單元:學生按分工要求開展獨立實踐活動,并撰寫實踐報告。

第14單元―第15單元:學生按分工要求進行PPT的實踐匯報和實踐成果的演示。

5.3課程設計組織

課程設計以課題組形式開展,6人一組,每組必須完成6篇報告(Linux虛擬機使用總結報告、Linux下GCC編程總結報告、MySQL數據庫應用總結報告、基于TCP/IP的Socket編程總結報告、用Gtk+設計圖形用戶界面總結報告以及股票分析軟件實現技術總結報告),指定課題組長(完成報告6),課題組其他成員分別完成報告1~5,每人1個,不能重復。

課程設計以實踐為主,完成教材中所布置的實驗習題。作業以電子方式交付。

5.4課程設計考核

對每位學生,課程設計考核包括四部分:

1) 電子版課程設計報告(40分),對于報告其撰寫要求如下:

① 每個報告不少于1萬字(不能以圖表代文,論述為主);

② 報告的基礎是每章的實驗習題;

③ 報告可分4~5章(第一章概述,最后一章總結,其他章節自行組織);

④ 報告以教材為樣式進行排版;

⑤ 報告不要出現網上拷貝的痕跡,網上摘錄的要進行相應處理,嚴禁聊天用語、博客用語以及混亂的控制符和全角符號;

⑥ 圖表要清晰,重要的圖表要親自畫或截,不要拷貝。

2) 每位同學要準備總結報告的PPT匯報(10分鐘的匯報),匯報成績20分。

3) 每位同學要進行所選報告的成果演示,演示成績20分。

4) 考勤成績20分。考勤10次,每次2分,考勤缺席5次的無成績。

5.5基于案例的“界面設計”實踐教學效果

“界面設計”課程自2006年開設以來,學生普遍反映良好,口碑頗佳,軟件開發的綜合實踐能力得到了明顯的提升。

最近,我們對學生學習該課程的體會和感想進行了調查,學生普遍認為案例內容和實驗方案豐富、實用和生動,大大地開拓了他們的眼界。通過基于復雜圖形用戶界面的大型應用軟件開發方法和技術的學習和實踐,對現代軟件開發方法學和現代程序設計思想有了更進一步地理解,增強了軟件綜合開發和解決復雜問題的工程實踐能力。特別是對軟件開發有了大局觀,對軟件開發中軟件設計和高質量代碼編寫的重要性有了新認識,對優秀開源軟件和開源技術有了極大的興趣。下面是部分學生在課程設計實驗報告中對“界面設計”的案例教學談到的心得體會:

1) 通過這門課的學習,我基本掌握了Linux虛擬機的使用,以及Linux下的GCC編程,應用軟件圖形用戶界面GUI的界面設計,網絡數據庫應用技術和網絡通信技術,并能進行具有圖形用戶界面程序的開發,提高了應用C/S模式、管理數據庫數據等實際應用能力。由于平常主要都是理論課程,實踐機會比較少,大家組隊進行開發就更少了。通過此次實踐,我體驗到了團隊開發的重要性,學會了如何合作開發,并大大提高了我解決問題的能力,為以后工作學習增加了豐富的經驗。

2) 以前學習Linux時僅把它當作一種單純的操作系統,沒有在上面做開發,導致對Linux了解不多。經過半個學期基于Linux的股票案例學習后,我收獲頗多。我主動收集和閱讀了大量資料,并鍛煉了實際動手能力。我學到了如何在Linux環境下搭建開發環境、進行編程和開發,并對MySQL,GCC,Gtk+等開源軟件在Linux下的應用有了初步的認識,加深了對Linux下編程整體流程和工作細節的理解,知道了Linux下調試程序的方法,真正了解了程序在Linux下從編譯到運行以及排錯的全過程。

3) 這次課程設計我們的收獲非常多的,首先大家對于一款良好的軟件應該具有什么樣的功能和性能有了比較清楚的認識,這對于我們以后在軟件開發乃至今后的工作都是有益處的。其次,這次復雜的課程設計鍛煉了我們各方面的能力,包括團隊合作、資料查找、學習、融會貫通以及查錯能力,等等。可以說對我們的綜合能力是一次極大的考驗。在整個工程的過程里,大家接觸了很多以前沒有觸及過的知識并對其有了較為深切的理解。最后,本次課程設計溝通了我們幾位同學之間的感情,在辛苦工作的同時,也留下了難忘的回憶。

4) 我覺得這門課對我很有幫助,讓我學會了一個我以前不會也沒接觸過的有用的軟件,學會了如何使用Gtk+來進行圖形界面的設計。通過這一學期的學習,課上聽老師對一些知識的講解,對Linux更加熟識了,對如何在Linux下安裝各種有用的軟件更加清楚。在課后我們組成小組,分工明確,每個人認真地負責自己的那部分的工作,查資料,學相關的知識,然后再給小組的每個組員講,使組內的成員對大家的工作都很熟識,這樣合作起來就更加的融洽,而且也可以互相討論和幫助。在這門課上學到了很多知識,也鍛煉了動手能力,最后作報告培養了大家的語言表達能力。總之,我覺得這門課很有意義。

5)Stock股票軟件的成功運行讓我們對自己的能力充滿了信心。從最開始我們興致勃勃地組成一個小組,憧憬著成功的那一天開始,一路磕絆,直到今天我們看到一個完整的軟件,這里的每一個細小的環節都有著我們為之付出的艱辛努力。這與我們小組成員的團結努力是密不可分的,尤其是負責編譯、調試和排錯的組員。課程設計中遇到的問題,不但沒有將我們擊垮,而且在問題解決過程中,使得我們對許多知識又有了新的理解。感謝學院給我們提供了這樣一門自己動手的課程,它對提高我們的編程能力非常有幫助。

6) 這次課程設計使我建立起一種堅持到底不放棄的精神。之前的我總是缺乏恒心,一旦進展不順即想放棄。這次強迫我接觸很多不會的新東西,而且時間上有限制,令我不得不一次次與失敗和不順打交道。在翻越這一道道“溝壑”的過程中,我覺得自己的毛躁在逐漸退去,變得越來越穩健。我想精神上的成長可能比知識的增多對我來說意義更大。

6結語

我校專家對這種模式的案例實踐教學給予了充分肯定,指出計算機學院或軟件學院學生的軟件開發綜合能力培養一直是高等院校軟件人才培養的一個“短板”,一直缺少好的實踐教學方案、好的實踐教學案例和好的實踐教學教材。因此,軟件開發綜合能力培養的案例教學在傳統實踐教學的基礎上做了很有意義的探索和實踐,其成果顯著、資源完整,具有很好的推廣和普及基礎。學校為了強化該項成果在軟件工程專業學位研究生能力培養上的轉化和推廣,將研究生的“高級軟件編程技術”課程列為學校重點建設的精品課程。因此,我們相信,隨著精品課程建設的深入開展,軟件開發綜合能力培養的案例教學基礎將進一步夯實,其成果將會進一步凝練、宣傳和推廣。

參考文獻:

[1] 蔡建平. 軟件綜合開發案例教程[M]. 北京:清華大學出版社,2011:序

[2] 陳紅霞,毛京一,滕月鵬. 計算機藍領到軟件藍領:高職軟件開發人才培養模式探討[J]. 計算機教育,2010(1):135-137.

[3] 教育部辦公廳關于進一步加強示范性軟件學院建設工作的通知[S]. 教高廳(2007)4號.

The Comprehensive Ability Training for Software Developments Based on Case Teaching

CAI Jianping

(School of Software Engineering, Beijing University of Technology, Beijing 100124, China)

篇10

關鍵詞:軟件工程;教學研究;教材;方法和手段;實踐

1課程簡介

軟件工程(Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及工程概論、項目管理、程序設計語言、面向對象的需求、分析、設計、測試、維護、數據庫、軟件開發工具、系統平臺、標準、設計模式等,是一門綜合性很強的軟件課程,在計算機教學體系中占有十分重要的地位。

2國內外軟件工程課程的現狀

2009年9月,高等教育出版社正式出版、教育部高等學校計算機科學與技術教學指導委員會編制的《高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)》(以下簡稱試行規范)中列出的“計算機科學與技術”專業方向之一就是軟件工程。據信息查閱,目前有“軟件工程”方向的教育部國家示范性軟件學院有38所,全國高校開設“軟件工程”專業方向授課的學校有兩百多所。

以美國卡耐基•梅隆大學為代表的國外大學已經開發出非常實用的工程軟件人才培養課程體系,它包括10個知識體系、58個知識領域[1]。2007年開始,國內的軟件學院紛紛引進他們的課程體系,意在培養出中國的國際化工程型軟件人才。各高校的軟件工程方向本科教育也正在加快向工程型教育轉變。以使課程教育緊密結合現代軟件產業需求,課程內容結合一些實際工程項目[2]。

事實上,軟件工程是一門教學難度比較大的課程,主要原因在于其以下4個特點。

(1) 軟件工程作為指導計算機軟件開發與維護的工程學科,研究范圍廣,包括技術方法、工具和管理等方面;

(2) 軟件工程是一門邊緣學科,內容豐富,涉及領域廣,包括計算機科學、計算機技術、系統工程、管理學及經濟學等。

(3) 軟件工程還是一個相對比較年輕的學科,尚未形成成熟的教學模式,教材上例題零零散散,幾乎沒有較為成熟的實踐內容。

(4) 軟件工程是一項不斷發展的技術,相關課程內容更替很快,如果繼續偏重傳統的成熟理淪,會造成與最新技術的嚴重脫節。但是完全講解新技術,也不適合軟件開發的實際需要,而且,課堂上也沒有時間講述全部新舊知識點。

國內高校的軟件工程課程教學實踐仍處在一種探索和發展階段。在實施過程中,仍然以教師的思路為主,以此帶領學生進行知識的學習。學生不可能獨立面對一項完整的項目開發,仍然處于被動接受知識狀態,缺少自主思考,很難體會到一個完整的項目開發過程。這種教學狀態培養的學生在實際應用中不知道如何開展項目,也不懂如何推進項目。另外,課程的考試大多以筆試為主,一張試卷就決定學生課程學習成績,這在很大程度上導致學生在軟件工程課程學習中重理論輕實踐。

為了彌補校園軟件工程教育弱的現狀,很多公司開設軟件工程教育實習基地,把學生編入一個具體項目開發組,讓他們在實際項目開發中建立工程概念,熟悉項目開發流程,參與項目具體代碼和文檔的書寫,為勝任未來公司實際工作積累經驗。為了適應外包軟件人才的需要,2007、2008年市場上甚至出現了不少軟件工程人才培育公司。

另外,大學為了培養學生職業技能也增設了專業實習,很多軟件工程專業的學生被輸送到相關的培訓公司參加項目實習,而校園的實習也主要是引進公司的實訓項目,以培養學生工程意識。

3電科院開設本課程的情況

軟件工程課程包括的主要內容如下。

軟件工程理論概述、軟件開發過程、軟件開發工具(建模技術)、項目管理、軟件需求、面向對象、軟件過程、軟件建模、模式設計、極限編程、敏捷軟件工程等。

作為一門獨立課程,軟件工程課程首先需要解決的問題是根據需要選擇合適的授課內容;在具體教學過程中選用多本教材,它們的內容對比如表1所示。

北京電子科技學院開設本課程已有多年,經過對歷屆計算機科學與技術系學生的授課,課程教學處在不斷摸索和進步之中。結合其他高校開設該課程的情況,并考慮到就業學生參與計算機項目開發的人不多這一情況,我們在課程內容上有所選擇,主要是加大對軟件工程項目的介紹和講解,對軟件合同中的甲方內容進行講述,用政府電子政務項目做舉例來說明軟件工程的用處。從2008年開始,我們確定了軟件工程課程的內容及基本要求,見表2。

通過本課程的學習,我們希望學生掌握軟件工程的有關概念,了解各階段的主要技術、方法與工具,具備協助和管理軟件開發的基本能力。同時,強調文檔,學習文檔模板的學習。另外,在更加細化的內容上面,如分析方法之數據流圖、分析工具之UML語言、測試方法之黑盒測試、白盒測試等方面,我們會根據實際的技術發展作適當的調整,以便跟上新技術發展和市場需求。

4教學方法和手段

軟件工程課程的教學難度大,要講好則需要下很大的功夫。

4.1軟件工程第一堂課

課程定位:軟件工程是計算機學科中一個年輕并且充滿活力的研究領域。20世紀60年代末期以來,為克服“軟件危機”,人們在這一領域做了大量工作,逐漸形成了系統的軟件開發理論、技術和方法,它們在軟件開發實踐中發揮了重要作用。今天,現代科學技術將人類帶入信息社會,計算機軟件扮演著十分重要的角色,軟件工程已成為信息社會高技術競爭的關鍵領域之一,而軟件工程已成為高等學校計算機教育計劃中的一門核心課程。

突出課程的核心地位,從“工程”角度去引導學生對本課程的認識;從“就業”角度去闡述本課程的重要性;從“大型軟件”開發的興趣來看本課程[3-4]。

4.2軟件工程的實踐

軟件工程實踐是很重要的環節,理論結合實際才能讓學生真正體會課程的魅力。在數據庫課程設計這個環節,我們要求學生應用軟件工程的知識,盡量用工程化的思想來指導自己的設計。

4.3軟件工程的案例

從實際出發,用軟件開發的實際例子進行講解,讓學生體會大型軟件開發的過程、方法、手段和控制。

從微軟、IBM、用友等知名軟件公司的軟件開發看軟件工程的開展。

從學生以前的計算機試驗看軟件的開發,并進行比較,從中看到弱點和不足。

4.4軟件工程和項目管理

引進國外項目管理的概念,從別的項目管理到軟件工程的項目管理。將兩者進行比較,講清不同點和相同點,讓學生受到啟發。突出項目管理的重要性,軟件開發同樣需要項目管理。從成本、風險、利益、控制角度看軟件工程[5]。

4.5軟件工程和畢業設計

從學生畢業前的畢業設計環節看軟件工程的重要性。“畢業設計”不是一個小的計算機試驗,而是一次對學生四年學習的全面考核,而軟件工程正是可以利用的知識。

5實踐安排與不足

為了培養學生工程概念,也是鑒于軟件工程課程實踐性強的特點。我們在2003年制定軟件工程課程教學大綱時,特將該課程的實踐環節與數據庫課程設計相結合。本著在實踐中體會、在實踐中落實的原則,我們要求學生在多人合作開發數據庫應用系統的課程設計中,運用軟件工程學到的軟件項目管理方法和軟件設計與實現技術,并撰寫必要的文檔,以便使開發軟件有較好的、完整的技術檔案,并使其不斷升級換代。另外,從各高校的情況看,實踐環節非常重要,它需要實踐環節的輔助教學。

6教學實施情況

開設課程實驗是一個探索的過程,我們在反復摸索,以便增長學生的工程項目開發經驗。我們曾要求1999級、2000級的學生將軟件工程課程學習作為一個項目來管理,要求學生寫課程學習日志,記錄每周投入課程學習的具體時間、當時設計的目標、完成情況等。為了彌補學生缺乏項目開發經驗的缺陷,我們也開展課后讀書報告活動,即提供10~20個與畢業設計有關文檔或指定若干軟件工程發展的技術方向,讓學生分組閱讀文檔或查閱并閱讀有關文獻,寫出項目評價及專題讀書報告(參見附錄中當時讀書報告分組評分記錄)。但這也帶來一些負面影響,即學生越來越依賴計算機,讀書報告變成復制和粘貼文本,而不是認真閱讀,預設的訓練目的無法達成,因此,我們隨后取消了這一做法。

99級教學中的軟件工程實踐時間設計為6小時,這主要是考慮學生在同一個學期中還有數據庫課程設計30學時,不可能同時做兩項大實驗。因此,我們嘗試從99級開始,在數據庫課程設計中加入軟件工程實踐內容和要求,如需求報告完善、軟件質量評估、軟件測試具體檢驗等,并在課程設計答辯中設立軟件工程相關問題的回答。到2003年,教學大綱正式提出兩課實驗合并。

在此,我們還有兩個希望:(1)加大軟件工程課程的課時(目前是30課時的教學,沒有試驗課時),同時開設試驗環節,針對軟件工程開設一個類似數據庫課程設計的環節,加強學生動手能力的培養。(2)讓學生走出去(政府或企業),撰寫調查單位的軟件實施方案。

7結語

軟件工程蓬勃發展,學院的教學目標是培養服務于黨政機關機要事業的計算機應用型專業人才。在課程教學中不斷緊跟技術發展,緊緊抓住學院培養目標而設立課程教學目標,選好教學內容是個艱巨的任務,任重道遠,它需要我們長期的努力。

參考文獻:

[1] 孫家廣,劉強. 軟件工程理論、方法與實踐[M]. 北京:高等教育出版社,2006.

[2] 鐘珞. 軟件工程[M]. 北京:清華大學出版社,2005.

[3] 胡飛,武君勝,杜承烈,等. 軟件工程基礎[M]. 北京:高等教育出版社,2008.

[4] 錢樂秋,趙文耘,牛軍鈺.軟件工程[M]. 北京:清華大學出版社,2007.

[5] Carlo Ghezzi. 軟件工程基礎[M]. 施平安,譯. 2版. 北京:清華大學出版社,2002.

Reflection on Software Engineering Course in BESTI

JIANG Xiang-gang, ZHANG Xiao-li

(Beijing Electronic and Scientific Institute Applied Software Team, Beijing 100070, China)