学生考勤信息系统毕业论文.docx
《学生考勤信息系统毕业论文.docx》由会员分享,可在线阅读,更多相关《学生考勤信息系统毕业论文.docx(22页珍藏版)》请在冰豆网上搜索。
学生考勤信息系统毕业论文
学生考勤信息系统
一、需求分析
1.1需求描述和系统边界
随着互联网的发展,越来越多的人群利用网络进行工作,学生考勤信息系统以其便捷的方式,清晰明了的数据和学校能够及时掌握学生出勤动态等优势,已被许多高校应用。
学生考勤管理系统是使用计算机对学生出勤状况等信息进行日常的管理,迅速准确地完成各种信息的统计计算和汇总工作。
原始的学生考勤管理内容比较复杂,涉及的人员众多,考勤情况也比较多,通过学生考勤管理系统可以使信息管理工作系统化、规范化、自动化、准确化、模块化、智能化,最大限度的为老师和同学提供方便和提高管理效率。
学生考勤信息系统需求描述:
该系统支持3类用户:
学生、教师、学校管理员。
学生可以查看在校期间所有学期上课出勤的详细信息,如在整个学期请假、旷课、迟到、早退了多少次,以及具体的时间、任课老师姓名、第几节课等详细信息。
任课老师管理学生上课出勤需求,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。
查看所教班级学生整个学期的出勤统计信息及详细信息。
系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:
a、管理学校各院系、年级、专业、班级的添加、删除、修改等。
b、管理每个学期每个班级的课程安排及任课老师。
1.2学生考勤信息系统处理流程
(1)、学生登录流程图:
开始
(2)教师登录流程图:
N
Y
(3)学校管理员登录流程图:
结束
1.3功能需求及数据需求分析:
功能需求分析是描述系统应提供的功能和服务。
根据上述需求和登录流程,考勤信息系统主要功能和数据需求包括:
(1)学生管理:
学生进入考勤信息系统时要求输入类别、学号和密码,密码正确才能进入系统页面,系统页面工具栏中包括考勤规定、出勤信息、课程名称、留言板等信息。
学生可以在出勤信息一栏中查看自己所有学年的出勤情况。
(2)教师管理:
教师进入考勤信息系统时要求输入类别、账号和密码,密码正确才能进入系统页面,系统页面工具栏中包括班级名称、课程名称、出勤信息、留言板等信息。
教师可以查看班级整体出勤信息。
(3)管理员管理:
管理员进入信息系统时要求输入类别、账号、密码,密码正确才能进入系统页面,系统页面工具栏中包括出勤录入、重要通告等信息,其中出勤录入中包括学院名称、班级名称等信息。
管理员将学生出勤信息录入到该系统中。
二、业务规则分析
业务规则分析主要是分析数据之间的约束以及数据库约束。
基于上述功能需求,通过进一步了解,学生考勤信息系统归真堂如下:
●学生由学好唯一标识,需存储学号、姓名、班级、性别等信息。
●教师由教师编号唯一标识,要求记录教师编号、姓名、所属院系等信息。
一名教师可以教授多个班级,但一名教师只能在一个学院任职。
●课程由课程号唯一标识,需记录课程号、课程名称、任课老师等信息。
●同一门课程,缺勤10次,本门课程计为不及格;缺勤7~9次,本门课程成绩不得在中等以上;缺勤4~6次,本门课程成绩不得在良好以上;缺勤2~3次,本门课程成绩不得优秀。
●需请假的同学,需要本学院工作人员录入请假信息。
三、确定实体集及属性
(1)、学生(student)实体集,属性有:
姓名(name)、学号(studentNo)、班级(class)、性别(sex)。
(2)、课程(course)实体集,属性有:
课程编号(courseNo)、课程名称(courseName)、任课老师(teacher)。
(3)、班级(class)实体集,属性有:
班级号(classNo)、班级名称(className)、人数(people)、所属院系(institute)。
(4)、任课老师(teacher)实体集,属性有:
姓名(name)、教师编号(teacherNo)、所属院系(institute)。
(5)、授课(instruction)实体集,属性有:
班级号(classNo)、课程号(courseNo)、上课日期(date)、上课地点(classroom)。
(6)、考勤(attendance)实体集,属性有:
班级号(classNo)、课程号(courseNo)、教师(teacher)、考勤时间(attendancetime)、人数(peopleNumber)。
四、建立数据库
①Student表:
CREATETABLEStudent
(
StudentNochar(8)NOTNULLPRIMARYKEY,
StudentNamechar(10)NOTNULL,
ClassNochar(6)NOTNULL,
StudentSexchar
(2)NULLDEFAULT1
)
GO
INSERTINTOStudent
VALUES('20100001','贺林','001','男')
GO
INSERTINTOStudent
VALUES('20100002','贺一','001','女')
GO
INSERTINTOStudent
VALUES('20100003','贺二','001','女')
GO
INSERTINTOStudent
VALUES('20100004','贺三','001','男')
GO
INSERTINTOStudent
VALUES('20100005','贺四','001','男')
GO
INSERTINTOStudent
VALUES('20100006','贺五','001','女')
GO
②Course表:
CREATETABLECourse
(
CourseNochar(10)NOTNULLPRIMARYKEY,
CourseNamechar(10)NOTNULL,
TeacherNoCHAR(10)NOTNULL
)
GO
INSERTINTOCourse
VALUES('001','数据库','042')
GO
INSERTINTOCourse
VALUES('002','JAVA','022')
GO
INSERTINTOCourse
VALUES('003','概率论','043')
GO
INSERTINTOCourse
VALUES('004','信息检索','154')
GO
INSERTINTOCourse
VALUES('005','SQLServer','063')
GO
INSERTINTOCourse
VALUES('006','数据库概论','123')
GO
③Class表:
CREATETABLEClass
(
ClassNochar(6)NOTNULLPRIMARYKEY,
Classnamechar(10)NOTNULL,
StudentNovarchar(60)null,
InstituteNamevarchar(20)NOTNULL
)
GO
INSERTINTOClass
VALUES('001','10信管','42','信息工程学院')
GO
INSERTINTOClass
VALUES('002','10装潢','62','设计艺术学院')
GO
INSERTINTOClass
VALUES('003','10自动化','24','机电学院')
GO
INSERTINTOClass
VALUES('004','10英语','65','人文学院')
GO
INSERTINTOClass
VALUES('005','10法商','92','科技艺术学院')
GO
INSERTINTOClass
VALUES('006','10无非','37','材料学院')
GO
④Teacher表:
CREATETABLETeacher
(
TeacherNochar(10)NOTNULLPRIMARYKEY,
TeacherNamechar(6)NOTNULL,
InstituteNamevarchar(20)NOTNULL
)
GO
INSERTINTOTeacher
VALUES('0001','田原','信息工程学院')
GO
INSERTINTOTeacher
VALUES('0002','李步升','信息工程学院')
GO
INSERTINTOTeacher
VALUES('0003','贾建华','信息工程学院')
GO
INSERTINTOTeacher
VALUES('0004','张俊娜','信息工程学院')
GO
INSERTINTOTeacher
VALUES('0005','余姗姗','信息工程学院')
GO
INSERTINTOTeacher
VALUES('0006','陈翔','信息工程学院')
GO
⑤Lesson表:
CREATETABLELesson
(
ClassNochar(16)NOTNULLPRIMARYKEY,
CourseNochar(16)NOTNULL,
TeacherNochar(16)NOTNULL,
CheckDatechar(16)NULL,
StudentNochar(16)NOTNULL
)
GO
INSERTINTOClass
VALUES('001','10信管','42','信息工程学院')
GO
INSERTINTOClass
VALUES('002','10装潢','62','设计艺术学院')
GO
INSERTINTOClass
VALUES('003','10自动化','24','机电学院')
GO
INSERTINTOClass
VALUES('004','10英语','65','人文学院')
GO
INSERTINTOClass
VALUES('005','10法商','92','科技艺术学院')
GO
INSERTINTOClass
VALUES('006','10无非','37','材料学院')
GO
⑥Checks表:
CREATETABLEChecks
(
ClassNochar(6)NOTNULLPRIMARYKEY,
CourseNochar(10)NOTNULL,
TeacherNochar(8)NOTNULL,
CheckDatechar(10)NULL,
AttendaceStatechar(8)NULL,
StudentNumbervarchar(60)NULL
)
GO
INSERTINTOChecks
VALUES('10信管','数据库','001','11:
00','迟到','51')
GO
INSERTINTOChecks
VALUES('09信管','C语言','002','14:
30','迟到','37')
GO
INSERTINTOChecks
VALUES('12信管','数据库','003','12:
00','缺勤','43')
GO
INSERTINTOChecks
VALUES('09计科','概率论','004','12:
00','迟到','63')
GO
INSERTINTOChecks
VALUES('10计科','JAVA','005','12:
00','请假','43')
GO
INSERTINTOChecks
VALUES('10信息','数据库','006','12:
00','迟到','31')
GO
五、后台代码
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringnc=TextBox1.Text;
stringpwd=TextBox2.Text;
stringconnection="server=localhost;database=XSKQXXXT;uid=sa;pwd=123456";
SqlConnectionmysqlconnection=newSqlConnection(connection);
mysqlconnection.Open();
//Response.Write("数据库连接成功!
");
stringcommandstring="Selectcount(*)FromHLwhereUsers='"+nc+"'andPassword='"+pwd+"'";//COUNT
SqlCommandcmd=newSqlCommand(commandstring,mysqlconnection);
//intcount=Convert.ToInt32(cmd.ExecuteScalar());
intcount=Convert.ToInt32(cmd.ExecuteScalar());//Convert.ToInt32
if(count>0)
{
Response.Write("alert('恭喜你登录成功');location='index.aspx'");
}
else
{
Response.Write("alert('对不起登录失败')");
}
}
protectedvoidButton2_Click1(objectsender,EventArgse)
{
TextBox1.Text="";
TextBox2.Text="";
}
}
六、页面设计
七、设计总结
经过为期两周的数据库课程设计,让我从书本走向实践。
本系统采用的是CSS网页设计的知识,由于这方面的知识平时接触较少,所以在该系统的设计方面还有很多不足,比如功能过少,代码不够优化等问题,我将会自学网页设计的内容,根据具体要求不断的修改,完善,争取使该系统慢慢趋向完美。
通过这两周的学习,明白知识,仅从理论上去求知,而不去实践、探索是不够的。
课上认真听讲,课后积极实践,这样不仅能加深我们对所学知识的了解,而且还及时、真正的做到了学以致用。
在这次课程设计过程中,遇到了很多问题。
尤其是设计方面有些困难,但是通过上网,查书,向别人请教解决了部分问题,这次课程设计让我学到了很多,不仅是巩固了先前学的的理论知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。
深刻明白我们需要的是实践,需要更多的磨练,才能更加透彻的理解书本上。