1、基于java的学生考勤信息管理系统设计摘 要学生考勤信息管理系统用于实现学校对在校学生的考勤信息的管理,是典型的管理信息系统。学生考勤信息的手工登记查询,是一项非常繁重而枯燥的劳动。在计算机技师飞速发展的今天,应用数据库技术实现学生考勤信息记录的管理是行之有效的。本文系统地介绍了一个基于java的学生考勤信息管理系统,论述了一个基于java的B/S考勤信息管理系统的设计原理、设计思想及具体的实现过程,对部分架构及设计思想和设计过程作了具体阐述。系统具有师生个人信息管理、请假、增删师生信息等功能,信息管理模块、考勤管理模块和考勤系统模块。本系统开发重要涉及后台数据库的建立以及前端应用程序的开发两
2、部分。其一规定建立起的数据库具有完整性和一致性,并具有一定的数据安全性;其二规定程序界面和谐、功能完备,通俗易懂。本次发采用HTML、JSP、JS、STRUCTS1、SQL Server 2023数据库等技术。本文着重讨论了用JSP技术和SQL Server 2023开发考勤管理系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。关键词:考勤信息管理系统;java ;B/S ;SQL serverBased on java & B/S Student Attendance Information Management System DesignAbstractStudent Att
3、endance Information Management System is a typical management information systemused for implementingthe schoolsto manage their studentsattendance information in school.Student attendance information manual registration query is a very heavy and tedious work.In todaysrapid development of computer te
4、chnology,the application of database technology could be effective used on it.This article systematically introducesand discusses a student attendance information management system and B/Sattendance information management systembased onjava, which include the design theory, design philosophy and spe
5、cific implementation process. The system contains many functions like personal information management of teachers and students, leave cases, additions and deletions. It also divided into information management module, attendance management module, attendance system module and so on.The development o
6、f this system, including the establishment of database and front-end application development.In the one hand, it demands the database established with integrity and consistencyand a certain degree of data security. In the other hand, it should have the friendly program interface, fully functioning a
7、nd easy to understand. This development uses HTML, JSP, JS, STRUCTS1, SQL Server 2023 database technology. This article focuses on the production technology using JSP technology development and SQL Server 2023 Attendance Management System database access technology and dynamic web pages, and given p
8、art of the code.Key word: attendance information management system ;java ;B/S ;SQL server目 录1前言11.1研究背景11.2选题目的及意义11.3研究内容12 系统开发环境与相关技术32.1开发技术及开发工具简介32.2运营环境42.3系统设计思想及解决流程43系统需求分析53.1系统可行性研究分析53.2可行性分析报告53.3系统开发具体研究分析64系统总体设计74.1系统总体功能层次图74.1.1 请假审核84.1.2考勤情况84.1.3考勤修改94.1.4退出系统94.2总结95数据库设计105.1
9、数据库需求分析105.2数据库表106系统实现146.1密码修改146.2请假156.3请假审批16(1)程序描述166.4考勤录入176.5考勤修改197系统维护与测试217.1系统的维护217.2系统测试22结 论23参考文献25谢 辞26附 录271前 言1.1研究背景随着社会的发展,计算机科学日渐成熟,计算机越来越进一步到我们的平常生活中,成为我们不可或缺的辅助工具。其强大的功能已为人们深刻结识,它已进入人类社会的各个领域,并发挥这越来越重要的作用,各行各业的人们无须通过特别的训练就可以使用计算机完毕许许多多复杂的工作。随着我国人口的增长,高校的生源也日益增长。学校考勤信息的管理作为高
10、校管理的一项平常工作,也随着学生人数的管理而变得繁琐起来。与此同时,计算机技术的发展也是与时俱进一日千里,于是,使用计算机代替人工记录管理学生的考勤信息自然而然的进入了人们的视野里。1.2选题目的及意义本系统的运营在Window XP 操作系统下,运用Jsp、Js与Structs1进行开发;采用Microsoft SQL Server 数据库进行学生信息的存储和解决。学生考勤信息管理系统涉及老师课上考勤、学生请假、师生交互等功能,可以有效的提高学生考勤管理的服务质量。本系统的操作使用方式符合选课管理员和师生的一般习惯,具有操作灵活,使用方便等特点。用Microsoft SQL Server 的
11、作为数据库后台支持,可以方便的进行各种数据存储、查询和解决,所开发出的系统安全可靠。使用起来通俗易懂。1.3研究内容为了开发出真正满足用户需要的软件产品,一方面必须要知道用户的需求。目前有许多不同的用于需求分析的结构化分析方法,但是,所有的方法都遵循以下准则:必须理解并描述问题的信息域;必须定义软件应完毕的功能;必须描述作为外部事件结果的软件行为;必须对描述信息、功能和行为进行分解,用层次方式展示细节;在开始系统设计前,进行可行性研究是必不可少的一个环节。可行性研究的目的不是解决问题,而是拟定问题是否值得去解决。所以我们就要通过对消费管理系统的可行性研究,来判断出原定的系统目的和规模是否现实,
12、以及系统完毕后所能带来的效益是否大到值得投资开发这个系统的限度。学生考勤信息管理系统的信息量非常庞大,其中对学生信息的采集和分析记录的工作也非常繁琐。本系统的功能和传统手工考勤模式相比较,毫无疑问会大大提高了信息管理的效率,辅助提高工作人员的工作效率,加强学生信息的统一管理和及时查询。同时在计算机上提供一个全面的管理系统平台,使管理员和老师更加快捷、方便、全面地记录查询学生的考勤情况,同时也对学生进行统一管理,可对学生的信息进行查询。学生考勤信息系统就是作为实现信息现代化管理的重要平台,具有非常好的市场前景。开发此考勤管理系统重要用到的技术:jsp、java、SOL数据库,是基于WINDOWS
13、的系统。由于jsp、java、SOL数据库都是比较成熟技术,所以在技术上是可行的。具体规定如下:u 了解考勤管理系统基本运营流程;u 掌握java、jsp和B/S开发技术;u 纯熟应用SQL server 2023设计数据库;u 实现用户信息管理的功能u 实现用户信息维护的功能u 实现请假管理的功能u 实现考勤管理的功能2 系统开发环境与相关技术2.1开发技术及开发工具简介1、Jsp技术构造系统分析JSP是Java Server Pages的简称,它是由Sun公司于1999年6月推出,是基于Java Servlet以及整个Java体系的Web开发技术。作为J2EE体系中的重要一环,JSP为创建
14、高度动态的Web应用提供了一个独特的开发环境。JSP可以适应市场上涉及Apache JDBC是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这用就使得开发独立于DBMS的Java应用程序成为也许。一般的Java开发工具都带有JDBC-ODBC桥驱动程序,这样,只要是可以使用ODBC访问的数据库系统,也就可以使用JDBC访问了。2、SQL server 2023数据库开发工具简介SQL Server 是一个关系数据库管理系统,它最初是由Mic
15、rosoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增长了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成限度高等优点,可跨越从运营Microsoft Windows 98 的膝上型电脑到运营Microsoft
16、Windows 2023 的大型多解决器的服务器等多种平台使用。它有以下特点:.可伸缩性和可用性,并且易于安装、部署和使用。3、B/S模式简介B/S(Browser/Server浏览器/服务器)模式又称B/S结构。B/S模式是指在TCP/IP的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。它由浏览器、Web服务器、应用服务器和数据库服务器组成。客户端的浏览器通过URL访问Web服务器,Web服务器请求数据库服务器,并将获得的结果以HTML形式返回客户端浏览器。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构
17、下,用户工作界面是通过IE浏览器来实现的。相较于C/S模式的系统升级维护复杂来说, B/S模式最大的好处是运营维护比较简便, 能实现不同的人员从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据。此外,B/S还便于面向广大未知用户使用,由于只要电脑安装了IE,通过一定的设立,就都可以使用,如建立公司网站发布信息。2.2运营环境本系统重要Windows XP环境下运营,数据库管理系统(DBMS)是SQL Server 2023,动态网页以 JSP(Java Server Pages)来建立系统。2.3系统设计思想及解决流程1、系统应符
18、合学生考勤信息管理系统的规定,满足管理工作需要,并达成操作过程中的直观,方便,实用,安全等规定。2、系统采用B/S体系结构,动态网页客户端负责表达逻辑,显示用户界面信息,数据库服务器SQL Server 2023则用于提供后台数据服务。3、系统采用模块化程序设计方法,便于系统功能的各种组合和修改。4、系统应具有数据库维护功能,及时根据用户需求进行数据的添加,删除,修改操作。3系统需求分析3.1系统可行性研究分析可行性分析是在进行初步调查后所进行的对系统开发必要性和也许性的研究,所以也称为可行性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观测与实践,我认为学生
19、考勤信息管理系统的可行性分析如下:(1)经济可行性分析开发该系统只需一台主机,会Jsp+SOL,了解windows操作系统,在开发的时间内(三个月内),所需的成本不多,开发该系统完全可行。(2)技术可行性分析技术上的可行性分析重要分析现有技术条件能否顺利完毕开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。消费管理系统的工作重要是在用户和管理员之间架起一座桥梁,能互相了解信息和解决信息。这一特点非常适合计算机的人机特点,用户可通过登陆方式使用系统,并在系统上查找自己想要的所有内容。这时计算机就为用户提供信息传输速度快、准确度高的优势。随着计算机硬件和软件技术的飞速
20、发展,这就为系统的建设提供了技术条件。(3)社会可行性分析在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是考勤信息管理系统完全有也许也有能力采用这样先进的管理技术。它对考勤信息管理系统带来的影响可以看到:对传统管理理念的冲击,也许引起管理层的变动和人员的调整。对管理工作人员的规定提高,使消费管理系统在一定的也许下进行人员精简,迫使工作人员继续学习新知识,拓宽计算机在市场环境下的生存空间。对计算机与用户之间业务方式的转变和扩充开发。该系统是独立完毕的,并且开发的学校自己用的,不是商业软件,不会因版权等问题产生法律问题。3.2可行性分析报告把可行性分析的最后成果整理成书面的形式,这就
21、是可行性分析报告。可行性分析报告涉及下列内容:考勤信息管理系统近期和长远目的,新系统的总体目的及重要功能重要问题和重要信息需求:拟订新系统方案从经济、技术、社会等方面论证方法的可行性可行性分析报告是系统开发人员通过初步调查与可行性研究后所做的工作总结,反映了开发人员对建立新系统的见解。必须认真起草,并通过系统分析人员的集体讨论,然后提交。3.3系统开发具体研究分析要建立新的考勤信息管理系统,就必须对现行的管理系统进行全面、细致而充足的调查研究。具体采用直接面谈和专门访问并参与业务实践,与工作人员一起完毕最基本的工作程序的方法。本来考勤信息管理系统解决中心进行信息管理的重要方式是基于手工解决,信
22、息解决工作量大,容易犯错,缺少系统、规范的信息管理手段。现在准备建立的考勤信息管理系统,要把客户的相关管理工作实行计算机统一管理,以提高工作效率和管理水平。本系统从以下几个方面对用户的需求进行分析。(1)系统的需求分析:可以进行数据的采集,学生的管理,对考勤记录的查询。(2)对数据的安全性、可靠性规定:系统各项数据信息必须保证安全性和可靠性。(3)定期整理数据:系统管理员根据学生的历史考勤信息定期整理系统数据库,并将运营结果归档。4系统总体设计消费管理系统是一个典型的数据库应用程序,由系统设立模块、消费人员管理模块、消费数据采集模块,报表查询模块等模块组成,允许管理员操作相应的菜单,从而实现数
23、据信息的添加,修改,删除,查询,打印,记录等功能。4.1系统总体功能层次图1、基于java的B/S学生考勤信息管理系统是提供系统管理员、老师和学生使用的信息管理系统。基于java的B/S学生考勤信息系统功能结构图如下4.1.1 请假审核表4-1 请假审核输入请假信息(学号、请假时间、请假因素、申请时间,审批情况,审批时间)解决流程输出将该记录更新到数据库,并将该审核情况信息显示4.1.2考勤情况 表4-2 考勤情况输入学生信息(学号、姓名、性别、考勤结果)、时间、节次解决流程输出将该记录插入数据库 4.1.3考勤修改表4-3 修改考勤输入学生信息(学号、姓名、性别、考勤结果)、时间、节次解决流
24、程输出将该记录插入数据库,并将个人选课情况显示4.1.4退出系统 该模块的重要功能是退出考勤信息管理系统。4.2总结通过对总体设计的分析规划,我们对程序的总体设计有了充足结识,对系统的各部分模块有了总体的结识,我们下一步所做的工作就是应当进行数据库的设计及系统设计。5数据库设计消费管理系统采用了Microsoft推出的SQL Server2023作为后台数据库5.1数据库需求分析在设计数据库结构时,以及也许地满足用户所提出的各项规定,同时又避免同时又要避免冗余数据产生。由于在考勤信息管理系统中,需要采集大量的信息,涉及学生个人信息,考勤记录等,假如不可以合理有效地组织数据表的结构,以及合理设立
25、每张表所包含的字段,那么后期进行的数据的整理以及汇总时,就会增长编程人员的开发难度,并导致成绩效益的大幅度下降。角色设计将整个使用考勤信息管理系统分为多个不同角色,采用比较人性化的系统权限分派方式,一般有学生、老师以及管理员。如表5-1所示表5-1权限 描述 学生对个人信息的管理、请假申请、考勤记录班主任对个人信息的管理、对学生请假进行审批、考勤记录任课老师对个人信息的管理、请假查看、考勤管理院领导对个人信息的管理、考勤记录管理员 对人员信息的管理、请假管理、考勤管理5.2数据库表(1)loginuser(用户表) 表4-5 用户表的结构字段名 数据类型 长度 空 主键外键 备注account
26、文本 10 NY password 文本 10 type 数字 4 N 登录类型(2)specialty(专业表)表4-6 专业表的结构字段名 数据类型 长度 空 主键外键 备注sid 数字 4 NY 专业Id sname 文本 30 专业名(3)student(学生)表4-7 学生表的结构字段名 数据类型 长度 空 主键外键 备注sno 文本 10 NY sname 文本 15 N sclass 文本 10 sex 文本 2 birthplace 文本 40 tel 文本 15 professional 数字 4 email 文本 20 note 文本 50 (4)teacher(老师表)表
27、4-8 老师表的结构字段名 数据类型 长度 空 主键外键 备注tno 文本 10 NY tname 文本 15 N sex 文本 2 seniority 数字 4 birhtplace 文本 40 tel 文本 15 professional 数字 4 email 文本 20note 文本 50 type 数字 50 (5)course(登录用户视图)表4-9 课程的结构字段名 数据类型 长度 空 主键外键 备注CNO 数字 1 NY CNAME 文本 45 N CREATETIME 日期 (6)attendance(考勤表)表4-10 考勤表的结构字段名 数据类型 长度 空 主键外键 备注i
28、d 文本 11 NY sno 文本 15 N cno 数字 11 shijian 文本 2 jieci 数字 11 statues 文本 1 (7)qjmx (请假表)表4-11 请假表的结构字段名 数据类型 长度 空 主键外键 备注id 文本 10 NY sno 文本 15 N beginDate 文本 2 beginJC 数字 4 endDate 文本 40 endJC 文本 15 reason 数字 4 statues 文本 20note 文本 50 apptime 文本 50 sptime 文本 50 spz 文本 50 6 系统实现6.1密码修改 (1)程序描述该模块是涉及到安全性的
29、一个模块,同时也是比较重要的模块。(2) 功能表5-1 密码修改功能表程序名称密码修改相关数据库表LOGINUSER输入旧密码、新密码输出将修改结果显示程序解决说明1 输入旧密码和新密码2 验证旧密码是否对的3 验证新密码与重密码是否一致4 将该记录插入数据库(3)程序流程图图6-1 密码修改程序流程图(4)测试计划1) 旧密码为空或错误时,则显示旧密码不能为空或错误。2) 新密码和重密码为空或不一致时,则提醒新密码和重密码不能为空或规定一致。3) 输入的信息都完整且符合条件时,则显示密码修改完毕。6.2请假1)程序描述该模块是最重要最核心的一个模块,请假审批模块、考勤模块都是围绕这个模块做的
30、。(2) 功能表6-2 请假申请功能表程序名称申请课题相关数据库表QJMX输入请假信息(学号、请假开始时间、请假开始节次、请假结束时间、请假结束节次、因素、申请时间)输出将该学生的所有请假信息显示程序解决说明1. 输入请假信息2. 验证必填内容是否填满3. 将该记录插入数据库(3)程序流程图 图5-2 申请课题程序流程图(4)测试计划1) 必填项目未填满时,则提醒要填写该项目。2) 输入的信息都完整且符合条件时,则显示所有请假申请。6.3请假审批(1)程序描述该模块是比较重要的一个模块,考勤管理模块都是在这个模块配合完毕。(2) 功能表6-3请假审批功能表程序名称课题审核相关数据库表QJMX输
31、入请假信息(学号、请假开始时间、请假开始节次、请假结束时间、请假结束节次、因素、申请时间)、审核状态输出将该审核情况信息显示程序解决说明1. 审核状态、备注2. 审核状态输入完显示审核情况3. 将该记录插入数据库(3)程序流程图 图6-3 请假审核程序流程图(4)测试计划1) 当审核状态为0时,会显示待审核。2) 输入审核状态后,则显示审核信息的状态。(5)关键代码String sql = UPDATE qjmx SET statues = ? ,note = ? ,sptime = ?,spz = ? WHERE id = ?;DBUnit dbUnit = new DBUnit(SQL_C
32、LASSNAME, SQL_URL, SQL_USERNAME,SQL_PASSWORD);ArrayList list = new ArrayList();list.add(status);list.add(note);list.add(new Date();list.add(tname);list.add(qjid);6.4考勤录入(1)程序描述该模块是系统的目的所在,是非常重要的一个模块。(2) 功能表6-4 考勤录入功能表程序名称考勤录入相关数据库表attendance输入考勤信息(学号、课程号、时间、节次)、考勤状态输出将个人选课情况显示程序解决说明1 输入时间信息、课程信息2 验证
33、课程是否已考勤3 将该记录插入数据库(3)程序流程图 图6-4 课程考勤程序流程图(4)测试计划1) 选择班级时,则显示该班级所有学生。2) 当考勤已进行,则显示该节课已考勤。3) 当学生考勤状态为旷课,则显示旷课状态(5)关键代码String sql = SELECT * FROM CA_STATUS WHERE SHIJIAN = ? AND JIECI = ? and zy=?;result=dbUnit.batchUpdateAutoClose(conn,insertintoattendance(sno,cno,shijian,jieci,statues) values(?,?,?,?
34、,?), list);result=dbUnit.updateAutoClose(insert into CA_STATUS(shijian,jieci,zy,bj) values(?,?,?,?), list1);6.5考勤修改(1)程序描述该模块扩大了考勤的灵活度。(2) 功能表6-5 考勤信息修改功能表程序名称学生考勤情况、考核表相关数据库表attendance、ca_status输入考勤信息(学号、课程号、时间、节次、考勤)、修改状态输出将个人选课情况显示程序解决说明1 输入时间信息、班级信息2 验证该节次是否已进行考核3 将该记录插入数据库(3)程序流程图 图6-5 考勤信息修改程序
35、流程图(4)测试计划1) 当学生为旷课专题,则显示旷课。2) 当该节次未进行考核,则可以提醒未进行考勤。(5)关键代码String sql = SELECT * FROM CA_STATUS WHERE SHIJIAN = ? AND JIECI = ? and zy=?;result = dbUnit.batchUpdateAutoClose(conn, delete from attendance where sno = ? and cno = ? and shijian = ? and jieci = ? and ?0, list);result = dbUnit.batchUpdate
36、AutoClose(conn, insert into attendance(sno,cno,shijian,jieci,statues) values(?,?,?,?,?), list);7 系统维护与测试7.1系统的维护系统维护的目的是保证考勤信息管理系统正常而可靠地运营,并能使系统不断得到改善和提高,以充足发挥作用。换言之,系统维护就是为了保证系统中的各个要素随着环境的变化始终处在最新的、对的的工作状态。系统维护的工作量往往是很大的,其费用大约占整个生命周期的60%,所以我们必须对系统维护给予足够的重视。 1、系统维护的内容按照系统维护对象的不同,系统维护的内容可分为以下几类:(1)系统
37、应用程序维护(2)数据维护(3)代码维护 (4)硬件设备维护2、系统维护的类型系统维护的重点是系统应用软件的维护工作,按照软件维护的不同性质,可以划分为下面四种类型: (1)纠错性维护 诊断和修正系统中遗留的错误。(2)适应性维护 使系统合用环境的变化而进行的维护。(3)完善性维护 为满足用户的需求而进行的维护。(4)防止性维护 为将要发生的变化或调整而进行的积极性维护。3、系统维护的组织与管理系统维护工作,一方面必须建立一个维护组织,拟定进行维护工作所应遵循的原则和规范化的过程,此外还应建立一套合用于具体系统维护过程的文档及管理措施,以及进行复审的标准。7.2系统测试在java开发过程中采用
38、了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常也许隐藏着错误和缺陷,未经周密测试的系统投入运营,将会导致难以想象的后果,因此系统测试是开发过程中为保证软件质量必须进行的工作。大量记录资料表白,系统测试的工作量往往占开发总工作量的40%以上。因此,我们必须重视测试工作。由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周导致的。因此测试不是为了表白程序对的;成功的测试也不是没有发现错误的测试。故意义的软件测试应当是从“破坏”软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目的应当是以尽也许少的代价
39、和时间找出软件系统中潜在的错误和缺陷。从产品角度看,测试计划中的测试项目涉及软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试自身看,分为单元测试,组合测试,确认测试等。测试对象是随着阶段而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模块作为测试对象的。在具体的测试中,一般应遵循以下原则:由程序设计者之外的人进行测试;测试用例应由两部分组成:输入数据和预期输出结果;应选用不合理的输入数据与非法输入测试;不仅要检查程序是否实现预期功能,还应检查程序是否做了不应当做的工作;集中测试容易犯错的程序模块;对程序修改以后,必须重新进行测试。在开发本系
40、统时,为了使系统可以稳定运营,对本系统进行了有针对性的全面测试,采用的方式是:(1)菜单项测试:为了保证每一项下拉菜单可以正的确现系统设计的功能,我把相关的基础数据,基本上所有输入到本系统中,并对每一个菜单项多次进行了增长、删除、修改等操作,从而保证了菜单功能的正的确现。(2)数据跟踪:完毕菜单项测试后,我又对系统内的每一个数据进行了跟踪。通过实践证实,说明该功能完全正常,对其它的功能模块也进行了类似的设立。(3)综合测试:在以上测试的基础上对系统功能进行了整体的测试,依次检查系统功能是否符合系统设计的规定。结 论本论文详述了基于java的B/S学生考勤信息系统设计与实现的整个开发流程,本设计是对本人在大学四年所学知识的综合考验,在开发过程中,本人对软件开发的结识有了进一步的提高,对软件应用程序开发流程有了深刻地了解,这些都在我以后的学习工作中有了很大的帮助。系统的制作已经完毕了。虽然它没有投入到学校的选