宜 宾 学 院
计算机与信息工程学院
《RFID 及互联网应用》
设
计
报
告
指导老师:
阳
万
安
设计题目:
点 名 系 统
班级学号:
16 级 6 班 161106015
姓 名:
阳
宗
德
完成时间: 2019 年 4 月 26 日
成 绩:
目录
1.摘要 ............................................................. 3
2.系统需求分析 ..................................................... 3
1.任务目标与功能需求 ............................................3
1.1 功能需求分析 .............................................3
1.2 业务流程分析 ............................................ 4
1.3 业务流程图 .............................................. 4
2.用例及用例描述 ...............................................5
2.1 考勤管理模块 .............................................5
2.2 学生管理模块 .............................................7
2.3 教师管理模块 .............................................9
2.4 成绩管理模块 ............................................10
3 过程建模 ..................................................... 12
3.1 顶层数据流图 ............................................12
3.2 管理员数据流图 ..........................................13
3.3 教师数据流图 ............................................13
4.运行环境需求 .................................................13
3.系统设计 ........................................................ 14
1.总体设计 .....................................................14
2.数据库设计 ...................................................15
3.RFID 选择 .................................................... 15
1.摘要
目前在当代大学生却存在一个及其普遍的现象——逃课,大学生逃课逐渐蔓
延似乎已经成为一个常见问题,严重影响了高校教学质量。学校为了保证教学质
量让更多的学生在课堂上学到更多的知识,采用了课堂点名的办法来提高出勤率。
目前任课老师课堂点名一般采用逐个对全部学生点名和抽点两种方式。逐个
点名的方式真实的记录和反映所有学生得出勤情况,具有很强的说服力,但是此
方法耗时多,占去了课堂的大部分时间;抽点的方法减少了教师点名的工作量,
节省了大量的点名占有教学时间,不过,做不到按一定比例进行抽点,不能准确
的评价学生的学习过程。
本设计在.NET 框架下,使用 C#语言中的 WinForm 应用窗体程序,利用 RFID
读卡器和标签,在 Visual Studio 2010 中设计和实现了学生课堂点名管理系统。
该系统可以方便地实现学生课堂点名、调取学生信息、登记、修改的操作。
关键词:点名系统;C#;Visual Studio;RFID;
2.系统需求分析
1.任务目标与功能需求
1.1 功能需求分析
该点名系统使用 C#语言编写,采用 RFID 技术,实现教师课堂全部点名、随
机点名功能、提问、保存考勤点名情况,导出平时成绩等功能。系统具体功能包
括:
1)系统主界面:提供系统菜单和图形显示操作功能;
2)学生信息导人:自动根据学校教务处的选课信息按时导入每节课的学生信
息,并把班级名称、学生信息、班级人数显示在主界面中;
3)全部点名:老师在上课前到达教室,站在 PC 前监督学生打卡。每个学生打
卡时显示人像,学籍信息以及历史考勤、平时成绩等信息,便于老师熟悉学生。
打卡时可以实现全部点名和随机点名;
辅以语音点名,便于上课时抽人记录平时成绩,设置自动语音点名时的时间
间隔,自动依次选择导人班级的学生信息,并实现语音播报学生姓名的功能;
4)随机点名:为了节省课堂考勤时间,设置抽取学生个数,随机抽取学生名
单,学生进入教室是按序打卡或上课时按学号从小到大依次自动语音播报;
5)课堂提问:随机抽取提问学生并自动语音提问;
6)保存考勤、提问情况:在点名时记录考勤成绩,提示时记录成绩;
7)学生信息导出:自动更新教务处选课系统中的信息、成绩等。
8)点名方式切换:老师根据点名需求,改变点名方式,做到了系统的灵活、
易用。
9)成绩管理:可以实现对已经记录的学生考勤信息进行查看、修改,增加、
删除学生的成绩信息。
10)考勤管理:学生请假则改变学生的点名状态,学生缺勤则扣除平时分,
学生迟到则扣除相应平时分,学生正常出勤则正常获得平时分。
11)教务处查看点名情况:教务处可以查看各个课程的点名情况,以及统计
各科各个院系的出勤情况。
12)用户管理:用户通过提交用户密码和用户密码进行系统登陆, 系统便会
根据这些登陆资料,辨别出用户的身份;
图 2.1 功能结构图
1.2 业务流程分析
点名工作主要由教师完成,通过设置密码来实现数据的准确性,防止学生篡
改。教师登陆完成后,点击进入点名界面开始点名,根据教师的需要和条件可以
选择不同的点名模式(全部点名和随机点名),以及是否进行二次点名。课堂提
问时,系统提供回答情况的记录功能。点名完成后,可以进行考勤记录的管理,
功能包括信息的修改和统计。当新学期开始时或者学期结束,需要对学生信息进
行更新,包括学生的增加和删除、课程的增加和删除、教师信息的更新。
角色设定分为两种:
(1)教务处管理员:添加教师、学生、班级、课程的信息。
(2)教师:点名操作、点名信息查看。
1.3 业务流程图
系统功能实现流程:打开软件后,需要用户登录。用户在进入系统后,可以
进行操作。
1)教师可以进行学生课堂点名(包括首次点名、二次点名、课堂提问)和
考勤管理,
2)教务处管理员可以进行学生添加、教师添加、班级添加的功能。
图 2.2 系统功能流程图
2.用例及用例描述
用例包括考勤管理模块,学生管理模块,教师管理模块,成绩管理模块。
2.1 考勤管理模块
考勤管理模块包括缺勤、迟到、请假、出勤。
考勤管理模块如图 2.1 所示:
图 2.1 考勤管理模块用例图
表 2.1 学生缺勤
用例名:学生缺勤
主要参与者:教师、学生
简短描述:这个用例描述学生缺勤时是怎样考勤的
触事件:学生未在上课时间段打卡
ID:1 重要级别:高
类型:外部的 时序的
主要输入:
描述
来源
时间段内未打卡 学生
主要执行步骤:
1.教师安排学生将 ID 卡放到读卡区
2.系统通过 ID 卡号与系统匹配
3.未匹配,则记录
目标
后台数据库记录
主要输出:
描述
缺勤
步骤所需信息:
读卡区正常工作
学生已经在系统中注册
班级信息正确
表 2.2 学生迟到
ID:2 重要级别:高
用例名:学生迟到
主要参与者:学生、教师
简短描述:这个用例描述学生迟到时是怎么样考勤的
触事件:学生超过上课小于结束时间
类型:外部的 时序的
主要输入:
描述
来源
时间段内打卡 学生
主要执行步骤:
1.教师安排学生将 ID 卡放到读卡区
2.系统通过 ID 卡号与系统匹配
3.时间段内匹配,则记录
主要输出:
描述
迟到
步骤所需信息:
读卡区正常工作
学生已经在系统中注册
班级信息正确
目标
后台数据库记录
表 2.3 学生请假
ID:3 重要级别:高
用例名:学生请假
主要参与者:学生、教师
简短描述:这个用例描述学生请假时是怎么样考勤的
触事件:老师教请假信息键入系统
类型:外部的 时序的
主要输入:
描述
学生请假
主要执行步骤:
1.教师安排学生将 ID 卡放到读卡区
2.系统通过 ID 卡号与系统匹配
3.时间段内匹配,则记录
4.提交时判断是否请假,并记录
主要输出:
描述
请假
步骤所需信息:
读卡区正常工作
学生已经在系统中注册
班级信息正确
教师已键入学生请假信息
来源
学生
目标
后台数据库记录
表 2.4 学生出勤
用例名:学生出勤
主要参与者:学生、教师
简短描述:这个用例描述学生正常出勤时如何考勤的
触事件:时间点正常打卡
类型:外部的 时序的
ID:4 重要级别:高
主要输入:
描述
来源
时间点正常打卡 学生
主要执行步骤:
1.教师安排学生将 ID 卡放到读卡区
2.系统通过 ID 卡号与系统匹配
3.正常匹配,并记录
目标
主要输出:
描述
学生已出勤 后台数据库记录
步骤所需信息:
读卡区正常工作
学生已经在系统中注册
班级信息正确
2.2 学生管理模块
学生管理模块包括添加学生、删除学生、查看学生、修改学生信息。
学生管理模块如图 2.2 所示:
图 2.2 学生管理模块用例图
表 2.5 添加学生
ID:5 重要级别:高
目标
后台数据库记录
用例名:添加学生
主要参与者:学生、教师、管理员
简短描述:这个用例描述管理员如何添加学生
触事件:数据库不存在该学生
类型:外部的 时序的
主要输入:
描述
学生信息
主要执行步骤:
1.学生提出申请
2.教师进入学生界面,填写相关信息
3. 管理员审核符合添加条件
4.添加成功
来源
学生
主要输出:
描述
学生信息
步骤所需信息:
管理员登入后台
管理员审核无误
学生信息
用例名:删除学生
ID:6 重要级别:高
表 2.6 删除学生
主要参与者:学生、教师、管理员
简短描述:这个用例描述管理员如何删除学生
触事件:学生信息失效
类型:外部的 时序的
主要输入:
描述
学生信息
主要执行步骤:
1.教师提出申请
2.教师进入学生界面,填写相关信息
3. 管理员审核符合删除条件
4.删除成功
来源
学生
目标
主要输出:
描述
学生消息失效 后台数据库情况该记录
步骤所需信息:
管理员登入后台
管理员审核无误
学生信息
表 2.7 查看学生
ID:7 重要级别:高
用例名:查看学生
主要参与者:学生、教师、管理员
简短描述:这个用例描述教师、管理员如何查看学生信息
触事件:查看学生信息
类型:外部的 时序的
主要输入:
描述
查看学生的信息 学生、管理员、教师
主要执行步骤:
来源
目标
详细信息显示
主要输出:
描述
学生信息
步骤所需信息:
查询条件
教师或管理员登入后台
1. 教师、学生、管理员键入查询条件
2. 后台数据库匹配
3. 匹配成功
4.显示详细信息
表 2.8 修改学生
ID:8 重要级别:高
用例名:修改学生
主要参与者:学生、教师、管理员
简短描述:这个用例描述管理员如何修改学生信息
触事件:修改申请提出
类型:外部的 时序的
主要输入:
描述
修改申请
主要执行步骤:
1.学生、教师、管理员提出申请
2.管理员审核
3. 管理员审核符合更正条件
4.信息更正
主要输出:
描述
学生信息
步骤所需信息:
学生信息
管理员进入后台
学生信息无误
来源
学生、教师
目标
后台数据库记录更改