白文秀,孫 慧
(1.吉林師范大學計算機科學與技術學院,吉林四平 136000;
基于實際案例的.NET與數據庫相結合的教學實踐分析
白文秀1,孫 慧2
(1.吉林師范大學計算機科學與技術學院,吉林四平 136000;
2.長春師范大學圖書館,吉林長春 130032)
在計算機應用技術專業課程中,.NET課程是學生學習開發應用程序項目的主要課程之一,在實際項目實現過程中需要與數據庫技術相結合。為了讓學生能夠加強對.NET知識及應用的理解,本文提出具體教學案例,將教學與實踐相結合,從案例設計需求分析、數據庫選擇與設計、案例功能設計以及最終實現等幾個方面進行教學分析,為.NET課程教學提供可行性意見。
.NET;數據庫;教學實踐;教學案例
.NET和數據庫課程本身是兩門應用型課程,學生的學習目的不僅在于書本知識的攝取,更在于實際項目中的應用。案例教學實踐方法打破了傳統的課堂教學模式,從實際生活出發,以生動、靈活的實際需求來促使學生進行思考、學習,逐步理解知識的內涵,加深他們對專業課程重要性的認識,提高學生的實際應用能力,有效避免了學生的卷面考試成績優異而實際動手能力差的矛盾現象。本文所選為小型項目,項目比較容易理解,且相關知識又不失全面性。通過對此項目案例的需求分析設計、數據庫設計、功能設計以及最后的團隊合作實現設計等幾個方面進行研究,以期全面提高學生的實踐能力。
本文目標項目為執法監察支隊查處案件管理軟件,此軟件用來管理查處案件相關信息,執法監察支隊查處案件信息表如下圖1所示。
圖1 執法監察支隊查處案件信息表
客戶需求如下:(1)案件信息的查詢、增加、修改、刪除管理功能。(2)案件信息的導入Excel和導出Excel功能。(3)案件信息統計功能。(4)案件信息提醒功能,提醒功能包括兩種:一種是案件決定書送達提醒(在立案日期幾個月后的某一天開始提醒),另一種是申請執行日期提醒(在決定書送達日期幾個月后的某一天開始提醒),且提醒功能要求每天實時提醒,只要有待處理案件,每間隔60分鐘提醒一次。(5)程序功能操作容易,方便維護;安裝、卸載方便。
通過對以上表格和需求功能的介紹,使學生清楚項目的一般性功能,考慮用戶需求,在腦海中對項目形成一個整體印象,鍛煉并鼓勵學生獨立進行數據庫設計和功能詳細設計。
目前,在本科教學階段,學生所使用的數據庫主要有以下幾種:SQL Server、Oracle、MySql、Sqlite。對幾種數據庫進行對比分析,結果如表1所示。
表1 幾種數據庫對比分析
本項目程序數據信息量比較少,主要信息表只有1個,而且程序要求易維護且在任何系統下都可以運行。根據幾種數據庫比較,選擇使用Sqlite數據庫,既減少了數據庫安裝的麻煩,又避免了數據庫與程序之間連接信息的維護,節省空間。
將學生分成5組,分別進行各部分的詳細設計。第一組學生完成數據庫表設計;第二組學生完成Excel和數據庫之間導入導出設計;第三組學生完成案件信息的編輯設計(錄入、查詢、修改、刪除和統計);第四組學生完成提醒功能設計;第五組學生完成程序的一鍵式安裝與卸載設計。要求參與詳細設計的每組學生要互相溝通與合作。
3.1 數據庫表設計
關于數據庫的設計,經過討論建立一個數據庫,命名為CaseRemindDataBase。數據庫中建兩個表,一個是CaseRegisterTable,用于存儲案件登記信息;另一個表為CaseAlarmTable,用于存儲案件提醒設置信息。
在數據庫詳細設計部分,學生學習到數據庫的使用方式,學會如何建庫、建表,以及對數據庫進行增刪改查、備份等操作。另外,學生還學會如何對數據庫存儲字段類型進行鞏固,尤其是,經常使用的INTEGER、INT、DOUBLE、VARCHAR、NVARCHAR、DATE、DATETIME、MONEY等數據類型。此外也促進學生去學習主鍵、外鍵、觸發器、索引等數據庫知識。
3.2 程序功能詳細設計
3.2.1 Excel與數據庫交互
此部分主要設計3個功能,分別為新建數據庫、將數據庫數據導出到Excel和將Excel數據導入到數據庫中,其中新建數據庫功能主要是提供新的Sqlite數據庫文件,在創建數據庫的同時創建CaseRegisterTable和CaseAlarmTable兩個表。數據庫與Excel之前的數據導入導出操作主要涉及OLEDB相關技術。
3.2.2 案件信息查詢、編輯與統計
案件信息的編輯主要是對案件信息記錄的添加、修改和刪除。這些操作均涉及CaseRegisterTable表中的所有字段數據,而查詢功能和統計功能比較類似,前者是根據某些字段數據模糊查詢獲取結果,后者則是將獲取的結果以統計形式顯示。
3.2.3 案件提醒功能
案件提醒功能為本程序的核心管理內容,對于決定書送達提醒和案件申請執行日期的提醒都要求提醒案件的準確性和實時性。因此需要在準確的時間進行查詢,主要觸發時間有開機自動運行程序觸發提醒、程序運行后每隔60分鐘提醒一次、如果無需提醒案件不進行提醒、可以通過設置修改今天一直提醒和今天不再提醒。
3.2.4 一鍵式安裝與卸載
一鍵式安裝與卸載考驗的是學生對應用程序和操作系統的了解程度,讓學生掌握:(1)需要設計好哪些程序是確保項目正常運行的必要條件;(2)卸載程序時需要弄清楚哪些數據和安裝程序必須清除。并在此基礎上設計DOS命令,使用DOS命令修改注冊表等操作。
項目詳細設計部分完畢后,學生對整體程序有了初步了解。每組派出一名代表講述本組實現部分模塊的內容及設計思想,使全體同學對整體程序有了詳細的掌握,這時教師再有針對性地提出可行性意見并對不足之處進行補充。
4.1 主頁面
主頁面如圖2所示
圖2 主頁面
4.2 .NET連接Sqlite數據庫
string connStr =
SQLiteConnectionString.GetConnectionString(System.IO.Directory.GetCurrentDirectory() +"CaseRemindDataBase.db");
SQLiteConnection conn = new SQLiteConnection(connStr)
4.3 .NET操作EXCEL連接
tring fileType = System.IO.Path.GetExtension(fileUrl);
string cmdText;
if (fileType.Equals(".xls"))
{
cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;IMEX=1;";
}
else
{
cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties=,Excel 12.0; HDR=Yes; IMEX=1’";
}
OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));
4.4 提醒程序提醒時間間隔設置
timer.Enabled = true;
timer.Interval = GetAlarmEveryTime() * 60000;//執行間隔時間,單位為毫秒
timer.Start();
timer.SynchronizingObject = this;
timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);
通過此次實際案例教學可以發現,學生在學習編程語言和數據庫知識時存在以下問題:(1)對數據庫原理基礎知識掌握牢固,但是對數據庫操作不熟悉,對實際應用中的主鍵、外鍵、索引等了解不夠透徹。(2)通過SQL語句對數據庫進行增、刪、改、查等活動比較了解,但對如何使用.NET編程語言,連接數據庫并操作數據庫比較模糊。(3)因為案件提醒邏輯稍復雜模塊,初次設計不能較好地安排程序邏輯關系。(4)在數據庫與Excel導入導出實現過程中遇到許多技術難點,獨自調試程序的能力有待提高。(5)對程序的一鍵式安裝與卸載的設計毫無頭緒,需要指導教師的詳細引導。
通過本次實際案例教學發現,學生的實際操作能力有待提高。在教學過程中應提出更多的有針對性的教學案例,使學生在實踐中掌握理論知識,加強學生對應用技術的理解,為其今后走上工作崗位打下堅實的基礎。
[1]李偉.SQLite結合.net開發多媒體物流信息系統教學網站[J].科學與技術,2014(2):51.
[2]王穎,王亞艷.基于案例的ASP_NET程序設計教學實踐[J].大學教育,2013(2):33-34.
[3]袁芳.教學做一體化ASP_NET課程教學改革與實踐[J].計算機教育,2014,35(11):126-128.
[4]張棟冰.項目驅動教學法在ASP_NET課程中的實踐[J].電腦知識與技術,2015,11(11):146-147.
[5]胡華.小型超市管理系統的設計與實現[D].大連:大連理工大學,2009.
[6]劉杰.投資項目經濟評價系統的設計與開發[D].北京:華北電力大學,2007.
2015-06-05
白文秀(1976-),男,吉林四平人,吉林師范大學計算機科學與技術學院講師,碩士,從事軟件工程研究。
TP311;G642
A
2095-7602(2015)12-0094-04