1、 聊城大学本科毕业设计本科毕业论文(设计)本科毕业论文(设计)题 目 基于 Javaweb 技术地学生点到系统地设计与实现 专 业 软件工程 作者姓名 学 号 单 位 聊城大学计算机学院 指导教师 年 月教 务 处 编聊城大学本科毕业设计摘 要本学生点到系统是便于学校管理学生告假,以及学生方便请假来开发的。本体系总体上由三大功能模块:告假、考勤、后台三部分构成。体系涉及到高校三大类用户:学生、任课老师、体系办理员。该系统采用 java 语言进行开发,应用了 jsp 技术,还有数据库 SQL 进行开发,来完成学生请假,老师上课查看学生,管理员来管理后台三类不太能够的情况进行开发。关键词:学生点到
2、考勤;学生告假;审批;jsp聊城大学本科毕业设计ABSTRACTThis system is convenient for students to leave school management students and students, convenient to leave development. This system is composed of three functional modules: attendance, leave, background in three parts. The system involves three major types of users:
3、 students, instructors, and administrators.The system uses Java language development, the application of the JSP technology and SQL database development, to complete the students leave, the teacher in the class view for the development of students, administrators to manage the background of three ki
4、nds of situation cant.Key word:Student attendance;Student leave;Examination and approval; JSP聊城大学本科毕业设计目 录第 1 章 绪论 .11.1 课题背景 11.2 目的和意义 1第 2 章 可行性分析 22.1 技术性分析 22.2 经济性分析 22.3 法律性分析 22.4 操作性分析 22.5 分析结果 2第 3 章 需求分析 33.1 用户需求描述 33.1.1 学生用户需求描述 33.1.2 任课老师用户需求描述 33.1.3 系统办理员用户需求描述 33.2 功能需求描述 43.3 体系
5、开辟工具 43.4 相关开辟工具简介 43.4.1 B/S(浏览器/服务器)简介 .43.4.2 JAVA/JSP 简介 .53.5 数据流图 53.6 程序流程图 5第 4 章 总体设计 64.1 系统布局设计 64.2 总体结构图 6第 5 章 详细设计 75.1 体系功能流程图 75.2 数据库设计与实现 75.2.1 实体模型 .75.2.2 E-R 模型 85.2.3 数据库地逻辑设计 .85.2.4 数据库表地创建 .8第 6 章 体系实现 96.1 登陆界面地设计与实现 96.2 办理员主界面地设计与实现 96.3 添加教师界面地设计与实现 96.4 教师办理界面地设计与实现 9
6、6.5 添加学生界面地设计与实现 9聊城大学本科毕业设计6.6 学生办理面地设计与实现 96.7 教师审核与查看界面地设计与实现 106.8 教师点名界面地设计与实现 106.9 学生告假界面地设计与实现 116.10 学生考勤信息查看界面地设计与实现 11 总 结 12参考文献 13致 谢 14聊城大学本科毕业设计1第 1 章 绪论1.1 课题背景目前国内高校中为提高出勤率普遍存在上课,开会,出早操等点名地事情,并且大部分是靠人工管理来实现,费时又吃力。该项目针对这些情况地运行状况和总结操纵网络技术代替人工记录学生出勤状况,削减了考勤在人力物力方面地开资,并方便使用者随时查找相关内容,表现了
7、在校学生考勤地公平性与公开性。该学生点到系统是为考勤学生,上课老师,管理员,学校有关部门开发使用的。该学生点到考勤系统,可以统一办理学生请假情况,有利于学校加强管理,提高学校的协调能力,为学校上课管理带来便利。1.2 目的和意义开辟本系统地目标,便是要解决现在高校中关于学生告假与上课出勤办理中所面对地一系列状况,开辟出高校学生考勤办理系统能有效地提高学校办事效率,办理现在高校学生告假及上课出勤办理问题,实现学生告假及上课出勤信息对任课教师、学校领导透明,使教员随时掌握学生地学习状况,实时与学生相同,进一步教学质量第 2 章 可行性分析2.1 技术可行性:体系开辟工具是 MyEclipse 和
8、Sql 数据库,开辟语言是 Java,主要使用了J2EE 地技术,java 是一种面向对象编程语言,简单易学并且灵活方便。大三时就学习了 java 课程,大四 期间也体系地了解了 J2EE 地知识,本体系总体上开辟难度不高,数据库地设计和操作是本体系设计地核心。在大学期间学习过软件工程,软件测试,UML 统一建模语言等课程,每个学期也会完成对应地课程设计,具备一定地体系分析、设计和测试能力。因此,完成体系实现在技术上完全具有可行性。2.2 经济可行性:聊城大学本科毕业设计2本体系开辟语言都是开源地,能够为开辟软件节省了大量地金钱和时间,达到降低成本,提高开辟效率地目地,本体系对计算机配置地要求
9、不高,所以在经济上具有完全地可行性。2.3 法律可行性:该系统拥有自主知识产权,所以在法律上是可行的。2.4 操作可行性:该系统操作简单,只要能正常使用电脑就可以应用,所以在操作上是可行的。2.5 分析结果:从上面几个方面分析入手,该系统可以满足技术,经济,操作,法律多方面的要求,该系统开发具有一定的实用性和经济性。第 3 章 需求分析3.1 用户需求描述该学生点到考勤系统用户主要是三部分:学生,上课的教师,该系统后台的管理员,该系统主要就是针对学生告假,老师在线审批学生请假以及上课点名两部分。3.1.1 学生用户需求描述学生对本体系地主要需求是:学生自己在网上请假,和查看自己上课情况。在线告
10、假需求:学生在网上填好请假事由,告假时间就可以提交给老师,以及查看告假进度,老师审批请假情况。查看出勤信息需求:高校学生可以在网上查阅自己一学期的请假上课情况。3.1.2 任课老师用户需求描述上课教师对系统的需求是:查看学生上课告假相关信息和审批学生请假。查看学生上课信息需求:根据学校上课时间表,来确定学生上课请假缺勤具体信息。聊城大学本科毕业设计3审批学生请假需求:根据学生提交的告假事由确定是否同意请假。3.1.管员用户需求描述该系统管理员拥有该系统的最高权限,负责系统的维护,具体是用户的添加,修改,删除等等3.2 功能需求描述根据用户需求,该系统应当从学生告假,教师审批考勤,管理员管理三部
11、分入手。告假体系功能需求:根据实际出发,现在学生请假,事先必须写好纸质假条,用于老师审批,效率较低。考勤办理功能需求:上课教师通过该系统,可以对学生上课出勤情况进行了解,及时更新审批学生告假信息。后台办理功能需求:该系统管理员根据每年学校教学情况,学生入学,学生毕业,课程表变化,教师变化,学生变化,来定时跟新学校系统相关信息。3.3 体系开发工具根据各用户地需求,从实际出发,选择以下开发工具:系统开发结构:B/S (浏览器/服务器)系统开发语言:JAVA/JSP系统开发数据库:SQL 数据库系统开发工具:JDK 1.6 MyEclipse系统开发服务器端容器:Tomcat 73.4 相关开辟工
12、具简介3.4.1 B/S(浏览器/服务器)简介B/S(Browser/Server,浏览器/服务器)模式又称 B/S 结构。B/S 结构(Browser/Server,浏览器/服务器模式),是 WEB 兴起后的一种网络结构模式,WEB 浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能聊城大学本科毕业设计4实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser 英 braz美 braz),如 Netscape Navigator 或 Internet Explorer,服务器安装 SQL Server、Oracle、MYSQL 等数
13、据库。览器通过 Web Server 同数据库进行数据交互。3.4.2 JAVA/JSP 简介JSP 全名为 Java Server Pages,中文名叫 java 服务器页面,其根本是一个简化的 Servlet 设计,它是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件,后缀名为(*.jsp)。 用JSP 开发的 Web 应用是跨平台的
14、,既能在 Linux 下运行,也能在其他操作系统上运行,具有很好的跨平台,安全,可重用性等优点。3.5 数据流图数据流程图是结构化体系分析地工具。它既可以表达数据在体系内部地逻辑流向及存储,又可以表达体系地逻辑功能和数据地逻辑变换。数据流程图既能表达现行人工体系地数据流程和逻辑处理功能,也能表达自动化体系地数据流程和逻辑处理功能。聊城大学本科毕业设计53.6 程序流程图图 3-1 告假体系数据流图Fig3-1 the systems of asking for leave dataflow pursueing学生告假 任课老师审批告假成功 告假失败告假记录同意 同意 不同意任课老师告假体系数据
15、处理告假旷课出勤记录告假记录聊城大学本科毕业设计6开 始身份验证与数据库核对字段是否匹配办理员主页进行相应操作结 束YN重新登录用户类型教师主页 学生主页图 3.3 程序流程图聊城大学本科毕业设计7第 4 章 总体设计4.1 系统布局设计系统页面采取框架结构来进行设计,不一样的用户有不一样的功能菜单,但都有一模一样的设计风格,这给页面地更新和维护带来了便利,尤其是代码重用性方面。页面设计如图 4-1 所示:1.Banner 区域可以在此展示该系统的不同标识、页面属性等信息。2.功能菜单区提供系统的不同功能列表。3.页面主体区显示页面格式的数据页面。4.Bottom 区可设计为显示系统的所有权,
16、归属权等信息。4.2 总体结构图根据该系统不同的功能的要求,学生点到系统的各个模块之间地不同的层次结构如图 4-2 所示:页面主体功能菜单BannerBottom图 4-1 体系布局图Fig4-1 Systems layout map聊城大学本科毕业设计8按用户的不同划分,体系结构图如图 4-3 所示:体系子功能不同的模块地层次结构如图 4-4 所示:高校学生考勤办理体系告假体系考勤体系后台办理图 4-2 体系功能结构示意图Fig.4-2 Structure sketch map of the systems function高校学生考勤办理体系学生任课老师办理员图 4-3 体系用户结构示意图
17、Fig.4-3 Structure sketch map of the Systems user考勤办理子模块任课老师提交数据 各用户查询考勤数据图 4-4 系统结构示意图Fig.4-5 Structure sketch map of the system checking attendance聊城大学本科毕业设计9第 5 章 详细设计5.1 体系功能流程图1)主功能流程:5.2 数据库设计与实现5.2.1 实体模型图 5-1 主界面流程图Fig.5-1 main pagess flow diagram开始用户登陆学生 任课老师在线告假查看考勤信息审批告假查看考勤信息退出体系结束老师提交记录记
18、录 ID提交时间上课时间图 5-1 任课老师提交记录实体图Fig5-2 entity chart of the records submited to by teacher 聊城大学本科毕业设计105.2.2 E-R 模型学生 告假记录1 n告假图 5-5 学生 -告假记录 E-R 模型Fig5-5 the E-R model of the records asking for leave 1 1出勤记录学生 出勤图 5-6 学生出勤记录 E-R 模型Fig5-6 E-R model of the records going on duty图 5-3 告假记录属性模型Fig5-3 attrib
19、ute model of the record asking for leave 告假记录学生学号告假原因告假天数开始时间申请时间审批状态图 5-4 学生出勤记录属性模型Fig5-4 attribute model of the record going on duty 学生出勤记录出勤 ID 上课时间学号出勤情况聊城大学本科毕业设计115.2.3 数据库地逻辑设计根据该系统不同的功能设计地需要以及不同的功能模块地划分,对于体系的数据库,列出以下数据结构:考勤登记表:课程的代号、记录的时间、上课的时间。学生上课出勤信息表:上课的时间代号、上课的时间、学号、出勤的状态。告假信息表:告假编号、班级
20、编号、学年编号、学号、告假事由、开始的时间、结束的时间、告假的天数、申请的时间等。5.2.4 数据库表地创建根据数据库的需求分析,建立以下 4 个数据表。表 5-1 考勤信息表(kq)表 5-2 教师信息表(teacher)聊城大学本科毕业设计12表 5-3 办理员信息表(admin)表 5-4 办理员信息表(student)聊城大学本科毕业设计13聊城大学本科毕业设计14第 6 章 体系实现6.1 登陆界面地设计与实现登录界面响应代码:package com.kaoqin.dao;import java.sql.ResultSet;import java.sql.SQLException;i
21、mport com.kaoqin.db.Conn;import com.kaoqin.po.Admin;public class AdminDao public static boolean login(Admin ad)Conn db = new Conn();String sqlstr = “select id,userName,userPass from admin where userName=“ + ad.getUserName() + “;ResultSet rs = db.executeQuery(sqlstr);try if (rs != null if (ad.getUser
22、Pass().equals(pass) return true; catch (SQLException ex) finallydb.close();return false;输入用户名以及密码,然后再选择不同的用户类型这样就能登陆到相应的需要的操作界面。如果用户名和密码不匹配或是不正确,接下来会提示用户再一次进行登录。聊城大学本科毕业设计156.2 系统后台管理员主界面地设计与实现6.3 添加教师界面地设计与实现聊城大学本科毕业设计166.4 教师办理界面地设计与实现教师功能相关代码:package com.kaoqin.dao;import java.sql.ResultSet;impor
23、t java.sql.SQLException;import java.util.Vector;import com.kaoqin.db.Conn;import com.kaoqin.po.Teacher;public class TeacherDao public static boolean login(Teacher th)Conn db = new Conn();String sqlstr = “select id,userName,userPass,course from teacher where userName=“ + th.getUserName() + “;ResultSe
24、t rs = db.executeQuery(sqlstr);try if (rs != null if (th.getUserPass().equals(pass) th.setId(rs.getInt(“id“);th.setCourse(rs.getString(“course“);return true; catch (SQLException ex) finally聊城大学本科毕业设计17db.close();return false;public static boolean addTeacher(Teacher t)Conn db = new Conn();String sqls
25、tr = “insert into teacher(userName,userPass,tname,tsex,office,remark) values(“ +t.getUserName() + “,“ + t.getUserPass() + “,“ + t.getTname() + “,“ + t.getTsex() + “,“ + t.getOffice() + “,“ + t.getRemark() + “)“;System.out.println(sqlstr);boolean flag = false;if( db.executeUpdate(sqlstr) 0) flag = tr
26、ue;db.close();return flag;public static Vector getTeachers()Vector rows = new Vector();Conn db = new Conn();String sqlstr = “select id,userName,userPass,tname,tsex,office,remark from teacher“;System.out.println(sqlstr);ResultSet rs = db.executeQuery(sqlstr);try while(rs.next() / rs.getInt(“id“);/ rs
27、.getString(“userName“);/ rs.getString(“userPass“);/ rs.getString(“tname“);/ rs.getString(“tsex“);/ rs.getString(“office“);/ rs.getString(“remark“);Teacher t = new Teacher(rs.getInt(“id“),rs.getString(“userName“),rs.getString(“userPass“),rs.getString(“tname“),聊城大学本科毕业设计18rs.getString(“tsex“),rs.getSt
28、ring(“office“),rs.getString(“remark“);rows.add(t); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finallytry rs.close();rs = null; catch (SQLException e) db.close();return rows;public static Teacher getTeacherById(String id)Conn conn = new Conn();String sqlstr = “select
29、 id,userName,userPass,tname,tsex,office,remark from teacher where id=“ + id;System.out.println(sqlstr);Teacher t = null;ResultSet rs = conn.executeQuery(sqlstr);try if(rs.next()t = new Teacher(rs.getInt(“id“),rs.getString(“userName“),rs.getString(“userPass“),rs.getString(“tname“),rs.getString(“tsex“
30、),rs.getString(“office“),rs.getString(“remark“); catch (SQLException e) e.printStackTrace(); finallyconn.close();return t;聊城大学本科毕业设计19public static boolean updateTeacher(Teacher t, String id)Conn db = new Conn();String sqlstr = “update teacher set userName=“ + t.getUserName() + “,userPass=“ + t.getU
31、serPass() + “,tname=“ + t.getTname() + “,tsex=“ + t.getTsex() + “,office=“ + t.getOffice() + “,remark=“ + t.getRemark() + “ where id=“ + id;System.out.println(sqlstr);boolean flag = false;if( db.executeUpdate(sqlstr) 0) flag = true;db.close();return flag;public static boolean delTeacher(String id)Co
32、nn db = new Conn();String sqlstr = “delete from teacher where id=“ + id;System.out.println(sqlstr);boolean flag = false;if( db.executeUpdate(sqlstr) 0) flag = true;db.close();return flag;聊城大学本科毕业设计206.5 添加学生界面地设计与实现6.6 学生办理界面地设计与实现学生相关代码:package com.kaoqin.dao;import java.sql.ResultSet;import java.s
33、ql.SQLException;import com.kaoqin.db.Conn;import com.kaoqin.po.Student;聊城大学本科毕业设计21public class StudentDao public static boolean login(Student sd)Conn db = new Conn();String sqlstr = “select id,sid,pass,sname,sex,teacher,tclass,remark from student where sid=“ + sd.getSid() + “;ResultSet rs = db.exec
34、uteQuery(sqlstr);try if (rs != null if (sd.getPass().equals(pass) sd.setId(rs.getLong(“id“);sd.setSid(rs.getString(“sid“);sd.setSname(rs.getString(“sname“);sd.setSex(rs.getString(“sex“);sd.setTeacher(rs.getString(“teacher“);sd.setTclass(rs.getString(“tclass“);sd.setRemark(rs.getString(“remark“);retu
35、rn true; catch (SQLException ex) finallydb.close();return false;public static boolean addStudent(Student s)Conn db = new Conn();String sqlstr = “insert into student(sid,pass,sname,sex,teacher,tclass,remark) values(“ +s.getSid() + “,“ + s.getPass() + “,“ + s.getSname() + “,“ + s.getSex() + “,“ + s.ge
36、tTeacher() + “,“ + s.getTclass() + “,“ + s.getRemark() + “)“;System.out.println(sqlstr);boolean flag = false;if( db.executeUpdate(sqlstr) 0) flag = true;db.close();return flag;聊城大学本科毕业设计22public static boolean delStudent(String id)Conn db = new Conn();String sqlstr = “delete from student where id=“
37、+ id;System.out.println(sqlstr);boolean flag = false;if( db.executeUpdate(sqlstr) 0) flag = true;db.close();return flag;6.7 教师审核与查看界面地设计与实现聊城大学本科毕业设计236.8 教师点名界面地设计与实现6.9 学生告假界面地设计与实现聊城大学本科毕业设计246.10 学生考勤信息查看界面地设计与实现告假相关代码:package com.kaoqin.dao;import com.kaoqin.db.Conn;import com.kaoqin.po.QingJia
38、;public class QingJiaDao public static boolean addQingJia(QingJia qj)Conn db = new Conn();String sqlstr = “insert into kq(tid,sid,ktype,course,courseTime,content,days) values(“ +qj.getTid() + “,“ + qj.getSid() + “,“ + qj.getKtype() + “,“ + qj.getCourse() + “,“ + qj.getCourseTime() + “,“ + qj.getCont
39、ent() + “,“ + qj.getDays() + “)“;System.out.println(sqlstr);boolean flag = false;if( db.executeUpdate(sqlstr) 0) flag = true;db.close();return flag;聊城大学本科毕业设计25总 结三个多月地毕业设计工作,高校学生点到考勤系统中地两大功能模块:学生告假和考勤点到系统在指导老师地精心指导下,在同窗地踊跃鼓励与帮忙下,基本功能顺利完成。在数据库地开发工作方面,我学到了很多关于 JSP 和数据库地常识。开发工作过程中碰到了很多地艰苦,可是经由自己精心地投入工
40、作,另外还有老师同学们地帮忙,最后是顺利完成了。此次毕业设计工作完全是依照软件工程地方法来完成设计和开发地。在写代码过程中,积极认真地调查了用户地需求,查阅了大量地文档资料,这让我在开发软件地过程中少走了很多弯路。本次毕业设计地内容很多,牵涉地用户较多,数据库搭建工作比较复杂,使我深刻地体会到软件开发是一项团体项目,单靠一个人就想解决全部地问题是不太现实地。在本次毕业设计中,我和我地同学配合实现了高校学生考勤系统地全数功能,很好地培养了我地团队协作意识,这对我今后地工作、学习有很大地助力。同时,在这次毕业设计中,我也发现了自己本省地不足。第一,对 JSP 知识地掌握还不是很扎实,对数据库管理地操作软件掌握不会很好,以至于在系统开发过程当中碰到一些疑难问题无法快速地处理。其次,就是在开始系统设计工作文档时,没有反复推敲、验证,以至于在软件开发过程中出现了几回因为数据库设计工作地不合理,修改数据库,而导致设计工作地不能顺利进行。再者,是对全部软件开发地应用技能有待于进一步提升,以及对网页地诸多方面知识也待进一步学习应用,这些都是我此后应该注意地地方。