版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前言1.1开发背景在学生的教育阶段,除了学校,家长也必须介入到其中实时地掌握学生的在校情况能更好地促进对学生的教育。因此,家长与学校的交流就显得格外重要。现在很多学校都使用了校讯通。在微信和QQ普及的今天,更有老师和家长共同创建了家长群。纵然如此,通过这两个软件的交流都有各自的局限性。老师能传达的信息相当有限,因为微信QQ终究只是一个聊天工具。为了能让家长和老师拥有一个更好的沟通平台,家校交流系统应运而生。顺应当今的技术发展的潮流,社会往后发展也是大数据的趋势。自然家校沟通也应该跟上互联网科技的发展,构建专属的交流平台。这样无论是对于家长和老师双方来说都是有益处的,单次传达的信息量更大了,也节约了双方宝贵的时间。本次项目系统的开发,主要以家长和老师的的使用需求作为对象,根据需求完成系统各项功能模块的具体设计。1.2开发意义家校交流系统是一个完整的信息管理平台,此系统包含前台家长教师操作页面和后台管理系统两个系统。家长和老师的权限不同,因此与之对应的有家长,教师,用户管理员三者用户体系。家长登录后可以查看老师上传的与自己孩子对应的在校的成绩,考勤等信息。老师登录后可以上传相关的学生信息,可以给家长留言等功能。后台管理员可以对用户信息进行管理,实现新增,重置用户信息以及删除用户等功能。建立家校交流系统对于家长和教师双方来讲都是必要的,系统带来的便利性一来方便双方进行更深入,更高效的交流,二来,在教育越来越被社会重视的今天,建立此系统对于促进学生的教育是相当有好处的。1.3研究内容不同用户以及管理员的登录问题:根据用户的类别(家长,教师以及管理员)在登录界面有一个登录身份的选项,根据选择的登录身份分配权限,分别可以进行相对应的操作。界面开发:系统前端页面的设计很重要,这直接决定了用户用该系统时的直观感受,前端页面的优化,布局是系统体验的关键。分析信息化现状;研究家校交流系统的现状及存在的问题;进行家校交流系统的功能设计。
2主要技术和工具介绍2.1Java语言Java编程语言是面向对象的,极好地实现了面向对象理论,这门语言虽然由c++衍生而来,可是摒弃c++里的抽象概念。哪怕进行复杂的编程,编程思维也无需过于复杂[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容器进行管理,这样就减少了很多创建对象的语句,降低了代码的耦合度,极大地方便了项目后期的维护,升级和拓展。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有商用收费版和社区开源免费的两种版本供选择,因此本次项目的数据库是免费的。2.4JSP的工作原理JSP是一种动态网页技术标准,全称JavaServerPage。本质上是使用Java程序片段穿插到HTML文件中形成JSP文件。其工作原理是客户端浏览器第一次请求JSP文件时,首先把JSP文件转为java源文件,然后编译成java类文件加载内存中,在这个转换过程中如果检测到JSP文件中的语法出现错误,则转换中被中断,并向在编程工具的控制台输出错误信息。未有检测语法错误则为此JSP文件创建一个Servlet实例。
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管理员用户表序号字段名称字段类型大小允许为空最大长度备注1IDint4否4主键ID2usernamevarchar20否50用户名3pwdvarchar20否50密码4cxvarchar20否50权限5addtimedatetime8否8添加时间表4.2通知栏表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2tongzhineirongvarchar50否50通知内容3gonghaovarchar50是50工号4jiaoshixingmingvarchar50是50教师姓名5banjivarchar50是50班级6addtimedatetime8否8添加时间表4.3班级信息表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2banjivarchar50否50班级3addtimedatetime8否8添加时间表4.4教师表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2gonghaovarchar50是50工号3mimavarchar50否50密码4jiaoshixingmingvarchar50否50教师姓名5xingbievarchar50是50性别6shenfenzhengvarchar50否50身份证7dianhuavarchar50否50电话8kechengvarchar50是50课程9banjivarchar50是50班级10zhaopianvarchar50是50照片11addtimedatetime8否8添加时间表4.5课程信息表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2kechengvarchar50否50课程3addtimedatetime8否8添加时间表4.6年级信息表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2nianjivarchar50否50年级3addtimedatetime8否8添加时间表4.7学生表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2xuehaovarchar50是50学号3xingmingvarchar50否50姓名4nianjivarchar50是50年级5banjivarchar50是50班级6zhaopianvarchar50是50照片7addtimedatetime8否8添加时间表4.8考勤信息表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2xuehaovarchar50是50学号3xingmingvarchar50是50姓名4nianjivarchar50是50年级5banjivarchar50是50班级6kaoqinzhuangtaivarchar50是50考勤状态7gonghaovarchar50是50工号8addtimedatetime8否8添加时间表4.9打卡表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2xuehaovarchar50是50学号3xingmingvarchar50是50姓名4nianjivarchar50是50年级5banjivarchar50是50班级6zhuangtaivarchar50是50状态7shijiandatetime8否8时间8gonghaovarchar50是50工号9addtimedatetime8否8添加时间表4.10家长表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2shoujihaovarchar50是50手机号3mimavarchar50否50密码4xuehaovarchar50否50学号5xueshengxingmingvarchar50否50学生姓名6nianjivarchar50否50年级7banjivarchar50否50班级8addtimedatetime8否8添加时间表4.11留言信息表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2shoujihaovarchar50是50手机号3xuehaovarchar50是50学号4xueshengxingmingvarchar50是50学生姓名5nianjivarchar50是50年级6banjivarchar50是50班级7liuyanvarchar50是50留言8gonghaovarchar50是50工号9addtimedatetime8否8添加时间表4.12成绩信息表序号字段名称字段类型大小允许为空最大长度备注1IDint4否8主键ID2xuehaovarchar50是50学号3xingmingvarchar50是50姓名4nianjivarchar50是50年级5banjivarchar50是50班级6chengjivarchar50否50成绩7paimingvarchar50否50排名8beizhuvarchar50是50备注9gonghaovarchar50是50工号10kechengvarchar50是50课程11addtimedatetime8否8添加时间
5系统详细设计5.1相关的配置SpringMvc的配置文件里配置了视图解析器,方便在jsp页面跳转的时候自动加上前缀名和后缀名。具体代码如下:Spring整合mybatis具体实现代码如下:<!--spring管理mybatis中的sqlSessionFactory[5]--><!--导入下载好并在工具里面配置好的的jar包--><beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><propertyname="dataSource"ref="dataSource"></property><propertyname="configLocation"<!--找到mybatis的xml配置文件所在的路径并读取-->value="classpath:mybatis-config.xml"></property></bean>在mybatis的配置文件导入Map文件下通过反向工程生成的xml文件,从而导入Mybatis框架。具体代码如下: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")//传入创建好的新增用户注册的Servlet中 publicStringaddYonghuzhuce(HttpServletRequestrequest,Yonghuzhuceyonghuzhuce,HttpSessionsession)throwsSQLException{//创建时间对象(用于记录注册时间) Timestamptime=newTimestamp(System.currentTimeMillis()); //调用已经写好的时间工具类实现时间格式的转换 yonghuzhuce.setAddtime(time.toString().substring(0,19));//调用service层的接口 yonghuzhuceService.add(yonghuzhuce);//用session来接受注册信息并在页面上提示注册成功 session.setAttribute("backxx","注册成功"); session.setAttribute("backurl",request.getHeader("Referer"));用户注册界面如下图所示。图5-2用户注册界面5.5密码修改模块的实现跟现在市面上大部分的网页修改密码的方式一样,用户通过输入原密码来验证是否有权限可以进行密码修改的操作。填好当前使用的密码后要输入两次新密码(两次密码必须完全相同)方可修改密码。密码修改功能具体实现代码如下:if(request.getParameter("updt")!=null){//通过在jsp页面导入工具类使得在jsp页面可以编写sql语句[1]Stringsql="";sql="selectidfromalluserswhere//用户登录时用户的账号和密码会通过session存放查找时直接通过session里面查找即可username='"+request.getSession().getAttribute("username")+"'andpwd='"+request.getParameter("ymm")+"'";//执行输入的sql语句并返回一个结果集ResultSetRs_Result=connDbBean.executeQuery(sql);//根据结果判断是否可以修改密码if(Rs_Result.next()){//把用户输入的密码更新到数据库里面根据用户登录时存入session的登录信息来查找对应的用户 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会话弹出提示,提示教师添加通知成功 session.setAttribute("backxx","添加成功");//通过这个方法来保存内容,类似于哈希map集合里面的K-V键值对 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方法找到考勤表对应生成的逆向工程文件的修改sql语句然后执行 kaoqinqingkuangService.update(kaoqinqingkuang); session.setAttribute("backxx","修改成功");//这个方法用来保存map集合的内容 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集合 //通过哈希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填入未进行认证的管理员账号,填写正确的密码。如:管理员:tom、密码8883填入已进行认证的管理员账户,错误的密码。例如:管理员名admin、密码xxx4填入与数据库管理员表一致的管理员账户,并且匹配正确的密码。预期结果1界面不能进行跳转,在输入框旁提示输入必填项。2界面不跳转并且弹出提示输入的用户名尚未注册。3界面不跳转并且页面提示密码错误。4界面成功跳转到系统首页,登录功能正常进行。实际结果达到了想要的登录效果结论分析系统可以分析账号密码的合法性,能对非法用户进行拦截家长要自行注册账号才能使用系统,而且规定了家长必须用手机号进行账号注册。那么注册过程中系统对填写手机号的是否合法要进行判断,以及填写资料无误后,提交注册后家长数据库家长表刷新后出现刚刚注册的信息。家长注册结果登记表如下:表6.2家长注册结果登记表测试模块家长注册模块测试测试目的测试系统能否识别非法的手机号(过长、过短含有数字以外的字符),并在相应的地方给出提示[11]。测试方法黑盒测试测试数据1家长在注册页面不填写手机号一栏。2家长填写了过短的手机号如:1386666。3家长填写了过长的手机号码如:填写了12位数字。4家长填写了含有英
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川城市职业学院单招职业技能考试题库含答案详解(培优)
- 2026年唐山工业职业技术学院单招职业倾向性考试题库附参考答案详解(研优卷)
- 2026年四川城市职业学院单招职业技能测试题库附参考答案详解(综合题)
- 2026年唐山幼儿师范高等专科学校单招职业适应性测试题库含答案详解(综合题)
- 云端计算安全防护方法研究
- 低血糖的临床护理
- 人力资源组织改造盘点实务
- 中长期护理技能操作与训练
- 7.1任务一 固定资产认知
- 三踝骨折术后平衡能力训练
- 2026年包头轻工职业技术学院单招职业技能测试题库附参考答案详解(考试直接用)
- 2026年山东商务职业学院综合评价招生《素质测试》模拟试题及答案(一)
- 跨境电商通关实务(第2版)全套教学课件
- 初级育婴员:婴儿沐浴操作考核评分标准
- 《老年人生活照护》说课
- 15D501 建筑物防雷设施安装
- 斜拉桥加固旁站监理方案模板
- 健身休闲综合体可行性研究报告
- 刑法学(上册)马工程课件 第1章 刑法概说
- GA/T 527.1-2015道路交通信号控制方式第1部分:通用技术条件
- GA/T 1402-2017机动车外廓尺寸自动测量装置
评论
0/150
提交评论