考勤管理系统的设计与实现.docx
《考勤管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《考勤管理系统的设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。
![考勤管理系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/6/5f720ed5-8a64-401b-a440-01d236b22805/5f720ed5-8a64-401b-a440-01d236b228051.gif)
考勤管理系统的设计与实现
考勤管理系统的设计与实现
——数据库设计
摘要:
当今社会已进入信息社会时代.信息已经受到社会的广泛关注,被看作社会和科学技术发展的三大支柱(材料、能源、信息)。
信息是管理的基础,是进行决策的基本依据。
在一个组织里,信息已作为人力、物力、财力之外的第四种能源,占有重要的地位。
然而,信息是一种非物质的,有别于基本资源的新形式的资源。
信息也是管理的对象,必须进行管理和控制。
本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。
本系统总体上由三大功能模块:
请假系统模块、考勤系统模块、后台管理模块组成。
系统涉及到高校六大类用户:
学生、任课老师、班主任、院系领导、学校领导、系统管理员。
本高校学生考勤管理系统用JSP+SQLServer2005开发,开发过程中运用了页面模块化、信息发布的动态生成、静态页面显示等技术开发.本论文重点介绍本系统的请假系统、考勤系统两大功能模块设计,完成学生、任课老师、班主任、院系领导、学校领导五类用户功能的设计与实现。
关键字:
考勤管理在线请假JSP
Abstract:
Today’ssocietyhasenteredtheeraoftheinformationsociety.Informationhastobewidespreadconcerninthecommunity,isseenasthethreepillarsofsocietyandthedevelopmentofscienceandtechnology(materials,energy,andinformation)。
Informationisthebasisformanagement,isafundamentalbasisfordecision。
Inanorganizationwhere,informationotherthanasahuman,materialandfinancialresourcesofthefourthpower,occupiesanimportantposition。
However,theinformationisofanon-material,asopposedtonewformsofresourcesbasicresources.Informationmanagementobjects,youmustmanageandcontrol。
Thissystemismainlyusedforuniversitystudentsandstudentsattendanceonlineleavemanagementanddesignofinformationsystems。
Thissystemgenerallyconsistsofthreemodules:
leavesystemmodules,systemmodules,managementmodules.SysteminvolvestheUniversity'ssixmajorcategoriesofusers:
students,teacher,headteacher,Facultyleadership,schoolleadership,systemsadministrator。
JSP+SQLServer2005developmentforuniversitystudents’attendancemanagementsystem,usedduringthedevelopmentofpagemodules,dynamicallygenerated,staticpagesofinformationdisplaytechnologydevelopment.Thisthesisfocusesonthesystemofleavetwofunctionmodulesofthesystem,timesystemdesign,completethestudent,theteacher,theteacherinchargeofDepartmentleadership,schoolleadership,anddesignandrealizationoffivecategoriesofusers.
Keywords:
Attendancemanagement,Onlineleave,JSP
第一章引言
目前各高校校园信息化已逐步完善,而校园网不仅方便了用户,更重要地是提高了办事效率.各大高校有针对师生的成绩查询系统、教务管理系统、招生就业系统、校园BBS论坛、校内网站等一系统系统在各大高校纷纷出现,给高校管理、学校师生的学习、生活、办公带来了便利。
但我校的考勤管理模式还是以任课老师上课点到,以及学生会的学生干部、干事课堂查勤来管理。
同时,学生请假需要经过系辅导员、系部领导批准才能生效。
对于考勤结果,需要进行数据信息的录入以及数据信息的统计,这样比较麻烦,且费时费力,出现误差的概率也比较大。
更重要的是暴露出了以下的弊端:
一、学生请假不方便;二、学生请假对任课老师不透明。
三、学生对自己整个学期的上课出勤情况没有整体的统计信息。
四、院系领导、学校领导不能把握住学生的上课出勤情况。
由于以上原因,我们小组决定开发学生考勤管理系统,由谢毅同学开发系统后台设计,韦哲同学开发系统前台设计,本人主要负责系统数据库方面的开发。
第二章学生考勤管理系统开发相关技术介绍
2.1系统开发工具
根据各用户的需求,以及系统各大功能的需求,经过大量的调查分析,针对本高校学生考勤管理系统选择以下开发工具进行开发:
系统结构:
B/S(浏览器/服务器)
开发语言:
JAVA/JSP
数据库:
SQLServer2005
开发工具:
JDK1。
5DreamweaverEclipse
服务器端容器:
Tomcat5。
5
2。
2相关开发工具简介
2。
2。
1B/S(浏览器/服务器)简介
B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。
它是随着Internet技术的兴起,对C/S模式应用的扩展。
在这种结构下,用户工作界面是通过IE浏览器来实现的.B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据;最大的缺点是对网络环境依赖性太强,由于各种原因引起网络中断都会造成系统瘫痪。
2.2.2JAVA/JSP简介
JAVA是SUN公司推出的完全面向对象的语言,它有很好的跨平台性、安全性、重用性等特点.
JSP的全称是JavaServletPages,它是SUN推出的一种动态网页技术标准。
它在传统的静态页面文件(*。
html,*htm)中加入Java程序片段和JSP标记,就构成了JSP页面.由Web服务器上的JSP引擎来处理JSP元素,生成调用Bean,并用JDBC访问数据库(或文件),最后以HTML或XML的形式返回浏览器。
JSP在Servlet类中编译,编译一次后存入内存,以后再调用时,不用再编译,所以速度很快。
1
2。
2。
3SQLServer2005简介
SQLServer是一个关系数据库管理系统它是由Microsoft推出的。
SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。
丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。
SQLServer提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。
例如,XML数据库与WebService的支持将使您的应用实现Internet数据互联,。
net集成极大的扩展了开发空间,异构数据集成、ServiceBroker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性.C#、VB.net、XQuery、XMLA、ADO。
net2.0、SMO、AMO等都将成为SQLServer数据平台上开发数据相关应用的有力工具。
它具有以下特点:
(1)上手容易
大多数的中小企业日常的数据应用是建立在Windows平台上的。
由于SQLServer与Windows界面风格完全一致,且有许多"向导(Wizard)”帮助,因此易于安装和学习,有关SQLServer的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数
(2)兼容性良好
由于今天Windows操作系统占领着主导地的位,选择SQLServer一定会在兼容性方面取得一些优势。
另外,SQLServer2005除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。
尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。
这些特点在。
NET战略中发挥着重要的作用。
(3)电子商务
在使用由MicrosoftSQLServer2005关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。
此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。
你还可以使用HypertextTransferProtocol(超文本传输协议,HTTP)来访问SQLServer2005,以实现面向SQLServer2005数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。
(4)数据仓库
MicrosoftSQLServer2005非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。
OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。
数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。
通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。
第三章需求分析
用户是系统的最终使用者,根据调查分析,本系统应当包括学生、辅导员、任课老师、系统管理员四类用户,这四类用户对系统的需求简要概括如下:
3。
1学生用户需求描述
学生对本系统的主要需求是:
学生可以查看在校期间所有课程请假、旷课、迟到、早退了多少次,以及具体的时间、任课老师姓名等详细信息,查看本人的院系、年级、专业、班级、学号、姓名、性别等。
3.2任课老师用户需求描述
任课老师对系统的主要需求是:
查看所教班级学生整个学期上课缺勤日期、课程等,查看课程日期、课程名称等,教师姓名、年龄、性别等。
3.3辅导员用户需求描述
辅导员对本系统的主要需求是:
上课缺勤日期、课程、任课老师姓名等,查看本班学生的学号、姓名、性别、年龄等.
3。
4管理员用户需求描述
管理员对系统的主要需求是:
对系统进行维护,进行增、删、改、查等。
第四章数据库设计
在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:
信息世界,数据世界,现实世界.现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。
这些信息再进一步加工、编码,然后进数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作.这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心.
4.1E—R图设计
在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。
目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型";另一种是直接面向数据库逻辑结构的“结构数据模型”。
在本系统中我采用“实体联系模型"(E-R模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。
E—R模型直接从现实世界抽象出实体类型及实体间联系,然后用E—R图来表示数据模型。
它有两个明显的优点:
接近于人的思维,容易理解;与计算机无关,用户容易接受。
但E-R模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。
E-R图是直观表示概念模型的工具,它有四个基本成分:
◆矩形框,表示实体类型(考虑问题的对象)。
◆菱形框,表示联系类型(实体间的联系)。
◆椭圆形框,表示实体类型和联系类型的属性。
◆直线,联系类型与其涉及的实体类型之间以直线连接。
本系统为学生考勤管理,主要管理学生的考勤等事项.系统根据需要可以记录出勤学生的信息,同时还需要了解学生请假的记录情况。
依据考勤管理的实际情况,考虑了多方面的因素以后,确定系统的E—R图。
考勤管理系统的E—R图如图4-1
图4-1考勤管理系统E—R图
用户E—R图如图4-2,4-3,4—4
图4—2管理员用户E—R图
图4—3学生用户E—R图
图4-4教师用户E—R图
在该数据库中,我设计了七个实体,分别是学生、课程、任课老师,辅导员,班级,院系,专业。
在本系统中学生是核心,也是基本,没有了学生其它的也就没有什么意义了。
通过这一个E—R图我们可以比较清楚地了解学生的考勤具体的情况,比如学生的考勤,请假,考勤的老师,课程等情况,可以为以后的查询或核对提供一定有用的信息。
4。
2数据库的逻辑设计
下面就是各实体及联系类型的属性即数据库的逻辑设计,所以考勤管理系统的E-R图转换为关系表为:
学生信息表(学号、姓名、性别、年龄、入学时间、班级名称)
考勤信息表(学号、学生姓名、考勤状态、考勤日期、教师姓名、课程名称、请假原因、班级名称、课序)
课程信息表(课程编号、专业编号,课程名称、教师编号、教师姓名)
教师信息表(教师编号、教师姓名、性别、年龄、课程编号)
辅导员信息表(辅导员编号、辅导员姓名、辅导员性别、辅导员年龄)
教师用户表(教师用户编号、教师用户名、教师用户密码、教师用户权限)
学生用户表(学生用户编号、学生用户名、学生用户密码)
管理员用户表(管理员用户编号、管理员用户名、管理员用户密码)
专业信息表(专业编号、专业名称、院系编号)
课程安排表(课程编号、课程名称、课程日期、课序、班级名称、教师名称)
院系信息表(院系编号、院系名称)
班级信息表(班级编号、专业编号、学生学号、班级名称、学生姓名)
第五章数据库表的创建
根据数据库需求的分析,建立如下12个基本数据表。
图5—1考勤信息表(Kq)
图5—2教师信息表(Teacher)
图5-3管理员用户表(UserManger)
图5-4专业信息表(Major)
图5—5课程信息表(Kcheng)
图5—6辅导员信息表(Fudaoyuan)
图5-7学生信息表(Student)
图5-8课程具体信息表(ClassI)
图5—9院系表(College)
图5—10班级信息表(Grade)
图5-11教师用户信息表(UserTeacher)
图5—12学生用户信息表(UserStudent)
第六章数据库测试
传统软件系统测试的测试重点是需求覆盖,而对于我们的数据库测试同样也需要对需求覆盖进行保证。
那么数据库在初期设计中也需要对这个进行分析,测试。
例如存储过程,视图,触发器,约束,规则等我们都需要进行需求的验证确保这些功能设计是符合需求的。
另一方面我们需要确认数据库设计文档和最终的数据库相同,当设计文档变化时我们同样要验证改修改是否落实到数据库上。
6。
1异常数据处理
6。
1.1数项的修改操作
执行SQL语句
Select*fromUserStudentwhereusId=1
Go
可得到usId=1的信息,如表6—1
表6-1原学生用户信息表(UserStudent)
usId
userName
userPwd
1
zhao
1234
执行SQL语句
UpdateUserStudentsetuserPwd=123456whereusId=1
Go
修改后表为:
表6—2修改后学生用户信息表(UserStudent)
usId
userName
userPwd
1
zhao
123456
数据修改完成。
6。
1.2数据项的增加操作
执行SQL语句
Select*fromUserStudent
Go
可得到UserStudent表中的信息,如表6—3
表6-3原学生用户信息表(UserStudent)
usId
userName
userPwd
1
zhao
123456
执行SQL语句
InsertintoUserStudent(userName,userPwd)values(yu,123456)
Select*fromUserStudent
Go
增加后表为:
表6-4增加后学生用户信息表(UserStudent)
usId
userName
userPwd
1
zhao
123456
2
yu
123456
数据增加完成。
6.1.3数据项的删除操作
执行SQL语句
Select*fromUserStudent
Go
可得到UserStudent表中的信息,如表6-5
表6—5原学生用户信息表(UserStudent)
usId
usName
usPwd
1
zhao
123456
2
yu
123456
3
li
123456
4
liu
123456
执行SQL语句
DeletefromUserStudentwhereusId=2
Select*fromUserStudent
Go
删除后表为:
表6—6删除后学生用户信息表(UserStudent)
usId
userName
userPwd
1
zhao
123456
3
li
123456
4
liu
123456
数据删除完成。
6.2边界数据处理
UserStudent表中自增长列的编号不是一个连线的数列:
执行SQL语句
Select*fromUserStudent
Go
可得到UserStudent表中的信息,如表6-7
表6—7原学生用户信息表(UserStudent)
usId
userName
userPwd
1
zhao
123456
3
li
123456
4
liu
123456
执行SQL语句
SETIDENTITY_INSERTUserStudentON
INSERTINTOUserStudent(usId,userName,userPwd)values(2,yu,123456)
SETIDENTITY_INSERTUserStudentOFF
Go
表中数据变为:
表6-7修改后学生用户信息表(UserStudent)
usId
usName
usPwd
1
zhao
123456
2
yu
123456
3
li
123456
4
liu
123456
自动增长列修改完成。
第七章数据库设计的思考
数据库的性能与稳定性直接跟数据库对象的多少、大小有关.如果对象很少,不复杂,那么就算不怎么规划,也能够达到比较高的性能.如果对象数据比较多、比较大的话,那么就需要在数据库设计之前好好的规划,否则会在很大程度上影响数据库的性能与稳定性。
其实数据库就好像一个仓库,数据库中的对象(如索引、数据表、表空间)等等就好像仓库中的货物.如果货物比较少,那么随便放放,仓库都显得很空旷。
货物寻找起来也会很方便.但是如果货物数量比较多、比较大,就必须要对其存储空间进行合理规划.只有如此才能够让仓库的空间利用率达到最佳状态。
并且货物的存放有序,在查找起来也特别的方便.
在数据库交付生产使用之后,往往需要进行大量的测试.但是在测试过程中往往又会产生很多的垃圾数据。
可是交给企业应用的,肯定是一个干净的数据库系统。
为此在数据库设计的时候,就需要想好如果减少测试过程中的垃圾数据。
或者采取什么样的方式来实现在交互时自动清除垃圾数据的机制.
一般来说,想要一个数据库备份与还原的方案,减少数据库测试所产生的垃圾数据。
如现在在给企业部署数据库的时候,往往是先安装一个干净的数据库系统。
当然字符集这些需要预先设置好。
然后再利用数据库还原功能将预先定义好的数据库模型还原出来。
另外有些时候需要两个方案互为补充。
如在数据库初始化的过程中,采用数据库还原的方式来创建数据库对象.但是在应用软件升级的时候,由于此时已经有了用户的数据,为此不能够在使用数据库还原的方法。
而是通过应用程序来执行某些SQL代码,来调整或者增加部分数据库对象.无论采用哪一种方式,需要遵循的一个原则就是在给企业创建数据库对象时要最大限度的减少测试。
而要做到这一点,就是需要先在测试服务器上创建对象并测试对象可用。
然后直接将相关的SQL代码在投入使用的数据库服务器上执行。
总结
通过几个月的努力,高校学生考勤管理系统中的两大功能模块在指导老师的全心指导下和同学的积极配合与帮助下,基本功能顺利完成.在数据库的开发方面,我学到了不少关于SQLServer2005的知识。
开发时遇到了许多的困难,但是通过自己的努力,还有老师同学们的帮助,最终还是迎刃而解了.
这次毕业设计完全是按照软件工程学的方法来进行设计和开发的。
在开发过程中,认真调查分析了用户的需求,及时准备了详细的文档资料,这让我在开发过程中少走了许多弯路。
本次设计开发的系统较为庞大,涉及的用户较多,数据库设计比较复杂,使我深刻地体会到软件开发是一项集体项目,单靠一个人就想解决所有的问题是不太实际的.在本次毕业设计中,我和同学共同实现了高校学生考勤管理系统的全部功能,很好的锻炼了我的团队协作意识,这对我以后的学习、工作有很大的帮助。
同时,在这次设计中,我也发现了自己的很多不足.对于数据库管理系统的操作运用也不够熟练,以至于在系统开发过程中经常碰到一些疑难问题不能快速的解决。
其次,就是在准备系统设计文档时,没有反复推敲、验证,以至于在开发过程中出现几次由于数据库设计不合理,修改数据库,而几乎修改所有程序代码的情况,这些都是我今后应该注意和提高的。
参考文献
[1]福塔。
SQL必知必会[M].北京:
人民邮电出版社,2007
[2]萨卡.MicrosoftSQLServer2005技术内幕:
T-SQL程序设计[M].北京:
电子工业出版社,2007
[3]KalenDelaney.MicrosoftSQLServer2005