admin 管理员组

文章数量: 887021


2024年1月12日发(作者:keydb cluster)

本科毕业论文

题 目 学生考勤管理系统的设计与实现

学 院 信息科学技术学院

专 业 电子信息工程

毕业届别 2021届

姓 名

指导教师

职 称 教 授

二〇一三年五月

目录

摘要 ................................................................................................................................................................ 1

Abstracts ........................................................................................................................................................ 2

1 绪论 ............................................................................................................................................................ 3

研究目的及意义 .................................................................................................................................... 3

开发背景 ................................................................................................................................................ 3

2 系统可行性 ................................................................................................................................................ 4

引言 ........................................................................................................................................................ 4

可行性分析 ............................................................................................................................................ 4

2.2.1 经济可行性 ......................................................................................................................... 4

2.2.2 操作可行性 ......................................................................................................................... 4

2.2.3 技术可行性 ......................................................................................................................... 4

系统关键技术 ........................................................................................................................................ 5

3 需求分析 .................................................................................................................................................... 8

用户需求描述 ........................................................................................................................................ 8

学生用户 ........................................................................................................................................ 8

教师用户 ........................................................................................................................................ 8

辅导员用户 .................................................................................................................................... 8

系统功能划分 ........................................................................................................................................ 8

引言 ................................................................................................................................................ 8

班级课程管理模块 ......................................................................................................................... 8

在线请假模块................................................................................................................................. 8

考勤管理模块................................................................................................................................. 9

系统功能模块图 .................................................................................................................................... 9

数据流程图 ............................................................................................................................................ 9

4 系统架构及数据库设计........................................................................................................................... 12

系统架构设计 ...................................................................................................................................... 12

4.2数据库设计 .................................................................................................................................... 12

数据库逻辑实现 .................................................................................................................................. 12

系统所有表 .................................................................................................................................. 13

数据库连接池............................................................................................................................... 16

数据库的运行与维护 ................................................................................................................... 18

中文乱码处理............................................................................................................................... 18

5 系统实现 .................................................................................................................................................. 19

不同用户登录实现............................................................................................................................... 19

系统各模块具体实现........................................................................................................................... 19

6 系统实施 .................................................................................................................................................. 23

系统实施具体步骤............................................................................................................................... 23

运行环境搭建 ...................................................................................................................................... 23

效劳器搭建 .......................................................................................................................................... 24

7 测试维护 .................................................................................................................................................. 25

软件测试的概念和方法 ....................................................................................................................... 25

采用的测试技术 .................................................................................................................................. 25

具体测试 .............................................................................................................................................. 25

网站维护 .............................................................................................................................................. 26

结束语 .......................................................................................................................................................... 28

参考文献 ...................................................................................................................................................... 29

致谢 .............................................................................................................................................................. 30

学生考勤管理系统的设计与实现

学生姓名:XX

〔XX信息科学技术学院电子信息工程,甘肃兰州,730000

摘要:学生考勤管理系统的开发是为了响应我们学校多媒体教室教师无纸化办公的号召,结合当前各大高校网络自动化办公的开展,更加方便教师对学生考勤的管理系统。该管理系统可以真正实现跨平台,即可以在windows效劳器上部署,又可以在Linux效劳器上部署,这主要归结于它的设计架构。该学生考勤管理系统分为下面几大功能:班级管理、学生管理、老师管理、请假管理等。系统包含三类用户:学生、任课老师、辅导员。学生向老师请假,由老师或辅导员通过浏览器登录系统进行审批。老师可以在课前登录管理系统系统对课程进行查看,对学生进行点名,并且可以查看学生的请假记录。学生也可以通过登录本系统查询自己的详细信息等。

该学生考勤管理系统采用Jsp+Servlet+MySQL开发,开发过程中运用了类封装,页面模块化、动态生成、静态页面显示等技术。本论文重点介绍学生、教师、辅导员三类用户功能的设计与实现。

关键词:学生;考勤 ;管理;查询;

Student Attendance Management System Design and Implementation

XXX

(Major in electronic information engineering in the College of information science and

technology of XXniversity,Gansu Lanzhou,73000)

Abstracts:

Student attendance management system, more convenient and teachers on

student attendance management system in response to the call of our school the

multimedia classroom teachers paperless office, with major colleges and universities

the development of office automation network. The management system can truly

cross-platform, that can be deployed on the windows server, and can be deployed on

a Linux server, mainly due to its design architecture. The student attendance

management system is divided into the following major functions: classroom

management, student management, teacher management, leave management. The

system consists of three types of users: students, classroom teacher, counselor.

Students leave to the teacher for approval by the teacher or counselor log on to the

system through the browser. Teacher before class login management system course

view, the students named, and you can view the leave records of students. Students

can also check their information by logging into the system.

The student attendance management system Jsp + Servlet + MySQL

development, the development process, the use of the type of packaging, page

modular, dynamically generated, static pages display technology. This paper focuses

on the Design and Implementation of the students, teachers, counselors, three types

of user functions.

Key words:

Students; attendance; management; inquiry

1 绪论

研究目的及意义

该学生考勤管理系统设计的目的是为了解决当前班级、课程、学生、教师的管理,以及学生请假,教师考勤,辅导员查看学生上课出勤信息等方面所面临的各个问题。该考勤管理系统涉及了三大类用户——学生,教师,辅导员,辅导员具有最高权限。系统使用范围是学校校园网,系统的设计是采用典型的B/S〔浏览器/效劳器〕构架进行设计开发,可以完全实现跨平台操作〔这里的跨平台是指客户端和效劳器的跨平台,二者都可以在不同操作系统上轻松实现〕。由于采用HTML+JavaScript动态网页显示技术,B/S设计、MVC模式,所以对硬件要求低。并且本系统有很好的扩展性,与学校校园网有很好的集成。

1.2开发背景

目前在校学生选课,选教材,老师评价都可以通过教务管理系统进行,并且课程作业,图书查询、续借都可能通过学校教学网络操作。这样一来校园网不仅方便了学生,方便了老师,更重要的是提高了学生教师的学习工作效率。目前附近各大高校都有对师生的成绩查询系统、教务管理系统、招生就业系统等一系列管理系统,这就给学校管理、学校师生的学习、生活、办公带来了便利[1]。

但我校的考勤管理模式还是以任课老师上课带点名册点到,班主任、辅导员不定期来课堂查看考勤。同时,学生的请假还需要经过班主任辅导员批准,将请假条交给代课老师才能生效。在期末时对平时考勤结果进行统计,将考勤信息录入数据库后进行统计,才能得出学生平时成绩。这样一样就相当麻烦,不但费时而且还费力,并且出现误差的概率也比拟大。更重要的是暴露出了以下问题:

〔1〕、学生请假不方便;

〔2〕、教师、辅导员查看不便;

〔3〕、期末统计不便;

因此开发一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前学校学生在线请假以及上课管理而设计的信息系统。它的出现不仅可以方便学生请假,而且还能大大提高教师、辅导员办公效率。

2 系统可行性

引言

网络技术迅速开展的今天,各类框架类应用管理系统已遍地而飞,它的普及不仅节省了大量金钱、同时也在人力,物力方面有很大的节省,其便捷、好用的优点已让人们不再需要花大工夫,不仅大大节约了时间,而且最重要的是提高了学习工作的效率。学生考勤管理系统的开发,使得高校学生,教师,辅导员之间的联系更加紧密。该管理系统通过各网络教学平台的结合可以使教师完全实现无纸化办公,辅导员也可以更加方便地查看,管理学生、课程、教师等一系列信息,大大提高了学习办公效率,节省人力物力财力。

该学生考勤管理系统不仅能有效地提高师生的办事效率,而且可以解决学校班级有、课程、老师管理问题,以及学生请假及上课出勤的问题,实现学生请假及上课出勤信息对代课教师、班主任、辅导员透明化,使班主任、辅导及时把握学生的学习考勤情况,及时与学生沟通,提高教学质量。

2.2可行性分析

2.2.1 经济可行性

B/S的架构设计,主流的动态网页开发技术,使得该系统的开发变得简单可行,系统的部署对软硬件不受限制,用户操作不需要有多深的专业知识即可使用本系统,所以从经济上讲是可行的。

2.2.2 操作可行性

方便的后台管理,可以进行班级、学生、老师、课程的相关信息的增加、删除、修改,对课程的分配、班级等等。同时教师,学生可以在任意一台能连接互联网的机器上进行操作。

2.2.3 技术可行性

JSP开发B/S结构加MySQL数据库的系统进行教师无纸化办公,它可以依靠平安的LINUX效劳器系统进行效劳器架设,也可以用WINDOWS系统进行架设。即实现了跨平台,又实现了教师无纸化办公。同时JSP是一种平安稳定的动态网页技术,目前国内各电子商务系统,ERP系统等根本上都是使用JSP开发的。同时MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性[2]。

综上所述,该学生考勤管理系统的设计解忧方案无论在技术,经济性还是在操作心理上都是可行的。

2.3系统关键技术

在学生考勤管理系统开发中,运用了比拟流行的各类技术,比方:Java,JSP,Servlet,JavaScript,HTML动态网页显示技术,B/S架构、MVC模式,MySQL数据库操作等。系统的开发也涉及到了相关开发环境的配置,开发工具、数据库的选择及设计,以及网络的组建等[3]。

2.3.1 Java语言

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun

Microsystems公司于1995年5月推出的Java程序设计语言和Java平台〔即JavaSE,

JavaEE, JavaME〕的总称。Java 技术具有卓越的通用性、高效性、平台移植性和平安性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动 和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、平安与系统无关、可移植、高性能、多线程和动态的语言。

与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量〞是Sun公司的口号之一,并获得了广阔软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。

2.3.2 JSP/Servlet

JSP〔Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行[4]。

Servlet是一种效劳器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求〔Web浏览器或其他 客户程序〕与效劳器响应

〔 效劳器上的数据库或应用程序〕的中间层。 Servlet是位于Web 效劳器内部的效劳器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web效劳器进行加载,该Web效劳器必须包含支持Servlet的Java虚拟机。

2.3.3 B/S架构

该学生考勤管理系统采用了目前较为流行的B/S结构模式,相对于C/S模式来说,B/S结构更加具有优势。B/S结构是Browser/Server(浏览器/效劳器)模式,它是对C/S模式Client/Server(客户端/效劳器)应用的扩展。这种结构下,只要安装一个效劳器(Server),用户就可以通过浏览器〔IE,火狐,Chrome等〕来实现相关的功能操作。另一方面C/S模式暴露出了许多问题,比方:该模式下操作灵活性差、升级不便、维护工作量大等。随着WEB技术的日益成熟,B/S结构已经成为取代C/S模式的一种全新技术。它主要利用了不断成熟的WWW浏览器技术,结合JavaScript成为一种全新的软件系统构造技术。

在B/S体系结构模式中,用户可以通过任意浏览器向效劳器发送请求,效劳器对浏览器的发送的请求进行处理,并将处理后的数据返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web

Server完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。采用B/S结构软件的优势在于:

(1) 无须开发客户端软件,维护和升级方便;

(2) 可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;

(3) 具有良好的开放性和可扩充性;

(4) 可采用防火墙技术来保证系统的平安性,有效地适应了当前用户对管理信息系统的新需求。

2.3.4 MVC模式

MVC模式,即Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示别离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改良和个性化定制,而不需要重新编写业务逻辑MVC被独特的开展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC开始是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C那么是控制器,使用MVC的目的是将M和V的实现代码别离,从而使同一个程序可以使用不同的表现形式。比方一批统计数据可以分别用柱状图、饼图来表示。C存在的目的那么是确保M和V的同步,一旦M改变,V应该同步更新。

MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.

MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

模型表示企业数据和业务规那么。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。MVC模式的优点如下:

(1) 多个视图可以对应一个模型;

(2) 开发人员可以只关注整个结构中的其中某一层;

(3) 可以很容易的用新的实现来替换原有层次的实现;

(4) 可以降低层与层之间的依赖;

(5) 有利于标准化;

(6)

有利于各层逻辑的复用[5]。

3 需求分析

3.1用户需求描述

用户是该管理系统的最根本使用者,按需要分析系统后应该包括:学生、教师、辅导员三大类用户,这三类用户对系统的需求简要如下。

3.1.1学生用户

学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。在线请假中,学生可以随时查看请假的进展情况。另外学生还可以查看本人的根本信息,如:所在院系、年级、专业、班级、学号、姓名、性别等,查看本班的课表以及修改个人用户密码。

3.1.2教师用户

教师用户:任课老师对本系统的主要需求是查看班级信息,查看学生信息,对学生用户进行添加、删除、修改操作等。并且在上课前进行点名,管理所教班级学生的上课出勤信息,查看学生上课出勤情况,对学生请假审请进行批准等。同时,老师也可以查看上课课表,查看个人根本信息以及修改个人密码。

3.1.3辅导员用户

辅导员用户:辅导员对本系统的主要需求是对班级,学生,老师进行添加、修改、删除等操作。可以对学生请假信息进行审批操作,查看所有学生所有课程的上课出勤信息。对于本年级的学生考勤信息进行统计,可以导出为Excel表格保存,同时修改个人密码等等。

3.2系统功能划分

3.2.1引言

根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块,班级课程管理模块,这三大模块组成。

3.2.2班级课程管理模块

该模块主要由辅导员登录并进行操作,辅导员可以对整个数据进行同步和更新维护。其它用户不能对其进行操作,只能在自己权限下查看相关记录,比方学生只能查看自己详细记录,不可以修改。教师只能查看班级、课程的详细记录,可以查看和修改学生记录,辅导员可以对全局记录进行操作和修改。

3.2.3在线请假模块

该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。假设教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。

3.2.4考勤管理模块

该模块主要由教师登录并进行操作,辅导员也可以根据自己抽查的考勤情况在自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为Excel表格,最前方便统计整个学期本课程所有学生的考勤情况。

3.3系统功能模块图

根据系统需求分析,系统功能实现的具体模块图可以进行如图3.3划分:

图3.3

3.4数据流程图

3系统总数据流程图

系统总数据流程图如图3

开 始

身份验证

数据库核对

N

字段是否匹配

重新登录

Y

用户类型

辅导员主页 教师主页 学生主页

进行相应操作

结 束

图3

3请假系统数据流程图

请假系统数据流程图如图3

请假成功

同意

学生请假请假记录

辅导员或教师审批

不同意

请假失败

图3

考勤系统数据流程图如图3.4.3

任课老师

出勤记录

数据

处理

请假系统

请假记录

病假

事假

迟到

早退

旷课

3

3考勤系统数据流程图

4 系统架构及数据库设计

4.1系统架构设计

根据系统中各用户的需求,以及各大功能的需求,经过大量的调查分析,针对该学生考勤挂历系统选择以下开发工具进行开发:

系统结构:B/S(浏览器/效劳器)

开发语言:JAVA/JSP

数据库:MySQL

开发工具:MyEclipse10

效劳器端容器:Tomcat7.0.39[6]

4.2数据库设计

4.2.1 数据库需求分析

学生考勤管理系统要实现在线请假、随堂考勤两大子系统,需要了解学生用户、教师用户、辅导员用户三类用户的功能模块。然后,据此分析出数据需求。

班级表:班级流水号、班级编号、班级名称。

老师表:教师流水号、教师编号、老师名称、性别、教师联系方式、老师邮件、教师住址、教师登录密码。

学生表:学生流水号、学生学号、学生名字、性别、宿舍号、联系方式、密码。

辅导员表:辅导员ID、辅导员姓名、辅导员密码。

课程表:课程流水号、课程编号、课程名称。

选课表:选课班级流水号、班级ID、课程ID、选课年级、选课学期。

老师代课表:老师代课流水号、教师ID、课程ID、代课学年、代课学期。

请假表:请假开始时间、请假结束时间、请假原因、请假天数、审批时间。

考勤表:考勤流水号、考勤的学生ID、考勤的课程ID、考勤时间、考勤课次、考勤结果。

4.3数据库逻辑实现

数据库逻辑设计就是将数据组织成一个和计算机提供的DBMS所采用的数据模型相符合的形式,这是一个将用户角度上的概念结构转换为DBMS支持下的数据组织模式的过程,其步骤是确定组成数据库的实体及其构成,以及确定数据库实体之间的关系。

数据库的概念设计完毕之后,现在可以将上面的数据库结构转换为某种数据库系统

所支持的实际数据类型,也就是数据库的逻辑结构。该网站采用的是MySQL数据库。

建立数据库模型是数据库设计过程的第三个阶段。在这一阶段中要将概念模型中得到的E-R图转换成具体的数据模型。数据模型一般分为层次、网状、关系和面向对象模型等。目前比拟常用的是关系数据模型,所以通常将E-R图转换成关系数据模型,实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式[7]。

4系统所有表

根据数据库的需求分析,设计具体数据库逻辑结构,包含的:

图4.3

1.辅导员表 admin

表4 辅导员表

字段名

admin_id

admin_name

admin_password

2.学生表 student

名称

管理员ID

用户名

密码

类型

int

varchar

varchar

长度

11

20

20

备注

主键

not null

not null

表4.3.2 学生表

字段名

student_id

class_id

student_NO

student_name

student_sex

student_room

student_phone

student_telphone

student_email

student_password

student_image

3.教师表 teacher

名称

学生流水号

班级流水号

学号

名字

性别

宿舍号

邮件

密码

头像

类型

int

int

varchar

varchar

varchar

varchar

varchar

varchar

varchar

varchar

varchar

长度

11

11

15

20

4

20

15

15

30

16

500

备注

主键

not null

not null

not null

not null

not null

not null

not null

表4.3.3 教师表

字段名

teacher_id

teacher_NO

teacher_name

teacher_sex

teacher_office

teacher_phone

teacher_telphone

teacher_email

teacher_password

4.课程表 course

名称

老师流水号

编号

姓名

性别

办公室地址

座机

邮件

密码

类型

int

varchar

varchar

varchar

varchar

varchar

varchar

varchar

varchar

长度

11

15

20

4

40

15

15

30

16

备注

主键

not null

not null

not null

not null

not null

not null

not null

表4 课程表

字段名

course_id

course_NO

course_name

名称

课程流水号

课程编号

课程名称

类型

int

varchar

varchar

长度

11

15

30

备注

主键

5.班级表 class

表4.3.5 班级表

字段名

class_id

class_NO

class_name

class_grade

名称

班级流水号

编号

名称

年级

类型

int

varchar

varchar

varchar

长度

11

10

20

10

备注

主键

6.考勤表 seekaoqinview

表4.3.6 考勤表

字段名

class_id

class_name

course_id

course_NO

course_name

student_name

student_sex

kaoqin_date

kaoqin_time

kaoqin_data

名称

班级流水号

班级名称

课程ID

课程编号

课程名称

学生名称

学生性别

考勤日期

考勤次数

考勤数据

类型

int

varchar

int

varchar

varchar

varchar

varchar

varchar

int

varchar

长度

11

20

11

15

30

20

4

15

11

100

备注

7.选课表 selectcourse

表4.3.7 选课表

字段名

selectCourse_id

class_id

coruse_id

selectCourse_year

selectCourse_term

名称

选课流水号

班级ID

课程ID

选课年级

选课学期

类型

int

int

int

varchar

int

长度

11

11

11

15

11

备注

8.教师代课表 teachcourse

表4.3.8 代课表

字段名

teacherCourse_id

teacher_id

course_id

teacherCourse_year

teacherCourse_term

名称

代课流水号

教师ID

课程ID

代课学年

代课学期

类型

int

int

int

varchar

int

长度

11

11

11

10

11

备注

主键

9.点名表 dianminlist

图4.3.9 点名表

10.请假表 qingjia

表4.3.10 请假表

字段名

qj_start_time

qj_end_time

qj_yy

student_name

teacher_name

class_id

qj_flag

4数据库连接池

名称

开始时间

结束时间

请假原因

学生名称

教师名称

课程ID

请假标志

类型

date

date

varchar

varchar

varchar

int

int

长度

1000

20

20

11

11

备注

not null

not null

not null

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中表

达得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来防止因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能[8]。

一个DataSource对象通常注册在JNDI命名效劳上,应用程序可以通过标准的方式获得到注册在JNDI效劳上的DataSource对象。

initContext = new InitialContext();

envContext = (Context) ("java:/comp/env");

ds = (DataSource) ("jdbc/KQ");

相关操作:

();当关闭数据连接后,当前使用的数据库连接将不会被物理关闭,而是放回到数据库连接池中进行重用[9]。

:

DB Connection

jdbc/KQ

urce

Container

3.配置:

=jdbc:mysql://localhost:3306/KQBMS

me=root

rd=root

4

maxActive="80" maxIdle="20" maxWait="10000" removeAbandoned="true"

username="root" password="root" driverClassName=""

url="jdbc:mysql://127.0.0.1:3306/KQBMS" />[10]

4.3.3数据库的运行与维护

数据库设计结束后,就可以直接投入运行了,数据库运行标志着设计任务的完成和维护工作的开始,但不意味着设计过程的终结,由于应用环境在不断变化,数据库运行过程中物理存储也在不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。在数据库运行阶段,对数据库的维护工作有:

(1)数据库的转储和恢复:定期对数据库和日志文件进行备份,以保证一旦发生故障,能利用数据库备份一级日志文件备份,尽快将数据库恢复到某种一致性状态,并尽可能减少对数据库的破坏。

(2)数据库的平安性、完整性控制:根据用户的实际需要授予不同的操作权限,另外,由于应用环境的变化,数据库的完整性约束条件也会变化,以满足用户需求。

(3)数据库性能的监督、分析和改良。

(4)数据库的重组织和重构造:数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降,这时就要对数据库进行重组织,或者局部组织。当数据库应用环境发生变化时,会导致实体及实体间的联系也发生相应的变化,使原有的数据库设计不能很好的满足新的需求,从而不得不适当调整数据库的模式和内模式,这就是数据库的重构造[11]。

4.3.4中文乱码处理

在数据库插入执行相关操作中,最容易遇到的难题就是中文乱码问题。本次开发过程中也不例外,解决乱码最好的方法是在工程设计之初,统一所有的字符集,例如页面、request对象以及数据库等。经过各方查找相关资料后得到以下几种解决方案:

创立数据库时:指定该数据库默认编码为‘utf8’码

CTEATE DATABASE kqbms DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

创立各个表时:指定表的默认编码为‘utf8’码

CREATE TABLE xxx ([字段1], [字段2],……,[字段n]) VALUES

([values_1][ values_2],……,[ values_n]) DEFAULT CHARACTER SET utf8 COLLATE

utf8_general_ci;

这样设置之后根本不会出什么问题,即建数据库和建表时都使用相同的编码格式。

5 系统实现

5.1不同用户登录实现

前台登录主要通过自己的用户名、密码进行登录,来进行相关的访问操作,其登录界面如图;下拉列表框可以用来选择登录用户——教师、学生、辅导员。登录之后,相应用户可以进行对应操作。

图5

5.1.1学生操作的设计与实现

学生登录之后,主界面左上角显示当前系统时间,右上角显示出当前登录用户的姓名,界面左那么显示学生可以执行的具体选项,包括:查看信息,在线请假,查看请假结果,修改密码等。点击对应的功能按钮后可以在右那么进行相应的详细操作。

5.1.2教师操作的设计与实现

教师登录之后,主界面左上角显示当前系统时间,右上角显示出当前登录教师的姓名,界面左那么显示教师可以执行的具体选项,包括:查看班级信息,查看学生信息,查看课程信息,考勤管理,请假审批,修改密码等。点击对应的功能按钮后可以在右那么进行相应的详细操作。

5.1.3辅导操作界面的设计与实现

辅导员登录之后,主界面左上角显示当前系统时间,右上角显示出当前辅导员用户的姓名,界面左那么显示辅导员可以执行的具体选项,包括:班级管理,课程管理,学生管理,课程管理,请假审批,修改考勤,修改密码等。点击对应的功能按钮后可以在右那么进行相应的详细操作。

5.2系统各模块具体实现

5请假模块

当学生在需要请假的时候,通过该页面可以填写要请假的开始时间,结束时间,最后由教师进行审核。其页面如下图:

图5.

5.2.2点名模块

其主要功能是在教师在要点名时,先登录到页面,然后进入点名页面,教师可以进行选择班级进行,选出所在班级的学生,并在左下角列出请假的学生,然后由代课教师根据请假,及其名单对照进行点名。其页面如下图5.:

图5.

5.2.3 班级管理模块

当老师登录该模块时,只可以查看班级信息,不能对其进行相应操作;当辅导员登录该模块时可以对班级信息进行添加、修改、删除、查询等操作,具体实现界面如图5.2.3

图5.2.3

5.2.4学生管理模块

该模块主要功能是对学生进行添加、修改、删除等一系列操作,学生只能查看个人信息,不能修改,其具体实现界面如图5.2.4

图5.2.4

5.2.5课程管理模块

教师要该模块只可以查看课程详细信息,不能进行其它操作;辅导员可以对课程的相关信息进查询、修改,也可以添加、删除课程,给课程指定代课老师,指定班级等。具体实现界面如图5.2.5

图5.2.5

5.2.6教师管理模块

辅导员要该模块内对教师信息进行具体操作,包括增、删、改、查,教师只能查看个人详细信息,不能进行其它操作。

5.2.7 考勤管理模块

可以查看相应班级对应课程的所有考勤信息,并且可以将考勤信息导出为Excel表格保存,实现界面如图.7下:

图5.2.7

5.2.8 更改用户〔退出系统〕

假设当前用户执行完成相应操作后,想要退出该管理系统有两种方法;一种是点击右上角的“平安退出〞选项,即可平安退出本管理系统;另一种选择系统设置中的更改用户按钮,也可以到达和退出系统相同的效果,可以平安退出系统[12]。

6 系统实施

6.1系统实施具体步骤

6组建网络

图6

6硬件配置

网站设计、测试使用计算机配置为:P4 3.0G CPU、1G内存、320G硬盘、1024*768显示分辨率,Windows XP PRO版操作系统、、MySQL 。经测试可正常运行。

本网站系统运行应满足设计的最低软、硬件要求。该网站系统最低软硬件要求如下:

客户端:

硬件:PⅢ 500以上CPU、256M以上内存、至少100M的空闲硬盘空间、800*600显示分辨率。

软件:Windows 2000/Windows XP或更高版本。

网络效劳端:

硬件:PⅢ 1G以上CPU、256M以上内存、至少200M的空闲硬盘空间、800*600显示分辨率。

[13]。

6.2运行环境搭建

计算机中心安装WINDOWS平台以MySQL为后台数据库。〔或LINUX平台以MYSQL为

数据库〕。安装TOMCATE效劳器。安装JAVAJDK1.7.0.

注意:JDK1.7.0环境变量的设置 PATH,以及CLASSPATH

PATH:Java根路径

CLASSPATH:%JAVA_HOME%bin

Tomcat 中要设置JAVA—HOME〔指定到JAVAJDK根目录〕,以及tomcat〔指定到TOMCAT根目录〕

以下是WIN7上的设置环境变量的步骤:我的电脑——右击——属性——单击最上边的高级——单击环境变量出现如下列图所示,便可进行设置以上环境变量。

6.3效劳器搭建

配置好JDK运行环境后,开始配置Tomcat环境。

CATALINA_HOME:Tomcat根路径

Path:%CATALINA_HOME%bin

使用快捷键win+R翻开DOS命令窗口,输入:命令来启动Tomcat效劳器。

图6.

完成Tomcat根本设置后,最后还要测试安装的Tomcat究竟有没有工作,也就是这个能不能运行登录。在其它联到Tomcat效劳器的计算机上访问论坛时,可在浏览器“地址栏〞中输入“〞。在Tomcat效劳器本机访问论坛时,还可在浏览器“地址栏〞中输入“ ://localhost:端口号:/StuCheckInBMS〞,即可访问[14]。

7 测试维护

7.1软件测试的概念和方法

软件测试就是在软件交付用户使用或投入运行前,对软件需求规格说明、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生命周期中几乎横跨整个开发阶段:通常在编写出每一个模块之后就需要对它做必要的测试〔称为单元测试〕。编码和单元测试属于软件生命周期中的 同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,如集成测试、系统测试、性能测试和配置测试等,这是软件生命周期的另一个独立阶段,即测试

阶段。

7.2采用的测试技术

软件测试包括了两个阶段:单元测试和集成测试。

在软件开发的过程中,每实现一个模块都需要进行模块测试,也叫单元测试。

在软件开发结束后,要对系统进行综合测试,即:集成测试。

软件测试运用的主要技术有黑盒测试和白盒测试。本次测试主要采用的黑盒测试。黑盒测试着重测试软件功能。包括:功能是否正确或者遗漏了主要功能;界面链接错误;数据结构错误或外部数据库访问错误;性能错误;初始化和终止错误。通过黑盒测试发现系统存在的问题并进行修正。

7.3具体测试

(1)链接测试:链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面:

a)测试所有链接是否按指示的那样确实链接到了该链接的页面;

b)测试所链接的页面是否存在;

c)保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。

(2)表单测试:当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给效劳器的信息的正确性。

(3)Cookies测试:Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web效劳器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创立动态和自定义页面或者存储登陆等信息[15]。

如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作而且对这些信息已经加密。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。

(4)设计语言测试:Web设计语言版本的差异可以引起客户端或效劳器端严重的问题,例如使用哪种版本的HTML等。

(5)数据库测试:在Web应用技术中,数据库起着重要作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。

(6)登录测试:进入登录后,选择用户类别,输入用户名,密码进行登录。假设用户名输入错误,那么提示“用户不存在〞。假设密码输入输入错误,那么会提示“密码错误〞。

(7)请假测试:在请假开始时间、结束时间、请假原因都为空或局部为空的情况下,直接点提交数据在线请假。测试结果:系统拒绝提交数据,并能正确的做出相应的提示,如**不能为空的错误信息。

(8)考勤登记测试:进入指定页面后,一个学生在当天上课时已经请假成功了,任课老师提交数据时选择此学生旷课。测试结果:在考勤统计信息和详细信息中,出现了此学生请假的出勤信息。

7.4网站维护

(1)信息采集:学生考勤管理系统的信息来源主要是外部信息和自行采编的内部信息,对于各种数据格式的差异,采用标准的文本适宜和标准考勤管理系统数据库结构,通过数据库接口,将采集的文本信息成批导入相应的数据库,也可以利用编辑界面手工输入。

(2)信息 考虑考勤管理系统多样性,包括外来信息源和自行采编信息,需要对信息的审核确定无误后才能存入信息。

(3)信息存储:数据库内容是维持网站生命力的最重要因素,根据学生、老师、课

程、班级信息的需求,建立考勤管理系统数据库群等等,数据库建立以信息分类标准设计标准的考勤管理系统数据库表结构,数据库群可以根据教务网站对信息的需求查分或者组合网站数据库系统,要发布的信息存放于考勤管理系统信息数据库群,在有效时间内存入信息和实现数据库信息的定期更新。

(4)信息发布:信息发布是通过对管理人员分配不同的管理角色,进行不同的信息操作,包括数据库管理、维护、配置数据源、数据属性一级用户浏览等。管理员通过配置数据源,完成数据的自动加载,保证信息的一致性、时效性、和网页风格的统一。

结束语

在整个考勤管理系统的设计和实现过程中,不可防止地出现过很多的难题,但经过多番网上查找资料及老师耐心细致的帮助下顺利解决了。从工程不断完善和实践过程中体会到:学以致用,多做练习,多参与实践, 水平才能得到有效的提高。还有写论文的不断完善也是一个不断学习、升华的过程,在这一过程中把理论对于实际的指导意义表达的淋漓尽致。以前只是明白理论,比拟少的进行实践开发,对知识的理解不够明确,通过这次的自己细心认真亲自动手实践,真正做到理论和实际相结合是多么重要。

总之,通过毕业设计总结出要做好一个完整的工程,需要有系统的思维方式和方法,并付诸行动,对待要解决的问题,要耐心、要善于运用已学的知识。同时也认识到,在对待一个陌生的工程时,一定要从整体考虑,完成一步之后再作下一步,这样才能更加有效。

通过本次毕业设计,使我懂得了怎样去完成一套B/S结构的软件,不仅使自己增强了动手操作能力,而且为以后的工作就业奠定了根底。

参考文献

[1] 程凤春.学校管理的50个典型案例[M].北京.

华东师范大学出版社.2021:1-200

[2] 申吉红,廖学锋,余健.JSP程序设计案例精编[M].北京.清华大学出版社.2007:79-112

[3] 普利斯特.面向对象UML实践[M].北京.清华大学出版社.2021:42-84

[4] 李曙光.JSP开发实例完全剖析[M].北京.中国电力出版社.2006:120-141

[5] 刘斌.精通Java Web整合开发[M].北京.电子工业出版社. 2007:123-145

[6] 朱仲杰.Java2 全方位学习[M].北京.人民邮电出版社.2003:25-42

[7] Think In Java Bruce Eckel President,MindView,Inc.2007:443-501

[8] 阎宏.Java与模式[M].北京.电子工业出版社.2002:16-24

[9] Core Java2,Volume I –Fundamentals Seventh Edition Cay ann,Gary

Cornell.2006:86-176

[10] [M].北京.清华大学出版社.2003:36-38

[11] 黄缙华.MySQL入门很简单[M].北京.清华大学出版社.2021:50-129

[12[M].北京.北京出版社.2004:45-49

[13] 李继民,李珍.计算机专业毕业设计[J].北京.清华大学出版社,2021.12,35-89;

[14] 栗菊民.Java Web应用程序设计[M].北京.机械工业出版社.2007:13-16

[15] 中国.developerworks/

致谢

大学四年学习时光已经接近尾声,在此我想对我的母校,我的父母、亲人们,我的老师和同学们表达我由衷的谢意。感谢我的家人对我大学四年学习的默默支持;感谢我的母校甘肃农业大学给了我在大学四年深造的时机,让我能继续学习和提高;感谢我的老师和同学们四年来的关心和鼓励。老师们课堂上的激情洋溢,课堂下的谆谆教诲;同学们在学习中的认真热情,生活上的热心主动,所有这些都让我的四年充满了感动。

在论文完成之际,我心情无法平静。大学期间,尤其是毕业论文完成期间,有很多可敬的老师和同学给予了我无私帮助。对此我深怀感谢。

首先感谢导师李老师从始至终的关心、指导和教诲。李老师追求真理、一丝不苟、严格律己、宽以待人的崇高品质对学生将是永远的鞭策。本次毕业设计从课题选题、信息收集到论文的撰写都是在李老师全面、具体、耐心的指导下进行的。特别是李老师不厌其烦的指出设计中的缺乏及问题的解决方向,使我感受到李老师的渊博学识、敏锐思维和民主严谨的作风。论文写作过程中,从行文的用语到格式的标准,都力求完美。这里再次对李老师的无私付出表示深深的谢意。

其次在设计的过程中,感谢给予我帮助的同学们,在此对其表示感谢。

然后感谢信息科学技术学院各位老师对我的培养和关心,感谢我的家人在大学期间对我的支持和鼓励。

最后祝信息科学技术学院各位老师工作顺利,身体健康,祝信息科学技术学院明天更美好。


本文标签: 数据库 学生 进行