引言
1.1 研究的背景
信息技术的发展改变了我们的生活方式,许多行业的管理模式发生了根本性改变。蓬勃发展的信息技术带来了大量的数据,通过数据可以获取到许多隐藏在背后的发展机遇。而这些数据都是存储在数据库中,数据库通过分类、检索、分析对数据进行处理,为人工智能、AI科技、物联网提供数据支撑,所以数据库技术也是信息技术必不可少的重要组成部分。
在信息技术带动下,也影响着教育教学活动。在育教幼教中,各种教学管理也逐渐实现了自动化、智能化,特别是在在线学习、视频查看、交流信息上,通过管理系统进行深层次的推广和改进,提升教学效果。在疫情到来时,教育部发布通知,各阶段的学生只能在家学习。这时信息技术就起到了关键的作用,学生通过电脑、手机等设施在线参与学习,老师在互联网另外一端进行授课,和学生进行线上交流,避免了学习暂停的状态,有效推动了教学活动。
数字化校园是目前育教幼教重点建设的项目,它包括设施、财力、人力等各个方面。以校园网为中心,实现校园内资源、服务等的数字化,并将幼儿签到、请假、作业、活动信息、交流信息进行综合管理,实现不同教学模块的共同提高,最大程度地满足教学需求,为育教幼教未来的发展提供帮助。通过育教幼教知识学习系统,可以有效的对这些内容进行整合,提高育教幼教的管理效率。
1.2 研究的意义
育教幼教可以锻炼孩子学习、培养习惯。利用互联网的基础搭建各种管理系统,实现信息的有效管理,对教育教学、学生生活、育教幼教宣传等进行综合管理。在育教幼教教学管理中,功能模块的数据通过数据库存储,并为各个模块预留扩展空间,建立有效的操作权限,对数据进行加密,保障系统安全。信息技术提高了育教幼教教学的效率,实现了数字校园,充分发挥信息技术的优势,将育教幼教教育数据进行收集整理,并完成统计分析,体现出信息技术先进生产力的方面。
本文研发的基于微信小程序育教幼教知识学习系统结合育教幼教具体的实际,利用编程基础和数据库实现育教幼教教务信息化管理。充分利用现有资源,把目前落后的管理现状提升到信息化管理模式中,减轻教学工作量,有助于教学工作规范。基于微信小程序育教幼教知识学习系统帮助教师有效的管理育教幼教信息,学生通过系统可以查看各种公告以及教学活动信息。在交流模块也可以和其他同学或者老师在线交流。获取培养孩子的问题和解决方法,有效提升育儿情况,提高孩子的兴起爱好等。
1.3 研究内容
本课题选择拓展性比较好的技术来进行开发,数据库选择MySQL进行建库,微信小程序是目前最为流行的技术,无论是成熟度和未来发展都更能适应本育教幼教知识学习系统的业务。
本课题使用面向对象的设计思想进行设计,对系统的现状进行调研,收集当前育教幼教知识学习系统的需求,以及对育教幼教业务的调查,整理需求文档,使用用例图状态图等进行描述,接着使用面向对象技术设计系统功能,系统数据库。完成育教幼教知识学习系统主要包括了系统的开发背景收集、建模工具选型、技术确定、需求分析的整理、数据库的设计和功能模块划分、系统环境的部署、实现测试方法的选择,以及最后的搭建部署。
2、系统技术
Java技术
Java是一种编译型的语言,通过服务器执行编译后封装为class类,许多编译好的jar也可以给第三方软件调用,减去了一些组件开发的费用和时间。Java语言的编译过程是从生成字节码开始,Java虚拟机对这些字节码进行处理,可以生成对应的机器码,操作系统编译这些机器码进行解释运行。Java的编译和回收机制相比C语言提高了很多性能。
JSP是Java的web应用,在B/S框架中,JSP调用Java的方法实现数据的显示,JSP与收ASP类似。在浏览器端解释执行调用服务器端的方法,所以JSP具有高移植性,类似C#语言的。JSP技术是一种页面解释执行的语言,通过和HTML与语言结合,实现网页的布局,省去了许多不必要的代码,节省程序员的开发时间。JSP技术返回的是HTML代码,浏览器对HTML进行解释,最终显示到界面。
JSP的优势在于程序一致性更加高效、代码编写简单、强大的扩展性、可以通过跨平台使用、调用Jar包里面的对象和方法、强大的事务处理能力、可以维护比较复杂的编程技术。所以,JSP是一种高效率的开发语言,在实际应用中,许多开发与工具都可以进行JSP开发,而且免费开源。
2.2 MYSQL数据库
MySQL是个中小型关系型数据库,在许多中小管理系统中是常见的应用之一,MySQL和Java也具有密切的关系,他们都是开源免费的,而且通过一个数据库驱动类即可实现数据的基本操作。MySQL是个轻巧的数据库,安装简单,学习效率高,应用面广。
MySQL通过协议分析SQL语句的语法,如果不能通过语法检测,将报错给程序端,通过检测之后将数据指令发送到存储区域并进行提取。在MySQL数据库中,有一个数据缓冲池,把当前查询到的结果存储在这个缓冲区域中,最后通过提取方法把数据返回到结果对象。MySQL也可以使用一个事务进行管理,在一个具体的事务中,所有执行的SQL语句都进入一个等待区,直到全部完成才进行事务的提交,生成数据信息。如果中间发生错误,那么所有的执行信息将会回滚到最初状态,并返回异常。
MySQL使用基本的SQL语法,即结构化查询语言,分为四个部分。第一,数据定义语言;第二,数据更新语言;第三,数据检索语言;第四数据控制语言。数据定义语言包括创建table、drop数据。更新语言由update、insert、delete。数据检索语言主要是select。数据控制由事务、提交组成。
2.3 微信小程序技术
微信小程序是近两年刚发布的平台,吸引了众多商家,小程序通过微信平台进行搜索,找到对应的小程序,点开即可使用,类似于网站的一个外链,极大的降低了手机的负荷,没有安装包或者缓存。微信小程序实际上是一个外部应用,通过远程服务器端部署项目,然后手机通过嵌入浏览器的功能,实现管理系统的操作。所以在一定程度上,小程序必然没有APP的功能全面,而且不能够替代APP,因为小程序不能调用手机端核心的硬件接口,不能对硬件进行操控。
由于微信交流软件的大量用户群,致使小程序吸引了很多的开发者和商家,又加上小程序快捷的特点,使得小程序获得了极大的好评。小程序的调试工具包括Console、Sources、network、storage、AppData、Wxml。Console实现打印数据,显示错误位置等。Sources编译JS,打印错误。Network检测网络,查看请求情况。Storage查看数据存储情况,返回错误消息。AppData显示变量值。Wxml进行页面布局,显示样式是否存在冲突等。
微信小程序在设计上具有几个特点。生态系统的开放性,目前微信小程序已经在手机市场占据份额达到70%,通过和厂商建立合作关系,放开系统的标准,建立移动设备之间开放的生态系统。应用程序无边界,微信小程序中的程序可以通过API调用设备功能,除了系统中的程序可以调用之外,第三方应用之间也可以调用,需要在程序开发时声明调用的权限。应用的平等性,应用程序时可以升级或者替换,不存在高低之分。微信小程序支持Web的嵌入,在开发微信小程序应用程序时,可以通过控件嵌入web样式,包括JS,HTML、CSS,来显示内容,方便的展示外部应用,极大的提高了项目的开发速度和界面美观程度。
2.4 JSON格式
JSON是一种轻量级的数据交换格式,在目前基于服务的开发中,通常使用JSON传递数据结构。本系统在微信小程序端和服务器端进行交互,传递的数据就是JSON格式。JSON格式层次清晰,传输效率高,易于理解和编写。JSON数据支持字符串、数字、对象、数组等类型,JSON可以把JS对象数组转为字符串。同XML类似,JSON具有很好的扩展性,存储不同格式的数据,并支持丰富的编码工具。XML解析方式可以通过文档模型解析或者遍历节点解析,JSON也同样如此,并且广泛用于前台开发,使用JSON的时候需要知道结构组成。
3、系统分析
3.1 可行性分析
通过比对当前关键的编程语言,选择Java语言进行开发,采用前端微信小程序技术调用后台,模式是基于MVC,代码易于管理。开发工具选择微信开发者工具,这是一款目前比较流行的软件,无论是安装,配置还是后续的部署都很便捷,实现和Mysql数据库的快速连接,数据稳定,解决问题简单。所以在开发育教幼教知识学习系统的时候,技术上具有可行性。
经济可行是指开发过程中的预算和后期的成效,首先开发育教幼教知识学习系统的语言都是开源免费的,不需要购置。完成后的系统,部署在本校园内部校园网,服务器使用现成的设备,不需要购买额外的配置,在开发成本上费用极低。但是育教幼教知识学习系统的前景非常好,可以为管理员节省管理时间,帮助学校解决实际困难,并可以推广到其他地方使用,综合考虑,在开发育教幼教知识学习系统上,经济上具有可行性。
法律可行性指的是从法律角度上说,是否涉及到法律违法违规的地方,本育教幼教知识学习系统是在育教幼教内部使用的,所有的技术都是开源免费的,不存在侵权问题。系统的设计分析和实现都是原创,不会抄袭和使用其他第三方软件,不构成产权问题,最后系统的规章制度完全符合学校的管理条例,不会传播非法的思想和内容,所以在法律方面具有可行性。
3.2 需求分析
开发基于微信小程序育教幼教知识学习系统的关键在于收集客户的需求,完成对系统需求的深入理解后才能进行功能设计。本基于微信小程序育教幼教知识学习系统的需求分析从非功能性需求和功能性需求进行介绍。
3.2.1 非功能性需求
在确定了系统功能性需求之后,还需要对系统的非功能性需求进行分析,保障系统可持续运行。育教幼教知识学习系统非功能性需求包括性能需求、稳定性需求、安全性需求、扩展性需求。
性能需求是保证系统响应速度和响应时间等方面。本育教幼教知识学习系统上线运行后,面对的用户群较多,可能发生多个用户并发请求数据,而且连接数据库的线程较多,那么响应速度将会对系统的负载要求较高,要求各业务响应速度不大于两秒,数据库资源占用率不能高于80%,否则将会发生死机或者数据丢失的情况。另外在高负荷运行下也要保证程序的持续性,7*24小时内正常运行。
育教幼教知识学习系统需要长期稳定性运行,不能因为硬件或者软件原因造成通讯中断,那么将对用户产生一定的影响,所以可以考虑设计备用服务器,如果出现故障,网络接口直接对接到另外一台服务器系统。
系统的安全性要求,虽然本系统是在小范围的内部使用,但是安全性也需要得到保障,防止病毒的入侵,删除数据或者窃取到用户的基本信息。因此,需要利用计算机相关的信息技术对密码和数据进行安全设计。
育教幼教知识学习系统可扩展性的需求,本系统开发周期较短,收集的需求可能不够全面,那么在后期投入使用的时候,随时就可能发生需求的增加或者变更的要求。那么设计的时候需要考虑功能模块的可扩展性,采用模块化思想,降低相互之间的耦合,为将来的扩展提供空间。也需要考虑系统接口的设计,便于其他系统接入,导入对应的数据,或者是为其他系统提供接口,共享本系统内的基本信息。
3.2.2 功能性需求
本文设计实现的基于微信小程序育教幼教知识学习系统分为客户端和后台管理两部分。根据用户角色又分为管理员、学生用户角色。
管理端:课程管理,教师管理,用户管理,订单管理,网站管理,分类管理。等主要功能模块。
用户端:浏览课程,浏览教师,登录、注册:用户注册模块,购买课程,观看课程,修改信息等主要功能模块。
其中系统用例图如3.1所示:
管理员
用户管理
课程分类管理
公告管理
教师管理
课程管理
查看公告
购买课程
学生
订单管理
查看课程
4、详细设计
该系统的用户分为两类:管理员、普通用户。其中管理员可以进行订单的管理,可以完成查看金钱收益、监管订单的功能,也可以进行平台监管,可以完成对课堂视频以及论坛区评论的监管功能。普通用户可以进行的一些操作有:视频课堂搜索、论坛区讨论、我的订单、我的钱包。主要实现文字互动、点赞打赏、在线观看免费视频、购买付费课程、发表论坛观点、查看论坛内容、查看购买课程、查看观看记录、微信充值、微信提现等功能。
本文设计实现的基于微信小程序育教幼教知识学习系统主要功能是完成育教幼教信息的管理,通过需求分析,可以设计出本系统的功能要求。下面通过用户身份进行功能设计。
4.1 管理员功能设计
管理员可以通过订单管理这个模块进行查看每天平台的订单流水线利润收益以及监管每一个订单是否是出现一些问题。另外管理员也可以通过平台监管模块来对这个系统的课堂视频进行翻阅和监管,查找出是否存在一些违法,欺骗消费者,误导消费者的一些教学视频,并阻止他们的视频上传。
管理员功能结构图如下图4-1所示。
管理员用户
用户管理
课程管理
分类管理
教师管理
订单管理
基于微信小程序育教幼教知识学习系统的教师用户使用用户名和密码进行登录。老师用户登录小程序后,查看课程信息,查看学生信息,管理课程成绩,管理课程的作业,查看课堂考勤签到记录。发布孩子活动图片,对学生的请假进行审批,发布课堂通知公告,并在个人中心中,修改个人信息或者修改个人密码。
订单管理流程图如下图4-2所示。
图 4.2 订单管理流程图
管理员通过微信认证登录这个小程序系统。在小程序系统的第一个页面选择订单管理操作。之后出现另一个界面,管理员可进行选择进行查看每日收益和监督订单操作。管理员可在监督订单操作中查看今日所以订单是否存在一些问题如:退款失败或者商品未到到账问题。如果出现问题,则打开相应订单进行纠错检查。
学生功能设计
基于微信小程序育教幼教知识学习系统的学生用户使用用户名和密码进行登录。学生用户登录后,查看课程,发布评论,购买课程,查看公告,查看教师。
学生用户功能设计图如下图4-3所示。
学生用户
用户登录
课程查询
教师查看
公告查看
购买课程
评论课程
充值
我的
图 4.3 学生用户功能结构图
学员通过微信认证登录这个小程序系统。在小程序系统的第一个页面选择在线视频课堂。可以先进行搜索,搜索得到的视频课程如果免费则可以直接观看,如果收费则需要购买才可以观看学习。
数据库设计
数据库设计原则
根据MySql数据库特定的应用环境,构造最优的数据库结构,使之有效存储数据,满足本育教幼教知识学习系统的业务需求。当前大多数据库设计存在这些问题:业务需求无法得到满足,数据库性能不高,数据库扩展性较差,数据资源冗余严重,表与表之间的耦合度过密。
针对这些问题,需要做到明确用户需求,重视数据维护,增加数据库设计的命名规范,考虑数据库优化与效率的问题,调整数据之间的关系,合理的使用索引,这样才能有利于资源的节省,有利于提高软件运行速率,有助于软件故障的减少。因此在设计上要注重以下的设计原则。
一对一的原则,利用这个原则减少维护问题,降低维护难度,避免复杂数据的产生,提高软件运行效率。
特定的命名原则,根据数据库设计文档一给出本育教幼教知识学习系统的命名规范,如大小写统一,表明规范合理。
双向使用原则,事物有效性。对特定业务实行事务处理,但是事务会降低执行效率,所以非特定情况下,不需要使用事务。保证数据更新和有效,对数据库索引的设置合理。
高效原则,单表数据不超过100万,数据库表建立在具体业务上,但是每一个表的字段控制在20个之内。重要的数据放置在不同的数据库中,禁止使用关键字作为字段名。对大数据字段避免group by等排序操作,减少cpu内存的消耗。尽量少使用in语句,提高查询效率,数据量多的查询,需要使用排序快速返回第一页数据。
数据库ER图设计
限于篇幅要求,仅列出系统总E-R图,如下所示:
公告信息
管理员
学生信息
老师信息
订单信息
评论信息
管理
管理
管理
管理
添加
n
1
n
n
n
1
1
1
课程信息
公告信息
充值信息
购买
查看
充值
1
1
n
n
图4.7 系统ER图
数据库表设计
基于微信小程序育教幼教知识学习系统的管理员存储了管理员信息,下面对表的数据库字段名称、字段的备注信息、PK/FK进行说明。表结构如4.1所示:
表4.1 基于微信小程序育教幼教知识学习系统管理员
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | userIdEducol | int(4) | PK | No | |
No2 | userNameEducol | varchar(50) | NO | Null | |
No3 | userPwEducol | varchar(50) | NO | Null |
基于微信小程序育教幼教知识学习系统的用户表存储了用户信息,下面对表的数据库字段名称、字段的备注信息、PK/FK进行说明。表结构如4.2所示:
表4.2基于微信小程序育教幼教知识学习系统用户信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | idEducol | int(4) | PK | No | |
No2 | usernameEducol | varchar(50) | NO | Null | |
No3 | passwdshuEducol | varchar(50) | NO | Null | |
No4 | roletypeshuEducol | varchar(50) | NO | Null | |
No5 | emailshuEducol | varchar(50) | NO | Null | |
No6 | telshuEducol | varchar(50) | NO | Null | |
No7 | qqshuEducol | varchar(50) | NO | Null | |
No8 | wechatshuEducol | varchar(50) | NO | Null | |
No9 | sexwEducol | varchar(50) | NO | Null | |
No10 | sidwEducol | varchar(50) | NO | Null | |
No11 | xuehaowEducol | text(16) | NO | Null |
基于微信小程序育教幼教知识学习系统的公告表存储了公告信息,下面对表的数据库字段名称、字段的备注信息、PK/FK进行说明。表结构如4.3所示:
表4.3 公告信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | idEducol | int(4) | PK | No | |
No2 | nameEducol | varchar(50) | NO | Null | |
No3 | picEducol | varchar(50) | NO | Null |
基于微信小程序育教幼教知识学习系统的课程表存储了用户发布的信息,下面对表的数据库字段名称、字段的备注信息、PK/FK进行说明。表结构如4.4所示:
表4.4 课程信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | idEducol | int(4) | PK | No | |
No2 | nameEducol | varchar(50) | NO | Null | |
No3 | picEducol | varchar(50) | NO | Null | |
No4 | lbEducol | varchar(50) | NO | Null | |
No5 | conEducol | varchar(50) | NO | Null |
基于微信小程序育教幼教知识学习系统的讨论表存储了用户讨论的信息,下面对表的数据库字段名称、字段的备注信息、PK/FK进行说明。表结构如4.5所示:
表4.5 基于微信小程序育教幼教知识学习系统管理讨论表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | IdEducol | int(4) | PK | No | |
No2 | Cpnameeducol | varchar(50) | NO | Null | |
No3 | userNameeducol | varchar(50) | NO | Null | |
No4 | Shijianeducol | varchar(50) | NO | Null | |
No5 | Coneducol | varchar(50) | NO | Null | |
No6 | Zteducol | varchar(50) | NO | Null |
基于微信小程序育教幼教知识学习系统的讨论表存储了课程分类的信息,下面对表的数据库字段名称、字段的备注信息、PK/FK进行说明。表结构如4.6所示:
表4.6 基于微信小程序育教幼教知识学习系统分类表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | IdEducol | int(4) | PK | No | |
No2 | Nameducol | varchar(50) | NO | Null |
基于微信小程序育教幼教知识学习系统的讨论表存储了订单的信息,下面对表的数据库字段名称、字段的备注信息、PK/FK进行说明。表结构如4.7所示:
表4.7 基于微信小程序育教幼教知识学习系统订单表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | IdEducol | int(4) | PK | No | |
No2 | uideducol | varchar(50) | NO | Null | |
No3 | userNameeducol | varchar(50) | NO | Null | |
No4 | ndateeducol | varchar(50) | NO | Null | |
No5 | typeeducol | varchar(50) | NO | Null | |
No6 | siteseducol | varchar(50) | NO | Null |
系统实现
5.1管理员管理功能实现
5.1.1登录功能
使用脚本把数据库导入到mysql中,配置tomcat服务器,运行程序。其中用户登录的界面如下所示。
图5.1 管理员登录界面
用户密码是通过MD5进行加密的。MD5本身是一个不可逆的加密方法,所以在查询前需要对密码进行MD5加密,把加密后的字符串和数据库中的密码进行比对,通过比对后才能进行查询。
5.1.2用户管理
管理员成功登录后台管理界面,选择“用户管理”,出现用户列表。在用户管理页面,管理员可以添加、修改、查询及删除用户信息。
用户管理界面设计如下图5.2所示。
图 5.2 用户管理界面
用户添加界面设计如下图5-3示。
图 5.3 用户添加界面
创建一个信息录入的form表单,在form中设计用户基本信息收集栏,点击提交的时候,通过form的POST方法传递到用户Action方法中。在Action中定义插入的方法,先实例化用户实体类,将用户信息通过实体类进行设置,然后调用用户数据库操作方法,保存用户信息到数据库,然后返回成功消息。
5.1.3分类管理功能实现
管理员成功登录后台管理界面,选择“分类管理”,出现分类列表。在分类管理页面,管理员可以查询及删除分类信息。
分类管理界面设计如下图5.4所示。
图 5-4分类管理界面
创建一个信息录入的form表单,在form中设计分类基本信息收集栏,点击提交的时候,通过form的POST方法传递到分类Action方法中。在Action中定义插入的方法,先实例化分类实体类,将分类信息通过实体类进行设置,然后调用分类数据库操作方法,保存分类信息到数据库,然后返回成功消息。
在分类信息管理页面先通过查询条件,获取对应的分类列表,然后在分类管理页面通过标签,把所有的分类信息绑定到列表中。
5.1.4课程管理功能实现
管理员成功登录后台管理界面,选择“课程管理”,出现系统课程列表。在课程管理页面,管理员可以查询及删除信息。
课程管理界面设计如下图5.5所示。
图 5-5 课程管理界面
其中课程管理和用户管理的实现流程类似,调用后台的action方法后,在页面使用jQueryEasyUI框架得到json数据,进行显示到列表中。
5.1.5公告管理功能实现
公告的发布由管理员登录进行操作的,选择相关的信息后,点击发布,可以提交到后台。
公告列表界面设计如下图5-9所示。
图 5-9公告列表信息界面
用户填写所有的公告信息后,点击公告添加,在公告添加中调用JS的AJAX方法。方法中接收公告实体信息,调用服务器端的公告方法。在服务器端获取公告实体信息,对实体进行序列化处理,然后调用公告实体信息保存的service数据库操作方法,将实体内的公告实体信息通过SQL语句插入到数据库,并返回一个成功标识的Json对象,在客户端解析Json。判断返回的信息是否公告添加成功并提供给用户,这样就实现了公告管理的完整流程。
5.1.6教师管理功能实现
教师的发布由管理员登录进行操作的,选择相关的信息后,点击发布,可以提交教师到后台。
教师管理界面设计如下图5-10所示。
图 5-10教师录入信息界面
在教师页面加载时,初始化方法中,调用JS的AJAX方法。方法中接收教师实体信息,调用服务器端的教师查询方法。在服务器端获取教师实体,对实体进行序列化处理,判断查询条件,然后调用教师查询的service数据库操作方法,将查询结果通过Json对象进行返回,在客户端解析Json,把结果存储在临时集合变量中,对变量进行数据显示绑定到界面。
5.1.7订单管理功能实现
查看学生订单的信息,然后在订单列表中,查看所有的订单信息,查看订单并进行订单审核。
订单列表界面设计如下图5-11所示。
图 5-11订单列表信息界面
在订单页面加载时,初始化方法中,调用JS的AJAX方法。方法中接收订单实体信息,调用服务器端的订单查询方法。在服务器端获取订单实体,对实体进行序列化处理,判断查询条件,然后调用订单查询的service数据库操作方法,将查询结果通过Json对象进行返回,在客户端解析Json,把结果存储在临时集合变量中,对变量进行数据显示绑定到界面。
学生功能实现
学生登录功能实现
基于微信小程序育教幼教知识学习系统运行服务器后,才能运行客户端,其中学生登录的界面设计如下图5-6所示。
图 5-6 学生登录界面
点击登录,在登录中调用JS的AJAX方法。方法中接收用户实体信息,调用服务器端的用户登录方法。在服务器端获取用户实体信息,对实体进行序列化处理,然后调用用户信息查询的service数据库操作方法,将查询结果通过Json对象进行返回,在客户端解析Json,判断返回的信息是否登录成功。
用户登录成功的主界面为:
图 5-7 学生登录主界面
通过点击主界面列表,完成各功能的操作。因为功能较多,下面列举了系统关键的几个功能点进行实现说明。
个人中心功能实现
个人中心包括用户的登录、修改密码、个人信息、以及注销等模块。
用户个人信息界面设计如下图5-8所示。
图 5-8用户个人信息界面
课程订购
点击课程信息后,在课程列表中选择某一个课程,然后可以进行课程交流,也可以订购课程,提交订单到系统。
课程订购的界面设计如下图5-13所示。
图 5-13 课程提交界面
其中课程订购其实就是课程订单信息的录入操作,把课程订单有上传到服务器。客户端上传课程订单后,服务器保存订单信息,而数据库记录了订单的内容。
评论功能
学生订购课程后,可以进行评论处理,点击评论,跳转到评论列表。列表页面的评论可以录入评论信息,查看历史评论信息。
评论的界面设计如下图5-14所示。
图 5-14 评论界面
用户选择课程信息后,点击评论,在评论中调用JS的AJAX方法。方法中接收评论实体信息,调用服务器端的评论方法。在服务器端获取评论实体信息,对实体进行序列化处理,然后调用评论实体信息保存的service数据库操作方法,将实体内的评论实体信息通过SQL语句插入到数据库,并返回一个成功标识的Json对象,在客户端解析Json。判断返回的信息是否评论添加成功并提供给用户,这样就实现了评论的完整流程。
系统测试
测试说明
系统集成测试是对系统的接口进行测试,查看接口是否能够正确正常工作,包括数据库连接接口的测试。数据库测试就包括数据基本信息的增删改查操作测试,数据上线测试,数据下线测试,主外键关联测试,数据库优先级操作测试和安全性的测试。
系统安全性测试包括模糊匹配方法测试、状态机模型方法测试、黑盒模型测试和白盒模型测试,验证系统是否符合安全要求。
实用性测试是由用户发起的,判断本系统是否具有实际可行性可用性,用户得到确认后发布系统,进行上线。
压力测试是模拟足够多的链接,并长时间的运行系统,测试系统是否一直可靠与稳定,最大限度满足本系统的具体需求。
测试用例
系统登录是育教幼教知识学习系统 第一道安全防线,设计登录测试用例涉及到多个方面,下面对系统登录测试进行说明。测试过程如6.1所示:
表6.1 登录功能测试结果
数据输入 | 预期结果 | 测试步骤 | 结论 |
用户名和密码为空 | 提出错误消息 | 不输入信息,直接点击登录按钮。查看是否提示错误的消息。 | 经过修改后和预期一致 |
用户名和密码错误输入。 | 不能登录 | 输入正确的用户名,错误的密码。输入错误的用户名,正确的密码,点击登录,提示失败。 | 修改后和预期一致 |
输入正确的用户名和密码。 | 成功登录 | 输入正确的用户名,正确的密码。点击登录,提示登录成功。 | 通过 |
测试课程模块功能完整性,把课程信息录入到MySQL中,打开MySQL查看是否存在录入的数据,然后对课程进行修改或者删除,比较结果,对课程的内容最大长度和最小长度进行测试,查看是否符合要求。其中课程管理测试过程如6.2所示:
表6.2 课程管理测试结果
测试项目 | 预期结果 | 测试步骤 | 结论 |
课程的新增 | 课程信息保存到数据库 | 运行育教幼教知识学习系统 ,在课程新增界面录入课程,点击添加课程按钮。测试课程为空的情况,正确输入的情况。 | 通过 |
课程的列表 | 界面加载所有的课程 | 在课程信息列表,查看所有的课程信息,包括分页连接是否可用,数据条数和数据库是否一致。 | 通过 |
课程的修订 | 数据库信息成功修订 | 运行育教幼教知识学习系统 ,在课程修订界面修改课程,点击修订课程按钮。 | 通过 |
课程的删除 | 数据库信息成功删除 | 在课程信息列表页面,选择要删除的课程,点击删除。删除后查看列表和数据库表是否还存在该记录。 | 经过修改后和预期一致 |
测试系统用户模块功能完整性,把系统用户信息录入到MySQL中,打开MySQL查看是否存在录入的数据,然后对系统用户进行修改或者删除,比较结果,对系统用户的内容最大长度和最小长度进行测试,查看是否符合要求。其中系统用户管理测试过程如6.3所示:
表6.3 系统用户管理测试结果
测试项目 | 预期结果 | 测试步骤 | 结论 |
系统用户的新增 | 系统用户信息保存到数据库 | 运行育教幼教知识学习系统 ,在系统用户新增界面录入系统用户,点击添加系统用户按钮。测试系统用户为空的情况,正确输入的情况。 | 通过 |
系统用户的列表 | 界面加载所有的系统用户 | 在系统用户信息列表,查看所有的系统用户信息,包括分页连接是否可用,数据条数和数据库是否一致。 | 通过 |
系统用户的修订 | 数据库信息成功修订 | 运行育教幼教知识学习系统 ,在系统用户修订界面修改系统用户,点击修订系统用户按钮。 | 通过 |
系统用户的删除 | 数据库信息成功删除 | 在系统用户信息列表页面,选择要删除的系统用户,点击删除。删除后查看列表和数据库表是否还存在该记录。 | 经过修改后和预期一致 |
系统测试结果
所有功能都可以实现,系统运行良好,但是还有很多不够完善的地方,需要以后在使用的过程中继续完善。