logo资料库

射频识别课程设计报告.doc

第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
资料共25页,剩余部分请下载后查看
1 课题综述
1.1 课题来源
1.2 课题意义
1.3 预期目标
1.4 面对的问题
1.5 需解决的关键技术
2 系统分析
2.1 基础知识
2.2 基本思路及算法
2.3 功能模块框图
3 总体方案与设计
3.1 总体需求分析
3.2 数据库设计
3.3 软件设计
3.4 硬件连接图
3.5 系统流程图
4 程序调试
4.1 调试过程及步骤
4.2 调试中出现的问题及解决方法
5 运行与测试
5.1 登陆模块
5.2 学生模块
5.3 教师模块
5.4 管理员模块
淮 阴 工 学 院 射频识别技术应用实习报告 选题名称: 系(院): 专 班 姓 业: 级: 名: 指导教师: 基于 RFID 的学生考勤系统 计算机工程学院 计算机科学与技术(物联网方向) 物联网 1091 王 xx 学 号: xxxxxxxxxxx 刘 x 学年学期: 2011 ~ 2012 学年 第 2 学期 2011 年 1 月 11 日
课题 名称 设计 目的 实验 环境 任务 要求 设计任务书 基于 RFID 的学生考勤系统 1. 熟练使用 ADO.NET 进行数据库操作; 2. 熟练掌握 C#窗口设计; 3. 掌握 RF_03TA 模块的通信; 4. 掌握 C#串口通信; 5. 提高查阅资料的能力和撰写论文报告的能力; 6. 提高分析问题、解决问题的能力。 1. 微型电子计算机(PC); 2. 安装 Windows XP 或 WIN7 操作系统; 3. 安装 Microsoft Visual Studio 2010、SQL Server 2005 4. RF-03TA 模块 1. 查阅有关资料; 2. 使用 SQL SERVER 2005 创建数据库 3. 使用 C#窗体实现操作界面; 4. 通过串口进行数据传送; 5. 编程、调试; 6. 撰写 2000 字的实践报告,并附电路原理图、软件流程图以及软件。 工作进度计划 序号 起止日期 工 作 内 容 2011.12.20~2011.12.22 需求分析、建立数据库、划分模块、登陆模块 设计 2011.12.23~2011.12.26 设计 C#前台窗体,编写后台程序 2011.12.27~2012.1.5 软件整合、测试、功能完善 2012.1.6~2012.1.6 编写报告 1 2 3 4 指导教师(签章):
2012 年 1 月 8 日 摘要: 学生考勤对加强教学管理,促进教学改革有着非常重要的意义。目前学生考 勤管理都是以任课老师上课点名,记录学生上课情况。这样学生对自己的出勤情 况没有整体的统计信息。教师对学生的出勤情况不容易查看。因此一个好的学生 考勤系统可以在一定程度上解决这些弊端。本设计的主要内容是实现基于 RFID 学生考勤系统的硬件软件结合环境。硬件环境主要是单片机控制的射频读卡器, 该读卡器采用非接触式射频 IC 卡技术与 PC 机连接,通过使用 C#窗体设计的用 户操作软件对读卡器进行控制以实现考勤功能。通过读取 IC 卡号,根据数据库 内存储内容调出相应信息并执行相应考勤信息更新操作。软件大体分为:学生、 教师、管理员三个模块,主要实现考勤及考勤情况的相应查询操作。 关键词:RFID;学生考勤;C#窗体
目录 1 课题综述 ............................................................................................................................ 1 1.1 课题来源..................................................................................................................................1 1.2 课题意义..................................................................................................................................1 1.3 预期目标..................................................................................................................................1 1.4 面对的问题..............................................................................................................................1 1.5 需解决的关键技术..................................................................................................................1 2 系统分析 ............................................................................................................................ 1 2.1 基础知识..................................................................................................................................1 2.2 基本思路及算法......................................................................................................................2 2.3 功能模块框图..........................................................................................................................2 3 总体方案与设计 ................................................................................................................3 3.1 总体需求分析..........................................................................................................................3 3.2 数据库设计..............................................................................................................................3 3.3 软件设计..................................................................................................................................3 3.4 硬件连接图..............................................................................................................................8 3.5 系统流程图..............................................................................................................................9 4 程序调试 ............................................................................................................................ 9 4.1 调试过程及步骤......................................................................................................................9 4.2 调试中出现的问题及解决方法........................................................................................... 10 5 运行与测试 ......................................................................................................................10 5.1 登陆模块................................................................................................................................10 5.2 学生模块................................................................................................................................11 5.3 教师模块................................................................................................................................13 5.4 管理员模块............................................................................................................................16
《射频识别技术课程设计报告》 1 课题综述 1.1 课题来源 本课题来源于刘虎老师。 1.2 课题意义 通过本课题,可以巩固 RFID 知识,并且将 C#程序设计、数据库技术、串 口通信这三种技术融合到一起,提高我们的实践能力。 1.3 预期目标 系统能够实现以学生、教师、管理员三种用户身份登录;三个模块都能够实 现密码修改;学生、教师模块能够实现各自对应的考勤情况查询;教师模块能够 实现学生考勤;管理员模块能够查询教师及学生的密码。 1.4 面对的问题 ①长期没有接触编程语言 ②C#窗体基础较为弱 ③从未接触过串口通信 ④没有数据库需要的信息 1.5 需解决的关键技术 本次课程设计要解决的关键技术有数据库的合理建立,C#窗体间数据的传 送,以及 C#串口通信接受数据。其中数据库和 C#窗体已经学过,只需要将其应 用到实战中去,而 C#串口通信从来没有接触过,因而其成为了关键中的关键。 2 系统分析 2.1 基础知识 本次课程设计涉及的基础知识有 C#窗体设计、C#串口通信、数据库操作、 ADO.NET 等。其中最为关键的是 C#串口通信和 ADO.NET。对于本项目,C#串 口通信只要能够实现接受数据即可。 1
《射频识别技术课程设计报告》 2.2 基本思路及算法 可将系统分为学生、教师、管理员三大模块;教师模块,教师模块可以实现 密码修改,学生考勤,学生考勤情况查询三大功能;学生模块可以进行个人考勤 情况查询和密码修改;管理员模块主要实现用户密码查询功能。 其中考勤功能的实现是将提供的读卡器与计算机串口相连,通过串口通信读 入读卡器得到的卡号,如果符合考勤条件,则将数据库对应的考勤次数加一;考 勤查询功能的实现则是根据数据的内容,显示数据。 模糊查询时,将数据的数据与数据库中的对应数据进行比较,如果该数据包 含于数据库中的对应数据则,将数据库中的数据添加到待选择列表中。 2.3 功能模块框图 登 陆 学 生 教 师 管理员 个 人 考 勤 情 况 查 询 密 码 修 改 学 生 考 勤 情 况 查 询 学 生 考 勤 密 码 修 改 密 码 修 改 用 户 密 码 查 询 图 2-1 功能模块框图 2
《射频识别技术课程设计报告》 3 总体方案与设计 3.1 总体需求分析 系统能够实现以学生、教师、管理员三种用户身份登录后对应的查询考勤情 况、学生考勤、信息维护等功能。 3.2 数据库设计 数据库名称 : studentclock 数据表解释 : administrator(ano,aname,apassword) *管理员(工号、姓名、密码) student(sno,sid, sname,spassword,class,dept) *学生(ID 号、学号、姓名、密码、班级、系院) course(cno,cname,tno,tname,tpassword,ctime) *课程(课程号、课程名、教师工号、教师姓名、教师密码、课时) slotcard(scsno,scno,sctime) *刷卡(刷卡人学号、所上课程号、上课次数) 3.3 软件设计 本系统软件使用 C#编写,界面使用 C#窗体实现,主要代码分析如下: 3.3.1 连接数据库 定义一个类,其中存放连接字符串,这样便于移植到其它的计算机中运行, 该类的代码如下: class DBString { public string dbString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=H:\studentclock\studentclock.mdf;Integ rated Security=True;Connect Timeout=30;User Instance=True"; } 如果要掉用数据库,则需定义一个如下所示数据库连接: DBString dbcon = new DBString(); string conString = dbcon.dbString; SqlConnection studentSqlConnection = new SqlConnection(conString); //获得连接字符串 3.3.2 模糊查询 3
《射频识别技术课程设计报告》 将数据的数据与数据库中的对应数据进行比较,如果该数据包含于数据库中 的对应数据则,将数据库中的数据添加到待选择列表中。其代码如下: DBString dbcon = new DBString(); string conString = dbcon.dbString; using (SqlConnection studentSqlConnection = new //获得连接数据库字符串 SqlConnection(conString)) { studentSqlConnection.Open(); using (SqlCommand cmd = studentSqlConnection.CreateCommand()) { cmd.CommandText = "select * from student"; using (SqlDataReader reader = cmd.ExecuteReader()) { //判断是否有数据的标志 int bz = 0; for (int i = 0; i == 0; ) { if (reader.Read()) //.read是从开始的数据前到最 后,如果没有了,返回Flase reader.GetString(reader.GetOrdinal("sname")); //得到学生姓名 { string dbsname = (dbsname.Contains(textBox7.Text.ToString()))// || dbsname.StartsWith(textBox7.Text.ToString()) || dbsname.EndsWith(textBox7.Text.ToString())) listBox1.Items.Add(dbsname.ToString()); bz = 1; if { } 4 } else { } break; } if (bz == 0) { MessageBox.Show("查无符合数据!"); } } }
分享到:
收藏