基于java的学生考勤信息管理系统设计摘要学生考勤信息管理系统用于实现学校对在校学生的考勤信息的管理,是典型的管理信息系统。学生考勤信息的手工登记查询,是一项非常繁重而枯燥的劳动。在计算机技师飞速发展的今天,应用数据库技术实现学生考勤信息统计的管理是行之有效的。本文系统地介绍了一个基于java的学生考勤信息管理系统,论述了一个基于java的B/S考勤信息管理系统的设计原理、设计思想及具体的实现过程,对部分架构及设计思想和设计过程作了详细阐述。系统具有师生个人信息管理、请假、增删师生信息等功能,信息管理模块、考勤管理模块和考勤系统模块。本系统开发主要包括后台数据库的建立以及前端应用程序的开发两部分。其一要求建立起的数据库具有完整性和一致性,并具有一定的数据安全性;其二要求程序界面友好、功能完备,通俗易懂。本次发采用HTML、JSP、JS、STRUCTS1、SQLServer2005数据库等技术。本文着重讨论了用JSP技术和SQLServer2005开发考勤管理系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。关键词:考勤信息管理系统;java;B/S;SQLserver
Basedonjava&B/SStudentAttendanceInformationManagementSystemDesignAbstractStudentAttendanceInformationManagementSystemisatypicalmanagementinformationsystemusedforimplementingtheschoolstomanagetheirstudentsattendanceinformationinschool.Studentattendanceinformationmanualregistrationqueryisaveryheavyandtediouswork.Intoday"srapiddevelopmentofcomputertechnology,theapplicationofdatabasetechnologycouldbeeffectiveusedonit.ThisarticlesystematicallyintroducesanddiscussesastudentattendanceinformationmanagementsystemandB/Sattendanceinformationmanagementsystembasedonjava,whichincludethedesigntheory,designphilosophyandspecificimplementationprocess.Thesystemcontainsmanyfunctionslikepersonalinformationmanagementofteachersandstudents,leavecases,additionsanddeletions.Italsodividedintoinformationmanagementmodule,attendancemanagementmodule,attendancesystemmoduleandsoon.Thedevelopmentofthissystem,includingtheestablishmentofdatabaseandfront-endapplicationdevelopment.Intheonehand,itdemandsthedatabaseestablishedwithintegrityandconsistencyandacertaindegreeofdatasecurity.Intheotherhand,itshouldhavethefriendlyprograminterface,fullyfunctioningandeasytounderstand.ThisdevelopmentusesHTML,JSP,JS,STRUCTS1,SQLServer2000databasetechnology.ThisarticlefocusesontheproductiontechnologyusingJSPtechnologydevelopmentandSQLServer2000AttendanceManagementSystemdatabaseaccesstechnologyanddynamicwebpages,andgivenpartofthecode.Keyword:attendanceinformationmanagementsystem;java;B/S;SQLserver
目录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数据库需求分析105.2数据库表106系统实现146.1密码修改146.2请假156.3请假审批16(1)程序描述166.4考勤录入176.5考勤修改197系统维护与测试217.1系统的维护217.2系统测试22结论23参考文献25谢辞26
附录27
1前言1.1研究背景随着社会的发展,计算机科学日渐成熟,计算机越来越深入到我们的日常生活中,成为我们不可或缺的辅助工具。其强大的功能已为人们深刻认识,它已进入人类社会的各个领域,并发挥这越来越重要的作用,各行各业的人们无须经过特别的训练就能够使用计算机完成许许多多复杂的工作。随着我国人口的增长,高校的生源也日益增加。学校考勤信息的管理作为高校管理的一项日常工作,也随着学生人数的管理而变得繁琐起来。与此同时,计算机技术的发展也是与时俱进一日千里,于是,使用计算机代替人工记录管理学生的考勤信息自然而然的进入了人们的视野里。1.2选题目的及意义本系统的运行在WindowXP操作系统下,利用Jsp、Js与Structs1进行开发;采用MicrosoftSQLServer数据库进行学生信息的存储和处理。《学生考勤信息管理系统》包括老师课上考勤、学生请假、师生交互等功能,可以有效的提高学生考勤管理的服务质量。本系统的操作使用方式符合选课管理员和师生的一般习惯,具备操作灵活,使用方便等特点。用MicrosoftSQLServer的作为数据库后台支持,可以方便的进行各种数据存储、查询和处理,所开发出的系统安全可靠。使用起来通俗易懂。1.3研究内容 为了开发出真正满足用户需要的软件产品,首先必须要知道用户的需求。目前有许多不同的用于需求分析的结构化分析方法,但是,所有的方法都遵循以下准则:必须理解并描述问题的信息域;必须定义软件应完成的功能;必须描述作为外部事件结果的软件行为;必须对描述信息、功能和行为进行分解,用层次方式展示细节;
在开始系统设计前,进行可行性研究是必不可少的一个环节。可行性研究的目的不是解决问题,而是确定问题是否值得去解决。所以我们就要通过对消费管理系统的可行性研究,来判断出原定的系统目标和规模是否现实,以及系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。学生考勤信息管理系统的信息量非常庞大,其中对学生信息的采集和分析统计的工作也非常繁琐。本系统的功能和传统手工考勤模式相比较,毫无疑问会大大提高了信息管理的效率,辅助提高工作人员的工作效率,加强学生信息的统一管理和及时查询。同时在计算机上提供一个全面的管理系统平台,使管理员和老师更加快捷、方便、全面地统计查询学生的考勤情况,同时也对学生进行统一管理,可对学生的信息进行查询。学生考勤信息系统就是作为实现信息现代化管理的重要平台,具有非常好的市场前景。开发此考勤管理系统主要用到的技术:jsp、java、SOL数据库,是基于WINDOWS的系统。由于jsp、java、SOL数据库都是比较成熟技术,所以在技术上是可行的。具体要求如下:u了解考勤管理系统基本运行流程;u掌握java、jsp和B/S开发技术;u熟练应用SQLserver2005设计数据库;u实现用户信息管理的功能u实现用户信息维护的功能u实现请假管理的功能u实现考勤管理的功能
2系统开发环境与相关技术2.1开发技术及开发工具简介1、Jsp技术构造系统分析JSP是JavaServerPages的简称,它是由Sun公司于1999年6月推出,是基于JavaServlet以及整个Java体系的Web开发技术。作为J2EE体系中的重要一环,JSP为创建高度动态的Web应用提供了一个独特的开发环境。JSP能够适应市场上包括ApacheJDBC是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这用就使得开发独立于DBMS的Java应用程序成为可能。一般的Java开发工具都带有JDBC-ODBC桥驱动程序,这样,只要是能够使用ODBC访问的数据库系统,也就能够使用JDBC访问了。2、SQLserver2005数据库开发工具简介SQLServer是一个关系数据库管理系统,它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。它有以下特点:.可伸缩性和可用性,并且易于安装、部署和使用。3、B/S模式简介B/S(Browser/Server浏览器/服务器)模式又称B/S结构。B/S模式是指在TCP/IP的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。它由浏览器、Web服务器、应用服务器和数据库服务器组成。客户端的浏览器通过URL访问Web服务器,Web服务器请求数据库服务器,并将获得的结果以HTML形式返回客户端浏览器。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。
相较于C/S模式的系统升级维护复杂来说,B/S模式最大的好处是运行维护比较简便,能实现不同的人员从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据。另外,B/S还便于面向广大未知用户使用,因为只要电脑安装了IE,经过一定的设置,就都可以使用,如建立企业网站发布信息。2.2运行环境本系统主要WindowsXP环境下运行,数据库管理系统(DBMS)是SQLServer2005,动态网页以JSP(JavaServerPages)来建立系统。2.3系统设计思想及处理流程1、系统应符合学生考勤信息管理系统的规定,满足管理工作需要,并达到操作过程中的直观,方便,实用,安全等要求。2、系统采用B/S体系结构,动态网页客户端负责表达逻辑,显示用户界面信息,数据库服务器SQLServer2005则用于提供后台数据服务。3、系统采用模块化程序设计方法,便于系统功能的各种组合和修改。4、系统应具备数据库维护功能,及时根据用户需求进行数据的添加,删除,修改操作。
3系统需求分析3.1系统可行性研究分析可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,我认为学生考勤信息管理系统的可行性分析如下:(1)经济可行性分析开发该系统只需一台主机,会Jsp+SOL,了解windows操作系统,在开发的时间内(三个月内),所需的成本不多,开发该系统完全可行。(2)技术可行性分析技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。消费管理系统的工作主要是在用户和管理员之间架起一座桥梁,能相互了解信息和处理信息。这一特点非常适合计算机的人机特点,用户可通过登陆方式使用系统,并在系统上查找自己想要的所有内容。这时计算机就为用户提供信息传输速度快、准确度高的优势。随着计算机硬件和软件技术的飞速发展,这就为系统的建设提供了技术条件。(3)社会可行性分析在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是考勤信息管理系统完全有可能也有能力采用这样先进的管理技术。它对考勤信息管理系统带来的影响可以看到:对传统管理理念的冲击,可能引起管理层的变动和人员的调整。对管理工作人员的要求提高,使消费管理系统在一定的可能下进行人员精简,迫使工作人员继续学习新知识,拓宽计算机在市场环境下的生存空间。对计算机与用户之间业务方式的转变和扩充开发。该系统是独立完成的,而且开发的学校自己用的,不是商业软件,不会因版权等问题产生法律问题。3.2可行性分析报告把可行性分析的最后成果整理成书面的形式,这就是可行性分析报告。可行性分析报告包括下列内容:①考勤信息管理系统近期和长远目标,新系统的总体目标及主要功能②主要问题和主要信息需求:
③拟订新系统方案④从经济、技术、社会等方面论证方法的可行性可行性分析报告是系统开发人员经过初步调查与可行性研究后所做的工作总结,反映了开发人员对建立新系统的看法。必须认真起草,并通过系统分析人员的集体讨论,然后提交。3.3系统开发具体研究分析要建立新的考勤信息管理系统,就必须对现行的管理系统进行全面、细致而充分的调查研究。具体采用直接面谈和专门访问并参加业务实践,与工作人员一起完成最基本的工作程序的方法。原来考勤信息管理系统处理中心进行信息管理的主要方式是基于手工处理,信息处理工作量大,容易出错,缺乏系统、规范的信息管理手段。现在准备建立的考勤信息管理系统,要把客户的相关管理工作实行计算机统一管理,以提高工作效率和管理水平。本系统从以下几个方面对用户的需求进行分析。(1)系统的需求分析:可以进行数据的采集,学生的管理,对考勤记录的查询。(2)对数据的安全性、可靠性要求:系统各项数据信息必须保证安全性和可靠性。(3)定时整理数据:系统管理员根据学生的历史考勤信息定时整理系统数据库,并将运行结果归档。
4系统总体设计消费管理系统是一个典型的数据库应用程序,由系统设置模块、消费人员管理模块、消费数据采集模块,报表查询模块等模块组成,允许管理员操作相应的菜单,从而实现数据信息的添加,修改,删除,查询,打印,统计等功能。4.1系统总体功能层次图1、基于java的B/S学生考勤信息管理系统是提供系统管理员、老师和学生使用的信息管理系统。基于java的B/S学生考勤信息系统功能结构图如下
4.1.1请假审核表4-1请假审核输入请假信息(学号、请假时间、请假原因、申请时间,审批情况,审批时间)
处理流程输出将该记录更新到数据库,并将该审核情况信息显示4.1.2考勤情况表4-2考勤情况输入学生信息(学号、姓名、性别、考勤结果)、时间、节次处理流程输出将该记录插入数据库4.1.3考勤修改表4-3修改考勤输入学生信息(学号、姓名、性别、考勤结果)、时间、节次
处理流程输出将该记录插入数据库,并将个人选课情况显示4.1.4退出系统该模块的主要功能是退出考勤信息管理系统。4.2总结通过对总体设计的分析规划,我们对程序的总体设计有了充分认识,对系统的各部分模块有了总体的认识,我们下一步所做的工作就是应该进行数据库的设计及系统设计。
5数据库设计消费管理系统采用了Microsoft推出的SQLServer2005作为后台数据库5.1数据库需求分析在设计数据库结构时,以及可能地满足用户所提出的各项要求,同时又避免同时又要避免冗余数据产生。由于在考勤信息管理系统中,需要采集大量的信息,包括学生个人信息,考勤记录等,如果不能够合理有效地组织数据表的结构,以及合理设置每张表所包含的字段,那么后期进行的数据的整理以及汇总时,就会增加编程人员的开发难度,并造成成绩效益的大幅度下降。角色设计将整个使用考勤信息管理系统分为多个不同角色,采用比较人性化的系统权限分配方式,一般有学生、老师以及管理员。如表5-1所示表5-1权限描述学生对个人信息的管理、请假申请、考勤统计班主任对个人信息的管理、对学生请假进行审批、考勤统计任课老师对个人信息的管理、请假查看、考勤管理院领导对个人信息的管理、考勤统计管理员对人员信息的管理、请假管理、考勤管理5.2数据库表(1)loginuser(用户表)表4-5用户表的结构字段名数据类型长度空主键外键备注account文本10NYpassword文本10type数字4N登录类型(2)specialty(专业表)表4-6专业表的结构
字段名数据类型长度空主键外键备注sid数字4NY专业Idsname文本30专业名(3)student(学生)表4-7学生表的结构字段名数据类型长度空主键外键备注sno文本10NYsname文本15Nsclass文本10sex文本2birthplace文本40tel文本15professional数字4email文本20note文本50(4)teacher(老师表)表4-8老师表的结构字段名数据类型长度空主键外键备注tno文本10NYtname文本15Nsex文本2seniority数字4birhtplace文本40tel文本15professional数字4email文本20note文本50type数字50
(5)course(登录用户视图)表4-9课程的结构字段名数据类型长度空主键外键备注CNO数字1NYCNAME文本45NCREATETIME日期(6)attendance(考勤表)表4-10考勤表的结构字段名数据类型长度空主键外键备注id文本11NYsno文本15Ncno数字11shijian文本2jieci数字11statues文本1(7)qjmx(请假表)表4-11请假表的结构字段名数据类型长度空主键外键备注id文本10NYsno文本15NbeginDate文本2beginJC数字4endDate文本40endJC文本15reason数字4statues文本20note文本50apptime文本50
sptime文本50spz文本50
6系统实现6.1密码修改(1)程序描述该模块是涉及到安全性的一个模块,同时也是比较重要的模块。(2)功能表5-1密码修改功能表程序名称密码修改相关数据库表LOGINUSER输入旧密码、新密码输出将修改结果显示程序处理说明1.输入旧密码和新密码2.验证旧密码是否正确3.验证新密码与重密码是否一致4.将该记录插入数据库(3)程序流程图图6-1密码修改程序流程图
(4)测试计划1)旧密码为空或错误时,则显示旧密码不能为空或错误。2)新密码和重密码为空或不一致时,则提示新密码和重密码不能为空或要求一致。3)输入的信息都完整且符合条件时,则显示密码修改完成。6.2请假1)程序描述该模块是最重要最核心的一个模块,请假审批模块、考勤模块都是围绕这个模块做的。(2)功能表6-2请假申请功能表程序名称申请课题相关数据库表QJMX输入请假信息(学号、请假开始时间、请假开始节次、请假结束时间、请假结束节次、原因、申请时间)输出将该学生的所有请假信息显示程序处理说明1.输入请假信息2.验证必填内容是否填满3.将该记录插入数据库(3)程序流程图图5-2申请课题程序流程图
(4)测试计划1)必填项目未填满时,则提示要填写该项目。2)输入的信息都完整且符合条件时,则显示全部请假申请。6.3请假审批(1)程序描述该模块是比较重要的一个模块,考勤管理模块都是在这个模块配合完成。(2)功能表6-3请假审批功能表程序名称课题审核相关数据库表QJMX输入请假信息(学号、请假开始时间、请假开始节次、请假结束时间、请假结束节次、原因、申请时间)、审核状态输出将该审核情况信息显示程序处理说明1.审核状态、备注2.审核状态输入完显示审核情况3.将该记录插入数据库(3)程序流程图图6-3请假审核程序流程图
(4)测试计划1)当审核状态为0时,会显示待审核。2)输入审核状态后,则显示审核信息的状态。(5)关键代码Stringsql="UPDATEqjmxSETstatues=?,note=?,sptime=?,spz=?WHEREid=?";DBUnitdbUnit=newDBUnit(SQL_CLASSNAME,SQL_URL,SQL_USERNAME,SQL_PASSWORD);ArrayList