基于实际案例的.NET与数据库相结合的教学实践分析

2015-01-04 11:16白文秀
长春师范大学学报 2015年12期
关键词:程序案件案例

白文秀,孙 慧

(1.吉林师范大学计算机科学与技术学院,吉林四平 136000;

基于实际案例的.NET与数据库相结合的教学实践分析

白文秀1,孙 慧2

(1.吉林师范大学计算机科学与技术学院,吉林四平 136000;

2.长春师范大学图书馆,吉林长春 130032)

在计算机应用技术专业课程中,.NET课程是学生学习开发应用程序项目的主要课程之一,在实际项目实现过程中需要与数据库技术相结合。为了让学生能够加强对.NET知识及应用的理解,本文提出具体教学案例,将教学与实践相结合,从案例设计需求分析、数据库选择与设计、案例功能设计以及最终实现等几个方面进行教学分析,为.NET课程教学提供可行性意见。

.NET;数据库;教学实践;教学案例

.NET和数据库课程本身是两门应用型课程,学生的学习目的不仅在于书本知识的摄取,更在于实际项目中的应用。案例教学实践方法打破了传统的课堂教学模式,从实际生活出发,以生动、灵活的实际需求来促使学生进行思考、学习,逐步理解知识的内涵,加深他们对专业课程重要性的认识,提高学生的实际应用能力,有效避免了学生的卷面考试成绩优异而实际动手能力差的矛盾现象。本文所选为小型项目,项目比较容易理解,且相关知识又不失全面性。通过对此项目案例的需求分析设计、数据库设计、功能设计以及最后的团队合作实现设计等几个方面进行研究,以期全面提高学生的实践能力。

1 项目需求分析设计

本文目标项目为执法监察支队查处案件管理软件,此软件用来管理查处案件相关信息,执法监察支队查处案件信息表如下图1所示。

图1 执法监察支队查处案件信息表

客户需求如下:(1)案件信息的查询、增加、修改、删除管理功能。(2)案件信息的导入Excel和导出Excel功能。(3)案件信息统计功能。(4)案件信息提醒功能,提醒功能包括两种:一种是案件决定书送达提醒(在立案日期几个月后的某一天开始提醒),另一种是申请执行日期提醒(在决定书送达日期几个月后的某一天开始提醒),且提醒功能要求每天实时提醒,只要有待处理案件,每间隔60分钟提醒一次。(5)程序功能操作容易,方便维护;安装、卸载方便。

通过对以上表格和需求功能的介绍,使学生清楚项目的一般性功能,考虑用户需求,在脑海中对项目形成一个整体印象,锻炼并鼓励学生独立进行数据库设计和功能详细设计。

2 数据库的选择与设计

目前,在本科教学阶段,学生所使用的数据库主要有以下几种:SQL Server、Oracle、MySql、Sqlite。对几种数据库进行对比分析,结果如表1所示。

表1 几种数据库对比分析

本项目程序数据信息量比较少,主要信息表只有1个,而且程序要求易维护且在任何系统下都可以运行。根据几种数据库比较,选择使用Sqlite数据库,既减少了数据库安装的麻烦,又避免了数据库与程序之间连接信息的维护,节省空间。

3 项目详细设计

将学生分成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 项目实现

项目详细设计部分完毕后,学生对整体程序有了初步了解。每组派出一名代表讲述本组实现部分模块的内容及设计思想,使全体同学对整体程序有了详细的掌握,这时教师再有针对性地提出可行性意见并对不足之处进行补充。

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);

5 教学实践总结

通过此次实际案例教学可以发现,学生在学习编程语言和数据库知识时存在以下问题:(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

猜你喜欢
程序案件案例
一起放火案件的调查:火灾案件中的“神秘来电”
案例4 奔跑吧,少年!
“左脚丢鞋”案件
随机变量分布及统计案例拔高卷
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
发生在你我身边的那些治超案例
英国与欧盟正式启动“离婚”程序程序
HD Monitor在泉厦高速抛洒物案件中的应用
创卫暗访程序有待改进