基于BS架构的考勤管理系统设计与实现.doc
北京师范大学珠海分校本科生毕业论文论文题目:基于B/S架构的考勤管理系统设计与实现学 院信息技术学院专 业计算机科学与技术学 号学 生 姓 名叶国帅指导教师姓名杨林指导教师职称高级工程师指导教师单位信息技术学院2013年01月04日北京师范大学珠海分校学位论文写作声明和使用授权说明学位论文写作声明本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。 论文作者签名: 日期: 年 月 日学位论文使用授权说明本人完全了解北京师范大学珠海分校关于收集、保存、使用学位论文的规定,即:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的的前提下,学校可以将学位论文编入有关数据库,提供网上服务。(保密论文在解密后遵守此规定)论文作者签名: 导师签名: 日期: 年 月 日基于B/S架构的考勤管理系统设计与实现摘 要本论文讲述基于B/S架构的信息技术学院学生考勤系统的开发经过和对本人负责的Spring Security子模块的理论和实践分享。顺应现代科技与信息产业快速发展,教学的信息化管理呈现出前所未有的机遇,考勤管理系统的开发成为学校信息管理的一个主要发展趋势。开发出这么一个考勤管理系统,对于信息技术学院的学生日常管理有着重大的意义。考虑到为学生学习和开发提供蓝本,本系统决定全面开源。总而言之,该系统不仅提供了更方便,更快捷的操作方式,能够很好地改善传统考勤方式的不足,适应信息时代的发展,而且还激发了学生的学习积极性和学习兴趣。本论文结合项目小组编写该考勤管理系统的软件需求分析说明(SRS)和软件设计说明(SDD),全方位地分析该系统开发的理论依据。随后,将结合考勤管理系统的自身特点和开发理念,全面地阐述本系统的开发流程和软件生命周期。该系统选用B/S架构和Spring MVC开发框架,采用MySQL数据库,结合JQuery和Ajax等优秀前端设计框架,给系统的开发提供了强大的技术支持。而本人负责的Spring Security模块则主导着该系统的安全大门,能够充分利用了Spring IoC(依赖注入,也称控制反转)和AOP(面向切面编程)功能,为考勤管理系统提供声明式的安全访问控制功能,减少了为系统安全控制编写大量重复代码的工作。为了更进一步的分析以上方法和使本考勤管理系统更健壮,论文还分析了测试与维护阶段的主要方法和实践经验。关键词: 考勤;管理;教师;学生;学习兴趣;积极性;Spring Security;DESIGN AND IMPLEMENT OF INFORMATION TECHNOLOGY INSTITUTE STUDENT ATTENDANCE MANAGEMENT SYSTEM BASE ON B / S ARCHITECTUREABSTRACTThis paper describes the development of the IT College student attendance system based on B / S structure and I am responsible for the Spring Security module theory and practice share. Conform to modern science and technology and the rapid development of information industry, the information management of teaching presents a hitherto unknown opportunities, attendance management system development to become the school of information management is one of the main development trend. The development of such a time and attendance management system, information technology for college students daily management have great significance. Consideration to the students' learning and development to provide blueprint, the system decided to fully open source. To make a long story short, the system not only provides a more convenient, more efficient mode of operation, revise the traditional paper-based attendance malpractice, it reduces the roll paper costs, reduce manual named the waste of time, improve attendance efficiency, but also to stimulate the students' learning enthusiasm and interest. In this paper combined with our group developed the attendance management system software needs analysis ( SRS ) and software design description ( SDD ), analysis of all-round development of the system theory. Then, I will combine the attendance management system for its own characteristics and development concept, a comprehensive description of the system development process and software life cycle. This system adopts B/S architecture and Spring MVC development framework, using MySQL database, the combination of JQuery and Ajax excellent front end design framework, to system development provides a powerful technical support. And I am responsible for the Spring security module dominated the system security door, can make full use of the Spring IoC ( dependency injection, also known as inversion of control) and AOP ( programming ), is the time and attendance management system provides a declarative security access control function, reduces the system for security control write lots of code duplication work. In order to further analysis of the above method and the attendance management system more robust, the paper also analyzed the testing and maintenance phase of the main method and experience.Key words:Attendance; management; teachers; students; learning interest; enthusiasm; Spring Security; 目 录1. 绪论12. 考勤管理系统的课题背景与可行性分析22.1 课题背景22.2 可行性分析22.3 创新点22.3.1便捷点名22.3.4转换旷课记录32.3.3考勤标记32.3.4申请请假32.3.5统一管理42.4 开发工具简介42.4.1Eclipse简介42.4.2Apache Tomcat介绍42.4.3Spring MVC框架简介52.4.4Dreamweaver简介52.4.5MySQL简介53.1特性需求分析73.2功能需求分析74. 概要设计144.1硬件与软件配置设计144.1.1 硬件配置144.1.2 软件配置144.2系统模块结构设计144.3数据库设计154.3.1数据库概念结构设计154.3.2数据库的物理结构设计175. 详细设计205.1.1 登录子系统:205.1.2 点名子系统:215. Spring Security设计266.1 Spring Security的介绍266.2 Spring Security的验证与授权介绍266.3 验证与授权的特点276.3.1 验证的特点276.3.2 授权的特点276.4 Spring Security核心安全实现276.5 权限分配设计286.6 Spring Security配置(代码实现)286.6.1 Web.xml配置286.6.2 Spring配置文件中设置命名空间296.6.3 配置最基本的验证与授权(applicationContext-security.xml配置)296.6.4 通过数据库验证用户身份296.6.5 完善web页面验证规则306.6.6 自定义验证配置306.6.7 本地化消息输出316.6.8 在web页面中获取用户信息316.6.9 在web页面进行元素安全控制316.6.10 全局方法安全控制326.6.11 使用注解进行方法安全控制326. 测试阶段337.1 测试目的337.2 测试内容337.3 测试资料337.4 黑盒测试347.4.1 接口测试:347.4.2 测试具体设计方案347.5 测试退出标准367.6 评价准则377.6.1范围377.6.2数据整理377.6.3尺度37结语37参考文献38致谢391. 绪论 随着现代科技与信息产业的发展,教学的信息化管理正在全球蓬勃兴起。考勤管理系统的开发成为学校信息管理的一个主要发展方向。相比传统的纸面考勤,网上考勤更方便,更快捷,操作方式更合理。教学管理的信息化的实现,其中一步就是要实现考勤管理信息化,这不仅改变了考勤管理的格局,还修正了传统的纸面考勤的弊端,它降低点名纸张的开销,减少手工点名所浪费的时间,提高考勤效率,能为教师和学生提供更透明、更优质的考勤管理体系。而学生考勤管理系统就是为了解决学生考勤管理问题而设计的,目的是建立一个能够初步实现学校考勤管理系统的智能化管理,提高考勤管理效率,老师能够了解学生在学习的态度得到及时的反馈,而系统所需的工作人员的数量少,效率高。降低资源浪费,同时增强学生管理的透明度以及约束学生自觉遵守出勤制度。 该系统是一个B/S系统。它的出现,改变了教师手工登记考勤信息的管理方式,管理员及教师使用计算机对学生信息进行管理,具有着手工无法比拟的优点,例如:考勤统计查询方便快捷,数据存储量大,可靠性高等。便于教师掌握学生的出勤情况。学生考勤系统以方便、快捷等优点冲击着传统的考勤方式。也正是因为这些优点,使它更符合现代社会人们快节奏、高效率的生活方式。2. 考勤管理系统的课题背景与可行性分析2.1 课题背景随着社会进入了信息化时代,各种新事物都纷纷映入了人们的眼帘。目前全球上信息管理系统发展飞快,许多国内外的学校都引入了信息管理软件来管理自己日益增长的各种信息,学生考勤管理系统也是有了很大的发展,商业化的学校信息管理软件也不少。而目前本校的这项工作还处于半手工管理阶段,教师需要通过用纸和笔来记录学生的考勤情况,花费了无谓的精力,信息资源的数字化程度低,大部分历史积累的数据,尚未数字化。不利于科学管理和决策。 但是随着多媒体教学的推广,电脑和网络的普及,学生与教师对电脑的应用已经不再陌生。在这么一个信息化的时代,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。考勤作为一个学校上课的基础管理,是老师对学生学习管理的基本依据。实际管理和记录学习非常需要快速获知各个学生的每日出勤情况,以便于及时学校反映学生的出勤,缺勤情况(包括迟到、早退、病假、事假、等情况)。实现网上考勤任务,以减轻教师或班干部考勤的工作量。2.2 可行性分析近些年,信息化管理的高速发展,使得企业与学习的考勤管理的要求更高了,信息网络化正在以前所未有的惊人速度走入人们的生活、工作和学习中,提高了工作学习的效率,增加了获取信息的渠道,突破了相互交流的时空界限。教学考勤管理系统可以基于B/S架构进行开发,帮助师生轻松解决教学中考勤与请假等问题。可行性分析既不能以偏盖全,也不能过于追求细节,必须为决策提供有价值的证据。软件领域的可行性分析主要考虑四个因素:技术可行性分析,开发人员与进程可行性分析。技术可行性分析:本系统是基于Java编写的,因此开发工具采用Eclipse配上Dreamweaver,完全可以实现系统功能,开发人员都具有一定Java功底,加之开发人员也具备一定的前端设计技术,在技术上是可行的。整体架构用Java EE编写,在Apache Tomcat环境下实现,Spring MVC运用面向对象的编程思想进行Web开发,采用敏捷开发的方式,具有较高的开发效率和运行性能。后台数据库软件选用ORACLE公司的关系型数据库服务器MySQL。因此在技术上是可行的。开发人员与进程可行性分析:开发人员都有一定的Java和前端网页开发功底,并且学习能力较强以及指导老师的悉心教导完全可以胜任此次开发。由于此系统开发并不是以盈利为目的,开发周期可以相对较长,因此开发进程方面是可行的。2.3 创新点2.3.1便捷点名该考勤系统的一大创新功能是便捷点名。通过在页面上直接显示学生名单,并每个名字都有“迟到”,“旷课”,“请假”等选项。在学生答到时,只需要鼠标轻轻一点,便可以实现考勤,而不需要再用纸张或者表单记录。当某个班级的考勤完成后,便捷点名会生成一组简单的记录。若遇到某些特殊情况时,还可以根据实际情况修改数据,变更选项。这个功能改变了以往考勤工作浪费纸张和时间长等弊端。但考勤工作又是不得不进行的一项教育工作。因此,在原有考勤功能的基础上增加这个特色功能,可以让老师能有更加便捷的选择,真正有效地做到督促学生上课,提高学生上课的积极性。2.3.4转换旷课记录对于前面提到的便捷点名功能,可以收集到很多迟到,早退,旷课等信息。而对于学校来说,为了方便统计和管理,这些信息需要得到相应的转换,如3次迟到算一次旷课,两次早退算一次旷课等,对于超出学生手册规定的旷课次数的学生,应当实施相应的处罚。而旷课记录的转换工作如果要老师一个个去核对,然后进行人工操作,确实非常麻烦。该考勤系统对转换工作进行了自动转换的功能,按照规定自动对考勤信息进行转换,并会在系统中发布通知告诉相关的教师。最终,教师通过相关规定对缺勤过多的学生进行处理。这个功能符合考勤的初衷和最终的目的,为考勤工作提供了很大的方便。2.3.3考勤标记除了便捷点名,该考勤系统还有一个创新且新颖的功能-考勤标记。当确认某个学生属于迟到或者旷课,系统将对这项记录设置一个考勤标记。若该生再次缺勤,该标记会累加。则再下一次点名时,教师便会特别关注这些考勤标记较多的学生,而学生也可以通过登录考勤系统,查看自己的考勤标记,确定自己的缺勤情况。对于考勤标记较多的学生,若随后几次课时都没有再缺勤,标记会逐渐减少,甚至最后会消失。这样看来,考勤标记可以给学生设定一个改正过错的标准。而对于一个学期全勤的学生,也会设有特定的标记,方便教师落实全勤的学生。2.3.4申请请假申请请假功能让考勤系统更人性化,它不仅可以考勤,还可以为学生提供方便,提供一个请假的平台。省去学生要写假条,找老师核实,签字的麻烦步骤,当遇到生病,家事等特殊情况时,学生可以通过登录考勤系统进行请假的申请,只需要填写一些基础的信息和描述请假理由,就可以提交申请。然后等待管理员核实请假内容,再找年级主任进行请假申请的确认,便可完成请假。而请假记录将会记录在数据库里,对未来假条的回顾和参考,也提供了极大的方便。2.3.5统一管理本功能可以把教师收集各种考勤信息进行归类,然后交给年级管理员来进行管理,对考勤相关的信息进行统一化管理,可以大大节省了人力物力,而且解决了不必要的冲突。如某教师收集了课程A的考勤信息,也收集了课程B的考勤信息,由于工作繁忙,只能仅仅整理课程A的信息。而这是出现了年级管理员,他把该教师的整理工作接手了,而且可以同时处理课程A和课程B的信息,实现管理的统一。而该考勤系统还提供便捷的操作,简单易懂,大大方便了考勤工作。2.4 开发工具简介2.4.1Eclipse简介Eclipse是一个著名的跨平台的自由集成开发环境软件。最初主要用来Java语言开发,现在人们可以通过安装插件使其作为C+、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是随着众多插件的产生,使得Eclipse拥有很好的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。虽然大多数用户更加乐于将Eclipse当作Java集成开发环境来使用,但Eclipse的作用已经不仅限于此。Eclipse还是含有插件开发环境,这个组件主允许希望扩展Eclipse的软件开发人员构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。本系统即通过Eclipse,匹配上Spring MVC和Java EE进行软件的开发。2.4.2Apache Tomcat介绍 Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。 Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采用Tomcat。 本系统通过Tomcat的服务器支持,根据Tomcat免费,开源,支持最新标准,更新快,跨平台,运行快等优点,能够很好地完成轻量级WEB引擎的部署,能够让本系统的JSP网站运行得稳定,高效。2.4.3Spring MVC框架简介 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 MVC框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。模型由JavaBean构成,视图是负责显示模型;控制器表示逻辑代码,是Controller的实现。Spring 框架的功能可以用在任何 Java EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 Java EE 服务的可重用业务和数据访问对象。这样的对象可以在不同Java EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。 本系统采用JSP作为主要开发语言,Spring、HTML、CSS、Javascript、JQuery作为网站编程语言。它们能够建造出完整的Spring MVC框架。JSP的固有的特性决定了它是一种高效、安全、灵活的现代程序设计语言。再加上CSS、Javascript、JQuery的效果渲染和功能实现,它们的的结合足以为毕业设计教学考勤管理系统提供完整的解决方案。2.4.4Dreamweaver简介 一个可视化的网页设计和网站管理工具,支持最新的Web技术,包含HTML检查、HTML格式控制、HTML格式化选项、HomeSite/BBEdit捆绑、可视化网页设计、图像编辑、全局查找替换、全FTP 功能、处理Flash和Shockwave等富媒体格式和动态HTML、基于团队的Web创作。在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式。 通过Dreamweaver来设计和开发前端页面,能够让本系统达到最好的效果,是对本系统基于B/S架构的最好的支持,能够开发出精美的用户界面,提高系统的实用性,能让系统更亲切和更有逻辑性,能够更好地提高交互性和实现页面和代码的无缝整合。2.4.5MySQL简介随着社会信息化的不断发展,人们面对的各种类型的数据信息正在呈现出爆炸式增长的态势,因而对数据的安全存储和高效管理具有越发明显的重要性。存储和管理数据需要使用数据库管理系统,不但需要后台数据库对数据的安全存储,而且需要前台应用程序对数的方便高效管理。当前的数据库产品主要有Acess,MySql等小型数据库,以及 SQL Server,Oracle等大型数据库。鉴于毕业设计考勤管理系统主要面向信息技术学院的学生,本系统选择了MySql数据库。毕业设计考勤管理系统不但要存储教师和学生的基本信息,而且要实现一些重要流程和必要操作,如点名,请假,查询信息,处理数据,统计数据,发布公告外,还需要开发专门的数据库系统来帮助对其进行管理。有了强大的后台才有强大的动力。毕业设计考勤管理系统需要实现数据库的建立和连接、系统界面的设计以及各个功能模块的设计和开发。该系统的开发过程主要包括需求分析、系统设计、数据库设计、编码设计、软件测试等。系统采用模块化开发方法,每个模块各自实现相应的子功能,最后进行集成,共同实现系统的功能。3. 需求分析3.1特性需求分析一个好的学生考勤管理系统应该具有一下特性:(1)易操作和功能简单明确不令人误解。一个良好的教学管理系统应该功能明确,没有二义性,用户可以很明了的通过界面明白各项功能的实现方法,而不是看到界面不知道各按钮的具体用途,即操作简单,界面友好。教师可以根据网页界面很方便的完成点名任务,节省点名的时间;学生可以根据网页界面很明白的进行对自己的出勤进行查询查询,并能够及时反馈给老师。(2)软件功能流畅,不拖沓。软件登陆,连接网络不能让用户等待时间过长,引起用户的烦躁。软件在运行不能发生崩溃,卡顿等问题,整个界面操作起来很流畅。(3)系统应该容易维护以及更新。系统各个模块设计应该很明确,核心代码处应有必要的注释,使得今后的软件维护,软件更新等操作应该能够顺利的进行。 3.2功能需求分析a) 开发意图:满足任课老师、班主任、年级老师、学生工作管理人员对学生的考勤信息进行轻松便捷的管理。b) 应用目标:任课老师可以对学生的考勤信息进行录入、修改;班主任可以对本班学生考勤信息、请假信息进行查询;年级老师学生工作管理人员可以对学生的考勤信息进行查看以及管理,对学生的请假进行批准;学生可以登录对自己的考勤信息进行查询,申请请假;学生工作管理人员可以查看全院的考勤信息,以及对学生和老师基本信息的维护。c) 作用范围:学生、任课老师、班主任、年级老师、学生工作管理人员。d) 本系统的主要功能、处理流程、数据流程及简要说明:本系统主要功能:学生工作管理人员不定期导入教师信息、在新学年批量导入学生信息、新学期批量导入学期课程信息、班级库信息,并且能能够对以上数据进行增删改查等操作,同时也可以查询、批量导出和查看全体教师提交的考勤数据、批量导出和查看全体学生累计旷课表单、管理公告。学生登陆系统之后,可以查看本人旷课、迟到等记录、进入请假子系统进行请假、调课。年级老师登录系统之后可以查看本年级的考勤信息,对请假学生进行批假处理。系统用例图如图3-1:图3-1系统用例不是所有用户都有请假、查看请假权限角色关系如图3-2:图3-2 角色列表3.2.1 登录子系统对每个主要子系统中的基本功能模块/对象进行描述,包括结构图、流程图或对象图。a)登陆该模块的主要功能:为系统的各类用户提供系统登陆功能。该模块的适用对象:包括当前系统的所有用户,即学生、任课老师、班主任、学生工作管理人员、系统管理员。该模块的流程说明:系统的所有未登陆用户填入用户名和密码之后,经过系统验证并且确认无误之后用户即可登陆到系统,用户首次登陆之后要求用户填写邮件,便于以后联系用户以及便于用户找回密码。流程图如图3-3:图3-3 登陆流程b)登出本模块的主要功能:为已登录用户提供登出功能,用户可以通过本模块登出。本模块的适用对象:系统当前所有已登录用户。本模块的流程说明:首先确认当前用户是否已登录,只有已登录的用户可以使用本功能,用户确认已登出之后,即退出系统,跳到指定页面。3.2.2基础数据维护组织架构维护a) 新增学院、专业、行政班b) 修改行政班学生学籍信息,如休学。c) 删除行政班、学生信息。基础数据导入a) 学生数据导入b) 课程导入3.2.3 点名子系统a) 对全体学生进行点名b) 对部分学生进行点名c) 实行随机抽点的方式进行点名 图4 点名流程3.2.4统计子系统a) 统计全部的旷课学生b) 统计对应班级的旷课学生c) 统计个别学生旷课信息3.2.5请假子系统a) 学生登录请假子系统,填写请假信息,并提交,学生工作管理人员登录系统对学生的请假信息核实之后,如果属实则考勤信息进行修改,改成请假状态,如果不属实,则保留原来的旷课信息。b) 通过请假子系统,学生能够非常方便地进行请假,但也不是说想请就请,必须要有符合规定的证明,并经过学生工作管理人员的核实,才能请假成功。而对于学生工作管理人员,也能够十分便捷地浏览到学生的请假信息,并对内容进行审核。 图3-4: 图:3-5 请假流程图3.3数据流图数据流图描绘信息流和数据从输入移动到输出的过程中所经受的变换,它反映系统必须完成的逻辑功能。从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。教学管理系统的运行同样离不开信息流和数据流移动变换,数据流图的描绘可以帮助开发者更好地理清整个程序的运行过程和参数传递。系统数据流图如图3-6: 图3-6 系统数据流图4. 概要设计概要设计即对有关系统全局问题的设计,也就是设计系统总的处理方案。它包括:硬件配置设计、系统模块结构设计、数据库设计、代码设计等内容。软件功能分解属于下列软件开发中的总体设计阶段。4.1硬件与软件配置设计4.1.1 硬件配置处理器:主流处理器,频率1GHz以上内存:建议1GB以上硬盘:最低60GB内存:1G及其以上。硬盘:20G及其以上4.1.2 软件配置客户端操作系统:无特别需求服务端操作系统:Ubuntu 12.04数据库:MySql服务器软件:Tomcat4.2系统模块结构设计教学管理系统学生客户端主要提供学生和教师等角色登陆,点名查询签到情况,学生请假,基础数据维护,统计子系统四项功能,因此可以将系统分为五个模块:登陆模块,点名模块,统计模块,请假模块,公告模块。考 勤 系 统公告子系统请假子系统1.5登录子系统基础数据维护系统统计子系统点名系统全部点名统计班级统计全部学生学生工作批假统计个别学生设置免听设置调课组织架构维护基础数据导入登录部分点名 登录学生请假导入课程信息导入学生信息维护学生信息维护行政班信息维护专业信息维护学院信息图4-1系统总体结构图4.3数据库设计4.3.1数据库概念结构设计实体-联系图,即E-R图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型,在数据库系统概论中属于概念设计阶段。E-R图的设计与建立,可以帮助开发者更加合理的去制定数据库内容,使得在开发过程中对数据库的各种操作(添加,查询,修改或删除)变得简单易行。考勤管理系统核心E-R图如下:1) 处理考勤点名的E-R图(图4-2):图4-2 点名考勤系统E-R图2)处理学生请假申请的E-R图(图4-3):图4-3 请假系统E-R图4.3.2数据库的物理结构设计根据以上的实体属性集可以建立相应的数据库表结构,其中教学管理系统学生客户端主要用到的数据库表结构如下所示。(1)学生表(student)包括学号,姓名,密码,与班级号四个字段。教学管理系统学生客户端需要通过查询学生表验证学生信息,查询登陆者是否属于学校人员,并将学生信息的部分内容反馈给客户端。学生表如表4-1。表4-1学生表字段名描述类型长度是否允许为空是否主键classid学号Varchar10否是studentname姓名Varchar20否否password密码Varchar10否否classid班级号Varchar10否否(2)班级表(class)包括班级号与班级名两个字段。教学管理系统无论学生端还是教师端都需要查询班级内容,将班级内容从学生表和教师表中提取出来可以简化数据库的相关操作。班级表如表4-2所示。表4-2班级表字段名描述类型长度是否允许为空是否主键classid班级号Varchar10否是classname班级名Varchar20否否(3)课程表(course)包括课程编号与课程名两个字段。学生无论是查询签到情况,作业情况还是反馈信息,都需要选择课程,因此课程表是必须的。课程表如表4-3。表4-3课程表字段名描述类型长度是否允许为空是否主键courseid课程编号Varchar10否是coursename 课程名Varchar20否否(4)点名签到记录表(signdata)包括五个字段,分别为学生编号,课程名称,日期,班级名称和到否。教师和管理员可以通过这个表了解点名情况,学生可以通过这个表来查询自己每个课程的签到情况。签到记录表如表4-4。表4-4签到记录表字段名描述类型长度是否允许为空是否主键studentid学生编号Varchar10否是coursename课程名称Varchar20否是datetime日期Date0否是classname班级名称Varchar20否否sign到否Varchar5否否(5)反馈记录(feedback)包括内容编号,学生编号,课程名称,日期以及反馈内容五个字段,其中反馈内容允许为空,内容编号每次