毕业设计(论文)-学生考勤管理系统.doc_第1页
毕业设计(论文)-学生考勤管理系统.doc_第2页
毕业设计(论文)-学生考勤管理系统.doc_第3页
毕业设计(论文)-学生考勤管理系统.doc_第4页
毕业设计(论文)-学生考勤管理系统.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深圳职业技术学院 学生考勤管理系统所在学院深圳职业技术学院班 级计算机网络3班姓 名 学 号指导教师2013年5月16日 45摘 要学生考勤对学校教务管理是至关重要的,传统的学生出勤检查往往是教师拿着一张纸质名单逐一点名,或让学生上交课堂作业以便课后查询出勤情况。这些方法往往具有考勤效率低下,没有系统的记录和整理,容易丢失遗漏,耽误时间等缺点。针对以上问题,开发一种针对学生考勤的网上管理系统,通过本系统,教师可以再课堂上直接登录考勤记录网站进行课堂点名,记录学生考勤情况等。此外,在课余,任课教师、班主任以及学校领导也可以登录该网站查询某班学生在某学科课程的出勤情况。本毕业设计的内容是设计并且实现一个基于web技术的学生考勤管理系统,故而系统主要以j2EE作为开发基础,主要使用了struts2+spring+hibernate等多种框架的结合使用,用myeclipse作为开发工具,以SQL Server作为数据库,以Macromedia公司的Dreamweaver作为界面美化工具,使用JAVA语言开发,页面采取JSP动态页面开发技术。该系统界面简单、操作方便,容易维护。关键词:学生考勤管理系统 ,S.S.H(Struts2 ,Hibernate ,Spring),JAVA , JSP全套设计加扣3012250582ABSTRACT Student attendance is crucial to the school educational administration management, the traditional student attendance checking is often the teacher took a piece of paper list one by one name, or let the students hand in assignments after class attendance to query. These methods often have attendance and low efficiency, no system records and finishing, easily lost missing, delay time. In view of the above problems, the development of a network management system for student attendance, through this system, teachers can directly login class attendance record site class name, record attendance. In addition, in the school, teachers, teachers and school leaders can login this website attendance students of one class in a subject curriculum.The contents of this graduation project is to design and implement a student attendance management system based on Web technology, this system mainly uses j2EE as the basis of development, the main use of the combined use of struts2+spring+hibernate and other frameworks, MyEclipse as a development tool, SQL Server as the database, using Macromedia s Dreamweaver as the interface landscaping tools, the use of JAVA language development, take the development technology of JSP dynamic web page. The system has a simple interface, easy operation, easy maintenance.Keywords: Student attendance management system ,Struts ,Hibernate ,Spring ,JAVA ,JSP目录摘 要IABSTRACTII1 绪 论11 绪论12 系统的开发环境及技术简介22.1 系统开发环境22.1.1 MyEclipse22.1.2 数据库简介22.1.3 Tomcat32.2系统开发的思想与技术32.2.1JSP技术与MVC模式以及系统的基本框架32.2.2 S.S.H框架的优点33 系统总体设计63.1 总体功能模块63.2系统管理员的功能模块63.3系院长的功能模块73.4任课老师的功能模块73.5班主任的功能模块83.6学生用户的功能模块83.7 系统业务描述84系统详细设计与实现94.1系统和数据库的配置94.2概念模型设计94.3数据库逻辑模型104.4数据库表结构104.5平台数据表的设计125系统功能实现175.1程序的类图175.1.1班级Banji类图175.1.2考勤记录Kaoqinlog类图185.1.3科目Subject类图195.1.4课程Kecheng类图195.1.5请假单Qingjiadan类图205.1.6用户User类图215.2程序的流程图225.2.1班级信息模块程序流程图225.2.2考勤记录模块程序流程图235.2.3科目信息模块程序流程图245.2.4课程信息模块程序流程图255.2.5用户信息模块程序流程图265.3系统功能实现的主要框架265.3.1 SSH框架265.3.2 hibernate配置文件265.3.3 struts配置文件285.3.4 spring配置文件295.4系统功能实现的主要模块315.4.1 登陆页面315.4.2 班级管理主页面335.4.3 学科管理主页面345.4.4 用户管理主页面356系统的调试与测试366.1软件测试的目的366.2软件测试的任务366.3测试环境366.4测试环境的配置376.4.1 创建安装项目376.4.2 添加项目输出386.4.3 运行项目40结束语41致 谢42参考文献431 绪 论1 绪论目前高校校园信息化逐步完善,能有效地借助网络才能提高办事效率。如今各大高校针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。 目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种的模式在目前高校管理中暴露了不可避免的弊端: 一、学生请假不方便; 二、学生请假对任课老师不透明; 三、学生对自己整个学期的上课出勤情况没有整体的统计信息; 四、班主任对本班学生整个学期的上课出勤情况不易查看; 五、院系领导、学校领导不容易把握学生上课的出勤情况。 因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。2 系统的开发环境及技术简介2.1 系统开发环境2.1.1 MyEclipse在开发本平台中所用到的开发工具就是是知名的java项目开发工具MyEclipse。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的一种扩展,利用MyEclipse,我们可以在数据库和J2EE的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。MyEclipse是一个功能非常丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类: J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器,J2EE项目部署服务,数据库服务,MyEclipse整合帮助。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。2.1.2 数据库简介SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL ServerSQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX操作系统上的应用。 SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005:SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益2.1.3 TomcatTomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。2.2系统开发的思想与技术2.2.1JSP技术与MVC模式以及系统的基本框架本系统采用jsp技术,基于MVC模式开发,使用SSH框架(struts2、spring、hibernate)来增加系统的开发速度。所谓的MVC模式是Model-View-Controller的缩写,中文翻译为模式-视图-控制器。程序就是用struts2和hibernate这两个框架来实现模型层和控制器这两层,jsp实现视图这一层。一般来说程序就是在数据库和页面之间起桥梁作用的,jsp页面请求先到action,再到dao,再回到action,回到jsp页面,action主要处理来自页面的请求,dao主要是和数据库的交互,struts2主要用在action,处理来自页面的请求,处理完请求后跳转回页面。Hibernate主要用在dao,包括对数据库的增、删、改、查的操作,spring控制程序的流程。2.2.2 S.S.H框架的优点S.S.H框架是J2EE应用中struts2+spring+hibernate三大免费开源框架的结合使用, 它可以看成工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。他们里面有很多优秀的设计理念及模式应用。比如,struts属于MVC框架,关键是要了解MVC的概念及大致原理;而hibernate属于ORM系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解。而spring属于应用程序框架,其核心是IOC容器以及AOP,Spring中还集成了很多适用东西,比如对JDBC的封装、自己的MVC、对动态语言的简洁访问等,它由以下3个框架构成:1.Struts2框架Struts2是Apache组织的一个开放源码项目。Struts2是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Custom tag library。其基本构成如图2.1所示。图2.1 Struts框架工作流程2.Spring框架Spring 的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC(Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供AOP(Aspect-oriented programming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等),Spring 也提供了与它们相整合的方案。Spring框架由以下7个部分组成图2.2 Spring框架构成3.Hibernate框架Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。图2.3 Hibernate框架3 系统总体设计3.1 总体功能模块 本系统分系统管理员,系院长,任课老师,班主任,学生5个用户角色。总功能图如图3-1所示。 图3-1.系统功能需求分析3.2系统管理员的功能模块系统管理员的主要功能有班级管理;学科管理;用户管理包括(系统管理员,系院主任,任课老师,班主任,学生的增,删,改,查);课程管理。系统管理员用户功能图如下所示: 图3-2.系统管理员的功能图3.3系院长的功能模块系院长的主要功能有课程表查询、学生请假管理(审核3天以上的请假)、考勤情况管理(包括考勤情况记录的添加和批量添加)。系院长的功能图如图3-3所示 图3-3.系院长的功能图3.4任课老师的功能模块任课老师的主要功能有课程表查询、学生请假管理、考勤情况管理(包括考勤情况记录的添加和批量添加)。任课老师的功能图如图3-4所示图3-4.任课老师的功能图3.5班主任的功能模块班主任的主要功能有课程表查询、学生请假管理(审核3天以内的请假)、考勤情况管理(包括考勤情况记录的添加和批量添加)。班主任的功能图如图3-5所示图3-5.班主任的功能图3.6学生用户的功能模块学生的主要功能有课程表查询;学生请假申请、查询;考勤情况查询。学生用户的功能图如图所示:图3-6.学生用户的功能图3.7 系统业务描述本系统分系统管理员,系院长,任课老师,班主任,学生5个用户角色。系统管理员的主要功能有班级管理;学科管理;用户管理包括(系统管理员,系院主任,任课老师,班主任,学生的增,删,改,查);课程管理。系院长的主要功能有课程表查询、学生请假管理(审核3天以上的请假)、考勤情况管理(包括考勤情况记录的添加和批量添加)。任课老师的主要功能有课程表查询、学生请假管理、考勤情况管理(包括考勤情况记录的添加和批量添加)。班主任的主要功能有课程表查询、学生请假管理(审核3天以内的请假)、考勤情况管理(包括考勤情况记录的添加和批量添加)。学生的主要功能有课程表查询;学生请假申请、查询;考勤情况查询。用例图如下:图3-74系统详细设计与实现4.1系统和数据库的配置系统按通用的B/S(浏览器、服务器)模式进行设计(如图4-1)数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。4.2概念模型设计概念模型设计的典型方法是用E-R图方法,即用实体-联系模型表示。E-R方法是用E-R图来描述显示世界,E-R图包含三个基本成分:实体、联系、属性。它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。本系统E-R图如下4.3数据库逻辑模型班级表信息(主键、班级名、添加时间、院系、专业)考勤表信息(主键、班级号、学号、添加时间、是否旷课、课程名、旷课数量、日期、任课老师)课程表信息(主键、班级、班级号、添加时间、是否删除标志、课程名)请假单表信息(主键、班级号、学号、添加时间、开始请假时间、结束请假时间、审核情况、审核意见、用户名)学科表信息(主键、添加时间、学科名)用户表信息(主键、地址、班级号、学号、添加时间、密码、联系方式、用户权限、所在宿4.4数据库表结构1 班级表名称类型空备注idInt(11)no主键banjinamevarchar(255)yes班级名banjimunvarchar(255)yes班级号createtimedatetimeyes添加时间yuanxivarchar(255)yes院系zhuanyevarchar(255)yes专业2 考勤表名称类型空备注idInt(11)no主键banjinumvarchar(255)yes班级号createtimevarchar(255)yes字号codenumvarchar(255)yes添加时间iskuangkeInt(11)no是否旷课kechengnamevarchar(255)yes课程名kuangkenumInt(11)yes旷课数量riqivarchar(255)yes日期teachervarchar(255)yes任课老师3 课程表名称类型空备注idInt(11)no主键banjivarchar(255)yes班级banjinumvarchar(255)yes班级号createtimedatetimeyes添加时间kechenglockInt(11)no是否删除标志,0表示未删除,1表示删除Kechengname1varchar(255)yes课程名一Kechengname2varchar(255)yes课程名二Kechengname3varchar(255)yes课程名三Kechengname4varchar(255)yes课程名四Kechengname5varchar(255)yes课程名五Kechengname6varchar(255)yes课程名六Kechengname7varchar(255)yes课程名七4 请假单表名称类型空备注idInt(11)no主键banjivarchar(255)yes班级banjinumvarchar(255)yes班级号createtimedatetimeyes添加时间Qjtime1varchar(255)yes开始请假时间Qjtime2varchar(255)yes结束请假时间shenhevarchar(255)yes审核情况shenhecontentvarchar(255)yes审核意见usernamevarchar(255)yes用户名5 学科表名称类型空备注idInt(11)no主键createtimedatetimeyes添加时间subjectnamevarchar(255)yes学科名6 用户表名称类型空备注idInt(11)no主键addressvarchar(255)yes地址Banjinumvarchar(255)yes班级号Codenumvarchar(255)yes学号Createtimedatetimeyes添加时间Passwordvarchar(255)yes密码Phonevarchar(255)yes联系方式RoleInt(11)yes用户权限roomvarchar(255)yes所在宿舍UserlockInt(11)Yes,是否删除标志,0表示未删除,1表示删除usernamevarchar(255)yes用户名4.5平台数据表的设计根据平台的需求分析和功能模块的划分,所涉及的实体有班级,班级,课程,请假单,学科, 用户。因此系统的定义数据库主要包含6张表:班级表t_banji,考勤表t_kaoqinlog,课程表t_kecheng,请假单表t_qingjiadan,学科表t_subject,用户表t_user。班级表t_banji建表的sql语句为:CREATE TABLE t_banji ( id int(11) NOT NULL auto_increment, banjiname varchar(255) default NULL, banjinum varchar(255) default NULL, createtime datetime default NULL, yuanxi varchar(255) default NULL, zhuanye varchar(255) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;考勤表t_kaoqinlog建表的sql语句为:CREATE TABLE t_kaoqinlog ( id int(11) NOT NULL auto_increment, banjinum varchar(255) default NULL, codenum varchar(255) default NULL, createtime datetime default NULL, iskuangke int(11) NOT NULL, kechengname varchar(255) default NULL, kuangkenum int(11) NOT NULL, riqi varchar(255) default NULL, teacher varchar(255) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;课程表t_kecheng建表的sql语句为:CREATE TABLE t_kecheng ( id int(11) NOT NULL auto_increment, banji varchar(255) default NULL, banjinum varchar(255) default NULL, createtime datetime default NULL, kechenglock int(11) NOT NULL, kechengname1 varchar(255) default NULL, kechengname2 varchar(255) default NULL, kechengname3 varchar(255) default NULL, kechengname4 varchar(255) default NULL, kechengname5 varchar(255) default NULL, kechengname6 varchar(255) default NULL, kechengname7 varchar(255) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;请假单表t_qingjiadan建表的sql语句为:CREATE TABLE t_qingjiadan ( id int(11) NOT NULL auto_increment, banjinum varchar(255) default NULL, codenum varchar(255) default NULL, createtime datetime default NULL, qjtime1 varchar(255) default NULL, qjtime2 varchar(255) default NULL, shenhe varchar(255) default NULL, shenhecontent varchar(255) default NULL, username varchar(255) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;学科表t_subject建表的sql语句为:CREATE TABLE t_subject ( id int(11) NOT NULL auto_increment, createtime datetime default NULL, subjectname varchar(255) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;用户表t_user建表的sql语句为:CREATE TABLE t_user ( id int(11) NOT NULL auto_increment, address varchar(255) default NULL, banjinum varchar(255) default NULL, codenum varchar(255) default NULL, createtime datetime default NULL, password varchar(255) default NULL, phone varchar(255) default NULL, role int(11) NOT NULL, room varchar(255) default NULL, userlock int(11) NOT NULL, username varchar(255) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;5系统功能实现 5.1程序的类图5.1.1班级Banji类图对应的程序代码:public class BanJi implements Serializableprivate static final long serialVersionUID = 2429695896963809345L;private int id;private Date createtime;/班级新建时间private String banjiname;/班级名称private String yuanxi;/院系名称private String zhuanye;/专业名称private String banjinum;/班级编号5.1.2考勤记录Kaoqinlog类图对应的程序代码:public class KaoQinLog implements Serializableprivate static final long serialVersionUID = 2429695896963809345L;private int id;private Date createtime;private String kechengname;/课程private String banjinum;/班级编号private String teacher;/任课老师private String codenum; /学号private int iskuangke; /1:旷课,0:迟到private int kuangkenum;/旷课数量private String riqi;/时间,日期5.1.3科目Subject类图对应的程序代码:public class Subject implements Serializableprivate static final long serialVersionUID = 2429695896963809335L;private int id;private Date createtime;private String subjectname;/科目名称,学科5.1.4课程Kecheng类图对应的代码:public class Kecheng implements Serializableprivate static final long serialVersionUID = 2429695896963809335L;private int id;private Date createtime;private String kechengname1;/选课名称private String kechengname2;/选课名称private String kechengname3;/选课名称private String kechengname4;/选课名称private String kechengname5;/选课名称private String kechengname6;/选课名称private String kechengname7;/选课名称private int kechenglock;/课程位置 private St

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论