课堂考勤系统需求分析说明书.docx

上传人:b****6 文档编号:13056226 上传时间:2023-06-10 格式:DOCX 页数:23 大小:265.22KB
下载 相关 举报
课堂考勤系统需求分析说明书.docx_第1页
第1页 / 共23页
课堂考勤系统需求分析说明书.docx_第2页
第2页 / 共23页
课堂考勤系统需求分析说明书.docx_第3页
第3页 / 共23页
课堂考勤系统需求分析说明书.docx_第4页
第4页 / 共23页
课堂考勤系统需求分析说明书.docx_第5页
第5页 / 共23页
课堂考勤系统需求分析说明书.docx_第6页
第6页 / 共23页
课堂考勤系统需求分析说明书.docx_第7页
第7页 / 共23页
课堂考勤系统需求分析说明书.docx_第8页
第8页 / 共23页
课堂考勤系统需求分析说明书.docx_第9页
第9页 / 共23页
课堂考勤系统需求分析说明书.docx_第10页
第10页 / 共23页
课堂考勤系统需求分析说明书.docx_第11页
第11页 / 共23页
课堂考勤系统需求分析说明书.docx_第12页
第12页 / 共23页
课堂考勤系统需求分析说明书.docx_第13页
第13页 / 共23页
课堂考勤系统需求分析说明书.docx_第14页
第14页 / 共23页
课堂考勤系统需求分析说明书.docx_第15页
第15页 / 共23页
课堂考勤系统需求分析说明书.docx_第16页
第16页 / 共23页
课堂考勤系统需求分析说明书.docx_第17页
第17页 / 共23页
课堂考勤系统需求分析说明书.docx_第18页
第18页 / 共23页
课堂考勤系统需求分析说明书.docx_第19页
第19页 / 共23页
课堂考勤系统需求分析说明书.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课堂考勤系统需求分析说明书.docx

《课堂考勤系统需求分析说明书.docx》由会员分享,可在线阅读,更多相关《课堂考勤系统需求分析说明书.docx(23页珍藏版)》请在冰点文库上搜索。

课堂考勤系统需求分析说明书.docx

课堂考勤系统需求分析说明书

课堂考勤系统

注:

教师登陆用姓名,学生登录用学号,学生密码在学生表中

1.总体目标

1.1背景

1.1.1引言

目前高校大部分都还是采用任课老师纸笔上课点名的方式进行课堂的考勤工作,记录学生的上课情况,这种方式不仅麻烦而且比较费时。

在信息化的今天,能有效地借助网络才能提高办事效率。

因此,课堂考勤系统能够解决纸笔化的考勤方式所带来的很多麻烦。

1.2要求

考勤系统主要有以下功能:

增删改查:

学生信息、教师信息、课程信息。

业务功能:

在线点名、查看考勤信息、修改考勤信息、统计考勤信息。

1.3目标

课堂考勤系统的基本目标是方便任课老师课堂上的考勤工作。

系统实现后,应做该到:

(1)方便任课老师进行在线考勤,主要功能有查看课程信息,修改密码,考勤,查看考勤信息,查看考勤统计信息,修改考勤信息。

(2)方便学生查询自己的考勤信息的详情与查询考勤信息的统计情况,也进行登录密码的修改。

2.需求分析

2.1功能需求描述

考勤系统主要有以下功能:

增删改查:

学生信息、教师信息、课程信息。

业务功能:

在线点名、查看考勤信息、修改考勤信息、统计考勤信息。

修改用户登录密码。

2.2用户需求描述

2.2.1学生用户需求描述

学生对本系统的主要需求是:

查看在校期间的所上课程的出勤信息。

2.2.2任课教师用户需求描述

任课教师对本系统的主要需求是:

任课教师通过主要考勤管理系统进行课堂的考勤工作,其包括在线点名、查看考勤信息、查看课程信息和修改考勤信息。

3.数据库设计

课堂考勤系统涉及到学生用户、教师用户和管理员。

根据实际应用的需要,最大限度的提高系统的性能,本系统涉及到5张表,分别是管理员表、学生信息表、教师信息表、考勤信息表、课程信息表。

3.1表结构如下:

表1管理员表:

名称

字段

类型

是否空值

是否主键

Id

id

int

no

yes

用户名

username

varchar

no

密码

password

varchar

no

权限

limit

int

no

表2学生信息表:

名称

字段

类型

是否空值

是否主键

表ID

id

int

no

yes

学号

stuNo

varchar

no

yes

姓名

stuName

varchar

no

班级

stuClass

varchar

no

性别

sex

varchar

no

联系电话

phone

varchar

no

迟到次数

lataTimes

int

yes

请假次数

qjTimes

int

yes

缺课次数

kkTimes

int

yes

密码

password

varchar

no

 

表3教师信息表:

名称

字段

类型

是否空值

是否主键

表id

id

int

no

yes

姓名

teaName

varchar

no

课程名

course

varchar

no

性别

sex

varchar

no

联系电话

phone

varchar

no

 

表4课程信息表:

名称

字段

类型

是否空值

是否主键

表id

id

int

no

yes

课程名

coursename

varchar

no

授课教师

teacher

varchar

no

上课教室

room

varchar

no

上课时间

time

varchar

no

上课班级

stuCalss

varchar

no

 

表5考勤信息表:

名称

字段

类型

是否空值

是否主键

表id

id

int

no

yes

学生学号

stuNo

varchar

no

yes

学生姓名

stuName

varchar

no

班级

stuClass

varchar

no

状态

state

varchar

no

考勤时间

kqtime

varchar

no

课程

course

varchar

no

授课教师

teacher

varchar

no

4.功能模块设计

课堂考勤系统涉及到学生用户、教师用户和管理员,主要的功能模块为查询模块以及考勤功能模块。

4.1系统的功能模块如图:

图4-1

考勤系统

任课教师

学生

修改密码

查看考勤统计信息

查看课程课信息

查看课程信息

修改密码

查看考勤统计信息

考勤

修改考勤信息

查看考勤信息

查看考勤信息

 

图4-1

 

4.2系统流程图

4.2.1.登录流程

如图4-2-1:

图4-2-1

 

4.2.2教师考勤流程图:

授课教师进入考勤模块,显示出待考勤的班级和课程,选择后再选择要考勤的人数,然后进入考勤学生的信息列表,再选择学生状态,最后进行保存考勤信息。

如图4-2-2:

图4-2-2

 

4.2.3.教师查看考勤信息:

进入查看考勤信息模块,则显示班级和课程信息,然后可查看对应课程和班级的考勤信息,然后进入考勤学生的信息列表,最后可查看学生的考勤信息详情。

流程如图4-2-3:

图4-2-3

4.2.4教师查看统计考勤信息:

查看统计的考勤信息则是根据班级查询,输入所要查询的班级名称,则显示出该班级全部学生的考勤信息的统计信息。

流程如图4-2-4:

图4-2-4

 

4.2.5修改考勤信息:

修改考勤信息则根据输入的课程名和学生学号查询出要修改的学生的考勤信息,然后修改学生状态,确认保存。

如图4-2-5

图4-2-5

4.2.6修改用户密码:

修改用户的登录密码则需根据原密码来进行修改。

如图4-2-6

图4-2-6

4.2.7学生查看考勤详情:

根据该学生所登陆的学号来进行查询该学生的考勤详情。

如图4-2-7:

图4-2-7

4.2.8学生查看考勤统计信息:

根据该学生所登陆的学号来进行查询该学生的考勤统计信息。

如图4-2-8:

图4-2-8

5主要功能的具体实现

5.1考勤功能的实现

教师进入课堂考勤系统,要实现考勤功能时点击考勤则会根据该教师的姓名查询出该教师所有所授课的课程和所授课的班级,再根据当堂所上的课程和班级进入考勤,然后选择考勤的人数,点击开始点名后显示出所抽取考勤的学生信息列表,然后选择学生状态,最后确认保存。

如图:

其部分代码如下:

/**

*根据教师名获取该教师的全部课程

*/

publicListgetCourse(Stringusername){

Connectionconn=DBUtils.getConnection();

PreparedStatementps=null;

ResultSetrs=null;

Stringsql="selectcoursename,teacher,stuCalssfromcoursewhereteacher='"+username+"'";

ArrayListls=newArrayList();

try{

ps=conn.prepareStatement(sql);

rs=ps.executeQuery();

while(rs.next()){

Coursecou=newCourse();

cou.setCoursename(rs.getString

(1));

cou.setTeacher(rs.getString

(2));

cou.setStuCalss(rs.getString(3));

ls.add(cou);

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DBUtils.close(rs,ps,conn);

}

returnls;

}

/**

*根据条件查询学生信息

*@authorxiaoshen

*

*/

publicListQueryByCondition(StringstuClass,intnum){

Connectionconn=DBUtils.getConnection();

PreparedStatementps=null;

ResultSetrs=null;

Stringsql;

intno=num;

Stringclas=stuClass;

if(no!

=-1){//判断,如果no=-1,查询全部,否则按传来的值查询

sql="select*fromstudentwherestuClass='"+clas+"'orderbyrand()limit"+no;

}else{

sql="select*fromstudentwherestuClass='"+stuClass+"'";

}

ArrayListls=newArrayList();

try{

ps=conn.prepareStatement(sql);

rs=ps.executeQuery();

while(rs.next()){

Students=newStudent();

s.setId(rs.getInt

(1));

s.setStuNo(rs.getString

(2));

s.setStuName(rs.getString(3));

s.setStuClass(rs.getString(4));

s.setSex(rs.getString(5));

s.setPhone(rs.getString(6));

s.setLataTimes(rs.getInt(7));

s.setQjTimes(rs.getInt(8));

s.setKkTimes(rs.getInt(9));

ls.add(s);

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DBUtils.close(rs,ps,conn);

}

returnls;

}

/**

*保存个人考勤记录

*/

publicvoidsaveCheckInfo(chaeckInfoinfo){

Connectionconn=DBUtils.getConnection();

PreparedStatementps=null;

Stringsql="insertintokqinfo(stuNo,stuName,stuClass,state,kqtime,course,teacher)values(?

?

?

?

?

?

?

)";

try{

ps=conn.prepareStatement(sql);

ps.setString(1,info.getStuNo());

ps.setString(2,info.getStuName());

ps.setString(3,info.getStuClass());

ps.setString(4,info.getState());

ps.setString(5,info.getKqtime());

ps.setString(6,info.getCourse());

ps.setString(7,info.getTeacher());

ps.executeUpdate();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

DBUtils.close(null,ps,conn);

}

}

5.2修改考勤信息的具体实现

修改考勤信息则根据输入的课程名和学生的学号来查询出该学生在该课程中的所有考勤记录,选择所需要修改的考勤记录点击修改则获取学生学号和考勤时间进行修改,然后选择修改的状态,最后确认保存。

如图:

其部分代码如下:

/**

*根据课程名、学号查询学生考勤信息

*@return

*/

publicListquerryKqInfo(Stringcoursename,StringstuNo){

Connectionconn=DBUtils.getConnection();

PreparedStatementps=null;

ResultSetrs=null;

Stringsql="select*fromkqinfowherestuNo='"+stuNo+"'andcourse='"+coursename+"'";

Listlist=newArrayList();

try{

ps=conn.prepareStatement(sql);

rs=ps.executeQuery();

while(rs.next()){

chaeckInfoche=newchaeckInfo();

che.setStuNo(rs.getString

(2));

che.setStuName(rs.getString(3));

che.setStuClass(rs.getNString(4));

che.setState(rs.getString(5));

che.setKqtime(rs.getString(6));

che.setCourse(rs.getString(7));

che.setTeacher(rs.getString(8));

list.add(che);

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DBUtils.close(rs,ps,conn);

}

returnlist;

}

/**

*根据学号,考勤时间修改学生详细考勤记录

*/

publicvoidupdateCheckInfoByStuNoAndTime(StringstuNo,Stringtime,StringnewState){

Connectionconn=DBUtils.getConnection();

PreparedStatementps=null;

Stringsql="updatekqinfosetstate='"+newState+"'wherestuNo='"+stuNo+"'andkqtime='"+time+"'";

try{

ps=conn.prepareStatement(sql);

ps.executeUpdate();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

DBUtils.close(null,ps,conn);

}

}

/**

*根据学号更新考勤次数

*@paramstu

*/

publicvoidsaveCheckTimes(Studentstu){

Connectionconn=DBUtils.getConnection();

PreparedStatementps=null;

Stringsql="updatestudentsetlataTimes=?

qjTimes=?

kkTimes=?

wherestuNo=?

";

try{

ps=conn.prepareStatement(sql);

ps.setInt(1,stu.getLataTimes());

ps.setInt(2,stu.getQjTimes());

ps.setInt(3,stu.getKkTimes());

ps.setString(4,stu.getStuNo());

ps.executeUpdate();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

DBUtils.close(null,ps,conn);

}

}

5.3修改密码

进行修改密码功能,根据原密码的输入进行修改,修改成功如下图:

5.4查看考勤信息

进入查看考勤信息模块,则显示班级和课程信息,然后可查看对应课程和班级的考勤信息,然后进入考勤学生的信息列表,最后可查看学生的考勤信息详情。

如下图:

5.5查看统计考勤信息

查看统计的考勤信息则是根据班级查询,输入所要查询的班级名称,则显示出该班级全部学生的考勤信息的统计信息。

如下图:

 

6.运行环境需求

硬件环境:

服务端处理器需2.4GHz或者更高的计算机

软件环境:

数据库为MySQLServer5.0,操作系统:

windowsXP以及Windows7及其以上版本,浏览器为IE9.0以上版本。

服务器:

Tomcat6.0

7.测试结果与分析

7.1考勤功能测试:

本系统中考勤中的学生状态用0代表正常、1代表请假、2代表缺课、3代表迟到。

测试编号

输入状态

输出状态

测试结果

001

0

0

正确

002

1

1

正确

003

2

2

正确

004

3

3

正确

7.2修改考勤信息功能测试:

本系统中考勤中的学生状态用0代表正常、1代表请假、2代表缺课、3代表迟到。

测试编号

原状态

输入新状态

输出状态

测试结果

010

0

1

1

正确

011

0

2

2

正确

012

0

3

3

正确

测试编号

原状态

输入新状态

输出状态

测试结果

020

1

0

0

正确

021

1

2

2

正确

022

1

3

3

正确

测试编号

原状态

输入新状态

输出状态

测试结果

030

2

0

0

正确

031

2

1

1

正确

032

2

3

3

正确

测试编号

原状态

输入新状态

输出状态

测试结果

040

3

0

0

正确

041

3

1

1

正确

042

3

2

2

正确

7.3修改密码测试

测试编号

原密码

输入新密码

输出

测试结果

100

123

321

321

正确

101

456

654

654

正确

8课程设计总结

整个课堂考勤系统主要包括以上所写的模块和功能,基本上能够覆盖了课堂考勤中的日常操作。

由于时间、技术和精力的关系,该系统还处于原型设计的阶段,许多预想的模块还没有能够及时的添加进去。

系统的设计有一些部分也有些模块还可更好的进行完善。

8.1系统中需要改进的问题

本课堂考勤系统的系统设计和分析到目前为止还只是一个初级阶段,在这段时间多设计的过程中,有很多的不足:

(1)系统只提供了键盘和鼠标的的输入。

(2)系统没有提供打印输出的功能,如果需要打印还需借助其他的软件。

(3)系统没有提供用户的工作日志和操作记录。

(4)系统中的一些模块的功能的基本信息中并不全面,还有很多涉及到信息管理的要素没有增加进去。

(5)本课堂考勤系统只是提供了一个简单的功能,与现代的课堂考勤系统还有一定的差距。

(6)系统中的一些模块功能是理论话的,在实际中还有许多更复杂的情况并没有考虑进去。

在以后的实际应用过程中还有很多的地方需要改进。

(7)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2