【《基于JAVA语言的家长交流网站设计与实现》10000字(论文)】_第1页
【《基于JAVA语言的家长交流网站设计与实现》10000字(论文)】_第2页
【《基于JAVA语言的家长交流网站设计与实现》10000字(论文)】_第3页
【《基于JAVA语言的家长交流网站设计与实现》10000字(论文)】_第4页
【《基于JAVA语言的家长交流网站设计与实现》10000字(论文)】_第5页
已阅读5页,还剩23页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

前言1.1开发背景在学生的教育阶段,除了学校,家长也必须介入到其中实时地掌握学生的在校情况能更好地促进对学生的教育。因此,家长与学校的交流就显得格外重要。现在很多学校都使用了校讯通。在微信和QQ普及的今天,更有老师和家长共同创建了家长群。纵然如此,通过这两个软件的交流都有各自的局限性。老师能传达的信息相当有限,因为微信QQ终究只是一个聊天工具。为了能让家长和老师拥有一个更好的沟通平台,家校交流系统应运而生。顺应当今的技术发展的潮流,社会往后发展也是大数据的趋势。自然家校沟通也应该跟上互联网科技的发展,构建专属的交流平台。这样无论是对于家长和老师双方来说都是有益处的,单次传达的信息量更大了,也节约了双方宝贵的时间。本次项目系统的开发,主要以家长和老师的的使用需求作为对象,根据需求完成系统各项功能模块的具体设计。1.2开发意义家校交流系统是一个完整的信息管理平台,此系统包含前台家长教师操作页面和后台管理系统两个系统。家长和老师的权限不同,因此与之对应的有家长,教师,用户管理员三者用户体系。家长登录后可以查看老师上传的与自己孩子对应的在校的成绩,考勤等信息。老师登录后可以上传相关的学生信息,可以给家长留言等功能。后台管理员可以对用户信息进行管理,实现新增,重置用户信息以及删除用户等功能。建立家校交流系统对于家长和教师双方来讲都是必要的,系统带来的便利性一来方便双方进行更深入,更高效的交流,二来,在教育越来越被社会重视的今天,建立此系统对于促进学生的教育是相当有好处的。1.3研究内容不同用户以及管理员的登录问题:根据用户的类别(家长,教师以及管理员)在登录界面有一个登录身份的选项,根据选择的登录身份分配权限,分别可以进行相对应的操作。界面开发:系统前端页面的设计很重要,这直接决定了用户用该系统时的直观感受,前端页面的优化,布局是系统体验的关键。分析信息化现状;研究家校交流系统的现状及存在的问题;进行家校交流系统的功能设计。

2主要技术和工具介绍2.1Java语言Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[9]。就可移植性而言,Java编程语言可移植性强。就安全性而言,Java在编译程序的时候,程序员是无法手动分配各个对象的内存的,各个对象内存的分配都是在运行时由java虚拟机进行随机分配,一旦终止程序运行,java虚拟机就会进行销毁,下次再次执行时,内存将重新被分配。Java运行及编译环境和工具对于电脑配置要求大多数是比较低的,哪怕是近几年新推出的工具IDEA,大部分的主流配置电脑在搭建好运行环境之后也是可以流畅编译和运行java程序的。当然,本项目使用的工具是对于电脑配置要求更加低的Eclipse。而且,java项目的兼容性也是不错的,哪怕到其他电脑运行,只需要花很少量的时间配置好jdk和jre即可。2.2SSM框架SSM框架是springMVC,spring和mybatis框架三个开源框架的整合。系统采用的是标准得MVC模式,将整个系统划分为表现层,控制层,service层和DAO层[12]。spring是一个基于自己的开源框架,使用spring进行开发时就可以把bean作为对象,dao作为组件的对象,service作为组件的对象就直接交给spring容器进行管理,这样就会使得许多复杂的代码在spring设计和开发的过程中也就变得十分优雅而简洁,有效地降低了成本。码的耦合度,极大地方便了项目后期的维护,升级和拓展。Springmvc在spring的基础上增加了一个MVC架构的Web框架,使用Spring必须要依赖Spring框架。Mybatis是一个持久化数据库管理工具,通过提供对象关系映射为数据库jsp对象与关系型数据库的交互搭建起桥梁,为系统提供了持久层。Mybatis框架的使用避免了书写大量重复的sql语句,便于系统后期的优化。2.3MySQL数据库为了实现能成功实现项目系统中的功能,数据库的使用是不可或缺的,在众多的数据库中,家校交流系统选用了市面上使用得最多的Mysql关系型数据库。它最明显的优点是可以把关联数据分成多张不同的表里进行存放。在实现项目功能的过程中,我们只需要通过不同的sql语句便可以实现对表里面的数据进行修改等操作。而且配合数据库可视化工具的使用后,数据库整体上条理鲜明,查看数据时也会更加直观,更有效率。在另一方面,MySQL无论是对于配置要求和兼容性都是不错的。搭配上Eclipse开放式环境共同使用让系统的运行可以相当流畅。除此之外,Mysql数据库的有点特别明显:1.MySQL数据库文件在编译完成后,可以被直接带到任何电脑上运行,前提是数据库版本不要相差太远以及在导入的时候选好SQL文件的编码。2.MYSQL可以通过创建数据库线程池来实现多线程,可以很好的利用CPU资源,避免了占用太多的内存导致系统越来越卡。3.相比于绝大多数的数据库,它的速度更快,My查询机制优化的特别好。4.MySQL有商用收费版和社区开源免费的两种版本供选择,因此本次项目的数据库是免费的。3需求分析3.1功能需求针对上述讲到的家长和教师之间存在的沟通问题,从两大群体使用者的角度考虑来进行功能需求分析,特建立了该家校交流系统。考虑到现在家长和老师之间都建立了班级家长的QQ群或者微信群,那么本系统的出现应该是为了打破微信或QQ交流传达反馈信息有限的局限性。因此,本系统囊括了成绩管理模块,教师留言管理模块,班级通知管理等若干个功能模块。下面就用户角色来分别简单阐述下系统各个功能模块需求。管理员的权限是最高的,因此管理员功能模块的功能是最多的,其次是老师,而家长页面的功能设计较前者则更少。以下部分是系统各个功能的详细分析。管理员及教师对应的功能需求如下:管理员的拥有最高权限,除了能查看和管理教师发送的通知,留言,学生考勤等反馈给家长的信息外,还应该能对家长和教师的账号进行统一管理。有关家长和教师的账号信息,为了更进一步减轻教师的工作量,教师们的账号无需注册,账号统一由管理员发放,管理员页面有一个教师管理模块,添加的信息都会在这个界面显示出来,这样子更方便账号管理,也确保了避免了非教师人群注册了教师账号导致学生信息的泄露的问题。有关于学生的信息,在学校,一个班级的学生流动性不会特别大,因此,学生信息统一由管理员录入,教师拿到账号时,班级学生信息已经被录入到系统内,当然,管理员可以删除和修改学生信息。有关通知栏管理,通知栏的设计是为了方便老师在必要的时候可以对自己所负责的班级群发通知,老师可以对留言板进行编辑,后台会显示所有的通知信息供管理员查看,并在必要的时候进行删除或修改。有关成绩管理模块,成绩管理模块是教师页面特有的的一个模块,在该模块中老师可以编辑和删除学生的考试成绩,班级排名和添加成绩备注信息,添加完成后对应学生的家长可以查看到相关内容。有关考勤和打卡管理模块,考虑到现在珠三角地区有部分学校已采用学生到校和离校打卡的管理模式,那么学生的到校打卡信息和考勤信息可以被老师上传到系统里面供各个学生家长查看。当然管理员可以及时管理这些这些信息。有关留言信息管理模块,老师可以分别给每一位家长单独发送留言信息,管理员可以查看到每一位老师发送的所有留言记录并进行删除的操作。家长用户对应的功能需求如下:在系统的登录页面有家长注册的按钮,家长注册是要填写必要的信息,当然,在后期这些信息是可以修改的,成功登录系统后,家长可通过系统浏览的学生在校信息反馈。4系统设计4.1系统业务流程分析总体的业务流程:家长,教师以及管理员在登录页面输入正确的账号密码并且选择对应正确的登录身份,验证成功后即可进行登录系统。登录身份的不同那么跳转的页面是不同的,三个角色都有对应的专属页面。该系统的业务流程图如下表所示。图3-1系统业务流程图4.2系统结构设计该系统设计的主要目标就是通过管理员注册并在登录后对整个系统中所有相关的操作都进行了处理,可以同时进行管理员的添加和删除,用户资料管理,通知栏的管理等等。系统的功能结构图如下图所示。图4-1系统功能结构图4.3数据库设计根据系统各个实体的关系,得出两张实体ER图。除管理员以外的实体类ER图如下图所示。图4-2除管理员外的实体类的ER图管理员与各个实体类的E-R图如下:图4-3管理员与各个实体类的ER图根据E-R模型,系统建立了以下逻辑数据结构[7],下面是各数据表的详细建立数据库,其中包括以下表:表4.1管理员用户表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否4主键ID2、usernamevarchar20否50用户名3、pwdvarchar20否50密码4、cxvarchar20否50权限5、addtimedatetime8否8添加时间表4.2通知栏表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、tongzhineirongvarchar50否50通知内容3、gonghaovarchar50是50工号4、jiaoshixingmingvarchar50是50教师姓名5、banjivarchar50是50班级6、addtimedatetime8否8添加时间表4.3班级信息表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、banjivarchar50否50班级3、addtimedatetime8否8添加时间表4.4教师表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、gonghaovarchar50是50工号3、mimavarchar50否50密码4、jiaoshixingmingvarchar50否50教师姓名5、xingbievarchar50是50性别6、shenfenzhengvarchar50否50身份证7、dianhuavarchar50否50电话8、kechengvarchar50是50课程9、banjivarchar50是50班级10、zhaopianvarchar50是50照片11、addtimedatetime8否8添加时间表4.5课程信息表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、kechengvarchar50否50课程3、addtimedatetime8否8添加时间表4.6年级信息表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、nianjivarchar50否50年级3、addtimedatetime8否8添加时间表4.7学生表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、xuehaovarchar50是50学号3、xingmingvarchar50否50姓名4、nianjivarchar50是50年级5、banjivarchar50是50班级6、zhaopianvarchar50是50照片7、addtimedatetime8否8添加时间表4.8考勤信息表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、xuehaovarchar50是50学号3、xingmingvarchar50是50姓名4、nianjivarchar50是50年级5、banjivarchar50是50班级6、kaoqinzhuangtaivarchar50是50考勤状态7、gonghaovarchar50是50工号8、addtimedatetime8否8添加时间表4.9打卡表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、xuehaovarchar50是50学号3、xingmingvarchar50是50姓名4、nianjivarchar50是50年级5、banjivarchar50是50班级6、zhuangtaivarchar50是50状态7、shijiandatetime8否8时间8、gonghaovarchar50是50工号9、addtimedatetime8否8添加时间表4.10家长表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、shoujihaovarchar50是50手机号3、mimavarchar50否50密码4、xuehaovarchar50否50学号5、xueshengxingmingvarchar50否50学生姓名6、nianjivarchar50否50年级7、banjivarchar50否50班级8、addtimedatetime8否8添加时间表4.11留言信息表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、shoujihaovarchar50是50手机号3、xuehaovarchar50是50学号4、xueshengxingmingvarchar50是50学生姓名5、nianjivarchar50是50年级6、banjivarchar50是50班级7、liuyanvarchar50是50留言8、gonghaovarchar50是50工号9、addtimedatetime8否8添加时间表4.12成绩信息表序号字段名称字段类型大小允许为空最大长度备注1、IDint4否8主键ID2、xuehaovarchar50是50学号3、xingmingvarchar50是50姓名4、nianjivarchar50是50年级5、banjivarchar50是50班级6、chengjivarchar50否50成绩7、paimingvarchar50否50排名8、beizhuvarchar50是50备注9、gonghaovarchar50是50工号10、kechengvarchar50是50课程11、addtimedatetime8否8添加时间

5系统详细设计5.1相关的配置SpringMvc的配置文件里配置了视图解析器,方便在jsp页面跳转的时候自动加上前缀名和后缀名。具体代码如下:<beanid="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--前缀名,这里主要是指定jsp页面在什么目录下面如果在根目录下就写/--> <propertyname="prefix"value="/"></property> <!--后缀名,视图资源的后缀名是,这里是.jsp--> <propertyname="suffix"value=".jsp"></property> </bean>Spring整合mybatis具体实现代码如下:<!--spring管理mybatis中的sqlSessionFactory[5]--><beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><propertyname="dataSource"ref="dataSource"></property><propertyname="configLocation"value="classpath:mybatis-config.xml"></property></bean>在mybatis的配置文件导入Map文件下通过反向工程生成的xml文件,从而导入Mybatis框架。具体代码如下:<mappers><mapperresource="com/mapper/AllusersMapper.xml"/><mapperresource="com/mapper/YonghuzhuceMapper.xml"/><mapperresource="com/mapper/XinwentongzhiMapper.xml"/><mapperresource="com/mapper/PinglunMapper.xml"/><mapperresource="com/mapper/ShoucangjiluMapper.xml"/><mapperresource="com/mapper/LiuyanbanMapper.xml"/><mapperresource="com/mapper/YouqinglianjieMapper.xml"/><mapperresource="com/mapper/NianjixinxiMapper.xml"/><mapperresource="com/mapper/BanjixinxiMapper.xml"/><mapperresource="com/mapper/KechengxinxiMapper.xml"/><mapperresource="com/mapper/XueshengMapper.xml"/><mapperresource="com/mapper/JiachangMapper.xml"/><mapperresource="com/mapper/JiaoshiMapper.xml"/><mapperresource="com/mapper/DakaMapper.xml"/><mapperresource="com/mapper/KaoqinqingkuangMapper.xml"/><mapperresource="com/mapper/LiuyanxinxiMapper.xml"/><mapperresource="com/mapper/ChengjixinxiMapper.xml"/> <mapperresource="com/mapper/TongzhilanMapper.xml"/></mappers>5.2功能模块设计系统登录:系统登录是用户和管理员访问系统的入口,用户必须输入正确账号、密码,以及选择相对应的登录身份以获取相对应的权限。为了避免系统被恶意登录,在登录界面上设计了验证码模块,每次登录必须输入验证码方可登录,以确保是人为操作。用户登录系统后,可以修改注册时填写的信息。管理员对用户进行管理:管理员可以对家长和教师的账户进行管理,管理员可以在后台浏览到所有用户的信息,并在必要的时候进行修改等操作。修改密码:用户和管理员能修改自己的登录密码,修改后需要重新登录。成绩管理:教师添加成绩后,家长便可以查询到学生该科目成绩。考勤情况管理:教师添加考勤情况后,家长便可以查询到学生考勤情况,管理员选择某个考勤情况,查询考勤情况或删除考勤情况。通知栏管理:教师添加通知栏后,用户便可以查询到该通知栏,管理员选择某个通知栏,查询通知栏,或删除通知栏。打卡管理:教师添加打卡后,家长便可以查询到该打卡,以此获取学生的到校时间和离校时间。管理员可以选择某个打卡,查询打卡或删除打卡。留言管理:教师可以点击自己所负责对接的学生家长进行相对应的留言,家长登录后点击相对应的页面即可看到老师的留言,管理员则可以在后台浏览到所有的留言内容、留言日期、留言发送者和发送的对象,并可以进行一系列的操作。5.3登录模块的实现登录界面和平常的系统登陆界面大同小异,为了避免系统被人恶意访问,本人在登录界面设置了四位随机生成的纯数字验证码[8]。输入正确的账号和密码,并且选择账号所对应的登录身份方可进入网站。登录入口如下所示。图5-1登录界面验证登录直接在jsp页面进行,在jsp页面导入util工具类连接数据库,执行数据库操根据结果进行判断,如果在数据库查询不到该用户,将会有提升并重新返回登录界面,验证成功则根据登录身份进入相对应的界面。具体实现代码如下://从数据库管理员表查询管理员的账号和密码if(cx.equals("管理员")){sql="select*fromalluserswhereusername='"+uid+"'andpwd='"+pwd+"'";}//从数据库家长表查询家长的账号和密码if(cx.equals("家长")){sql="select*fromjiachangwhereshoujihao='"+uid+"'andmima='"+pwd+"'";}//从数据库教师表查询教师的账号和密码if(cx.equals("教师")){sql="select*fromjiaoshiwheregonghao='"+uid+"'andmima='"+pwd+"'";}//执行上面的SQL语句并返回一个结果集接住查询结果ResultSetrS_Result=connDbBean.executeQuery(sql);//得到的结果集进行分情况判定if(!rS_Result.next()){ out.print("<script>alert('你输入的用户不存在或密码错误,请重新登录!');window.history.go(-1);</script>");}//用session接收并存储用户的信息else{ session.setAttribute("username",uid); session.setAttribute("uid",RS_result.getString("id")); if(cx.equals("管理员")) { session.setAttribute("cx",RS_result.getString("cx")); } if(cx.equals("教师")) { session.setAttribute("cx",cx); session.setAttribute("banji",RS_result.getString("banji")); } if(cx.equals("家长")) { session.setAttribute("cx",cx); session.setAttribute("xuehao",RS_result.getString("xuehao")); session.setAttribute("banji",RS_result.getString("banji")); } response.sendRedirect("main.jsp"); }5.4用户注册的实现登录页面有家长注册功能,老师没有设计注册功能,老师的账号统一由管理员添加和发放,这样无论是对于账号管理以及对于减轻教师们的工作量都有一定的好处。用户注册功能的实现的具体流程:前台输入注册信息,输入的信息完毕点击确认后,会向后台控制器发送用户注册的请求,控制层调用service层实现接口的方法,最后在mapper文件里面找到对应方法,从而把用户填写的信息写入数据库。具体控制器代码如下://从前台接收请求@RequestMapping("addYonghuzhuce.do") publicStringaddYonghuzhuce(HttpServletRequestrequest,Yonghuzhuceyonghuzhuce,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); yonghuzhuce.setAddtime(time.toString().substring(0,19));//调用service层的接口 yonghuzhuceService.add(yonghuzhuce); session.setAttribute("backxx","注册成功"); session.setAttribute("backurl",request.getHeader("Referer"));用户注册界面如下图所示。图5-2用户注册界面5.5密码修改模块的实现跟现在市面上大部分的网页修改密码的方式一样,用户通过输入原密码来验证是否有权限可以修改密码。输入原密码后需要输入两次新密码,原密码必须要输入正确,新密码两次必须输入完全一致,否则修改密码失败密码修改功能具体实现代码如下:if(request.getParameter("updt")!=null){//通过在jsp页面导入工具类使得在jsp页面可以编写sql语句[1]Stringsql="";sql="selectidfromalluserswhereusername='"+request.getSession().getAttribute("username")+"'andpwd='"+request.getParameter("ymm")+"'";//执行输入的sql语句ResultSetRS_result=connDbBean.executeQuery(sql);//根据结果判断是否可以修改密码if(RS_result.next()){ sql="updatealluserssetpwd='"+request.getParameter("xmm1")+"'whereusername='"+request.getSession().getAttribute("username")+"'"; connDbBean.hsgexecute(sql); }密码修改界面如下图所示。图5-3密码修改界面5.6通知栏管理模块的实现教师的页面设计了通知栏,是为了方便教师群发通知的需求,不需要同样的通知逐个家长点击留言。老师发送留言的对象是根据他所负责的那个班级,同样的,老师所发送的通知可以被他所负责班级的家长查看。教师添加通知功能控制层实现,从前端jsp页面接收到请求发送到控制层,部分代码如下://控制器接收到来自前台的发送通知的请求@RequestMapping("addTongzhilan.do") publicStringaddTongzhilan(HttpServletRequestrequest,Tongzhilantongzhilan,HttpSessionsession)throwsSQLException{//调用service层的接口,service层通过调用接口里的方法在mapper文件里面找到相对应的方法的SQL语句来执行新增通知的操作。 tongzhilanService.add(tongzhilan); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer"));通知栏添加页面设计效果如下图所示。图5-4通知栏添加界面通知栏管理页面效果如下图所示。图5-5通知栏管理界面图5-6家长查询通知5.7考勤情况管理模块的实现教师页面有考勤情况管理模块,该模块老师可以编辑自己所负责班级学生的考勤情况,家长也可以查看自己孩子当天的考勤情况。修改考勤情况控制层代码如下://接收到修改的表单@RequestMapping("updateKaoqinqingkuang.do") publicStringupdateKaoqinqingkuang(intid,ModelMapmap,Kaoqinqingkuangkaoqinqingkuang,HttpServletRequestrequest,HttpSessionsession){//调用service层的update方法 kaoqinqingkuangService.update(kaoqinqingkuang); session.setAttribute("backxx","修改成功");//用session来接收 session.setAttribute("backurl",request.getHeader("Referer")); return"redirect:postback.jsp"; }考勤情况添加页面设计效果如下图所示。图5-7考勤情况添加界面考勤情况管理页面效果如下图所示。图5-8考勤情况管理界面5.8成绩管理模块的实现教师的页面有成绩管理模块,进入成绩管理页面后班级所有学生都会自动显示在页面上,老师可以把每个人的成绩通过点击成绩添加按钮进行录入。点击成绩查询页面则可以查看所有已录入的成绩,如果发现有错误也可以进行修改或删除。成绩管理模块前后台具体代码如下:// 后台详细//从前台接收到的命令 @RequestMapping("xueshengchengjiDetail.do") publicStringxueshengchengjiDetail(intid,ModelMapmap,Xueshengchengjixueshengchengji){//调用service层之后返回的值 xueshengchengji=xueshengchengjiService.getById(id); map.put("xueshengchengji",xueshengchengji); return"xueshengchengji_detail"; }// 前台详细//后台返回前台的指令 @RequestMapping("xscjDetail.do") publicStringxscjDetail(intid,ModelMapmap,Xueshengchengjixueshengchengji){ xueshengchengji=xueshengchengjiService.getById(id); map.put("xueshengchengji",xueshengchengji);//返回要跳转的页面 return"xueshengchengjidetail"; }成绩添加页面设计效果如下图所示。图5-9成绩添加界面成绩管理页面效果如下图所示。图5-10成绩管理界面5.9打卡管理模块的实现教师添加学生打卡是在管理员点击添加打卡按钮的基础上进行操作的,当打卡页面自动跳转至需要添加的页面,添加成功后,管理员用户就可以在打卡菜单栏中直接进行对学生打卡的管理,通过查询到数据库中的打卡表来清楚地列出所有的打卡,每条打卡都会相应一个打卡删除按钮和一个修改按钮,当管理员再次点击打卡删除按钮,直接在查询到数据库中选择删除打卡,当管理员再选择选后再次进行打卡信息修改。学生打卡添加功能控制器实现代码如下:@RequestMapping("addDaka.do")//创建一个添加打卡的servlet publicStringaddDaka(HttpServletRequestrequest,Dakadaka,HttpSessionsession)throwsSQLException{//创建一个时间显示对象 Timestamptime=newTimestamp(System.currentTimeMillis());//设置时间打印输出的格式 daka.setAddtime(time.toString().substring(0,19));//service层找到并调用对应mapper文件里面对应add方法的的sql语句 dakaService.add(daka); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); return"redirect:postback.jsp";打卡添加页面设计效果如下图所示。图5-11打卡添加界面打卡管理页面效果如下图所示。图5-12打卡管理界面5.10留言管理模块的实现为了方便老师可以单独给每一个家长发送通知,本人在系统里面加入了教师给家长留言模块,老师可以给她所负责的班级学生家长分别进行留言,在留言板块点击想要进行留言的学生后面的编辑按钮即可进行留言的更新。管理员在后台则可以查看所有的留言信息并进行管理。家长查看留言信息后台实现代码及实现效果图如下:@RequestMapping("showLiuyanban.do")publicStringshowLiuyanban(intid,ModelMapmap,HttpSessionsession){ /*Map<String,Object>bmap=newHashMap<String,Object>(); bmap.put("uid",id);*/ //通过哈希map集合把留言的具体信息打包 map.put("liuyanban",liuyanbanService.getById(id)); return"read";}图5-13教师给学生家长留言图5-14家长查询老师的留言

6系统测试6.1系统的测试系统测试的目的主要是发现软件可能存在的缺陷和漏洞,其次,该系统面对的用户群体还是相当大的,系统测试不但需要排查可能存在的bug,体验网站的浏览体验也是相当重要的,页面的切换是否流畅,网站的整体布局是否便于操作等。主要测试登录模块、通知栏管理模块、用户信息管理模块、和登出模块系统等功能是否实现。6.2测试概述测试的原则1.系统测试用例应有两部分组成,分别为输入测试和输出测试。2.系统测试数据应当引用不合理的数据进行测试,选取不同情况的进行逐一测试。3.不仅要检查程序是否达到预期的效果,还要检查程序是否执行了规定以外的操作。4.对出现错误多的模块进行集中测试。5.已发现错误的模块修改后,应及时进行重新测试。6.3单元测试登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮是否正常进入系统首页。登录测试用例如下表所示。表6.1登录测试用例测试模块登录模块测试测试目的测试当登录信息输入不符合要求时,系统是否能进行相应处理并给出提示[11]。测试方法黑盒测试测试数据1不输入用户名和密码,直接点击登陆。2输入未注册过的管理员名。例如:abcdefg3输入正确管理员名,错误密码。例如:管理员名abcdefg、密码0004输入正确管理员名,正确匹配密码。例如:管理员名abcdefg、密码111预期结果1界面不跳转,提示输入必填项。2界面不跳转,提示输入的用户名尚未注册。3界面不跳转,提示密码错误。4界面实现跳转,登陆功能正常进行。实际结果与预想一致。结论登陆模块实现了基本的异常输入应对。管理员可以添加修改用户信息,在填写用户信息后,点击添加便能成功的添加用户信息。用户信息管理测试用例如下表所示。表6.2用户信息管理测试用例测试模块用户信息管理模块测试测试目的测试当用户信息输入不符合要求时,系统是否能进行正常判断、给出相应的提示并阻止下一步操作[11]。测试方法黑盒测试测试数据1管理员登录后,未填写用户名选项,点击添加用户信息2管理员登录后,未填写用户姓名选项,点击添加用户信息3管理员登录后,输入用户信息必填项,点击添加用户信息,预期结果1用户信息添加失败,系统提示请输入用户名2用户信息添加失败,系统提示请输入用户姓名3用户信息添加成功,系统提示添加用户信息成功实际结果与预想一致。结论用户信息管理模块实现了基本的异常输入应对。管理员可以添加修改考勤情况,在填写考勤情况后,点击添加便能成功的添加考勤情况。考勤情况管理测试用例如

温馨提示

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

评论

0/150

提交评论