学生上机考勤系统毕业论文.docx
《学生上机考勤系统毕业论文.docx》由会员分享,可在线阅读,更多相关《学生上机考勤系统毕业论文.docx(52页珍藏版)》请在冰豆网上搜索。
学生上机考勤系统毕业论文
理学院
课程实训报告
(2014/2015学年第2学期)
课程名称:
数据库应用系统开发实训
课程代码:
106087639
实训题目:
上机考勤管理系统任务书
年级/专业/班:
2013级信息与计算科学2班
学生姓名:
冯金慧
学 号:
31201230902209
实训成绩:
学习态度(20)
技术水平与实际能力(20)
答辩(10)
交流表达与协作(10)
报告(计算书、图纸、分析报告)撰写质量(40)
总分(100)
指导教师签名:
年月日
数据库应用系统开发实训
任务书
学院名称:
理学院课程代码:
____106087639____
专业:
信科年级:
2013
一、实训题目
上机考勤管理系统
二、主要内容
为教师开发一个上机考勤管理系统,方便教师的教学管理工作。
1.数据库设计:
参考相关学校的教学管理规范,设计出数据库和表结构(如管理员表、教师表、课程表、学生表、上机时间安排表、考勤表等),录入部分初始数据,并测试字段有效性、表间约束等,保证数据库设计正确。
2.界面风格设计:
确定系统风格,尽量格调一致。
3.用户管理:
本系统用户分为系统管理员、教师、学生,不同级别用户在登陆后的操作权限不同。
管理员用户能管理教师,教师能管理学生用户信息,并能增加、删除课程信息,对学生进行考勤登记和进行相应统计及数据导出。
4.具体功能:
(1)管理员管理:
增加、修改、删除
(2)教师管理:
增加、修改、删除
(3)课程管理:
增加、修改、删除
(4)学期管理
(5)上机时间安排管理:
安排每个老师自己的课程的当前学期的上机时间
(6)考勤管理:
a)上机签到管理
b)下机注销管理
c)换机管理
●特别注意同一台计算机不能两人签到,以及下机自动处理,并处理重复签到情况
(7)查询管理:
a)教师查询管理:
提供多种途径查询学生考勤
b)学生查询管理:
查询自己的考勤
(8)统计管理:
统计考勤产生平时成绩登记表
三、具体要求及提交的材料
建议采用B/S模式实现功能,也可以采用C/S模式,程序必须上机调试通过,并写出设计的报告。
设计报告格式:
1、设计目的2、总体设计(程序设计组成框图、流程图)3、数据库设计4、详细设计5、调试与测试:
调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施6、核心部分的源程序清单和执行结果(清单中应有足够的注释)
上机设计报告纸质文档和电子文档各一份,调试通过后的软件一套。
(严禁抄袭和代做,一经发现,重修论处)
目录
引言4
1.需求分析4
1.1系统概述4
1.2功能需求分析5
1.3运行环境5
1.4测试数据5
2.概要设计7
2.1设计思路7
2.2模块功能介绍7
2.3模块结构9
2.4流程图9
2.5功能设计分工10
3.详细设计13
3.1登陆界面设计13
3.2学生界面设计15
3.3辅导员界面设计21
3.4管理员界面设计26
4.测试33
4.1学生调试33
4.2教师调试34
4.3管理员调试34
学习的心得与体会35
致谢35
参考文献38
引言
信息技术的迅猛发展,已经引起社会的深刻变革,信息时代的到来,迫切要求我们的学校管理进行变革。
为了适应现在现代化的教学,也为了方便教师们的使用,因此,信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学。
学生上机考勤管理系统是一个vs系统,它的出现,改变了教师手工登记学生上机考勤信息的管理方式,管理员及教师使用计算机对学生考勤信息进行管理,具有着手工无法比拟的优点,例如:
考勤统计查询方便快捷,数据存储量大,可靠性高等,便于教师掌握学生的出勤情况。
学生考勤系统以方便、快捷等优点冲击着传统的考勤方式。
也正是因为这些优点,使它更符合现代社会人们快节奏、高效率的生活方式
1需求分析
为教师开发一个上机考勤管理系统,方便教师的教学管理工作。
1、数据库设计:
参考相关学校的教学管理规范,设计出数据库和表结构(如管理员表、教师表、课程表、学生表、上机时间安排表、考勤表等),录入部分初始数据,并测试字段有效性、表间约束等,保证数据库设计正确。
2、界面风格设计:
确定系统风格,尽量格调一致。
3、用户管理:
本系统用户分为系统管理员、教师、学生,不同级别用户在登陆后的操作权限不同。
管理员用户能管理教师,教师能管理学生用户信息,并能增加、删除课程信息,对学生进行考勤登记和进行相应统计及数据导出。
4、具体功能:
a)管理员管理:
增加、修改、删除
b)教师管理:
增加、修改、删除
c)课程管理:
增加、修改、删除
d)学期管理
e)上机时间安排管理:
安排每个老师自己的课程的当前学期的上机时间
f)考勤管理:
1.上机签到管理
2.下机注销管理
3.换机管理
ii.特别注意同一台计算机不能两人签到,以及下机自动处理,并处理重复签到情况
g)查询管理:
1.教师查询管理:
提供多种途径查询学生考勤
2.学生查询管理:
查询自己的考勤
h)统计管理:
统计考勤产生平时成绩登记表
1.1系统概述
本系统主要有四个界面:
登陆界面,学生界面,教师界面界面,管理员界面。
首先要通过登陆,才能浏览系统信息,若非本学院的人,则不可以浏览,只能注册,选择不同的权限进行注册。
若果是学生,登陆后可以查看、修改个人信息,可以进行上下机换机签到,也可以查看考勤情况、修改个人的密码,查看学期安排、上机时间、缺旷考核情况、平时成绩统计。
如果是教师,登陆后可以查看、修改个人信息,可以查看、编辑学生的基本信息(学生个人信息,上机时间信息),教师也可以修改学生的考勤信息、缺旷考核信息,查看专业信息、查看和编辑自己的上机时间、上课安排、对学生的平时成绩进行统计、将成绩输出打印成报表、学期管理。
如果是管理员,登陆后可以查看、修改个人信息,可以查看、编辑学生的基本信息(学生个人信息,学生家庭信息),管理员也可以增删查改教师的基本资料、增加教师、学生的考勤信息、缺旷考核信息、查看专业信息、教师的上机时间、上课安排、对学生的平时成绩进行统计、将成绩输出打印成报表、进行学期管理。
1.2功能需求分析
1.2.1.登陆模块
用户名,密码,身份、权限。
1.2.2.学生模块
个人信息,编辑、查看与修改;考勤信息,查看;上机时间安排,查看;上课安排,查看;学期管理,查看;上机考勤详细,查看;平时成绩统计,查看;上下机签到,操作,查看。
1.2.3.辅导员模块
个人信息,编辑,查看与修改;学生信息,增删查改;学生出勤信息查看与编辑、上机时间安排信息,查看与编辑,增加;学生平时成绩统计信息,查看与编辑。
1.2.4.管理员模块
个人信息,查看与修改;学生、辅导员信息增加、查询、修改、删除等,学期管理信息的查询与修改,上机时间安排的增加、删除、查看、修改。
1.3运行环境
SQLServer2008R2,visualstudio2010
1.4测试数据
学生调试
学生登陆界面:
学生修改自己信息:
学生上机签到:
学生查看自己信息详情:
学生查看考勤信息:
学生查看课程信息:
学生查看考勤信息:
学生查看平时成绩统计信息:
教师调试
教师添加新学生:
教师添加新课程:
教师添加新上机安排:
教师查看平时成绩统计和将成绩打印报表:
管理员调试
编辑自己的资料:
添加新教师:
添加新类别查询:
学期管理:
2概要设计
2.1设计思路
本文针对学生上机考勤信息系统,建立了对学生信息的基本管理的解决方案,系统基于B/S模式,采用visualstudio2010,SQLserver2008R2作为主要开发的工具,使用c#.net对SQLServer数据库的基本操作。
本系统主要是由三个部分组成:
学生部分,教师部分,教师部分。
系统对分别对学生,教师,管理员不同的操作特点,做出需求分析,而且根据各个操作功能的实现,完成了三大部分的模块的划分,设计出数据库。
2.2模块功能介绍
2.2.1登录功能
(1)学生登陆
操作描述:
进入到登录界面,学生用自己的学号,通过初始密码来登录上机考勤系统。
涉及数据:
学生的学号,初始密码。
(2)教师登陆
操作描述:
教师进入到登录页面,用自己的教师编号,通过初始密码来登录上机考勤系统。
涉及数据:
教师编号,初始密码。
(3)管理员登陆
操作描述:
管理员进入到登录页面,用自己的用户名,通过初始密码来登录学生信息管理系统。
涉及数据:
用户名,初始密码。
2.2.2输入功能
(1)学生信息输入
操作描述:
进入上机考勤系统后,学生需进行相应的数据录入。
涉及数据:
学号,姓名,年龄,系别,性别,年级,辅导员编号,专业,籍贯,身份证号码,团员否,等等….
(2)教师信息输入
操作描述:
进入信息管理系统后,教师需进行相应的数据录入。
涉及数据:
教师编号,姓名,初始密码,性别,系别,电话等等….
(3)管理员信息输入
操作描述:
进入信息管理系统后,管理员需进行相应的数据录入。
涉及数据:
用户名,姓名,联系电话。
2.2.3数据查询功能
(1)教师查询
操作描述:
辅导员可以按照学生序号,签到序号查询,课程号查询。
涉及数据:
学生序号,签到序号。
(2)管理员查询
操作描述:
管理员可以按照学生学号,签到序号,教师编号查询,课程号。
涉及数据:
学生学号,专业编号,教师编号。
2.2.4数据删除,修改功能
(1)学生
操作描述:
学生可以对自己的一些基本情况进行修改。
涉及数据:
学号,姓名,年龄,系别,性别,年级,专业,籍贯,身份证号码,团员否,等等….
(2)教师
操作描述:
教师可以对自己的一些基本信息进行修改,也可对学生的一些情况进行数据修改,也可以增加学生,增加课程,增加新的上机时间安排,查询考勤,查看平时成绩,对平时成绩进行统计等。
涉及数据:
教师编号,姓名,系别,专业,电话等等….
(3)管理员
操作描述:
管理员可以对自己的一些基本信息进行修改,也可对学生、教师的一些情况进行数据修改,或者删除;管理员也可以对课程信息。
考勤信息、平时成绩统计,签到管理等进行数据修改或者删除。
涉及数据:
管理员用户名,姓名,联系电话,等等….
2.3模块结构
1)登陆模块
用户名,密码,权限。
2)学生模块
个人信息,查看与修改;课程信息信息,查看与修改;查看上机安排信息;缺旷信息,平时成绩统计信息。
3)辅导员模块
个人信息,查看与修改;学生信息;学生签到信息、考勤信息,查看与修改;专业信息,课程信息,学期安排,上机时间安排,平时成绩统计,学期管理查看与编辑。
4)管理员模块
个人信息,查看与修改;学生、教师信息查询、修改、删除,签到信息、考勤统计信息、学期管理、上机安排的查询与修改,。
2.4流程图
学生上机考勤系统
学
生
教师
管理员
个人信息
课程信息
平时成绩统计信息
个人信息
签到信息
考勤信息
个人信息
学生信息
学生信息
学生信息
考勤信息
图2.1系统设计图
2.5功能设计分工
a)数据库名称及描述
1学生表:
其中包含一些学生的基本情况。
2教师表:
包含教师的基本情况。
3课程表:
包括课程的相关信息。
4上机时间安排表:
包含上级的详细时间地点情况。
5签到表:
记录学生的出勤情况。
6成绩表:
统计学生平时成绩情况。
7管理员:
包含管理员基本信息。
8类别表:
记录对要查询的内容分类名
表1.学生表(描述:
其中包含一些学生的基本情况)
字段名
数据类型
长度
是否允许空
默认值
备注(主外键、字段说明、值域)
序号
bigyint
否
无
学号
Nchar(6)
6
否
无
主键,长度不超过6个字符
密码
Nchar(6)
6
否
111111
长度不多于6个字符
姓名
Nchar(6)
6
否
无
长度不多于6个字符
性别
Nchar
(1)
1
否
男
长度不多于6、1个字符
出生日期
smalldatetime
否
无
籍贯
Nchar(25)
16
是
无
长度不多于25个字符
身份证号码
Nchar(18)
18
是
无
长度不多于18个字符
专业名称
Nchar(10)
10
是
无
长度不多于10个字符
团员否
Nchar
(2)
2
是
无
长度不多于2个字符
身高
Numeric(3,2)
是
无
权限
varchar
12
是
无
籍贯
Nchar
(1)
1
是
无
长度不多于1个字符
权限
Nchar
(1)
1
否
3
长度不多于1个字符
表2:
教师表(描述:
包含教师的基本情况)
字段名
数据类型
长度
是否允许空
默认值
备注(主外键、字段说明、值域)
教师编号
Nchar(6)
6
否
无
主键,长度不超过6个字符
姓名
Nchar(6)
6
否
无
长度不多于6个字符
密码
Nchar(6)
6
否
111111
长度不大于6个字符
专业
Nchar(10)
10
是
无
长度不多于10个字符
联系方式
Nchar(11)
11
是
无
长度不多于611个字符
权限
Nchar
(1)
否
1
表3.管理员表(描述:
包括专业的相关信息)
字段名
数据类型
长度
是否允许空
默认值
备注(主外键、字段说明、值域)
用户名
Nchar(6)
6
否
无
主键,长度不超过6个字符
姓名
Nchar(6)
6
否
无
长度不大于6个字符
密码
Nchar(6)
6
是
无
长度不大于6个字符
联系方式
Nchar(11)
11
是
无
长度不大于11个字符
权限
Nchar
(1)
1
否
1
长度不大于1个字符
表4课程表(包括课程的相关信息)
字段名
数据类型
长度
是否允许空
默认值
备注(主外键、字段说明、值域)
课程号
Nchar(6)
6
否
无
主键长度不超过6个字符
课程名称
Nchar(10)
10
否
无
长度不大于10个字符
学时
Nchar(4)
4
是
无
长度不大于4个字符
开课学期
Nchar(10)
10
是
无
长度不大于10个字符
学分
Int
否
无
教师编号
Nchar(6)
6
否
无
长度不大于6个字符
表5签到表(包含签到的详细信息)
字段名
数据类型
长度
是否允许空
默认值
备注(主外键、字段说明、值域)
序号
tinyint
否
无
主键
学号
Nchar(6)
6
否
无
长度不超过6个字符
上机签到
smalldatetime
是
无
下机签到
smalldatetime
是
无
换机签到
smalldatetime
是
无
备注
Nchar(10)
10
是
无
长度不超过10个字符
课程号
Nchar(3)
3
否
无
长度不超过3个字符
成绩记录
tinyint
是
无
IP地址
Nchar(40)
40
是
无
长度不超过40个字符
表6上机时间安排表(包含上机时间安排的详细情况)
字段名
数据类型
长度
是否允许空
默认值
备注(主外键、字段说明、值域)
序号
tinyint
否
无
主键
教师编号
Nchar(6)
6
否
无
长度不超过6个字符
课程号
Nchar(3)
3
否
无
长度不超过3个字符
机房
Nchar(10)
10
否
无
长度不超过10个字符
上机周数
tinyint
否
无
上课时长
tinyint
否
无
上课时间
Ncahr(10)
10
否
无
长度不超过10个字符
表7成绩表(包含平时成绩统计信息)
字段名
数据类型
长度
是否允许空
默认值
备注(主外键、字段说明、值域)
学号
Nchar(6)
6
是
无
主键长度不超过6个字符
课程号
Nchar(3)
3
是
无
主键长度不超过3个字符
成绩
tinyint
是
无
表8类别表(包含类别的详细信息)
字段名
数据类型
长度
是否允许空
默认值
备注(主外键、字段说明、值域)
类别名
Nchar(10)
10
否
无
主键长度不超过10个字符
id
Ncahr
(1)
是
无
3 详细设计
3.1登陆界面设计
图3.1登陆界面
系统设置登陆界面为起始页面,其中包括一个table,在这个table里面含有label,label2,label3,textbox1,textbox2,radiobutton1,radiobutton2,radiobutton3,button1,button2.
用户登陆时,在文本框中t1中输入用户名号码,在t2中输入密码,再根据不同的权限即session,点击不同的radiobutton,进入不同的页面。
如果输入出错会有信息提示;或者点击错了权限,也会出错。
当用户输错时,可以点击重置按钮,就会清空文本框中的信息。
protectedvoidButton1_Click1(objectsender,EventArgse)
{
stringyhm=TextBox1.Text.Trim();
stringmm=TextBox2.Text.Trim();
inti=0,q=0,p=0;
stringsql="";
stringsql1="select*from学生表where学号='"+yhm+"'";
stringsql2="select*from管理员where用户名='"+yhm+"'";
stringsql3="select*from教师表where教师编号='"+yhm+"'";
if(RadioButton1.Checked==true)
{
sql=sql2;i=2;q=4;p=1;//i代表密码的列数,n代表权限的列数,q代表权限的列数,p代表姓名的列数
}
if(RadioButton2.Checked==true)
{sql=sql3;i=1;q=5;p=3;}
if(RadioButton3.Checked==true)
{sql=sql1;i=2;q=11;p=3;}
SqlDataReadermyrd=newClass1().datareader(sql);
if(myrd.Read())//取得一行,表示用户名存在的
{
if(myrd[i].ToString().Trim()==mm)//表示登陆成功
{
//先取出成功登陆用户的权限,以备下级程序中使用
Session["权限"]=myrd[q].ToString().Trim();
Session["姓名"]=yhm;
Session["密码"]=myrd[i].ToString().Trim();
Session["用户名"]=myrd[p].ToString().Trim();
Response.Redirect("iframe.aspx");
}
else//用户名存在,但密码错误
Label5.Text="密码错误";
Label5.Visible=true;
}
else//表示上面的myrd读出的空值无数据
Label5.Text="用户名不存在";
Label5.Visible=true;
}}
protectedvoidButton2_Click(objectsender,EventArgse)
{
Session["权限"]="4";
Session["用户名"]="游客";
Response.Redirect("iframe.aspx");
}
3.2学生页面设计
进入学生页面,其中有一个HTML-table,2个table,iframe1。
通过登陆界面传过来的session,学生可以查看个人信息或者完善,查看考勤信息或者成绩统计,同时还可以查看自己课程安排,上机时间安排,这些信息都显示在iframe里面,同学们还可以进行上下机换机签到。
图3.3学生主界面
主要代码:
学生修改代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
stringt;
stringyhm=(Request["id"].ToString());
stringsql="select*from学生表where学号='"+yhm+"'";
SqlDataReadermyrd=newClass1().datareader(sql);
if(myrd.Read())
{
TextBox1.Text=yhm;
TextBox2.Text=myrd[2].ToString();
TextBox3.Text=myrd[3].ToString();
if(myrd[4].ToString().Trim()=="男")
RadioButton1.Checked=true;
else
RadioButton2.Checked=true;
t=myrd[5].ToString().Trim();
DateTimedt=DateTime.Parse(t);
TextBox4.Text=dt.Year.ToString();
TextBox5.Text=dt.Month.ToString();
TextBox6.Text=dt.Day.ToString();
TextBox7.Text=myrd[6].ToString();
TextBox8.Text=m