版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
页共23页1引言由于舞蹈课程的特殊性,舞蹈机构并不能进行线上授课,学生只能在网上预订课程来到线下机构上课。当学生在线上进行选课结束后,来到线下机构进行培训时,教务人员需进行信息匹配和记录,而大部分线下教育机构仍在采用传统方式记录信息。大量的学员信息、教师信息以及学员的选课情况缴费情况等等,这些都需要教务管理人员及时记录并更新。随着舞蹈机构越来越受众人欢迎,越来越多人的选择倾向,也加大了线下教师管理选课以及学员信息的负担。1.1舞蹈选课管理系统的背景及意义随着网络技术的发展,越来越多的学校开始启用网上选课系统,而校外机构网上授课选课也已渐成气候。如中公教育、华图教育、新东方教育等。随着教育方式的不断进步,人们足不出户就能选择自己想要的课程。越来越多的线上培训机构为学生提供了更多样的学习方式,如英语四六级、公务员考试等等,学生们越来越倾向于选择线上教育培训机构,线上选课已经成为新时代的趋势。随着教育方式的不断进步,人们足不出户就能选择自己想要的课程,却忽略了运动对身体的重要,如今跳舞已经成为老少皆宜的运动方式。人们也逐渐将目光放在了专业舞蹈机构上。如今舞蹈机构并没有很好的拓展线上选课,随着越来越多人的选择倾向,加大了线下教师管理选课以及学员信息的负担。人们都将目光放在为学生选课提供便利的同时,也不该忽略为线下机构教务管理提供便捷。将舞蹈机构与选课管理系统相结合,不仅可以使舞蹈选课更加方便,还能利用系统很好记录学员信息和课程信息,减少教务人员的工作量。这就更加需要一个方便快捷的选课管理系统。
网上选课管理有很多优势:(1)信息完整全面等。网上选课系统所提供的信息的数量之多、介绍之全,是令许多传统授课机构望尘莫及的。(2)冲破时空局限。网上选课管理极大地拓展了教务人员的工作区域,无论是在工作时间还是休息时间,只要登录管理系统,就可以随时随地记录学员咨询选课以及缴费情况等各种信息。(3)节省时间。可以在一个系统里同时记录多种信息,大大减少了人力物力。1.2系统的研究现状及存在的问题人们都将目光放在为学生选课提供便利的同时,也不该忽略为线下教育机构教务管理提供便捷。该系统的目的主要是实现教务人员记录信息的方便性,让他们可以在任何地方任何时间选择课程,记录前来咨询人员的信息,可以通过登录系统提交、修改及确认学生所选课程,能够实现学生信息、教师课程信息的增删改查,如学生前来咨询的意向,是否试听课程,选择哪位教师的课程以及课程信息和学员缴费,是否结课等。作为一名舞蹈兴趣爱好者,我经常会选择一些舞蹈机构去通过集训来提高自己,在其他大型教育机构实习时的教务人员经历让我注意到了线下舞蹈机构的信息整理问题,并作出如下总结:(1)很多舞蹈初学爱好者,对舞蹈种类并不了解,来到线下机构需要教务人员进行课程推荐,这就需要教务人员对其咨询意向和推荐课程做一些记录,教务人员都是轮班制,学员每次来咨询的老师也不同,由于没有统一的记录方式,教务人员需要学员重新阐述咨询意向或课程选择,或者及时联系其他教务人员更新学员及课程信息的记录。这就很需要教务人员拥有一个统一公用的选课管理系统,传统记录方式很混乱,不利于及时更新,也不便于不同的教务人员共享信息,给教务人员带来更大的工作量。(2)少儿部舞蹈教学很多选课和缴费都由家长完成,家长平时工作很忙,一般选择利用手机支付转账学费,这就加大了教务人员记录缴费情况的难度,家长在进行缴费时经常联系熟悉的教务人员,时间很有可能并不在工作时间内,这就需要及时通知当时正在上班的其他教务人员进行记录,或等待工作时间进行记录,这中间就不免有遗漏或记录错误的情况发生,不仅容易和家长发生不必要的误会,还会让人对机构产生不信任危机。这就需要有一个可以随时登录记录并更新信息的系统。1.3本文的结构第一章本章阐述了设计该管理系统的背景和它的意义,以及设计之前发现的问题。第二章对系统进行多方面的可行性分析。第三章对系统进行了需求分析。包括系统的功能需求和性能需求。第四章本章主要对系统的总体架构设计以及数据库设计进行一个概要说明;并对系统的功能模块进行整理,描述数据库的建立等。第五章本章是对上一章进行补充,详细的介绍系统所采用的的技术及环境;例如SSM框架技术等;并详细的介绍系统主要功能的设计与实现。第六章本章是对已完成的系统进行测试,包括主要功能的测试用例及测试结果;并作出测试结论。第七章本章中主要是对本次项目进行一次总结与展望,找出在项目中的不足以及需要完善的地方。2系统的可行性分析2.1社会可行性分析本系统实现的是一个选课管理系统。系统为教务管理人员对学生信息的录入提供了方便。通过此系统,每位教务人员获得登陆权限可以登陆此管理系统,可以随时对课程信息进行记录或者更改,可以增加、修改和删除教师基本信息、学生基本信息、课程基本信息。选课管理系统的优势:(1)信息完整全面:选课系统管理所提供的信息的数量之多、之全,是令许多传统授课机构望尘莫及的。(2)冲破时空局限:选课管理系统极大地拓展了教务人员的工作区域,无论是在工作时间还是休息时间,只要登录管理系统,就可以随时随地记录学员咨询选课以及缴费情况等各种信息。(3)节省时间:可以在一个系统里同时记录多种信息,大大减少了人力物力。通过以上论述,认为系统具有社会可行性。2.2技术可行性分析该系统主要采用web和java技术实现界面操作。由于web页面可以做到把文本,图像,声音,视像等多种媒体信息集于一体,不但使信息的显示更加生动,而且使信息的浏览更加方便[10]。JSP技术使得构造基于Web的应用程序更加容易和快捷。通过以上论述,认为系统具有技术可行性。2.3经济可行性分析采用本系统后可以带来以下几个益处:(1)可以更好的提高工作效率将大部分日常记录信息等工作简化成键盘录入,为管理过程提供快速、准确的方式。减少手工操作过程的失误。(2)提供统计功能利于课程管理系统进行分析与统计,最终全面提高管理水平,使选课管理系统走向标准化。通过以上论述,认为系统具有经济可行性。
3系统的需求分析3.1系统的功能需求分析选课管理系统的设计目的是要教育人员对学生选择的课程和学生其他信息进行管理。将系统需求总结起来,得出以下系统需求:(1)系统可以运行在Windows操作系统平台上,并具有友好的用户界面。(2)系统用户类型为教务管理人员。(3)系统只允许用户以一种身份登录。(4)只有教务人员可以记录并更新学生、教师、课程的基本信息。3.2系统的性能需求分析(1)可靠性:传输信息数据要求准确,不能丢失数据,能准确记录(2)易用性:具有一定的计算机知识和操作能力的管理用户即可使用,对使用人员专业能力要求不高,方便教育机构人员操作。(3)兼容性:在windows系列操作系统上都可以正常运行。对硬件的要求也不高,一般PC机上即可。4系统的概要设计4.1总体架构设计本系统采用MVC架构模式,简化了后续对程序的修改以及应用程序的复杂度,使程序的结构更加直观。基于MVC架构模式,系统使用SSM框架。系统采用三个轻量级框架技术,是以spring为中心,集成Spring
MVC和mybatis的框架,即SSM整合框架。在SSM整合框架中开发出可扩展、易维护的系统,可以极大地满足系统的需求。
系统运用MVC开发模式进行开发,是可用于web开发的设计模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分,有效的使代码维护更筒单和思路清晰[8]。视图即表现层是用户看到并与之交互的界面,采用的是JSP+Ajax+jQuery技术,数据访问是DAO组件或数据库连接池数据库则采用mysql数据库建立相应的表。最后开始工程的搭建开发。Mybatis是一种半自动化的ORM框架,可以对SQL语句自由的进行优化,而且现在有插件工具可以实现自动生成实体类和基本的一些语句[12]。综合考虑,本系统采用Mybatis框架。4.2系统的功能模块描述(1)用户登录:选课管理系统的登录页面要求用户输入用户名和密码。输入用户名和密码之后,系统将验证用户名和密码是否正确,如果验证成功,则进入相应的页面。否则,显示重新输入密码信息。(2)记录学生所选课程:在选择课程页面中,其中课程所包含的信息有课程名、教室、上课时间及授课教师等。查看或管理学生信息:教务人员登录后,可以对学生进行相关的操作,包括查看、增加、编辑以及删除学生的信息。查看或管理教师信息:教务人员登录后,可以对教师信息进行相关的操作,包括查看、增加、编辑以及删除教师的信息。查看或管理课程信息:教务人员登录后,可以对课程信息进行相关的操作,包括查看、增加、编辑以及删除课程的信息。4.3系统的数据库设计4.3.1数据库介绍SQLServer除了是一个实现强大功能的系统以外,它更易于用户交付使用,安装少且易于管理。MyBatis可以进行更为细致的SQL优化减少查询字段,因为本系统主要是对数据库的数据进行处理,因此对SQL语句应进行更高度的优化,所以本系统选择MyBatis作为数据库持久层框架[2]。JDBC支持两层模型,也支持三层模型访问数据库。两层模型中,一个JavaApple或者一个Java应用直接同数据库连接,这就需要能直接被访问的数据库进行连接的JDBC驱动器[14]。在三层模型中,命令将被发送到服务的中间层,而中间层将SQL语句发送到数据库。数据库处理SQL语句并将结果返回“中间层”,然后“中间层”将它们返回用户。“中间层”可以进行对访问的控制并协同数据库的更新,另一个优势就是如果有一个“中间层”用户就可以使用一个易用的高层的API,这个API可以由“中间层”进行转换,转换成底层的调用[14]。到目前为止,“中间层”通常还是用C或C++实现,以保证其高性能。但随着优化编译器的引入,将java的字节码转换成高效的机器码,用java来实现“中间层”将越来越实际。而JDBC是允许从一个java中间层访问数据库的关键[14]。Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作[3]。4.3.2系统E-R图E-R图即是数据库的概念设计,也被称为实体-联系图,它是一种概念模型,是对信息进行方便准确的概括。用矩形框表示实体型,框内写明实体名称;用椭圆圆框表示实体的属性,并且,将有一个实体关系的相关实体由实心线段连接。以下为本系统各实体E-R图:图4-1学生信息实体E-R图图4-2课程信息实体E-R图4.3.3数据表本系统创建的SQL数据库包含以下数据表:表4-2学生信息数据表列名数据类型长度是否可空注释idint64否idnamenvarchar255是名字ageint64是年龄sexvarchar255是性别addressvarchar255是地址intentionvarchar255是意向moneydouble255是缴费金额money_timedatetime0是缴费时间statevarchar255是学生状态coursevarchar255是课程course_str_datedatetime0是课程开始时间course_end_datedatetime0是课程结束时间audition_str_timedatetime0是试听开始时间audition_end_timedatetime0是试听结束时间jffsvarchar255是缴费方式create_byvarchar64是创建者create_datedatetime0是创建时间update_byvarchar64是更新者update_datedatetime0是更新时间remarksvarchar2000是备注信息del_flagchar1是删除标记表4-3课程信息数据表列名数据类型长度是否可空注释idint64否idcourse_namevarchar255是课程名称course_str_timedatetime0是课程开始时间course_end_timevarchar255是课程结束时间teachervarchar255是教师create_byvarchar64是创建者create_datedatetime0是创建时间update_byvarchar64是更新者update_datedatetime0是更新时间remarksvarchar2000是备注信息del_flagchar1是删除标记
5系统的详细设计及实现5.1系统实现所采用的技术5.1.1SSM框架技术介绍及运用(一)SpringMVC概述SpringMVC框架是通过实现视图-模型-控制器的模式来将业务、展现与数据进行分离。SpringMVC框架基本上提供了构建Web应用程序的全部功能,使用Spring可以插入MVC架构,因此在使用Spring迸行WEB项目并进行开发时,可选择使用SpringMVC框架[13]。Spring
Web
MVC是一种基于Java的实现了WebMVC设计模式的请求驱动类型的框架,也可以说是使用了MVC架构模式的思想,Spring
Web
MVC框架可以简化日常Web的开发[13]。
SpringWebMVC框架也是一个基于请求驱动的Web框架。SpringWebMVC处理请求的流程如图5-1所示:图5-1Spring
MVC处理流程Spring技术研究
Spring是一个为了解决应用程序开发复杂性而创建的开源框架。Spring框架是一个分层架构,由6个定义良好的模块组成,Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式[9]。其核心模块为IOC容器和AOP。Spring的主要特性:表5-1Spring主要特性1.降低系统模块之间的耦合度。其主要技术包括控制反转(I0C)和面向切面编程(AOP)两大方面。Spring降低耦合度的功能主要通过IOC来实现,IOC是框架的核心,其原理可以理解为程序的所有组件都是被动的,初始化和调用都有容器(Spring)的负责。2.可以使用容器提供的众多服务,提高程序的可重用性和开发效率。3.容器提供单例模式支持,开发人员不需要自己来编写实现代码。4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能。5.容器提供的众多辅作类,使用这些类能够加快应用的开发。6.对主流的应用框架提供了集成支持。5.1.2MVC开发模式的介绍及运用使用MVC应用程序被分成三个核心部件:模型、视图、控制器[8]。MVC应用程序总是由这三个部分组成。它强制性的使应用程序的输入、处理和输出分开。MVC设计模式的工作原理View部分即是应用程序的用户界面,用户通过View层发送请求提交到Controller层,Controller层接受请求根据具体需求调用Model层来处理,再根据Model层调用回来的结果进行跳转[8]。Controller层在整个流程中起到了桥梁的作用,控制数据的流向,而Model层负责业务逻辑的处理和数据库访问。MVC模式偶合性低,视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可[8]。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松耦合构件。MVC模式的处理流程(图5-2)
图5-2
MVC模式的处理流程
用户输入信息后,控制器层(Controller)会将相应的数据传输给模型层(Model),然后模型层会进行相关的业务处理(例如:调用相关类、对数据库进行相应的操作等),在很具处理结果的不同寻找不同的视图(View),视图层将传过来的结果加载到相应的位置,最后显示给用户[8]。5.1.3JSP技术介绍及运用JSP(JavaServerPages)是一种基于Java的脚本技术,这种技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法[7]。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,JSP可以将内容的生成和显示进行分离,用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容[7]。而且几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的[4]。
当一个JSP页面被请求后,JSP引擎将该页面转换为一个Servlet,并将Servlet编译成一个class文件,让服务器进行处理,处理完成后,将内容一HTML代码的形式返回给客户端,并在页面中显示出来[1]。在转换过程中如果发现JSP文件有语法错误,转换过程将中断,并向服务端和客户端输出出错信息,如果转换成功,JSP引擎用javac把该Java源文件编译成相应的.class文件[4]。5.2系统实现所用的环境及开发工具(1)环境:Windows10(2)安装要求:表5-2系统的安装要求处理器1千兆赫或更快内存1GB(32位)或2GB(64)位可用硬盘空间16GB图形卡带有WDDM驱动程序的MicrosoftDirectX9图形设备(3)开发工具:EclipseEclipse是一个IDE(集成开发环境),是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件。5.3关键功能的详细设计与实现5.3.1用户登录@RequestMapping(value="${adminPath}/login") publicStringlogin(HttpServletRequestrequest,HttpServletResponseresponse,Modelmodel)throwsIOException{ Principalprincipal=UserUtils.getPrincipal(); if(logger.isDebugEnabled()){ logger.debug("login,activesessionsize:{}",sessionDAO.getActiveSessions(false).size()); } //如果已登录,再次访问主页,则退出原账号。 if(Global.TRUE.equals(Global.getConfig("notAllowRefreshIndex"))){ CookieUtils.setCookie(response,"LOGINED","false"); } //如果已经登录,则跳转到管理首页 if(principal!=null&&!principal.isMobileLogin()){ return"redirect:"+adminPath; } /** *登录失败,真正登录的POST请求由Filter完成 */ @RequestMapping(value="${adminPath}/login",method=RequestMethod.POST) publicStringloginFail(HttpServletRequestrequest,HttpServletResponseresponse,Modelmodel){ Principalprincipal=UserUtils.getPrincipal(); //如果已经登录,则跳转到管理首页 if(principal!=null){ return"redirect:"+adminPath; } Stringusername=WebUtils.getCleanParam(request,FormAuthenticationFilter.DEFAULT_USERNAME_PARAM); booleanrememberMe=WebUtils.isTrue(request,FormAuthenticationFilter.DEFAULT_REMEMBER_ME_PARAM); booleanmobile=WebUtils.isTrue(request,FormAuthenticationFilter.DEFAULT_MOBILE_PARAM); Stringexception=(String)request.getAttribute(FormAuthenticationFilter.DEFAULT_ERROR_KEY_ATTRIBUTE_NAME); Stringmessage=(String)request.getAttribute(FormAuthenticationFilter.DEFAULT_MESSAGE_PARAM); if(StringUtils.isBlank(message)||StringUtils.equals(message,"null")){ message="用户或密码错误,请重试."; }model.addAttribute(FormAuthenticationFilter.DEFAULT_USERNAME_PARAM,username);model.addAttribute(FormAuthenticationFilter.DEFAULT_REMEMBER_ME_PARAM,rememberMe);model.addAttribute(FormAuthenticationFilter.DEFAULT_MOBILE_PARAM,mobile);model.addAttribute(FormAuthenticationFilter.DEFAULT_ERROR_KEY_ATTRIBUTE_NAME,exception);model.addAttribute(FormAuthenticationFilter.DEFAULT_MESSAGE_PARAM,message);if(logger.isDebugEnabled()){ logger.debug("loginfail,activesessionsize:{},message:{},exception:{}", sessionDAO.getActiveSessions(false).size(),message,exception); }//非授权异常,登录失败,验证码加1。 if(!UnauthorizedException.class.getName().equals(exception)){ model.addAttribute("isValidateCodeLogin",isValidateCodeLogin(username,true,false)); } //验证失败清空验证码request.getSession().setAttribute(ValidateCodeServlet.VALIDATE_CODE,IdGen.uuid()); /** *登录成功,进入管理首页 */ @RequiresPermissions("user") @RequestMapping(value="${adminPath}") publicStringindex(HttpServletRequestrequest,HttpServletResponseresponse,Modelmodel){ Principalprincipal=UserUtils.getPrincipal(); //登录成功后,验证码计算器清零 isValidateCodeLogin(principal.getLoginName(),false,true); if(logger.isDebugEnabled()){ logger.debug("showindex,activesessionsize:{}",sessionDAO.getActiveSessions(false).size()); }5.3.2学生信息管理/** *<p>Description:保存学生信息</p> */ @RequiresPermissions(value={"student:studentInfo:add","student:studentInfo:edit"},logical=Logical.OR) @RequestMapping(value="save") publicStringsave(StudentInfostudentInfo,Modelmodel,RedirectAttributesredirectAttributes)throwsException{ if(!beanValidator(model,studentInfo)){ returnform(studentInfo,model); } studentInfoService.save(studentInfo);//保存 addMessage(redirectAttributes,"保存学生信息成功"); if("1".equals(studentInfo.getState())){ return"redirect:"+Global.getAdminPath()+"/student/studentInfo/?repage"; }elseif("2".equals(studentInfo.getState())){ return"redirect:"+Global.getAdminPath()+"/student/studentInfo/listScg?repage"; }elseif("3".equals(studentInfo.getState())){ return"redirect:"+Global.getAdminPath()+"/student/studentInfo/listScg?repage"; }elseif("4".equals(studentInfo.getState())){ return"redirect:"+Global.getAdminPath()+"/student/studentInfo/listScg?repage"; }elseif("5".equals(studentInfo.getState())){ return"redirect:"+Global.getAdminPath()+"/student/studentInfo/listScg?repage"; }else{ return"redirect:"+Global.getAdminPath()+"/student/studentInfo/?repage"; } } /** *<p>Description:删除学生信息</p> */ @RequiresPermissions("student:studentInfo:del") @RequestMapping(value="delete") publicStringdelete(StudentInfostudentInfo,RedirectAttributesredirectAttributes){ studentInfoService.delete(studentInfo); addMessage(redirectAttributes,"删除学生信息成功"); return"redirect:"+Global.getAdminPath()+"/student/studentInfo/?repage"; }5.3.3缴费页面实现@RequiresPermissions(value={"student:studentInfo:view","student:studentInfo:add","student:studentInfo:edit"},logical=Logical.OR) @RequestMapping(value="formJf") publicStringformJf(StudentInfostudentInfo,Modelmodel){ studentInfo.setState("3"); model.addAttribute("crouseList",courseInofService.findList(newCourseInof())); model.addAttribute("studentInfo",studentInfo); return"ccqnsoft/data/student/studentInfoJfForm"; }5.3.4课程信息管理/** *<p>Description:查看,增加,编辑课程表单页面</p> */ @RequiresPermissions(value={"course:courseInof:view","course:courseInof:add","course:courseInof:edit"},logical=Logical.OR) @RequestMapping(value="form") publicStringform(CourseInofcourseInof,Modelmodel){ model.addAttribute("courseInof",courseInof); return"ccqnsoft/data/course/courseInofForm"; }/** *<p>Description:保存课程</p> */ @RequiresPermissions(value={"course:courseInof:add","course:courseInof:edit"},logical=Logical.OR) @RequestMapping(value="save") publicStringsave(CourseInofcourseInof,Modelmodel,RedirectAttributesredirectAttributes)throwsException{ if(!beanValidator(model,courseInof)){ returnform(courseInof,model); } if(!courseInof.getIsNewRecord()){//编辑表单保存 CourseInoft=courseInofService.get(courseInof.getId());//从数据库取出记录的值 MyBeanUtils.copyBeanNotNull2Bean(courseInof,t);//将编辑表单中的非NULL值覆盖数据库记录中的值 courseInofService.save(t);//保存 }else{//新增表单保存 courseInofService.save(courseInof);//保存 } addMessage(redirectAttributes,"保存课程成功"); return"redirect:"+Global.getAdminPath()+"/course/courseInof/?repage"; } /** *<p>Description:删除课程</p> */ @RequiresPermissions("course:courseInof:del") @RequestMapping(value="delete") publicStringdelete(CourseInofcourseInof,RedirectAttributesredirectAttributes){ courseInofService.delete(courseInof); addMessage(redirectAttributes,"删除课程成功"); return"redirect:"+Global.getAdminPath()+"/course/courseInof/?repage"; }6系统的测试6.1系统的测试概述通过测试舞蹈选择管理系统,找出可以通过教学人员使用这个系统时,进一步想方设法提高而造成的错误;也加深的测试方法的理解,并最终满足用户的需求和期望,从而使系统能够更好地为用户服务,并最终满足系统要求。测试内容主要是功能测试,试图找出在系统运行中可能出现的更多的错误,站在学术人员的立场,并认为实际执行信息查询等功能时,教育管理者都会遇到各种各样的错误。异常,从而完善和校正系统。6.2主要功能的实现输入正确密码点击登录后,登陆成功,出现课程表和学生信息两个模块(图6-1)课程表和学生信息图6-1课程信息主要有查询(图6-2图6-3),编辑(图6-4),删除三个功能输入教师名称查询相关信息图6-2输入课程名称查询相关信息图6-3编辑课程信息图6-4点击添加课程,输入test信息(图6-5)添加课程信息图6-5输入完整信息后保存,成功出现在课表内(图6-6)添加成功图6-6学生信息模块,增加学生信息(图6-7)学生信息的添加图6-7添加测试信息(图6-8)添加test信息图6-8保存学生信息成功,出现查询、编辑、推荐试听、删除信息功能(图6-9图6-10)保存学生信息成功图6-9拥有相同增删改查功能图6-10学生信息的查询和编辑(图6-11图6-12)查看学生信息图6-11编辑学生信息图6-12试听结束后,出现缴费功能按钮,点击缴费,自动出现课程选择界面(图6-13图6-14)试听结束后缴费的自动跳转图6-13
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西艺术职业学院《课程论文新媒体运营方向》2023-2024学年第一学期期末试卷
- 商场物业服务合同范例
- 橱柜店面出售合同范例
- 亮化购货合同范例
- 2024年锥面垫圈项目可行性研究报告
- 饲料订购合同范例
- 危废物运输合同范例
- 人工耕地种地合同范例
- 2024年圆型桶项目可行性研究报告
- 智能灌溉合同范例
- 地质灾害监测和处置方案
- 2023-2024学年江苏省句容市小学语文六年级期末评估试题附参考答案和详细解析
- 基于深度学习算法的垃圾分类图像识别
- 毕业设计(论文)-复方氨基酸注射液车间工艺设计
- 进击的巨人优质获奖课件
- 山东省成人高等教育毕业生登记表
- 【小学数学 】《扇形统计图的认识》说课(课件)六年级上册数学人教版
- 证据清单模板
- 教育教学工作会议记录
- NB∕T 10897-2021 烃基生物柴油
- GB/T 13025.8-1991制盐工业通用试验方法硫酸根离子的测定
评论
0/150
提交评论