• 2.68 MB
  • 2022-05-17 13:18:32 发布

基于jsp的学生考勤管理系统设计与实现

  • 64页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
硕士学位论文MASTER’SDISSERTATION论文题目基于JSP的学生考勤管理系统设计与实现作者姓名金会赏学位类别工程硕士指导教师申利民教授2016年5月 中图分类号:TP311学校代码:10216UDC:654密级:公开工程硕士学位论文(工程设计型)基于JSP的学生考勤管理系统设计与实现硕士研究生:金会赏导师:申利民教授副导师:宋诚忠高级工程师申请学位:工程硕士工程领域:计算机技术所在单位:沧州职业技术学院答辩日期:2016年5月授予学位单位:燕山大学 ADissertationinComputerTechnologyDESIGNANDIMPLEMENTATIONOFSTUDENTATTENDANCEMANAGEMENTSYSTEMBASEDONJSPbyJinHuishangSupervisor:ProfessorShenLiminYanshanUniversityMay,2016 燕山大学硕士学位论文原创性声明本人郑重声明:此处所提交的硕士学位论文《基于JSP的学生考勤管理系统设计与实现》,是本人在导师指导下,在燕山大学攻读硕士学位期间独立进行研究工作所取得的成果。论文中除已注明部分外不包含他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。作者签字:日期:年月日燕山大学硕士学位论文使用授权书《基于JSP的学生考勤管理系统设计与实现》系本人在燕山大学攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归燕山大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全了解燕山大学关于保存、使用学位论文的规定,同意学校保留并向有关部门送交论文的复印件和电子版本,允许论文被查阅和借阅。本人授权燕山大学,可以采用影印、缩印或其它复制手段保存论文,可以公布论文的全部或部分内容。保密□,在年解密后适用本授权书。本学位论文属于不保密□。(请在以上相应方框内打―√‖)作者签名:日期:年月日导师签名:日期:年月日 摘要摘要在高职院校,普遍存在学生自律性较弱、学习意识不强等问题,日常教学的开展严重依赖学生考勤管理工作。良好的考勤管理,有助于培养学生的自律自强品格、建设勤奋好学的良好学风,是提高人才培养素质的必要保障。而设计和开发一套面向高职院校学生特点的学生考勤管理系统,是解决这一问题的有效途径。首先,针对高职院校的学生特点,分析了国内外研究现状,指出现有考勤管理系统在适用性方面的不足。阐述了课题研究的必要性和意义,列出了研究内容,介绍了相关开发技术并论述了技术选型的理由。其次,分析了面向高职院校的学生考勤管理系统的特殊需求,提出了系统的设计原则和设计目标,并从系统的可行性、业务角色、功能需求和数据逻辑等方面展开分析,为系统的设计奠定基础。再次,关注系统管理的灵活性,对系统架构以及各功能模块进行总体设计,并对系统管理模块、前台管理模块、后台管理模块进行概要设计。依据数据库设计原则,给出了数据实体联系图并进行了数据库的设计。最后,基于JSP和MySql,依据可配置性和可维护性等设计原则,对系统各模块功能进行编码实现。通过制定的测试范围和测试步骤进行严格的系统测试,保障系统的正确性。关键字:考勤管理;B/S架构;MVC模式;JSP;MySql-I- 燕山大学工程硕士学位论文AbstractTherearesomecommonproblemsofstudentsinhighervocationalcolleges,suchasstudents"weakself-disciplineandweaklearningconsciousness.Therefore,thedailyteachingheavilydependsonthestudents"attendancemanagement.Goodattendancemanagementcanhelptodevelopstudents"self-discipline,self-relianceandgoodspiritoflearning.Inordertoresolvethisproblem,itisaneffectiveapproachtodesignanddevelopanattendancemanagementorientedtothecharacteristicsofhighervocationalcollegestudents.Firstly,thispaperanalyzestherelatedresearchwhichisabouttheattendancemanagementsystemathomeandabroadinviewofthecharacteristicsofstudentsinhighervocationalcolleges.Theinsufficiencyispointedoutinapplicabilityoftraditionalattendancemanagementsystem.Then,theresearchsignificanceiselaborated,theresearchcontentisdiscussed,andthecorrelationtheoriesaregiven.Secondly,thespecialdemandofattendancemanagementsystemisanalyzedorientedtothecharacteristicsofhighervocationalcollegestudents,thedesignprinciplesandgoalsofsystemisproposed.Thefeasibilityofthesystem,theroleofbusiness,functionalrequirementsanddatalogicareanalyzed.Theseestablishthefoundationforthesystemdesign.Thirdly,theflexibilityofsystemmanagementisconcernedinthispaper.Moreover,thesystemarchitectureandthefunctionalmodulesaredesigned,andthesystemmanagementmodule,frontdeskmanagementmodule,backgroundmanagementmodulecarriedonthesummarydesign.Accordingtotheprincipleofdatabasedesign,thedataentityrelationdiagramandthedesignofdatabasearegiven.Finally,basedontheJSPandMySql,accordingtotheprincipleofconfigurabilityandmaintainability,thefunctionofeachmoduleofthesystemisrealized.Toensurethecorrectnessofthesystem,thetestingscopeandtestingproceduresareformulated.Keywords:attendancemanagement;b/sarchitecture;mvcmodel;jsp;mysql-II- 目录目录摘要...................................................................................................................................IAbstract.............................................................................................................................II第1章绪论.......................................................................................................................11.1问题的提出.............................................................................................................11.2国内外研究现状....................................................................................................11.3建立学生考勤管理系统的必要性和意义............................................................21.4课题研究的内容....................................................................................................31.4.1研究的主要内容..............................................................................................31.4.2需要解决的问题..............................................................................................31.5论文组织结构........................................................................................................3第2章开发技术分析.......................................................................................................52.1系统结构模式........................................................................................................52.2系统开发模式........................................................................................................52.3系统客户端技术....................................................................................................62.3.1HTML技术.......................................................................................................62.3.2JavaScript技术.................................................................................................62.3.3页面布局技术..................................................................................................62.4系统服务器端技术................................................................................................72.4.1JSP技术简介...................................................................................................72.4.2JDBC数据库连接技术...................................................................................72.4.3Servlet技术....................................................................................................102.5系统开发环境的选择...........................................................................................102.5.1数据库开发工具MySQL简介.....................................................................102.5.2Web服务器Tomcat简介...............................................................................102.5.3系统开发环境MyEclipse简介.....................................................................102.5.4JDK简介........................................................................................................102.6运行环境的选择..................................................................................................112.7本章小结............................................................................................................11第3章学生考勤管理系统的需求分析.........................................................................123.1系统设计原则.......................................................................................................123.1.1基本设计原则................................................................................................123.1.2开发方法的选择............................................................................................123.2学生考勤管理系统的需求分析..........................................................................12-III- 燕山大学工程硕士学位论文3.2.1设计目标分析................................................................................................133.2.2可行性分析....................................................................................................133.2.3业务角色分析................................................................................................143.2.4系统功能需求分析........................................................................................143.2.5数据逻辑模型分析........................................................................................153.3本章小结............................................................................................................16第4章学生考勤管理系统的设计.................................................................................174.1系统架构设计.......................................................................................................174.2系统工作流程......................................................................................................174.3系统总体设计......................................................................................................184.4各模块的设计......................................................................................................184.4.1系统管理模块................................................................................................184.4.2前台管理模块................................................................................................194.4.3后台管理模块................................................................................................204.4.4数据共享和可配置性....................................................................................214.5数据库设计...........................................................................................................224.5.1数据库设计原则............................................................................................224.5.2系统实体联系图............................................................................................234.5.3数据表的设计................................................................................................264.6本章小结...............................................................................................................29第5章学生考勤管理系统的实现.................................................................................305.1系统开发环境......................................................................................................305.1.1硬件环境........................................................................................................305.1.2软件环境........................................................................................................305.2系统管理模块的实现..........................................................................................305.2.1页面布局的实现............................................................................................305.2.2用户管理子模块............................................................................................315.2.3系统维护子模块............................................................................................335.2.4数据维护子模块............................................................................................355.3前台管理模块的实现...........................................................................................375.4后台管理模块的实现...........................................................................................385.4.1考勤数据管理模块........................................................................................385.4.2考勤查询统计模块........................................................................................405.4.3数据导入导出模块........................................................................................445.5本章小结...............................................................................................................46-IV- 目录第6章系统测试.............................................................................................................476.1测试的基础...........................................................................................................476.2测试工作...............................................................................................................476.3出现的问题及解决方案......................................................................................486.3.1无效的描述器索引........................................................................................486.3.2Servlet编译错误.............................................................................................496.3.3中文乱码........................................................................................................496.3.4用户无法登录................................................................................................506.3.5数据库连接关闭............................................................................................506.4测试结论...............................................................................................................506.5本章小结...............................................................................................................50结论.................................................................................................................................51参考文献.........................................................................................................................52致谢.................................................................................................................................55-V- 第1章绪论第1章绪论1.1问题的提出[1]在高职高专,学生考勤管理是学生管理工作的重要组成部分。而学生普遍自律性弱、学习意识不强,日常教学的开展严重依赖学生考勤管理工作。但目前的学生考勤管理多采用传统信息处理方式,教师在课堂上携带学生名单点名,课后再手工录入,存在效率低、工作强度大、数据统计分析难,考勤表不规范、数据难以共享、考勤数据与评优评教等环节缺少关联等问题。而在高校管理的诸多事务中,对学生的考勤管理日趋重要,不可或缺。亟需建立一个稳定、高效、安全、符合高职高专学生考勤特征的管理信息系统。在调研高职院校学生考勤管理的现状和需求的基础上,结合沧州职业技术学院信息工程系学生考勤管理的实际经验,面向高职院校学生考勤管理的需求设计和开发一套系统,以提高考勤管理工作的信息化和自动化水平。同时,采集到的考勤数据可以为评优评教等工作提供决策支持,形成教学激励机制。可以有效提高学生出勤的积极性,有助于学生自律自强品格的培养,有利于勤奋好学的良好学风的形成。1.2国内外研究现状[2-3]随着计算机技术的高速发展,在我国的各行各业中,计算机辅助管理得到了广泛应用。针对计算机辅助考勤管理工作,国内外研究者开展了广泛的研究,这些[4-5]研究为推动我国考勤管理的信息化和现代化建设提供了良好的借鉴。[6-7]在考勤系统建设方面,国内外研究者们比较关注硬件技术的革新,利用指纹、虹膜、人脸等特征实施考勤,具有人员验证、出入授权、查询统计和防盗报警等功能。常见的考勤管理系统有中控科技的指纹识别考勤机、舒特公司的拍照考勤机、汉王科技的人脸识别考勤机、垦高云考勤系统、群英云考勤系统等。这类产品都已发展的相当成熟,强调验证和考勤记录功能,适合应用于考勤时间和考勤地点较固定的场合(如企事业单位)。而高校学生的上课时间和地点经常会随着课程的调整发生变动,因此这类系统很难适应高校学生的考勤需求。在学生考勤管理系统建设方面,很多国内外高校已经引入一些先进的技术电子卡、指纹机等技术,出现了WEB考勤系统、门禁考勤系统、手机考勤系统等,使学生考勤系统的实用性和操作性得到了大大提高,使学生考勤管理更方便,更快捷。-1- 燕山大学工程硕士学位论文[8]基本替代了传统的手工记录方式。我国大部分高校经历了高效智能化的建设,校园网络已成规模,依托于校园网的学生考勤管理系统的建设朝数字化、无纸化、智能化的方向发展,为进一步完善高校学生考勤管理系统打下良好的基础,使用网络化[9]的手段管理学生考勤已成为高校考勤管理的发展趋势。[10]在高校学生考勤管理系统的产品方面,很多软件公司凭借良好的软件功底,[11]已经开发了很多功能齐全的产品,但由于开发者缺乏高校学生考勤管理经验,产品通用性强、针对性差。学校选用这些产品,不仅需要花费大量的资金,往往还达不到理想的效果,难以满足高校学生考勤的需求。学生的考勤数据能被评优、评教等其他管理系统所使用才更有意义,即高校的学生考勤系统更强调数据的共享,因此,现有的考勤产品并不能满足高校学生考勤的特殊需求,很多高等院校不得不自主研发适合高校学生考勤特点的系统。1.3建立学生考勤管理系统的必要性和意义(1)必要性为了适应社会的发展,提高高校网络资源的利用率与办公效率,实现学生管理工作的信息化,设计出与学生考勤管理工作相适应的学生考勤管理系统已成为一种必要。在高校,尤其是在高职院校,学生上课的出勤不仅是对学生考核的一项重要指标,也是保证学生人身安全的前提,可以记录学生个人活动的时间和范围,同时还是对教师教学评价的重要标准。本文结合我系学生信息进行了深入调查,发现我系学生人数在逐年增加,而且五年专的学生人数增加尤为明显。学生自制力较欠缺,需要提高监管力度,学生出勤成为了学生管理的重点。采集和分析学生的出勤数据,并将这些数据共享给评优、评教系统,使学生考勤与评优评教关联,将大大提高学生的课堂出勤率和学习动力,督促学生建立起良好的个人管理习惯,有利于培养学生的自律自强精神。教师上课点名记录的方式,只采集到了数据而很难应用这些数据,已经不能满足当前学生管理的需求。所以,开发出一套适合高校学生管理需求的高质量、高效率的考勤管理系统已成为高校教职工的迫切需求。(2)意义在我国各大院校中,学生考勤管理是教学管理中的重要组成部分,学生出勤率高低,关乎教师教学和学生学习的质量,因此,研究和开发适合高校需求的学生考勤管理系统具有重要意义。其意义在于:可以实现学生考勤管理的信息化,降低考勤管理的成本,提高工作效率;可以及时掌握学生的考勤状态,发现教学过程中的问题;有助于促进考勤管理的规范化,形成教学激励机制;有助于实现考勤-2- 第1章绪论数据的共享和应用,为评优评教、管理决策等提供数据分析支持。1.4课题研究的内容1.4.1研究的主要内容本系统针对各高职院校学生考勤管理的实际需求,关注考勤数据的共享和应用,适用于高职院校及各类专科、中专院校的学生考勤管理工作。其主要研究内容如下。(1)学生考勤管理系统的需求分析和国内外研究现状的调研。(2)按照软件工程的原则,构建基于B/S结构和MVC模式(采用MVCModel2三层(Jsp+Servlet+JavaBean)模式)的学生考勤管理系统的系统架构。(3)在认真分析系统需求的基础上进行了概要设计和数据库设计。(4)在概要设计的基础上对系统功能模块进行了详细的设计,如系统管理模块、前台管理模块、后台管理模块等。(5)为了加强考勤数据的共享和应用,设计了灵活的数据存储、查询、统计、导入导出等数据管理功能。方便了该系统与其他管理系统之间的数据共享和交换,为有效利用考勤数据提供支持。1.4.2需要解决的问题(1)数据共享考勤数据要想被其他管理系统使用,需要解决数据共享问题。应保障对数据的灵活配置,真正实现信息管理不受时间、空间限制的网络化管理,为其他管理系统提供数据支持。(2)系统的安全性和可配置性数据共享的设计增加了数据泄露的风险,数据的安全必须能够保证。可通过严格的身份认证和权限检查来解决这一问题。系统在满足当前需求的同时,应考虑需求将来可能发生的变动情况,即设计系统时需要解决系统的可配置性问题。这可以通过将易变需求提取出来作为配置项的方式解决,如为了方便数据共享,可将数据库的表结构提取出来作为配置项,允许用户配置其显示字段、查询字段、导出字段、字段名称、字段长度、字段排序等。(3)基于JSP技术的前后台管理功能系统应模块清晰、功能明确、界面友好、简单易用、易于扩充。1.5论文组织结构本文深入调研了高职院校学生考勤管理的现状及需求,设计并实现了一个基于-3- 燕山大学工程硕士学位论文JSP的学生考勤管理系统,并应用于沧州职业技术学院信息工程系的学生考勤管理工作。全文共分为六章,每章内容如下。第2章是对所用到的开发技术的简介。通过对比分析,确定采用B/S体系结构、MVCModel2开发模式,选定了客户端技术、系统服务器端技术和系统开发环境,论证了选择所使用开发技术的理由。第3章为学生考勤管理系统的需求分析。针对目前高职院校学生考勤管理的现状,结合沧州职业技术学院信息工程系的实际经验,分析了功能需求和数据需求,进行了可行性分析和业务角色分析,给出了设计目标。第4章为学生考勤管理系统的设计。进行了系统架构设计、工作流程设计、各功能模块的设计以及数据库的设计。第5章为学生考勤管理系统的实现。介绍了系统的开发和运行环境,描述了系统各功能模块的实现思路和方法。第6章为系统测试。介绍了系统测试的基础和相关测试工作,设计了测试用例,分析了出现的问题,给出了解决方案。最后是总结和展望,对所设计和实现的学生考勤管理系统进行了总结,指出系统中存在的不足,提出了对系统功能进一步完善的思路。-4- 第2章开发技术分析第2章开发技术分析2.1系统结构模式[14-15]系统结构模式分为C/S模式和B/S模式。C/S模式是客户端/服务器端模式,服务器安装好后,还需在客户端安装相应软件才能访问,难以升级和维护。B/S模式是浏览器/服务器模式,安装好服务器后,只要能联网,其他人随时随地都可以使用浏览器访问系统,升级和维护简单,如图2-1所示。因此,本课题采用B/S模式。数据库服务器Web服务器浏览器请求事事务务数据显显示示请求处处理理处理逻逻辑辑响应逻辑逻辑响应逻辑数据库图2-1B/S架构2.2系统开发模式[16-17]系统开发模式主要使用传统的MVC模式和专用于Web的MVCModel2模式。模型状态查询封装应用程序状态状态改变响应状态查询应用程序功能通知改变通知视图改变视图控制器解释模型视图选择定义应用程序行为模型更新请求用户动作映射成模型更新发送用户输入给控制器选择响应的视图允许控制器选择视图用户请求图2-2MVC模式传统的MVC利用模型、视图、控制器分别担负不同的任务,从概念上将视图从流程控制、事物逻辑中分离出来,并定义了相互作用的机制,使各个模块的开发相对独立,但它没有针对不同的视图解决流程控制等对象的统一问题,如图2-2所示。因此,使用MVC模式时需对研究对象做进一步的研究。专用于Web的MVCModel2是基于Web应用环境而设计的一种MVC变体,基-5- 燕山大学工程硕士学位论文于MVC模式的框架,主要使用了JSP、Servlet和JavaBean三种技术,如图2-3所示。它明确了网页设计者和开发人员的角色分工,使开发人员可专心于业务逻辑的设计和后台处理,使网页设计人员可方便的改变系统的外观。在实际应用中,开发项目越复杂,Model2的优势就越明显。所以本系采用MVCModel2模式,其结构如图2-3所示。RequestServlet浏览器JSPResponse数据库JavaBeans图2-3MVCModel2模式2.3系统客户端技术2.3.1HTML技术[18]HTML(HyperTextMarkupLanguage)是超文本标记语言,它是表示网页的一种规范(标准)。浏览器读取HTML文件时根据HTML标记符解释和显示不同内容。每个Web页对应一个HTML文件,HTML是一切Web编程的基础。2.3.2JavaScript技术[19]JavaScript的前身是LiveScript,它是一种基于对象和事件驱动行为并具有安全性能的脚本语言,可以在多平台和浏览器上创建交互行为和效果,在Web浏览器内使用脚本引擎解释执行。仅由HTML编辑的Web页面是静态的,无法与用户交互,且无法实现对用户输入数据的校验和检查,因此,为了实现这样的功能,在Web页面广泛使用JavaScript脚本语言,通过嵌入或调入到HTML文档中实现其功能,弥补了Java语言的不足。目前流行的多数浏览器都支持JavaScript。2.3.3页面布局技术[20-22]为了美化和合理分配页面,在系统中使用DIV+CSS布局技术,统一Web页面的排版格式。使用CSS控制页面中元素的显示,起到美化页面的作用。使用DIV合理分配各元素显示的位置,起到划分页面空间的作用。CDIV+CSS页面布局技术-6- 第2章开发技术分析的优点如下。(1)缩减了页面代码,提高了页面的浏览速度。(2)缩短了网站的改版时间,设计者只要简单地修改CSS文件就可以轻松地改版网站。(3)具有强大的字体控制和排版能力,使设计者能够更好的控制页面布局。(4)使表现和内容相分离,设计者将设计部分剥离出来放在一个独立样式文件中,减少了网页无效的可能。(5)方便搜索引擎的搜索,使用只包含结构化内容的HTML代替嵌套的标签,搜索引擎将更有效地搜索到用户的内容。(6)用户可以将许多网页的风格格式同时更新。2.4系统服务器端技术2.4.1JSP技术简介[24]本系统采用JSP(JavaServerPages)技术实现,它是由SunMicrosystem公司倡导、许多公司参与建立的一种动态网页技术标准,利用这一技术可以开发动态的、[25]高性能的Web应用程序。JSP具有很多优点,它将Web页面设计工作与服务器逻辑设计工作分离、采用有成熟的组件复用技术以及跨平台等特性,使其大受欢迎。2.4.2JDBC数据库连接技术(1)JDBC简介[26]JDBC(JavaDataBaseConnectivityStandard)是一种可执行SQL语句的JavaAPI(ApplicationProgrmmingInterface,应用程序设计接口)。开发者可以很方便地将SQL语句传送给任何一种数据库。用JDBC写的程序能够自动地将SQL语句生成数据库管理系统。(2)JDBC体系架构JDBC有非常独特的动态连接结构,支持系统的模块化,能够完成对数据库的独[27]立访问。JDBC的体系架构分为五部分,JDBC的体系架构如图2-4所示。(3)JDBC驱动程序的类别[28]连接数据源,需要加载相应类型的JDBC驱动程序。目前有四种类型的驱动:JDBC-ODBC驱动、基于本地API的JDBC驱动、纯Java的网络驱动、纯Java的本地协议驱动。-7- 燕山大学工程硕士学位论文应用程序JDBCAPIJDBCDriverManagerMySqlOracleSqlServer驱动驱动驱动MySqlOracleSqlServer数据库数据库数据库图2-4JDBC架构JDBC-ODBC驱动,该程序把标准的JDBC操作转换为相应的ODBC操作,通过ODBC把这些命令发生给ODBC数据源,因此,该驱动可利用现有的ODBC数据源访问更多的数据库,但访问效率差,不适合商业软件的应用。基于本地API的JDBC驱动,访问数据库时,它将操作请求转换为对数据库厂商提供的本地API的调用,处理完数据库请求后,再通过本地API将结果返回给JDBC驱动程序,JDBC驱动程序将结果转化为JDBC的标准形式返给客户端程序,因此,该驱动访问数据库的效率高,但安全性差。纯Java的网络驱动,它将JDBC调用转化为DBMS独立的网络协议,利用应用服务器作为中间件来访问数据库,因此该驱动安全性较好,但执行效率较差.纯Java的本地协议驱动,它允许从Java客户程序通过网络直接与DBMS数据库服务器进行通信,不需要对客户端进行配置或显示的加载JDBC驱动程序,因此,该驱动数据库访问效率较高,安全性较好。本系统采用纯Java的本地协议驱动的形式。[29](4)本系统通过JDBC访问数据库需要将JDBC驱动包导入到项目中加载驱动程序。通常经过如下步骤来实施:加载JDBC驱动程序;创建一个数据库连接(Connection)对象;创建一个执行SQL语句对象(Statement/PreparedStatement);执行语句;处理得到的结果集ResultSet对象;关闭结果集(ResultSet)对象;关闭执行SQL语句对-8- 第2章开发技术分析象;关闭连接。具体步骤如下。通过Driver类,向DriverManager加载JDBC驱动程序。加载的方式通常情况下通过java.sql.Class类的静态方法forName(String[30]className)加载要连接数据库的Driver,该方法的入口参数为要加载Driver类的完整的包名。成功加载后会将Driver类的实例注册到DriverManager类中,如果加载失败将抛出ClassNotFoundException异常,即未找到指定Driver类的异常。创建一个数据库连接(Connection)对象在成功加载驱动程序后,DriverManager类便可以通过调用静态方法getConnection()建立与数据的连接。一个DriverManager能管理多个连接,多个连接支持多条语句。创建SQL语句对象并执行SQL语句通过两种方法创建:第一种方法:通过Statement创建并执行SQL语句,建立数据库连接的目的是与数据库进行通信。例如,对于insert、update、select和delete语句,调用executeUpdate(Stringsql)方法,返回值是一个整数,指出受影响的行数(即更新计数),而select语句则调用executeQuery(Stringsql)方法,该方法用于产生单个结果集的语句,execute可用于执行任何SQL语句并返回多个结果集或多个更新计数。Statement对象由Connection的creatStatement()创建。第二种方法:通过接口PreparedStatement执行SQL语句。java.sql.PreparedStatement接口表示预编译的SQL语句的对象,并且占位符用于运行时的参数值,使用setXXX()方法为占位符提供相应数值。这些方法说明要涉及的占位符的位置自变量和数值自变量。占位符是按从左到右的次序被索引,最左面占位符的位置索引为1。当语句要执行多次(如向表中加入新的行)的时候,PreparedStatement特别有用。这是因为SQL语句被预编译,并存储在PreparedStatement对象中,然后可以使用此对象对此高校的执行该语句。以上两种方法,当操作完毕后立即使用close方法释放实例占用的数据库和JDBC资源,即关闭实例。处理得到的结果集ResultSet。ResultSet接口的引用是由Statement接口中的executeQuery方法返回的,表示执行SQL查询的结果。描述如下:-9- 燕山大学工程硕士学位论文ResultSetrs=stmt.executeQuery(―select*fromstudent‖);while(rs.next()){//具体实现代码}ResultSet接口提供从当前行获取对应列值的getXXX()方法,这些方法检索数据,并将数据转换为java原始数据类型,常用的有getString、getInt、getFloag、getByte等。当操作完毕以后立即使用close方法释放ResultSet实例占用的数据库和JDBC资源,当关闭所属的Statement实例时也将执行此操作。关闭结果集(ResultSet)对象,关闭执行SQL语句对象,关闭数据库连接。2.4.3Servlet技术本系统主要应用Servlet技术开发。Servlet本质上是Java程序,结合了JavaServlet应用程序设计接口及相关类和方法,具有高效、跨平台、利于数据共享[31]和方便扩展等特点。2.5系统开发环境的选择2.5.1数据库开发工具MySQL简介[32-33][34]MySQL是一个小型关系型数据库管理系统,开发者为瑞典MuSQLAB公司,在2008年16号被Sun公司收购。MySql具有小巧、查询便捷、开源免费等优点,为广大中小型网站广泛使用。2.5.2Web服务器Tomcat简介系统网络服务器采用Tomcat7.0,它是一个轻量级的Web服务器,开源、免费,是开发和调试JSP程序的首选。2.5.3系统开发环境MyEclipse简介[35-36]系统采用的开发工具是MyEclipse,它是在Eclipse的基础上开发的功能强大的企业级集成开发环境,主要用于Java、JavaEE、JavaWeb以及移动应用的开发。是开发JavaWeb程序的编辑、编译、运行的IDE(IntegratedDevelopmentEvironment)平台。2.5.4JDK简介[37]JDK(JavaDevelopmentKit,Java开发工具包),是Java语言系统的核心,也是Java其他开发工具的底层支持的平台,所有的Java开发工具必须支持与遵循JDK-10- 第2章开发技术分析的标准。JDK的内容非常丰富,它包含Java的运行环境JRE(JavaRuntimeEnviromnent)、Java的基础类库源码,以及开发Application和Applet程序所用到的编译、调试、测试和解释执行等一系列命令行程序。另外,每个厂商都有自己的JDK和JRE,但基本上,都以Sun公司提供的JDK作为标准。JDK既是Java代码的编译运行环境,也是Tomcat和MyEclipse运行的基础。2.6运行环境的选择服务器端:Java运行环境(JRE/JDK),Tomcat服务器,Mysql数据库。客户端:IE、Firefox、googlechrome等浏览器。2.7本章小结本章介绍了学生考勤管理系统所采用的开发技术及技术选型的原因。分别介绍了HTML、JavaScript和CSS+DIV等客户端技术;介绍了JSP、JDBC和Servlet等服务器端技术;采用B/S软件架构和MVCModel2开发模式,选择MySql作为本系统的数据库,Tomcat为Web服务器,MyEClipse为系统开发环境。-11- 燕山大学工程硕士学位论文第3章学生考勤管理系统的需求分析3.1系统设计原则3.1.1基本设计原则(1)可靠性和安全性系统中存储着大量的学生、教师、课程、班级等信息,为此,系统必须保持长期稳定,采取必要的措施来预防数据库故障,提高系统数据的安全性。(2)带宽保障使用校园的千兆高速网络技术,提供足够的带宽,防止用户在操作业务时出现网络延迟,影响处理业务的效率。(3)可配置性和可维护性原则为了应对需求变化,便于系统的修改、测试、移植和代码理解,系统设计时应考虑使用模块化和组件化等设计思想,进行灵活、可配置的设计。(4)简单性原则设计应“够用就行”,避免开发臃肿的系统,以便于操作和管理。3.1.2开发方法的选择[38]目前,软件开发的主流方法有结构化方法、生命周期法和原型法等,这些方法各有其优点和不足之处。(1)生命周期法优点是整个系统开发过程的阶段和步骤清楚;各阶段有任务和成果明确并作为下步工作的依据,利于整个项目的管理和控制且易于维护。缺点是在现实情况中,用户的需求往往模糊不清、难以准确定义;文档的编写工作量大;开发周期长;难以适应用户需求的变化;开发成本高、效率低。生命周期法适用于用户需求明确的系统开发。(2)结构化方法(也称新生命周期法)优点是强调开发过程的整体性和顺序性,严格区分系统开发阶段,各阶段的工作成果是下一阶段的依据,强调自顶而下的分析和设计;遵循用户至上的原则;文档规范,按工程标准书写文档。缺点是开发周期长,难适应环境变化。(3)原型法原型法是循序渐进的完善信息系统的开发方法,应变能力强,但缺乏规范化的文档,给维护工作带来隐患。原型法适用于用户需求不够明确或不断变化的软件开发。本系统是一个小型系统,用户有明确要求且要求随时参与,并要求在短时间内完成,所以生命周期法和原型法相结合的方法是本系统开发的最佳选择。3.2学生考勤管理系统的需求分析当今是一个信息化、智能化和网络化的时代,是一个重视生活和工作效率的时代,传统的工作方式已不符合时代的需求,浪费了大量人力、物力和时间,造成工作效率的低下。为-12- 第3章学生考勤管理系统的需求分析此开发学生考勤管理系统,以减轻教师手工记录的劳动量,从统计考勤的工作中解放出来。同时这个系统应便于各级用户查询统计考勤信息,提高工作效率;应能加强考勤数据的共享和应用,为评优评教、管理决策等提供支持;同时在用户体验方面,应功能清晰、操作简便、易学易用,可供系领导、系教秘、辅导员及任课教师随时进行学生考勤管理。3.2.1设计目标分析一个成熟的学生考勤管理系统应能为学生、教师及管理者提供良好的交互性的网络环境,提供内容全面、权限明确的操作平台。本文所述学生考勤管理系统结合了沧州职业技术学院信息工程系管理学生上课考勤的经验进行开发设计。为满足实际学生管理需求,系统设计应满足以下目标。(1)有利于规范学生的考勤管理工作。(2)便于掌握学生的行为动向,提高学生出勤率,同时减轻教师考勤管理的工作量。(3)能够维护考勤数据,并能被各用户角色按权限使用。(4)能添加、删除、修改、查询、统计、导入导出学生考勤信息,这些信息包括学生所在班级、辅导员、课程、周次、时间段的病假、事假、公假、旷课、早退、迟到等项的节数。(5)利用校园网,实现数据共享,关注数据应用,为学生管理工作带来便利。(6)将经常变动的需求提取出来设计成可配置项,以有效应对需求变化、增加系统的灵活性和可配置性。3.2.2可行性分析可行性分析是软件项目开发前期的必要阶段,它能预测工程项目的成败,从人员、资本、开发周期等方面为项目实施提供决策性的依据。科学合理的可行性分析能有效的降低项目的风险,提高项目开发的成功率。下面从经济可行性、技术可行性、操作可行性三个方面,对基于JSP的学生考勤管理系统进行可行性分析。(1)经济可行性主要是对项目的经济效益进行评价,本系统由本系软件教研室的教师共同研发的,对系统的运行原理和实施方案非常清楚,便于后期的系统升级与维护,减少了资金投入。开发使用的是主流技术,系统内存、硬盘空间、显卡内存等硬件资源方面占用的空间较少,只更新系统的基本配置即可运行软件。WindowsXP或Windows7是目前比较稳定的且使用广泛的操作系统,不需要改动系统就可以运行考勤管理系统。因此,软硬件条件都已具备,从经济上是可行的。-13- 燕山大学工程硕士学位论文(2)技术可行性科学的、成熟的技术是完成项目要求的支撑,有很多的项目,由于对技术可行性分析不足,在开发过程中出现了技术瓶颈,使项目开发无法进行,导致项目实施偏离或破产。本系统所采用的MVCModel2开发模式、JSP和Servlet等技术都已经非常成熟,所以技术上是可行的。(3)操作可行性本系已经以电子形式保存了与学生相关的大量原始数据,并对这些数据进行了分类。院系领导对软件的开发提出了重要的建议和看法,大力支持本课题的研究。因此,系统具有操作可行性。3.2.3业务角色分析本系统可定义多种用户角色,如学生、任课教师、辅导员、系统管理员等,应为不同的角色赋予不同的访问权限和操作权限,以保证数据的安全。(1)学生可进行考勤签到、查看自己的考勤信息、课表信息。对学生信息与考勤时间、地点、登录主机进行校验,最大程度上杜绝学生错签、替签等情况。(2)任课教师可录入、查看本人所任课程的班级学生考勤信息,录入信息提交后,则不能修改。如果需要修改,经管理员授权才能改动。(3)系教学秘书对本系学生的考勤信息查看、统计和数据管理。(4)辅导员只能查看本人所带班级的学生缺勤信息。(5)系领导对本系学生的考勤信息查看、统计和数据管理。(6)系统管理员可以对全部学生考勤信息进行管理;可以进行系统的配置和数据的备份与还原;可以根据数据应用需求,配置数据项,实现数据与其他管理系统的共享。3.2.4系统功能需求分析本系统以高职高专学生考勤管理工作的实际需求为背景,结合沧州职业技术学院信息工程系学生考勤管理的实际经验,面向高职院校或各类中专学校的考勤管理进行设计与开发。具备高职院校学生考勤的日常管理功能及对数据的共享功能。构建系统管理模块、前台管理模块、后台管理模块等。各模块的主要功能如下。(1)系统管理模块:包括用户管理子模块、系统维护子模块和数据维护子模块,要求用户具有管理员权限。其中用户管理包括对用户的增、删、改操作,以及角色设置和权限分配等操作。系统维护可以实现提示代码设置、系统信息设置及数据共享设置。数据维护可以实现数据库的备份和还原等操作。(2)前台管理模块:主要包括签到功能以及对学生缺勤信息(如事假、公假、旷课、迟到、-14- 第3章学生考勤管理系统的需求分析早退、病假)的登记,并对考勤信息进行修改、查询。(3)后台管理模块:主要对学生考勤信息的管理,本模块的子模块主要有考勤数据管理、考勤查询统计、数据导入导出。考勤数据管理主要实现对基础表信息的维护及考勤信息的维护。其中基础表包含学生信息、任课教师、课表、班级等信息,用于确定考勤时间、考勤地点、考勤对象以及查询统计等功能的关键字。考勤查询统计实现按班级、教师、辅导员、缺勤类型等查询和统计学生的考勤信息。数据导入导出主要实现数据的导入、导出功能。该系统方便高效的实现学生考勤管理工作,有效应对了分析处理大量考勤数据的日常重复性工作,有助于提高学生考勤工作管理的水平和质量。3.2.5数据逻辑模型分析为了设计数据逻辑模型,需要对数据和业务逻辑进行分析。而数据流图的建立为数据库设计中的实体联系和数据表的建立奠定了基础。(1)基础信息流本系统的基础信息(学生、班级、教师、课表等)和考勤信息是整个系统正常运转的保证。另外,为了满足数据共享的需求,需维护一张数据库结构表,用于记录整个数据库的表结构,便于日后灵活的根据数据共享需求,对指定的表或字段进行配置;为了实现系统的可配置性,我们还需维护一些辅助表,如提示项表、系统信息表。基础信息流如图3-1所示。学生表行政班级表用户表教学班级表排课表查询关键字基础信息管理系统管理员基础信息辅导员表其他辅助表教师表数据库结构表图3-1基础数据流图(2)考勤数据流考勤签到方式有两种,一种是学生登录系统自己签到;另一种是教师上课时根据班级和课程对学生考勤信息进行修改,先将学生统一设置为出勤状态,再为未出勤学生登记对应的缺勤类型。系领导、教秘、辅导员等可以查询学生的出勤情况,及时掌握学生的上课动态。考勤数据流如图3-2所示。-15- 燕山大学工程硕士学位论文班级表学生表教工表学生考勤信息课程表考勤系管理和教务人员排课表考勤信息、查询关键字查询关键字任课教师考勤信息考勤表考勤查询图3-2考勤数据流图3.3本章小结本章从需求调研出发,阐述了系统设计的基本原则,给出了设计目标分析、可行性分析和业务角色分析、数据逻辑模型分析,为考勤系统的设计奠定坚实的基础。-16- 第4章学生考勤管理系统的设计第4章学生考勤管理系统的设计该学生考勤管理系统的设计与开发基于学生考勤管理工作的实际需求,系统开发的总体目标是实现学生考勤管理的自动化、规范化和系统化。实现学生考勤数据的分析与管理,保证良好的功能和性能,呈现清晰的业务逻辑,关注数据的共享和应用。4.1系统架构设计系统架构设计是学生考勤管理系统实现的一个关键问题,其系统架构结构如图4-1所示。为了避免大量学生同时访问系统时出现网络拥堵,应对数据访问多并发,我们将系统和数据库分别放在两台高性能服务器上,并向学校申请了校园的千兆带宽。数据办公楼库服客户机务器Web服务器交换机IInntteerrnneett交换机教学楼客户机3U校校园园网网层叠式交换机交换机实训楼客户机交换机图4-1系统架构图4.2系统工作流程本系统以高职院校的学生考勤管理需求为背景,结合沧州职业技术学院信息工程系的考勤经验,其工作流程如下。(1)学生的考勤签到根据实际情况选择让学生自行登录系统签到或教师根据出勤情况为学生签到。第一种方式效率高,虽然在学生签到过程中会对学生信息、考勤时间、地点、登录主机进行校验,但无法完全杜绝替签现象;第二种方式可杜绝替签现象,但增加了教师的工作量。两种方式各-17- 燕山大学工程硕士学位论文有优缺,教师可视具体情况自行选择。考勤签到后,教师需为缺勤学生选择缺勤类型(系统会根据服务器时间自动识别缺勤节数)。(2)学生考勤管理用户可按自己的权限进行考勤管理,包括基础表信息和考勤信息的查询和维护;考勤查询统计,可按班级、教师、辅导员、类型等进行考勤信息的查询和统计;数据管理,包括数据的备份和还原、导入和导出。4.3系统总体设计系统包括前台管理模块、后台管理模块和系统管理模块,其功能模块如图4-2所示。基于JSP的学生考勤管理系统系统管理模块前台管理模块后台管理模块考考考数用系数考缺勤勤勤据户统据勤勤信数查导管维维签登息据询入理护护到记维管统导护理计出图4-2系统总体框图4.4各模块的设计4.4.1系统管理模块本模块只有管理员才能使用,普通用户无权使用。实现对用户的管理、系统的维护和数据的维护。系统管理模块的功能结构如图4-3所示,主要功能设计如下。(1)用户管理包括对用户信息的维护(对用户的增、删、改、查操作以及修改密码等操作)以及角色设置和权限分配等操作。用户角色可分为学生、任课教师、辅导员、系教务人员(系教秘和系领导)。权限分配是为每个用户角色分配访问权限和操作权限。其中,访问权限是指访问JSP页面的权限(一般一个JSP页面代表系统中一个完整的功能模块,如数据库备份功能-18- 第4章学生考勤管理系统的设计模块、系统信息设置功能模块);操作权限是指对指定JSP页面中信息的添加、删除、修改、查询、统计等权限。(2)系统维护可以实现提示代码设置、系统信息设置及数据共享设置。通过提示代码设置功能可以配置系统中绑定在下拉列表等控件上的提示项(因为这些提示项经常会变动,所以采用在后台统一设置的方式提高系统的可配置性);通过系统信息设置功能可以对系统名称、版权信息、系统说明等信息进行设置;通过数据共享设置功能可以指定需要共享的表或字段。(3)数据维护可以实现数据库的备份和还原等操作。系统管理模块用户管理系统维护数据维护用用用提系数数数数数户户户示统据据据据据信角权代信共库库库库息色限码息享备备还还维设分设设设份份原原护置配置置置图4-3系统管理模块功能结构图4.4.2前台管理模块主要包括考勤签到、缺勤登记和考勤信息维护功能,如图4-4所示。(1)考勤签到考勤签到的方式有两种,第一种方式是学生自行登录系统签到,为了避免错签和替签,在学生签到过程中会对学生信息、考勤时间、地点、登录主机进行校验。考勤签到后,如有请假学生,教师需为该类学生登记缺勤类型(系统会根据服务器时间自动识别缺勤节数)。这种方式的优点是签到效率高,缺点是无法完全杜绝替签现象;第二种方式是教师根据出勤情况为学生签到,签到时先统一将学生设为出勤状态,再通过点名等方式确定出缺勤学生,为其登记相应的缺勤方式。第二种方式可杜绝替签现象,但增加了教师的工作量。两种方式各有优缺,教师可视具体情况自行选择。-19- 燕山大学工程硕士学位论文(2)缺勤登记是对学生缺勤信息(如旷课、公假、早退、迟到、病假、事假)进行登记。其中第一种签到方式下,教师需为请假学生进行缺勤登记(公假、病假、事假),第二种签到方式下,教师需为旷课和请假学生进行缺勤登记。余下几种缺勤类型(早退、迟到),系统会根据系统时间和签到情况自动判定。(3)考勤信息维护本功能包括对学生考勤信息的修改、查询等。一般情况下,教师用户只有在上课前20分钟到下课后10分钟这段时间内,才可对本次课的考勤信息进行修改操作。而其他时间段若要修改考勤信息则需管理员授权。考勤签到前台管缺勤登记理模块考勤信息维护图4-4前台管理模块功能结构图4.4.3后台管理模块后台管理模块主要对学生考勤信息的管理,本模块的子模块主要有考勤数据管理、考勤查询统计、数据导入导出。考勤数据管理是对基础表信息及考勤信息的维护。其中基础表信息包含学生信息、任课教师、课表、班级等信息,用于确定考勤时间、考勤地点、考勤对象以及查询统计等功能的关键字。考勤查询统计实现按班级、教师、辅导员、缺勤类型查询和统计学生的考勤信息,并按照指定的报表格式打印或导出。其中查询统计可分为简单查询统计(单关键字查询)和高级查询统计(多关键字组合查询)。数据导入导出主要实现Mysql数据表导入、导出Excel数据表功能。该模块会按照用户角色对学生的考勤信息进行管理和维护。属于不同角色的用户,拥有不同的访问权限和操作权限。如教师用户可以查询和统计其所担任课程的班级学生的考勤信息;辅导员用户可查询和统计其所带的班级的考勤信息;系领导可以查询和统计全系学生的考勤信息,可按教师、班级、辅导员、缺勤类型等来筛选出学生的考勤信息并打印或导出;而学生用户可根据学号查询到自己本周和以往各周的考勤信息。后台管理模块的功能结构图,如图4-5所示。-20- 第4章学生考勤管理系统的设计后台管理模块考勤数据管理考勤查询统计数据导入导出考简高基勤单级打数数础信查查印据据表息询询报导导维维统统表入出护护计计图4-5后台管理模块功能结构图4.4.4数据共享和可配置性在高校,存在许多信息管理系统,如教务管理系统、成绩管理系统、教学评价系统等等。然而,这些系统往往自成体系,开发工具和运行平台各异,缺乏统一的标准和规范,很难进行数据资源的共享。而学生的出勤情况作为学生奖学金的评定、入党、评优等的一种重要依据,需要在高校其他的信息管理系统中共享。我们充分考虑了考勤数据的共享需求,在系统设计过程中关注数据的共享和被其他系统所用。因此,我们将考勤信息相关表的字段名、字段长度、字段排序等信息作为配置项,可针对不同系统给出不同的配置方案,并发布为webservice(提供查询和下载功能),并预留了查询和下载接口。其他的信息管理系统可凭为其分配的验证口令,访问webservice里相应的配置方案,进行考勤数据的查询、下载和使用。为了应对需求变化,我们将系统中经常变化的部分以配置项的形式给出,进行了可配置性的设计。比如,除了前面所述的数据共享配置外,各种下拉列表中绑定的数据可以在提示代码设置模块中进行配置;可以灵活的创建角色,并为每个角色以JSP页面为单位(一般为一个完整的功能模块)进行访问权限和操作权限的分配;可以灵活的配置系统信息等也可以。这大大增加了系统的灵活性和通用性。-21- 燕山大学工程硕士学位论文我们对数据共享和可配置性的设计理念集中体现在系统管理模块中。4.5数据库设计4.5.1数据库设计原则数据库设计是系统开发中非常关键的步骤,为了实现数据的高效组织、存储和管理,需[39]要按照步骤严格的操作,一般来说,后台数据库的设计应满足以下原则:(1)规范性数据库的设计应符合或遵循规范化的理论原则,对关系模式要规划化,避免规范化程度过低,但并不是规范化程度越高就越好,只要保证数据库设计合理规范就行。规范化有六个级别,规范化的程度需要根据实际情况而定,一般来说,做到第三范式就可以了。(2)完整性数据的相容性和正确性也就是指数据库的完整性,防止用户向数据库添加的数据不符合语义要求,所以对数据库中数据的输入要有约束和审核机制。(3)实用性数据库的设计应以为软件项目服务为原则,要从软件编程的角度去设计数据库,便于编程人员的识别,所使用的字段名、字段类型等要简洁和实用。(4)安全性指在设计机密数据的字段时应进行周密考虑,以保证数据的安全,例如密码数据的设计存储,应采取加密的手段。课程表1n1管理员管理用户执行1n11系教务人员属于教师n1辅导员教授m1教学班级管理n11行政班级属于n学生图4-6系统实体关系图-22- 第4章学生考勤管理系统的设计4.5.2系统实体联系图[40]系统实体联系图是E-R模型,E-R模型是关系数据库模型设计的规范,它对现实世界的一种抽象表示,以图形化的方式表示实体、属性和联系,在数据库的设计中有非常重要的地位。本系统中涉及到的用户实体与联系关系有九大类:管理员管理1到多个用户,每个用户对应一个管理员;每个用户对应1名学生、教师或辅导员;辅导员管理1到多个行政班级,每个班由一个辅导员管理;每个教师给1到多个教学班级上课,每个教学班级对应1到多个教师;每个教师按1张课表上课,每个课表对应1到多个老师;每名任课教师录入1到多次考勤,每次考勤由多名任课教师录入,同时考勤由管理员管理;学生对应1到多个行政班级或教学班级,每个班级对应多个学生;系教务人员管理1到多名学生、教师和辅导员,每名学生、教师和辅导员对应多名教务人员。用户实体联系图如图4-6所示。下面各图列出了系统中各个实体对象(用户、管理员、教师、学生、辅导员、系教务人员、行政班级、教学班级、考勤、课程表等对象)的详细信息。(1)用户实体。学生考勤管理系统的用户包括任课教师、辅导员、系教务人员等。用户名和密码用于登录系统,用户类别用于区分不同用户的权限。用户实体属性如图4-7所示。用户用户状态用户姓名用户类别用户密码图4-7用户实体属性图(2)学生实体。学生实体属性图如图4-8所示。学生E-mail状态联系电话系部学号班级姓名专业图4-8学生实体属性图-23- 燕山大学工程硕士学位论文(3)教师实体。教师负责对上课班级学生进行考勤,其中状态指教师是否在职。教师实体属性图如图4-9所示。教师E-mail联系电话状态姓名用户名教工号图4-9教师实体属性图(4)辅导员实体。辅导员主要负责对学生的管理,其中状态表示是否在职。辅导员实体属性图如图4-10所示。辅导员用户名E-mail教工号状态联系电话系部姓名图4-10辅导员实体属性图(5)管理员实体。系统管理员主要负责对系统信息的配置及系统和数据库的维护。其中状态表示是否在职。管理员实体属性图如图4-11所示。管理员联系电话状态教工号E-mail姓名用户名图4-11管理员实体属性图(6)行政班级实体。行政班级用于划定辅导员管理班级的范围。行政班级实体属性图如图4-12所示。-24- 第4章学生考勤管理系统的设计行政班级班级状态班级号班级名称毕业时间辅导员姓名入学时间图4-12行政班级实体属性图(7)教学班级实体。教学班级指任课教师所教授的班级。教学班级实体属性图如图4-13所示。教学班级班级号班级状态班级名称结束时间课程名开课时间图4-13教学班级实体属性图(8)课程表实体。课程表实体属性图如图4-14图所示。课程表课程名上课地点任课教师上课学期教学班上课学年上课时间段图4-14课程表实体属性图-25- 燕山大学工程硕士学位论文(9)考勤实体。考勤实体属性图如图4-15所示。考勤学生学号公假课程名旷课迟到辅导员姓名早退上课班级病假任课教师事假学生姓名学期上课时间周次图4-15考勤实体属性图4.5.3数据表的设计完成系统的E-R模型及关系分析后,可根据E-R模型为各实体设计数据表,如表4-1所示用户信息表(User)。表4-1用户信息表结构字段名称数据类型主键/外键说明stuidint(12)主键用户ID(主键,自增)stunamevarchar(20)否学号stupwdvarchar(50)否密码stutypeint(4)外键用户类型,是外键stustatevarchar(50)否用户状态sturealnamevarchar(50)否姓名specialtyvarchar(50)否专业calssvarchar(50)否班级Stuphonevarchar(11)否联系电话其余各实体表(如班级信息表calss、教职工信息表teacher等)依照上节的E-R模型设计即可,不再赘述。下面给出用于系统管理的一些关键的表的设计。系统管理模块中的用户管理子模块涉及到用户角色表(role)、角色权限表(roleright)、角-26- 第4章学生考勤管理系统的设计色操作权限表(roleoperation)等,列出如下。(1)用户角色表(role)如表4-2所示。该表用于存储用户角色信息。其中,id是自增主键。表4-2用户角色表结构字段名称数据类型主键/外键说明codevarchar(12)主键角色编号namevarchar(50)否角色名称addtimedatatime否创建时间remarkvarchar(50)否备注(2)角色权限表(roleright)设计如表4-3所示。用于存储各用户角色的访问权限信息。其中rightcode字段存储的是授权访问的页面编号,如002.003.003,表示该角色有权访问一级导航目录002下、二级导航目录003下的编号为003的页面。表4-3角色权限表结构字段名称数据类型主键/外键说明idint(11)主键自增,主键rolecodevarchar(12)外键角色编号rightcodevarchar(50)否角色权限remarkvarchar(50)否备注(3)角色操作权限表(roleoperation)设计如表4-4所示。该表主要存储角色的操作权限信息。其中,menucode对应于角色权限表(roleright)中的rightcode字段中内容,为授权访问的页面编号;operatation是操作权限,由1、0序列组成,中每一位代表一种操作权限,如添加、删除、修改、查询、统计。相应位置上的取值若1,则表示具有该权限,为0则表示没有该权限,如10010表示该角色在该页面具有添加和查询的操作权限。表4-4角色操作权限表结构字段名称数据类型主键/外键说明idint(11)主键自增,主键rolecodevarchar(12)外键角色编号menucodevarchar(20)外键页面编号operatationvarchar(20)否入学时间remarkvarchar(50)否备注(4)系统信息表(systeminfo)设计如表4-5。该表主要存储系统相关的信息,其中status存-27- 燕山大学工程硕士学位论文储了网站的状态(开启、关闭)。表4-5系统信息表结构字段名称数据类型主键/外键说明idint(11)主键自增,主键systemnamevarchar(50)否系统名称tecsupportvarchar(50)否技术支持copyrightvarchar(50)否版权信息visittimesint(11)否访问次数statusvarchar(20)否网站状态remarkvarchar(50)否备注(5)提示项表(term)设计如表4-6所示。主要存储提示项信息,用于动态绑定到下拉列表等控件上,供用户选择。表4-6提示项表结构字段名称数据类型主键/外键说明idint(11)主键自增,主键parentidvarchar(12)否上层节点IDcodevarchar(12)外键提示项编码namevarchar(50)否提示项文本levelsvarchar(50)否所处层次(6)功能编号表(funcode)设计如表4-7所示。主要存储功能页面的编号信息,在我们的系统中一个页面对应一个完整的功能。用户的访问权限和操作权限也以页面为单位。表4-7页面编号表结构字段名称数据类型主键/外键说明idint(11)主键自增,主键parentidvarchar(12)否上层节点IDcodevarchar(12)否页面编码namevarchar(50)否页面功能描述urlvarchar(50)否页面URL地址-28- 第4章学生考勤管理系统的设计(7)数据库结构信息表(structtable)设计如表4-8所示。该表存储整个数据库的表结构,用于数据查询和数据共享配置。表4-8数据库结构信息表结构字段名称数据类型主键/外键说明idint(11)主键自增,主键colnamevarchar(50)否字段名称coltypevarchar(20)否字段类型collengthint(11)否字段长度colorderint(11)否字段排序coldesvarchar(50)否字段描述iscolsearchvarchar(10)否该字段是否可查询iscolsharevarchar(10)否该字段是否可共享tablenamevarchar(50)否表名称tabledesvarchar(50)否表描述tableorderint(11)否表排序istabsearchvarchar(10)否该表是否可查询istabsharevarchar(10)否该表是否可共享4.6本章小结在需求分析的基础上,进行了系统的架构设计、工作流程设计、和总体设计,给出了各模块的概要设计和数据库设计。讨论了数据库的设计原则,进行了数据分析,设计了数据流、E-R模型及数据表。这为系统的编码实现奠定了基础。-29- 燕山大学工程硕士学位论文第5章学生考勤管理系统的实现5.1系统开发环境5.1.1硬件环境服务器:Intel至强系列处理器,硬盘200GB以上,RAID5,内存8GB以上。网络配置:千兆交换机和路由器等。5.1.2软件环境开发平台:数据库服务器Mysql5.0,开发工具Myeclipse2013,Windows7家庭版,Tomcat7.0服务器,Java开发包JDK1.7,网页制作工具Dreamweaver等。发布平台:WindowsServer,IE7.0,Tomcat7.0。5.2系统管理模块的实现依据第4章中的可配置性设计理念实现系统管理模块。5.2.1页面布局的实现[41]系统的前后台页面布局均采用DIV+CSS技术实现。这两种页面均采用三行两列的页面布局样式。顶部header放置系统logo;中间为内容区container,左侧是连接区域,放置班级名称,右侧是主要内容区,放置学生考勤信息;页面底部footer,放置系统版权,分别定义header区、container区及左右侧区和footer区的样式,页面布局的实现首先进行CSS样式的设计,然后将样式应用到DIV标签中。系统后台管理模块的登录页面如图5-1所示。图5-1后台管理模块的登录页面-30- 第5章学生考勤管理系统的实现系统的前后台都使用了分页技术,分页的实现主要用到了分页类和分页方法。步骤如下:(1)使用CreatPage类用来封装分页信息,CreatPage类中保存了分页信息的属性,分别是CurrentP(当前页码)、AllP(总页数)、AllR(总记录数)、PerR(每页显示的记录数);(2)在CreatePage类的构造方法给属性赋值;(3)通过方法OpCreatePage()方法来设置属性,其返回值为CreatePage类对象。子模块中的用户信息维护模块实现对用户的增、删、改操作,要求操作用户具有管理员权限。为了防止误操作,模块加载时禁止操作表单中的所有输入项。点击添加或修改按钮才可以在表单中进行输入。子模块中的用户角色设置模块实现对用户角色的增、删、改操作,以及对访问权限和操作权限的配置。如图5-2所示。图5-2用户角色设置界面我们将控制按钮状态的功能抽象成一个通用方法。代码如下。privatevoidIsBtnVisible(boolAdd,boolCertain,boolAddCancel,boolUpdate,boolSave,boolUpdateCancel,boolDel){btnAdd.Visible=Add;-31- 燕山大学工程硕士学位论文btnCertain.Visible=Certain;btnAddCancel.Visible=AddCancel;btnUpdate.Visible=Update;btnSave.Visible=Save;btnUpdateCancel.Visible=UpdateCancel;btnDel.Visible=Del;}我们也将控制表单输入状态的功能抽象成一个通用方法,如设置控件失效的代码如下。privatevoidDisabletxt(){txtName.Attributes.Add("disabled","");txtCode.Attributes.Add("disabled","");txtTel.Attributes.Add("disabled","");txtPwd.Attributes.Add("disabled","");txtPwd2.Attributes.Add("disabled","");ddlSex.Attributes.Add("disabled","");ddlDepart.Attributes.Add("disabled","");ddlRole.Attributes.Add("disabled","");txtRemark.Attributes.Add("disabled","");}选中一个角色,点击设置权限,可以为角色配置访问权限点击设置操作,可以为角色配置操作权限,权限分配页面如图5-3所示。图5-3用户角色设置界面-32- 第5章学生考勤管理系统的实现图5-3中,为指定角色设置了访问权限,用户可以访问“用户角色设置”模块;同时也指定了用户在该模块中的权限,可以对用户角色信息执行添加、删除和修改操作。5.2.3系统维护子模块在该模块中,实现了对提示代码的设置。提示代码动态绑定在系统里的下拉列表等控件上,供用户选择。为了增加系统的灵活性和可扩展性,我们将提示代码的设置作为通用功能进行实现。如图5-4所示。图5-4提示代码设置界面可以灵活的添加、修改和删除所需的提示代码。我们在该模块中还实现了对系统信息的设置,可以设置系统名称、版权信息等。如图5-5所示。图5-5系统信息设置界面为了将考勤数据作为资源,被其他管理系统(如评优评教系统,教室管理系统等)使用,-33- 燕山大学工程硕士学位论文我们将考勤信息相关表的字段名、字段长度、字段排序等信息作为配置项,可针对不同系统给出不同的配置方案,并发布为webservice,以供其他的信息管理系统进行考勤数据的查询、下载和使用。我们在webservice里预留了查询和下载接口,这样其他管理系统就可以根据需求使用考勤数据。为了保证数据的安全性,系统会为每个共享的配置方案设置访问口令。其他系统可凭为其分配的访问口令进行验证,验证通过后可访问webservice里相应的配置方案。数据共享设置的界面如图5-6所示。其中更新数据表结构功能可以自动获取当前最新的表结构,以适应数据表变化的需求。图5-6数据共享设置界面获取整个数据库的表结构的关键代码列出如下。stringmySql=@"SELECTcolumnName=a.name,columnType=b.name,columnLength=COLUMNPROPERTY(a.id,a.name,"PRECISION"),columnOrder=a.colorder,columnDes=isnull(g.[value],a.name),tableName=d.name,tableDes=isnull(f.value,"")FROMsyscolumnsaleftjoinsystypesbon-34- 第5章学生考勤管理系统的实现a.xusertype=b.xusertypeinnerjoinsysobjectsdona.id=d.idandd.xtype="U"andd.name<>"dtproperties"leftjoinsyscommentseona.cdefault=e.idleftjoinsys.extended_propertiesgona.id=g.major_idanda.colid=g.minor_idleftjoinsys.extended_propertiesfond.id=f.major_idandf.minor_id=0orderbyobject_name(a.id),a.colorder";SqlDataReaderreader=SqlHelper.ExecuteDataReader(mySql,CommandType.Text,null);……5.2.4数据维护子模块为了保证数据的安全,实现了数据维护子模块,可以备份和还原数据库,分别如图5-7和5-8所示。备份数据库的关键代码如下。if(System.IO.File.Exists(Server.MapPath(@"~/DataBak/"+s))){ScriptManager.RegisterStartupScript(this.Page,this.GetType(),"","alert("您输入的备份数据库名已经存在,请重新输入!")",true);-35- 燕山大学工程硕士学位论文return;}else{stringpath=Server.MapPath("~/DataBak/"+s).ToString();stringsql=string.Format("backupdatabasekqsystemtodisk="{0}"withinit",savePath);SqlHelper.ExecuteNonQuery(sql,CommandType.Text,null);LogDAL.Insert("备份数据库",Session["UserName"].ToString()+"备份数据库"+s,Session["UserName"].ToString());ScriptManager.RegisterStartupScript(this.Page,this.GetType(),"",@"closebackupdialog()",true);txtBackUpName.Text="";}图5-7数据库备份界面图5-8数据库还原界面-36- 第5章学生考勤管理系统的实现5.3前台管理模块的实现前台管理模主要完成考勤签到、缺勤登记和考勤信息维护功能,实现对考勤数据的采集和管理。缺勤登记的界面如图5-9所示。图5-9缺勤登记模块考勤信息维护是对当前上课考勤信息的增加、修改和删除操作,需要检查用户权限,只有当前这门课程的任课教师才有权限执行这些操作。权限检查的关键代码如下。stringuserCode=Convert.ToString(Session["UserCode"]);SE_Managermanager=SE_ManagerDAL.GetByCode(userCode);stringmyRoleCode=manager.RoleCode;stringmyMenuCode=CommonHelper.Decrypt(CleanString.InputText(Request.QueryString["hrMenuCode"],100));stringmyRight="00010";if(myRoleCode!=""&&myMenuCode!=""){try{CAD_RoleOperationmodel=CAD_RoleOperationDAL.GetByRoleCodeAndMenuCode(myRoleCode,myMenuCode);-37- 燕山大学工程硕士学位论文myRight=model.OperatonSequence==null?"":model.OperatonSequence;}catch{ScriptManager.RegisterStartupScript(this.Page,this.GetType(),"select","alert("您没有浏览该页面的权限!");javascript:history.go(-1);",true);return;}}……5.4后台管理模块的实现5.4.1考勤数据管理模块考勤数据管理模块主要完成基础数据表和考勤信息表的维护两项功能。如图5-10所示。通过getClassno()和getClassname()分别得到班级编号和班级名称,通过学期列表的get(i)方法得到学期,通过ShowCalendar(this,this.value)方法分别得到起始时间和终止时间,单击查询按钮,显示查询到的基础数据表信息。然后,用户可以进行增删改查等维护操作。获得班级编号和班级名称:ClassDAOclassdao=newClassDAO();Listxlist=classdao.ClassList();for(inti=0;i"+stuc.getClassname()+"");获得学期:StudentDAOstudao=newStudentDAO();Listqlist=studao.ListXueqi();for(inti=0;i‖+value=""+qlist.get(i)+"">"+qlist.get(i)+"");}……-38- 第5章学生考勤管理系统的实现获得起止日期:ShowCalendar(this,this.value);图5-10数据表的维护主要代码如下:得到删除信息的班级:ClassDAOclassdao=newClassDAO();Listclist=classdao.ClassList();for(inti=0;i"+stuc.getClassname()+"");显示考勤信息:totallist=stucount.Serchclass(stuclass);rowCount=pg.sumPage(totallist);sumpageCount=pg.sumpagecount(totallist,maypage);list=pg.fenye(crruntpage,maypage,totallist);for(inti=0;i");out.println(""+student.getStuno()+"");out.println(""+student.getStuname()+"");out.println(""+student.getStuclass()+"");out.println(""+student.getFudaoyuan()+"");-39- 燕山大学工程硕士学位论文out.println(""+student.getCourse()+"");out.println(""+student.getTeacher()+"");out.println(""+student.getZaotui()+"");out.println(""+student.getChidao()+"");out.println(""+student.getKuangke()+"");out.println(""+student.getGongjia()+"");out.println(""+student.getBingjia()+"");out.println(""+student.getShijia()+"");out.println(""+student.getWeeks()+"");out.println(""+student.getXueqi()+"");out.println(""+student.getShouketime()+"");out.println(""+student.getRiqi()+"");out.println("");}删除考勤信息:Stringclassname=request.getParameter("stuclass");intflag=studao.delClassStu(classname);5.4.2考勤查询统计模块学生考勤查询统计模块主要实现查询和统计学生考勤,分为简单查询和高级查询。简单查询是固定字段查询,高级查询是用户可选的多字段的组合查询。按时间范围查询和统计使用Countallclass(date1,date2)方法,按学期统计使用Countallclass(xueqi)方法,按学期和周次使用Countallclass(xueqi,week)方法,最后分别显示对应信息。(1)按时间范围查询统计主要代码:if(str.equals("all")){//查询全部班级的考勤信息if((!date1.equals("0")&&!date2.equals("0"))){//按时间范围查找out.println(date1+"至"+date2+"期间学生考勤统计(所有班级)");totallist=classcount.Countallclass(date1,date2);rowCount=pg.sumPage(totallist);sumpageCount=pg.sumpagecount(totallist,maypage);list=pg.cfenye(crruntpage,maypage,totallist);-40- 第5章学生考勤管理系统的实现for(inti=0;i");out.println(""+scct.getStuno()+"");out.println(""+scct.getStuname()+"");out.println(""+scct.getStuclass()+"");out.println(""+scct.getSzaotui()+"");out.println(""+scct.getSchidao()+"");out.println(""+scct.getSkuangke()+"");out.println(""+scct.getSgongjia()+"");out.println(""+scct.getSbingjia()+"");out.println(""+scct.getSshijia()+"");-41- 燕山大学工程硕士学位论文out.println("");}……图5-11简单查询统计界面图5-12高级查询统计界面我们为查询统计出来的数据提供了报表打印功能。考虑到高校中大多使用word进行办公,该功能使用word模板设计报表样式,将数据字段绑定到书签上,方便了考勤数据的下载和使用。其关键代码如下。stringtemplateFile=Server.MapPath("../Template/Word/stuInfo.dot");Documentdoc=newDocument(templateFile);DocumentBuilderbuilder=newDocumentBuilder(doc);……doc.Range.Bookmarks["Code"].Text=CleanString.GetString(mybasicinfo.Code);-42- 第5章学生考勤管理系统的实现doc.Range.Bookmarks["Name"].Text=CleanString.GetString(mybasicinfo.Name);doc.Range.Bookmarks["Sex"].Text=CleanString.GetString(mybasicinfo.Sex);doc.Range.Bookmarks["FormerName"].Text=CleanString.GetString(mybasicinfo.FormerName);……builder.MoveToBookmark("EduResumeTable");//开始添加值//若有数据if(dtEduResume.Rows.Count>0){for(varm=0;m的方式为:JSP变压器不会过滤脚本标记<%%>内的所有脚本程序代码,并将这些代码直接传递到Servlet代码中去,不去考虑脚本里的程序如何执行。如果脚本标记里有与Java语法不一致的程序段,在转译成Servlet代码时不会发生错误,但由编译器将Servlet代码编译为Servlet类的时会引发错误。将下列的错误代码改正如下:将此标记中的Java语句加上分号<%Listlist=(List)request.getAttribute(―list‖);%>6.3.3中文乱码数据库中及页面中中文出现了乱码,面对这样的问题,需要处理中文乱码的类ChSt及方法toChinese(Stringstrvlaue)。解决的代码如下:publicstaticStringtoChinese(Stringstrvlaue){try{if(strvlaue==null){strvlaue=‖‖;}else{strvlaue=newString(strvlaue.getBytes(―ISO8859‖),‖GBK‖);//将字符串转换为GBK编码strvlaue=strvlaue.trim();-49- 燕山大学工程硕士学位论文}}catch(Exceptione){strvlaue=‖‖;}returnstrvlaue;//返回转换后的输入变量strvlaue}6.3.4用户无法登录用户在客户端登录时,出现用户信息为空。出现此种异常原因是用户登录需要身份验证,当登录成功后,将MemberForm对象保存在客户端的session对象中,但保存在客户端session的是有限的(一般时间为20分钟)。如果时间超出,则出现空指针的错误,即客户端的session为空,用户的基本信息为空。对于这样的问题可以通过在页面中判断在客户端session中是否存在用户数据来解决。6.3.5数据库连接关闭第一次查询信息时可正常显示,但当刷新页或进行其他操作时,数据库就会提示Connectionisclosed,表示数据库连接已经关闭,不能在应用。出现这个错误的原因是在数据库时,使用了静态方法。当数据库操作类被实例化后,静态方法将进行一次操作,可以执行查询操作,之后将关闭数据库连接,如果再次刷新本程序,将不再执行静态方法,查询不能成功。解决的方案就是将关闭数据库连接的代码con.close()去掉。6.4测试结论系统软件基本实现了设计要求,系统功能完善、界面友好、有异常处理机制,软件测试通过。但测试过程中没有考虑在用网高峰期,大量用户同时访问系统服务器时而出现的网络阻塞的问题,需要在试运行期间重点测试。6.5本章小结本章首先描述了系统测试的目的、分类和步骤,然后对测试的方法进行了分析与选择,从各个模块实现的功能方面进行测试,并对测试结果进行了分析,并解决了系统测试中出现的问题。-50- 结论结论学生考勤管理系统是高校信息化建设中的重要组成部分,对学生学风的培养、品格的建立具有积极作用。在本市几所高职院校调研的基础上,结合沧州职业技术学院信息工程系学生考勤管理工作的经验,设计并开发了面向高职院校的学生考勤管理系统。该系统在2015年下半年进行了安装调试和原始数据的采集,于2015年12月正式投入运行,目前各模块运行良好。本文的工作主要体现在以下几方面。(1)系统管理的可配置性设计。针对系统中经常变动的需求进行了可配置性设计,实现了用户角色、角色权限和数据共享的可配置。管理员可以根据实际需求灵活的配置系统的用户角色,并为每个角色指定其对某一功能的访问权限和操作权限;设计了数据表和字段的共享方案,实现了按需求对数据库中表和字段的共享配置,方便了其他管理系统对考勤数据的使用。(2)完成了学生考勤系统的设计。依据软件工程的设计原则,根据系统需求,给出了基于JSP的学生考勤管理系统网络架构图、系统工作流程、系统总体设计、各模块设计和数据库设计等,并对学生考勤管理、查询统计、数据管理等模块进行详细设计,给出了系统各个模块的功能定义。(3)实现了学生考勤系统的功能。依据功能设计,实现了系统管理、前台管理、后台管理等各模块的功能,并搭建了系统测试环境、设计了测试方法和测试过程,进行了全面的系统测试,解决了测试过程中出现的问题。该系统已在沧州职业技术学院信息工程系的学生管理部门安装运行,大大减轻了教师和管理人员的工作强度,提高了学生考勤管理工作的信息化和自动化水平。以上是本系统研究取得的一点成果。但由于本人时间和精力有限,系统尚有许多改进空间,尚需要在以后学生考勤管理工作中,对系统进行进一步的研究和功能扩展。(1)因时间短,任务重,虽然实现了要求的功能,但安全性还应进一步加强。(2)在移动互联网高速发展的今天,系统应增加手机端签到功能和管理功能,以方便学生、教师及各级领导对系统的操作与管理。-51- 燕山大学工程硕士学位论文参考文献[1]MingshengL,DongdongC,HuaH.StudentAttendanceManagementSystemBasedonRFIDandImagingProcessing[guojihuiyi[C].The2011InternationalConferenceonAdvancedMaterialsandInformationTechnologyProcessing(AMITP2011),2011:1664-1669.[2]JianfangZ,YafeiL,WeilongX.ResearchandApplicationofComputer–AidedManagementtocollegeP.EActivities[C].2011SecondInternationalConferenceonEducationandsportsEducation(ESE2011),2011:142-144.[3]朱力纬,刘丽勤,王健.[C].中国高等教育学会教育信息化分会第十二次学术年会,2014:1-7.[4]赵敏.考勤管理系统的开发[J].太原科技,2012,17(6):103-105.[5]张云萍.泉州市农业学校学生考勤系统的设计与实现[D].成都:电子科技大学工程硕士论文,2015:3.[6]SimaoP,FonsecaJ,SantosV.Timeattendancesystemwithmultistationandwirelesscommunications[C].IEEEInternationalSymposiumonConsumerElectronics.2008:1-4.[7]KamarajuM,KumarPA.Wirelessfingerprintattendancemanagementsystem[C].IEEEInternationalConferenceonElectrical,ComputerandCommunicationTechnologies.IEEE,2015:1-6.[8]张亮.学生课堂考勤管理系统的开发与设计[J].产业与科技论坛,2014,13(7):84-85.[9]苏欣,张鹏,高海涛.关于高校考勤管理制度的思考[J].才智,2014,(11):156.[10]唐林,任亮.高职学生考勤管理系统的分析与设计[J].科技信息,2010:482.[11]王莉.安博学生考勤管理系统设计与实现[D].大连:大连海事大学工程硕士论文,2014:2.[12]查修齐,吴荣泉,高元钧.C/S到B/S模式转换的技术研究[J].计算机工程,2014,40(1):263-264.[13]李海峰.MVC模式架构的应用研究*[J].自动化与仪器仪表,2013,(1):4-5.[14]查修齐,吴荣泉,高元钧.C/S到B/S模式转换的技术研究[J].计算机工程,2014,40(1):263-265.[15]李云云.前夕B/S和C/S体系结构.科学之友[J],2011,(1):6-7.[16]张晓丽,路杨.基于MVC模式的WebOA系统的设计与实现[J].计算机技术与发展,2012,22(8):63-64.[17]司飙.MVC模式下的考试系统建模研究[J].计算机科学,2013,40(6A):403.[18]曾洁.HTML网页发展的可用性分析[J].装饰,2013,247:98-100.-52- 参考文献[19]徐秀勤.浅谈关于JavaScript脚本语言的学生[J].电子测试,2013,14:175-176.[20]黄雪琴,耿强,陈显军.基于CSS+DIV的自适应宽带网页布局方法[J].计算机与现代化,2014,(6):53.[21]钱勇萍,王光杰.CSS+DIV布局方法在网页制作中的应用[J].现代制造技术与装备,2014,(3):81.[22]刘芳芳.CSS+Div与表格实现网页布局的比较[J].电子世界,2013,(14):89.[23]熊文,熊淑华,孙旭.Ajax技术在Web2.0网站设计中的应用研究[J].计算机技术与发展,2012,3(22):145-148.[24]石国河.网页设计中JSP和ASP技术的应用[J].通信技术,2010,43(2):99-100.[25]许丰宽,寿晨曦.JSP技术特点分析与比较[J].信息与电脑(理论版),2012,(2):140,142.[26]王洪香.在JSP中利用JDBC驱动访问数据库[J].办公自动化,2011,(22):47.[27]黄丹.基于JDBC的数据库访问技术[J].软件导刊,2010,9(3):164-165.[28]冯永亮,王茹.JDBC驱动程序工作方式分析与比较[J].电子测试,2013,(10):79-80.[29]刘拥.浅析基于JDBC的数据库访问技术[J].电脑知识与技术,2012,8(31):7414-7415.[30]王万森,龚文.Java动态类加载机制研究及应用[J].计算机工程与设计,2011,32(6):2155-2156.[31]王莉,杜友福,王同喜.基于Servlet技术的分布式资源检索的研究[J].计算机光盘软件与应用,2014,(12):42-43.[32]王芳.网站开发中数据库的管理者——MySQL[J].电子技术与软件工程,2014,(16):214.[33]魏松,贺丹娜.基于MYSQL的学生信息管理系统数据库设计.计算机光盘软件与应用,2012,(14):207.[34]PeijianW,YanleiS,,JunliangC.TheDesignandImplementationofStorageMiddlewareBasedonHBaseandMySQL[C].2012InternationalConferenceonAppliedInformaticsandCommunication(ICAIC2012),2012:88-95.[35]吴鹏飞.如何解决MyEclipse开发环境下Web工程项目不编译问题[J].电脑编程技巧与维护,2014,7(23):93.[36]温颖.JavaWeb动态网站技术[M].杭州:浙江大学出版社,2012:15.[37]支艳强,谢文阁,王丽丽.基于JDK的Java集成开发环境的设计与实现[J].大众科技.2011,9:9-11.[38]刘向辉.计算机信息管理系统的设计原理[J].电脑开发与应用,2014,27(6):58.-53- 燕山大学工程硕士学位论文[39]彭娇,聂慧.浅析关系型数据库设计的理论和实践[J].科技创新导报,2014,(20):54.[40]杨中书,刘臣宇.基于E-R模型的关系数据库设计方法[J].价值工程,2014,30:242-243.[41]苏文,王学卿,史明亮.DIV+CSS技术在高校教务处网站页面设计中的应用[J].连云港职业技术学院学报2013,2(26):24-26.[42]薛冲冲,陈坚.软件测试研究[J].计算机系统应用,2010,20(2):241.[43]程云强.嵌入式软件测试技术研究与应用[J].电子制作,2014,(13):064[44]张新华,何永前.软件测试方法概述[J].科技视界,2012,(4):37.[45]杨建.网络功能虚拟化系统测试技术研究[D].北京:北京邮电大学硕士论文,2014:27.[46]肖丰佳,李立新.软件测试技术研究[J].工业控制计算机,2012,25(1):76.-54- 致谢致谢本文是在导师——燕山大学信息科学与工程学院申利民教授的帮助和指导下完成的。申老师非常和蔼,在我进行项目开发期间给予我很多专业知识上帮助,在论文的编写上给予我耐心的指导,借此机会,对老师致以衷心的感谢。在论文写作的这段时间里,申老师为我提出了建设性的建议,尤其是在论文的立题立意、结构组织、数据的搜集整理,问题的调研等各方面给予我及时的、具体的帮助和指导,使我很快进入角色,完成了论文的撰写。申老师是一位知识渊博、思维缜密、思想活跃、洞察力敏锐、治学态度严谨的导师,精深的学术造诣和忘我的工作态度令我折服。导师的言传身教使我在学术也有了一定的进步。在论文的书写过程中,查阅了很多书籍和文献,在此对书籍、文献的作者及出版社表示感谢。感谢评阅本文和出席论文答辩的各位专家和教授。本人的水平有限,所以文中如有疏漏请各位专家和教授批评指正。-55-