1、本科毕业论文题 目 学生考勤管理系统的设计与实现 学 院 信息科学技术学院 专 业 电子信息工程 毕业届别 2013 届 姓 名 指导教师 职 称 教 授 二一三年五月目录摘要 .1Abstracts21 绪论 .31.1 研究目的及意义 .31.2 开发背景 .32 系统可行性 .42.1 引言 .42.2 可行性分析 .42.2.1 经济可行性 .42.2.2 操作可行性 .42.2.3 技术可行性 .42.3 系统关键技术 .53 需求分析 .83.1 用户需求描述 .83.1.1 学生用户 83.1.2 教师用户 83.1.3 辅导员用户 83.2 系统功能划分 .83.2.1 引言
2、83.2.2 班级课程管理模块 83.2.3 在线请假模块 83.2.4 考勤管理模块 93.3 系统功能模块图 .93.4 数据流程图 .94 系统架构及数据库设计 124.1 系统架构设计 124.2 数据库设计 124.3 数据库逻辑实现 124.3.1 系统所有表 .134.3.2 数据库连接池 .164.3.3 数据库的运行与维护 .184.3.4 中文乱码处理 .185 系统实现 195.1 不同用户登录实现 1915.2 系统各模块具体实现 196 系统实施 236.1 系统实施具体步骤 236.2 运行环境搭建 236.3 服务器搭建 247 测试维护 257.1 软件测试的概
3、念和方法 257.2 采用的测试技术 257.3 具体测试 257.4 网站维护 26结束语 28参考文献 29致谢 301学生考勤管理系统的设计与实现摘要:学生考勤管理系统的开发是为了响应我们学校多媒体教室教师无纸化办公的号召,结合当前各大高校网络自动化办公的发展,更加方便教师对学生考勤的管理系统。该管理系统可以真正实现跨平台,即可以在 windows 服务器上部署,又可以在 Linux 服务器上部署,这主要归结于它的设计架构。该学生考勤管理系统分为下面几大功能:班级管理、学生管理、老师管理、请假管理等。系统包含三类用户:学生、任课老师、辅导员。学生向老师请假,由老师或辅导员通过浏览器登录系
4、统进行审批。老师可以在课前登录管理系统系统对课程进行查看,对学生进行点名,并且可以查看学生的请假记录。学生也可以通过登录本系统查询自己的详细信息等。该学生考勤管理系统采用 Jsp+Servlet+MySQL 开发,开发过程中运用了类封装,页面模块化、动态生成、静态页面显示等技术。本论文重点介绍学生、教师、辅导员三类用户功能的设计与实现。关键词:学生;考勤 ;管理;查询;2Student Attendance Management System Design and ImplementationAbstracts: Student attendance management system, mo
5、re convenient and teachers on student attendance management system in response to the call of our school the multimedia classroom teachers paperless office, with major colleges and universities the development of office automation network. The management system can truly cross-platform, that can be
6、deployed on the windows server, and can be deployed on a Linux server, mainly due to its design architecture. The student attendance management system is divided into the following major functions: classroom management, student management, teacher management, leave management. The system consists of
7、 three types of users: students, classroom teacher, counselor. Students leave to the teacher for approval by the teacher or counselor log on to the system through the browser. Teacher before class login management system course view, the students named, and you can view the leave records of students
8、. Students can also check their information by logging into the system.3The student attendance management system Jsp + Servlet + MySQL development, the development process, the use of the type of packaging, page modular, dynamically generated, static pages display technology. This paper focuses on t
9、he Design and Implementation of the students, teachers, counselors, three types of user functions.Key words: Students; attendance; management; inquiry41 绪论1.1 研究目的及意义该学生考勤管理系统设计的目的是为了解决当前班级、课程、学生、教师的管理,以及学生请假,教师考勤,辅导员查看学生上课出勤信息等方面所面临的各个问题。该考勤管理系统涉及了三大类用户学生,教师,辅导员,辅导员具有最高权限。系统使用范围是学校校园网,系统的设计是采用典型的 B
10、/S(浏览器/服务器)构架进行设计开发,可以完全实现跨平台操作(这里的跨平台是指客户端和服务器的跨平台,二者都可以在不同操作系统上轻松实现) 。由于采用 HTML+JavaScript 动态网页显示技术,B/S 设计、MVC 模式,所以对硬件要求低。并且本系统有很好的扩展性,与学校校园网有很好的集成。1.2 开发背景目前在校学生选课,选教材,老师评价都可以通过教务管理系统进行,并且课程作业,图书查询、续借都可能通过学校教学网络操作。这样一来校园网不仅方便了学生,方便了老师,更重要的是提高了学生教师的学习工作效率。目前附近各大高校都有对师生的成绩查询系统、教务管理系统、招生就业系统等一系列管理系
11、统,这就给学校管理、学校师生的学习、生活、办公带来了便利 1。但我校的考勤管理模式还是以任课老师上课带点名册点到,班主任、辅导员不定期来课堂查看考勤。同时,学生的请假还需要经过班主任辅导员批准,将请假条交给代课老师才能生效。在期末时对平时考勤结果进行统计,将考勤信息录入数据库后进行统计,才能得出学5生平时成绩。这样一样就相当麻烦,不但费时而且还费力,并且出现误差的概率也比较大。更重要的是暴露出了以下问题:(1)、学生请假不方便;(2)、教师、辅导员查看不便;(3)、期末统计不便;因此开发一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前学校学生在线请假以及上课管理而设计的
12、信息系统。它的出现不仅可以方便学生请假,而且还能大大提高教师、辅导员办公效率。62 系统可行性2.1 引言网络技术迅速发展的今天,各类框架类应用管理系统已遍地而飞,它的普及不仅节省了大量金钱、同时也在人力,物力方面有很大的节省,其便捷、好用的优点已让人们不再需要花大工夫,不仅大大节约了时间,而且最重要的是提高了学习工作的效率。学生考勤管理系统的开发,使得高校学生,教师,辅导员之间的联系更加紧密。该管理系统通过各网络教学平台的结合可以使教师完全实现无纸化办公,辅导员也可以更加方便地查看,管理学生、课程、教师等一系列信息,大大提高了学习办公效率,节省人力物力财力。该学生考勤管理系统不仅能有效地提高
13、师生的办事效率,而且可以解决学校班级有、课程、老师管理问题,以及学生请假及上课出勤的问题,实现学生请假及上课出勤信息对代课教师、班主任、辅导员透明化,使班主任、辅导及时把握学生的学习考勤情况,及时与学生沟通,提高教学质量。2.2 可行性分析2.2.1 经济可行性B/S 的架构设计,主流的动态网页开发技术,使得该系统的开发变得简单可行,系统的部署对软硬件不受限制,用户操作不需要有多深的专业知识即可使用本系统,所以从经济上讲是可行的。2.2.2 操作可行性方便的后台管理,可以进行班级、学生、老师、课程的相关信息的增加、删除、修改,对课程的分配、班级等等。同时教师,学生可以在任意一台能连接互联网的机
14、器上进行操作。72.2.3 技术可行性JSP 开发 B/S 结构加 MySQL 数据库的系统进行教师无纸化办公,它可以依靠安全的 LINUX 服务器系统进行服务器架设,也可以用WINDOWS 系统进行架设。即实现了跨平台,又实现了教师无纸化办公。同时 JSP 是一种安全稳定的动态网页技术,目前国内各电子商务系统,ERP 系统等基本上都是使用 JSP 开发的。同时 MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性 2。综上所述,该学生考勤管理系统的设计解忧方案无论在技术,经济性还是在操作心理上都是可行的。2.
15、3 系统关键技术在学生考勤管理系统开发中,运用了比较流行的各类技术,比如:Java,JSP,Servlet,JavaScript,HTML 动态网页显示技术,B/S 架构、MVC 模式,MySQL 数据库操作等。系统的开发也涉及到了相关开发环境的配置,开发工具、数据库的选择及设计,以及网络的组建等3。2.3.1 Java 语言Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、
16、高效性、平台移植性和安全性,广泛应用于个人 PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。8Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun 公司的口号之一,并
17、获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET 平台以及模仿 Java 的 C#语言。2.3.2 JSP/ServletJSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似ASP 技术,它是在传统的网页 HTML 文件(*.htm,*.html)中插入 Java程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件(*.jsp)。 用
18、 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行 4。Servlet 是一种服务器端的 Java 应用程序,具有独立于平台和协议的特性,可以生成动态的 Web 页面。 它担当客户请求(Web 浏览器或其他 HTTP 客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序)的中间层。 Servlet 是位于 Web 服务器内部的服务器端的 Java 应用程序,与传统的从命令行启动的 Java 应用程序不同,Servlet 由 Web 服务器进行加载,该 Web 服务器必须包含支持Servlet 的 Java 虚拟机。92.3.3 B/S 架构该
19、学生考勤管理系统采用了目前较为流行的 B/S 结构模式,相对于 C/S 模式来说,B/S 结构更加具有优势。B/S 结构是Browser/Server(浏览器服务器)模式,它是对 C/S 模式Client/Server(客户端/服务器)应用的扩展。这种结构下,只要安装一个服务器(Server),用户就可以通过浏览器(IE,火狐,Chrome等)来实现相关的功能操作。另一方面 C/S 模式暴露出了许多问题,比如:该模式下操作灵活性差、升级不便、维护工作量大等。随着WEB 技术的日益成熟,B/S 结构已经成为取代 C/S 模式的一种全新技术。它主要利用了不断成熟的 WWW 浏览器技术,结合 Jav
20、aScript 成为一种全新的软件系统构造技术。在 B/S 体系结构模式中,用户可以通过任意浏览器向服务器发送请求,服务器对浏览器的发送的请求进行处理,并将处理后的数据返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由 Web Server 完成。随着 Windows 将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然 B/S 结构应用程序相对于传统的 C/S结构应用程序是一个非常大的进步。采用 B/S 结构软件的优势在于:(1) 无须开发客户端软件,维护和升级方便;(2) 可跨平台操作,任何一台机器只要装有 W
21、WW 浏览器软件,均可作为客户机来访问系统;(3) 具有良好的开放性和可扩充性;(4) 可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。102.3.4 MVC 模式MVC 模式,即 Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制,而不需要重新编写业务逻辑 MVC 被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图
22、形化用户界面的结构中。MVC 开始是存在于 Desktop 程序中的,M 是指数据模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C 存在的目的则是确保 M 和 V 的同步,一旦 M 改变,V 应该同步更新。MVC 是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用 MVC 应用程序被分成三个核心部件:模型、视图、控制器。视图是用户看到并与之交互的界面。对老式的 Web 应用程序来说,视图就是由 HTML 元素组成的界面,在新式的 Web 应用程序中
23、,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括 Adobe Flash 和像 XHTML,XML/XSL,WML 等一些标识语言和 Web services.MVC 好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。11模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务。例如它可能用像 EJBs 和 ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,
24、这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击 Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。MVC 模式的优点如下:(1) 多 个 视 图 可 以 对 应 一 个 模 型 ;(2) 开 发 人 员 可 以 只 关 注 整 个 结 构 中 的 其 中 某 一 层 ;(3) 可 以 很 容 易 的 用 新 的 实 现 来 替 换 原 有 层 次
25、的 实 现 ;(4) 可 以 降 低 层 与 层 之 间 的 依 赖 ;(5) 有 利 于 标 准 化 ;(6) 有利 于 各 层 逻 辑 的 复 用 5。3 需求分析3.1 用户需求描述用户是该管理系统的最根本使用者,按需要分析系统后应该包括:学生、教师、辅导员三大类用户,这三类用户对系统的需求简要如下。3.1.1 学生用户12学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。在线请假中,学生可以随时查看请假的进展情况。另外学生还可以查看本人的基本信息,如:所在院系、年级、专业、班级、学号、姓名、性别等,查看本班的课表以及修改个人用户密码。3.1.2 教师用户教师用户:
26、任课老师对本系统的主要需求是查看班级信息,查看学生信息,对学生用户进行添加、删除、修改操作等。并且在上课前进行点名,管理所教班级学生的上课出勤信息,查看学生上课出勤情况,对学生请假审请进行批准等。同时,老师也可以查看上课课表,查看个人基本信息以及修改个人密码。3.1.3 辅导员用户辅导员用户:辅导员对本系统的主要需求是对班级,学生,老师进行添加、修改、删除等操作。可以对学生请假信息进行审批操作,查看所有学生所有课程的上课出勤信息。对于本年级的学生考勤信息进行统计,可以导出为 Excel 表格保存,同时修改个人密码等等。3.2 系统功能划分3.2.1 引言根据用户需求的描述,该考勤管理系统应该具
27、备:在线请假模块,考勤管理模块,班级课程管理模块,这三大模块组成。3.2.2 班级课程管理模块该模块主要由辅导员登录并进行操作,辅导员可以对整个数据进行同步和更新维护。其它用户不能对其进行操作,只能在自己权限下查看相关记录,比如学生只能查看自己详细记录,不可以修改。教师13只能查看班级、课程的详细记录,可以查看和修改学生记录,辅导员可以对全局记录进行操作和修改。3.2.3 在线请假模块该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允
28、许该请假,学生可以在请假失败记录里面查看具体原因。3.2.4 考勤管理模块该模块主要由教师登录并进行操作,辅导员也可以根据自己抽查的考勤情况在自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为 Excel 表格,最后方便统计整个学期本课程所有学生的考勤情况。3.3 系统功能模块图根据系统需求分析,系统功能实现的具体模块图可以进行如图 3.3划分: 图 3.3143.4 数据流程图3.4.1 系统总数据流程图系统总数据流程图如图 3.4.1开 始身份验证数据库核对字段是否匹配辅导员主页进行相应操作结 束YN重新登录用户类
29、型教师主页 学生主页图 3.4.13.4.2 请假系统数据流程图请假系统数据流程图如图 3.4.215学生请假辅导员或教师审批请假成功请假失败请假记录同意不同意图 3.4.23.4.3 考勤系统数据流程图考勤系统数据流程图如图 3.4.3数据处理任课老师请假系统旷课病假出勤记录请假记录事假迟到早退图 3.4.3164 系统架构及数据库设计4.1 系统架构设计根据系统中各用户的需求,以及各大功能的需求,经过大量的调查分析,针对该学生考勤挂历系统选择以下开发工具进行开发:系统结构:B/S(浏览器/服务器)开发语言:JAVA/JSP 数据库:MySQL5.6开发工具:MyEclipse10服务器端容
30、器:Tomcat7.0.39 64.2 数据库设计4.2.1 数据库需求分析学生考勤管理系统要实现在线请假、随堂考勤两大子系统,需要了解学生用户、教师用户、辅导员用户三类用户的功能模块。然后,据此分析出数据需求。班级表:班级流水号、班级编号、班级名称。老师表:教师流水号、教师编号、老师名称、性别、教师联系方式、老师邮件、教师住址、教师登录密码。学生表:学生流水号、学生学号、学生名字、性别、宿舍号、联系方式、密码。辅导员表:辅导员 ID、辅导员姓名、辅导员密码。课程表:课程流水号、课程编号、课程名称。选课表:选课班级流水号、班级 ID、课程 ID、选课年级、选课学期。17老师代课表:老师代课流水
31、号、教师 ID、课程 ID、代课学年、代课学期。请假表:请假开始时间、请假结束时间、请假原因、请假天数、审批时间。考勤表:考勤流水号、考勤的学生 ID、考勤的课程 ID、考勤时间、考勤课次、考勤结果。4.3 数据库逻辑实现数据库逻辑设计就是将数据组织成一个和计算机提供的 DBMS 所采用的数据模型相符合的形式,这是一个将用户角度上的概念结构转换为 DBMS 支持下的数据组织模式的过程,其步骤是确定组成数据库的实体及其构成,以及确定数据库实体之间的关系。数据库的概念设计完毕之后,现在可以将上面的数据库结构转换为某种数据库系统所支持的实际数据类型,也就是数据库的逻辑结构。该网站采用的是 MySQL
32、 数据库。建立数据库模型是数据库设计过程的第三个阶段。在这一阶段中要将概念模型中得到的 E-R 图转换成具体的数据模型。数据模型一般分为层次、网状、关系和面向对象模型等。目前比较常用的是关系数据模型,所以通常将 E-R 图转换成关系数据模型,实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式 7。4.3.1 系统所有表根据数据库的需求分析,设计具体数据库逻辑结构,包含的表如图 4.3:18图 4.31.辅导员表 admin表 4.3.1 辅导员表字段名 名称 类型 长度 备注admin_id 管理员 ID int 11 主键admin_name 用户名 varchar 20 not
33、nulladmin_password 密码 varchar 20 not null2.学生表 student表 4.3.2 学生表字段名 名称 类型 长度 备注student_id 学生流水号int 11 主键19class_id 班级流水号int 11student_NO 学号 varchar 15 not nullstudent_name 名字 varchar 20 not nullstudent_sex 性别 varchar 4 not nullstudent_room 宿舍号 varchar 20 not nullstudent_phone 电话 varchar 15student_t
34、elphone手机 varchar 15 not nullstudent_email 邮件 varchar 30 not nullstudent_password密码 varchar 16 not nullstudent_image 头像 varchar 5003.教师表 teacher表 4.3.3 教师表字段名 名称 类型 长度 备注teacher_id 老师流水号int 11 主键teacher_NO 编号 varchar 15 not nullteacher_name 姓名 varchar 20 not nullteacher_sex 性别 varchar 4 not nullteac
35、her_office 办公室地址varchar 40 not nullteacher_phone 座机 varchar 15teacher_telphone手机 varchar 15 not nullteacher_email 邮件 varchar 30 not nullteacher_password密码 varchar 16 not null4.课程表 course表 4.3.4 课程表字段名 名称 类型 长度 备注course_id 课程流水号 int 11 主键course_NO 课程编号 varchar 15course_name 课程名称 varchar 305.班级表 class
36、20表 4.3.5 班级表字段名 名称 类型 长度 备注class_id 班级流水号 int 11 主键class_NO 编号 varchar 10class_name 名称 varchar 20class_grade年级 varchar 106.考勤表 seekaoqinview表 4.3.6 考勤表字段名 名称 类型 长度 备注class_id 班级流水号 int 11class_name 班级名称 varchar 20course_id 课程 ID int 11course_NO 课程编号 varchar 15course_namecour课程名称 varchar 30student_n
37、ame学生名称 varchar 20student_sex 学生性别 varchar 4kaoqin_date 考勤日期 varchar 15kaoqin_time 考勤次数 int 11kaoqin_data 考勤数据 varchar 1007.选课表 selectcourse表 4.3.7 选课表字段名 名称 类型 长度 备注selectCourse_id 选课流水号int 11class_id 班级 ID int 11coruse_id 课程 ID int 11selectCourse_year选课年级 varchar 15selectCourse_term选课学期 int 118.教师
38、代课表 teachcourse21表 4.3.8 代课表字段名 名称 类型 长度 备注teacherCourse_id 代课流水号int 11 主键teacher_id 教师 ID int 11course_id 课程 ID int 11teacherCourse_year代课学年 varchar 10teacherCourse_term代课学期 int 119.点名表 dianminlist图 4.3.9 点名表10.请假表 qingjia表 4.3.10 请假表字段名 名称 类型 长度 备注qj_start_time开始时间 date not nullqj_end_time 结束时间 da
39、te not nullqj_yy 请假原因 varchar 1000student_name学生名称 varchar 20teacher_name教师名称 varchar 20class_id 课程 ID int 1122qj_flag 请假标志 int 11 not null4.3.2 数据库连接池数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再
40、不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能 8。一个 DataSource 对象通常注册在 JNDI 命名服务上,应用程序可以通过标准的方式获得到注册在 JNDI 服务上的 DataSource 对象。initContext = new InitialContext();envContext = (Context) initContext.lookup(“java:/comp/env“);ds = (DataSource) envContext.lookup(“jdbc/KQ“);相关操作:
41、1.con.close();当关闭数据连接后,当前使用的数据库连接将不会被物理关闭,而是放回到数据库连接池中进行重用 9。2.web.xml 配置:DB Connectionjdbc/KQjavax.sql.DataSource23Container3.conn.Properties 配置:jdbc.drivers=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:/localhost:3306/KQBMSjdbc.username=rootjdbc.password=root4.Tomcat 中的 context.xml 配置104.3.3 数据库的运行与维护
42、数据库设计结束后,就可以直接投入运行了,数据库运行标志着设计任务的完成和维护工作的开始,但不意味着设计过程的终结,由于应用环境在不断变化,数据库运行过程中物理存储也在不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。在数据库运行阶段,对数据库的维护工作有:(1)数据库的转储和恢复:定期对数据库和日志文件进行备份,以保证一旦发生故障,能利用数据库备份一级日志文件备份,尽快将数据库恢复到某种一致性状态,并尽可能减少对数据库的破坏。(2)数据库的安全性、完整性控制:根据用户的实际需要授予不24同的操作权限,另外,由于应用环境的变化,数据库的完整性约束条件
43、也会变化,以满足用户需求。(3)数据库性能的监督、分析和改进。(4)数据库的重组织和重构造:数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降,这时就要对数据库进行重组织,或者部分组织。当数据库应用环境发生变化时,会导致实体及实体间的联系也发生相应的变化,使原有的数据库设计不能很好的满足新的需求,从而不得不适当调整数据库的模式和内模式,这就是数据库的重构造 11。4.3.4 中文乱码处理在数据库插入执行相关操作中,最容易遇到的难题就是中文乱码问题。本次开发过程中也不例外,解决乱码最好的方法是在项目设计之初
44、,统一所有的字符集,例如页面、request 对象以及数据库等。经过各方查找相关资料后得到以下几种解决方案:创建数据库时:指定该数据库默认编码为utf8码CTEATE DATABASE kqbms DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;创建各个表时:指定表的默认编码为utf8码CREATE TABLE xxx (字段 1, 字段 2,字段 n) VALUES (values_1 values_2, values_n) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;这样设置之后
45、基本不会出什么问题,即建数据库和建表时都使用相同的编码格式。255 系统实现5.1 不同用户登录实现前台登录主要通过自己的用户名、密码进行登录,来进行相关的访问操作,其登录界面如图;下拉列表框可以用来选择登录用户教师、学生、辅导员。登录之后,相应用户可以进行对应操作。图 5.1.15.1.1 学生操作的设计与实现学生登录之后,主界面左上角显示当前系统时间,右上角显示出当前登录用户的姓名,界面左则显示学生可以执行的具体选项,包括:查看信息,在线请假,查看请假结果,修改密码等。点击对应的功能按钮后可以在右则进行相应的详细操作。5.1.2 教师操作的设计与实现教师登录之后,主界面左上角显示当前系统时
46、间,右上角显示出当前登录教师的姓名,界面左则显示教师可以执行的具体选项,包括:查看班级信息,查看学生信息,查看课程信息,考勤管理,请假审批,修改密码等。点击对应的功能按钮后可以在右则进行相应的详细操作。265.1.3 辅导操作界面的设计与实现辅导员登录之后,主界面左上角显示当前系统时间,右上角显示出当前辅导员用户的姓名,界面左则显示辅导员可以执行的具体选项,包括:班级管理,课程管理,学生管理,课程管理,请假审批,修改考勤,修改密码等。点击对应的功能按钮后可以在右则进行相应的详细操作。5.2 系统各模块具体实现5.2.1 请假模块当学生在需要请假的时候,通过该页面可以填写要请假的开始时间,结束时
47、间,最后由教师进行审核。其页面如图 5.2.1 所示:图 5.2.15.2.2 点名模块其主要功能是在教师在要点名时,先登录到页面,然后进入点名页面,教师可以进行选择班级进行,选出所在班级的学生,并在左下角列出请假的学生,然后由代课教师根据请假,及其名单对照进行点名。其页面如图 5.2.2 所示:27图 5.2.25.2.3 班级管理模块当老师登录该模块时,只可以查看班级信息,不能对其进行相应操作;当辅导员登录该模块时可以对班级信息进行添加、修改、删除、查询等操作,具体实现界面如图 5.2.3图 5.2.35.2.4 学生管理模块该模块主要功能是对学生进行添加、修改、删除等一系列操作,学生只能查看个人信息,不能修改,其具体实现界面如图 5.2.4