绪论
1.1系统开发的背景
钢琴课是音乐等艺术专业的核心课程,也是为培养具备弹奏技能、音乐表演技能和歌曲伴奏编配技能艺术人才的基础课程。无论是否为钢琴专业的学生,是否有钢琴基础知识,都将是每个音乐相关艺术类学生必修的一门技能课。钢琴课与其他一般理论课教授不同,它既需要做到口传心授,又需要跟学生面对面、甚至手把手才能做好教学,而且学生一定需要多观摩,多练习并且及时得到指导才充分掌握该项技能。一味强调老师重复教学既浪费教学资源,学生学习效果差,也会逐渐丧失学习的信心。由此可见,为学生提供一个课程配套的学习支持平台非常重要。目前音乐专业的琴房实验室管理方法、授课手段相对陈旧落后,设备利用率较低,原有Web琴房管理系统信息化程度不高,普及率低,使用不便捷。对此,利用微信小程序强大的开发接口和广泛的学生基础,实现教学视频录制和推送、设备使用预约和管理,上课质量监控,测验及考核等功能,更加便捷和科学化的管理琴房,广大师生可随时使用该系统传递和获取信息,大大提高了琴房实验室使用率和教学质量,可有效解决上述问题,具备一定的应用价值。
信息技术的发展改变了我们的生活方式,许多行业的管理模式发生了根本性改变,蓬勃发展的信息技术带来了大量的数据,通过数据可以获取到许多隐藏在背后的发展机遇。而这些数据都是存储在数据库中,数据库通过分类、检索、分析对数据进行处理,为人工智能、AI科技、物联网提供数据支撑,所以数据库技术也是信息技术必不可少的重要组成部分。
在信息技术带动下,也影响着教育教学活动。在钢琴培训企业,各种教学管理也逐渐实现了自动化、智能化,特别是在教学方法上,通过管理系统进行深层次的推广和改进,提升教学效果。数字化管理是目前钢琴培训企业重点建设的项目,它包括设施、财力、人力等各个方面。以校园网为中心,实现校园内资源、服务等的数字化,并将科研、教学和学生日常生活进行综合管理。为师生提供快捷的服务平台,数字化校园并不单单是一个口号,我国目前许多钢琴培训企业已经展开了建设,并获得了一定的成效。接下来将逐渐深层次发展,实现不同教学模块的共同提高,最大程度地满足教学需求,为钢琴培训企业未来的发展提供帮助。
在钢琴培训企业,琴房作为最基础的设施,也逐渐需需要进行信息化管理,把琴房类型、座位状态、预约等结合在一起,通基于微信小程序的琴房管理系统,可以有效的对这些内容进行整合,提高钢琴培训企业琴房利用率。。
1.2系统开发的意义
钢琴培训企业是培养人才的地方,对智能化发展非常重视,利用互联网的基础搭建各种管理系统,实现企业内信息的有效管理,对教育教学、学生生活、钢琴培训企业宣传等进行综合管理。在钢琴培训企业教务管理中,功能模块的数据通过数据库存储,并为各个模块预留扩展空间,建立有效的操作权限,对数据进行加密,保障系统安全。信息技术提高了教学的效率,实现了数字管理,充分发挥信息技术的优势,将钢琴培训企业教育数据进行收集整理,并完成统计分析,体现出信息技术先进生产力的方面。
本文研发的基于微信小程序的琴房管理系统结合钢琴培训企业具体的实际,利用编程基础和数据库实现教务信息化管理。充分利用企业的现有资源,把目前落后的管理现状提升到信息化管理模式中,减轻琴房管理工作量,有助于教学工作规范。基于微信小程序的琴房管理系统帮助教师有效的管理琴房信息,学生通过系统了解琴房的使用情况,变化情况。减少徒步到琴房查看状态的时间,并通过系统可以查看各种公告以及教学公告信息。在交流模块也可以和其他同学或者老师在线交流。获取钢琴学习的问题和解决方法,有效提升时间利用情况,提高了学习效率。
1.3本文研究内容
本课题选择拓展性比较好的技术来进行开发,数据库选择MySQL进行建库,Java是目前最为流行的技术,无论是成熟度和未来发展都更能适应本基于微信小程序的琴房管理系统的业务。
本课题使用面向对象的设计思想进行设计,对系统的现状进行调研,收集当前基于微信小程序的琴房管理系统的需求,以及对钢琴培训企业业务的调查,整理需求文档,使用用例图状态图等进行描述,接着使用面向对象技术设计系统功能,系统数据库。完成基于微信小程序的琴房管理系统主要包括了系统的开发背景收集、建模工具选型、技术确定、需求分析的整理、数据库的设计和功能模块划分、系统环境的部署、实现测试方法的选择,以及最后的搭建部署。。
系统开发技术
2.1 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 微信小程序介绍
微信开发者工具是为小程序开发的一个软件,包括多个版本,在微信开发者工具主页可以下载使用。微信开发者工具是个免费的软件,在传统的HTML编程中,浏览器可以解释HTML、CSS以及JS代码,实现页面的显示。微信开发者工具是将视图和业务逻辑层同时加载,优化了浏览器操作,减少执行时间。微信开发者工具还实现了代码编写、上传、生成二维码预览等功能。
微信小程序是建立的微信聊天工具APP之上的一个应用,腾讯公司推出的一个平台。
微信小程序解决了传统Android应用的缺点,不需要占用手机资源就可以实现APP的功能。用户点开小程序中的系统之后进行操作,完成操作后即可离开,不需要下载第三方应用,节省了手机的资源。
小程序也不需要额外注册账号,可以和微信用户进行绑定,通过建立在微信接口之上获取权限进行进行操作。
微信小程序操作简洁,用户体验良好。开发难度低,成本小,大大的节省了开发时间。
微信小程序也可以实现一些比较复杂的功能。通过后台服务器和数据库的支持,存储了大量的信息数据,并完成复杂的业务逻辑判断,进而提供给小程序的最终的结果,体现了小而大的特点。
系统分析
3.1用户需求分析
基于微信小程序的琴房管理系统的用户是系统最根本使用者,按需要分析系统包括两类用户:学生、管理员。这两类用户对系统的需求简要如下。
3.1.1 学生用户
学生用户只要实现了前台信息的查看,打开首页,查看网站介绍、琴房信息、在线留言、轮播图信息公告等,通过点击首页的菜单跳转到对应的功能页面菜单,包括网站首页、琴房信息、注册登录、个人中心、后台登录。
学生用户通过账户账号登录,登录后具有所有的操作权限,如果没有登录,不能在线预约。学生用户退出系统将注销个人的登录信息。
3.1.3 管理员用户
管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括轮播公告管理、老师学生信息管理和信息审核管理,管理员管理后点击退出,注销登录信息。
管理员用户具有在线交流的管理,琴房信息管理、琴房预约管理。
在线交流是对前台用户留言内容进行管理,删除留言信息,查看留言信息。琴房类型管理,添加某一个琴房类型信息。钢琴培训企业琴房管理,用户添加钢琴培训企业琴房信息,包括钢琴培训企业琴房名称、最大容纳数、钢琴培训企业琴房的位置、钢琴培训企业琴房的状态、对应钢琴培训企业琴房的图片,添加后在钢琴培训企业琴房管理中对信息进行。操作后退出系统。
3.2 系统用例分析
3.2.1 公告管理用例分析
管理员用户登录系统,进行公告的管理,选择相关的公告名称,并上传公告信息,管理员用户查看公告。用例分析图如图3.1所示:
公告信息管理用例规约如表3.1所示。
表3.1 公告管理用例规约
项目 | 基于微信小程序的琴房管理系统公告管理 |
简要说明 | 收集公告信息,修订删除公告信息,管理相关联的其它基础内容。 |
前置条件 | 成功运行基于微信小程序的琴房管理系统,并获取登录授权。 |
后置条件 | 存储信息到数据库,并成功生成公告信息列表。 |
过程流 | 1、公告信息的收集有三种途径,第一,文档中导入公告信息。第二,从其他相关系统中通过接口把公告信息导入到本数据库。最后通过界面录入,把公告的信息保存到数据库。
2、对公告信息的删除,如果录入错误或者历史公告,需要定期进行删除操作,并验证是否删除成功。 3、公告信息的修改,是遇到录入错误的情况下,或者公告基本信息发生改变,对公告信息进行修改。修改后验证数据库记录是否同步。 4、公告信息的查询,在列表页面,检索数据库中所有的公告信息加载到列表。通过特定条件查询公告信息。 5、如果发生异常,提示产生异常的原因,或者返回到主页面联系管系管理员进行处理。 |
3.2.2 系统管理用例分析
系统管理是指系统的用户登录、系统注销、修改密码等功能。系统管理的用例分析图如图3.2所示:
图3.3 系统管理用例分析图
其中管理员登录用例规约如以下几个方面。
表3.2 管理员登录用例规约
项目 | 基于微信小程序的琴房管理系统用户登录 |
简要说明 | 验证用户权限。 |
前置条件 | 成功运行基于微信小程序的琴房管理系统。 |
后置条件 | 登录成功,生成用户操作权限列表。 |
过程流 | 1、验证用户名信息是否为空,是否符合规范、长度是否合法验。
2、证密码信息密码是否规范,过滤关键字如select、delete等关键字,防止SQL注入。 3、查询数据库中是否存在用户输入的信息,查询该用户的权限信息,生成权限列表。 4、如果发生异常,提示产生异常的原因,或者返回到主页面联系管系管理员进行处理。 |
3.2.3 学生信息用例分析
用户信息包括管理员信息、学生、教师信息。其中学生信息管理的用例分析图如图3.3所示:
图3.4 学生信息管理用例分析图
学生信息管理用例规约如表3.3所示。
项目 | 基于微信小程序的琴房管理系统学生管理 |
简要说明 | 收集学生信息,修订删除学生信息,管理相关联的其它基础内容。 |
前置条件 | 成功运行基于微信小程序的琴房管理系统,并获取登录授权。 |
后置条件 | 存储信息到数据库,并成功生成学生信息列表。 |
过程流 | 1、通过界面录入,把学生的信息保存到数据库。
2、对学生信息的删除,如果录入错误或者历史学生,需要定期进行删除操作,并验证是否删除成功。 3、学生信息的修改,是遇到录入错误的情况下,或者学生基本信息发生改变,对学生信息进行修改。修改后验证数据库记录是否同步。 4、学生信息的查询,在列表页面,检索数据库中所有的学生信息加载到列表。通过特定条件查询学生信息。 5、如果发生异常,提示产生异常的原因,或者返回到主页面联系管系管理员进行处理。 |
3.2.4 钢琴培训企业琴房管理用例分析
教师用户登录系统,录入钢琴培训企业琴房,包括容纳人数和位置等信息。用户登录后可以进行信息修改。钢琴培训企业琴房管理的用例分析图如图3.6所示:
图3.6 钢琴培训企业琴房信息管理用例分析图
钢琴培训企业琴房管理用例规约如3.4所示:
表3.4 钢琴培训企业琴房管理用例规约
项目 | 基于微信小程序的琴房管理系统钢琴培训企业琴房管理 |
简要说明 | 收集钢琴培训企业琴房信息,修订删除钢琴培训企业琴房信息,管理相关联的其它基础内容。 |
前置条件 | 成功运行基于微信小程序的琴房管理系统,并获取登录授权。 |
后置条件 | 存储信息到数据库,并成功生成钢琴培训企业琴房信息列表。 |
过程流 | 1、通过界面录入,把钢琴培训企业琴房的信息保存到数据库。
2、对钢琴培训企业琴房信息的删除,如果录入错误或者历史钢琴培训企业琴房,需要定期进行删除操作,并验证是否删除成功。 3、钢琴培训企业琴房信息的修改,是遇到录入错误的情况下,或者钢琴培训企业琴房基本信息发生改变,对钢琴培训企业琴房信息进行修改。修改后验证数据库记录是否同步。 4、钢琴培训企业琴房信息的查询,在列表页面,检索数据库中所有的钢琴培训企业琴房信息加载到列表。通过特定条件查询钢琴培训企业琴房信息。 5、如果发生异常,提示产生异常的原因,或者返回到主页面联系管系管理员进行处理。 |
3.3 非功能性需求分析
在确定了系统功能性需求之后,还需要对系统的非功能性需求进行分析,保障系统可持续运行。基于微信小程序的琴房管理系统非功能性需求包括性能需求、稳定性需求、安全性需求、扩展性需求。
性能需求是保证系统响应速度和响应时间等方面。本基于微信小程序的琴房管理系统上线运行后,面对的用户群较多,可能发生多个用户并发请求数据,而且连接数据库的线程较多,那么响应速度将会对系统的负载要求较高,要求各业务响应速度不大于两秒,数据库资源占用率不能高于80%,否则将会发生死机或者数据丢失的情况。另外在高负荷运行下也要保证程序的持续性,7*24小时内正常运行。
基于微信小程序的琴房管理系统需要长期稳定性运行,不能因为硬件或者软件原因造成通讯中断,那么将对用户产生一定的影响,所以可以考虑设计备用服务器,如果出现故障,网络接口直接对接到另外一台服务器系统。
系统的安全性要求,虽然本系统是在小范围的内部使用,但是安全性也需要得到保障,防止病毒的入侵,删除数据或者窃取到用户的基本信息。因此,需要利用计算机相关的信息技术对密码和数据进行安全设计。
基于微信小程序的琴房管理系统可扩展性的需求,本系统开发周期较短,收集的需求可能不够全面,那么在后期投入使用的时候,随时就可能发生需求的增加或者变更的要求。那么设计的时候需要考虑功能模块的可扩展性,采用模块化思想,降低相互之间的耦合,为将来的扩展提供空间。也需要考虑系统接口的设计,便于其他系统接入,导入对应的数据,或者是为其他系统提供接口,共享本系统内的基本信息。
第四章 系统设计
4.1系统功能设计
琴房预约管理系统的用户是系统最根本使用者,按需要分析系统包括用户:学生、管理员。
管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括学生信息管理和文章公告管理。琴房公告管理,添加琴房公告信息,给学生发布一些学校的公告内容,为学习提前做准备,管理员管理后点击退出,注销登录信息。
学生用户只要实现了前台信息的查看,打开首页,查看网站介绍、在线交流、信息公告等,学生用户通过账户账号登录,登录后查看琴房、预约琴房。
用户功能结构图如4.1所示:
基于微信小程序的琴房管理系统
系统管理
交流管理
学生管理
琴房管理
预约/取消管理
管理员
学生
用户登录
用户登录
查看公告
查看琴房信息
取消琴房
在线交流
预约琴房
学生注册
图4.1:用户功能结构图
主要功能:
1、学生座位预约:学生按时间预约座位、修改预约、取消预约;
2、提前离开:学生因为突发事情不能在琴房学习,提前离开,取消预约;
3、个人中心:查看个人信息
4、琴房管理:对琴房进行修改,修改琴房状态和开放时间段;
5、学生用户管理:对学生信息进行增删改查;
6、查看和管理交流情况表;
7、公告栏:学生查看公告栏、管理员管理公告栏。
4.2 系统总体设计
4.2.1 系统流程图
基于微信小程序的琴房管理系统包括学生和管理员。登录后维护个人信息,在线查看琴房信息。管理员管理用户信息、管理琴房信息。其中系统流程图如图4.2所示。
琴房分类
琴房信息
预约琴房
管理员
预约信息表
图4.2 系统流程图
4.2.2 数据流图
基于微信小程序的琴房管理系统数据流程图描述系统数据流程,它将数据独立抽象出来,展现信息的来龙去脉。其中基于微信小程序的琴房管理系统的数据流程图如4.3所示:
管理员
1.1
管理琴房
1.2
添、增琴房
教师
1.3
状态
选择
1.4
预约表
2
取消预约
学生
琴房信息
图4.3系统数据流图
4.3 系统架构设计
本基于微信小程序的琴房管理系统在结构上使用SSM框架,这种结构是基于浏览器和服务器的。程序部署在web服务器中,数据库存储在数据库服务器中,客户端通过浏览器访问服务器,通过连接专用网络。专用网络发送请求,服务器通过防火墙过滤非法连接的客户端信息,路由器传数据库服务器和应用程序服务器的信息,返回到客户端。
基于微信小程序的琴房管理系统在技术框架上采用SSM开发模式,包括视图层、业务逻辑层、数据持久层。
视图层是前台界面呈现给客户的页面。在微信小程序页面通过js标签调用后台Java代码,同时使用CSS、JS、AJAX等进行布局,以及和客户交互。
业务逻辑层是处理功能模块的业务,本模块也需要和数据库进行交互,因为许多业务逻辑都是基于数据库的数据之上的判断,所以需要操作数据库数据,通过实体内完成业务接口,并将完成后的数据通过配置文件返回到界面层。
数据持久层是完成数据库的设计,对数据库表进行封装。建立对应的关系,数据持久层本质是实体类和映射层。可以通过软件自动生成,不需要程序员去一行一行的编码。该层也需要完成数据库的操作,启动项目时候可以实例化数据库,把所有的对应的关系进行检查,构造出底层的数据。
4.4 数据库设计
4.4.1 ER图设计
本基于微信小程序的琴房管理系统实体清晰,所以这里只绘制系统整体E-R图,其它的略去E—R图的绘制。
(1)管理员信息实体E-R图:
图4.3管理员E-R图
(2)公告信息实体E-R图
图4.4公告信息实体E-R图
(3)类型信息实体E-R图
图4.5琴房类型信息E-R图
(4)学生信息实体E-R图
图4.6 学生信息实体E-R图
(5) 钢琴培训企业琴房信息E-R图
图4.7 钢琴培训企业琴房信息实体E-R图
(6)留言交流信息E-R图
图4.8 留言交流信息实体E-R图
4.4.2 数据库表设计
基于微信小程序的琴房管理系统包括多个数据库表,下面对数据表进行详细的介绍,每个数据库表包括这个名称,对于类型是否逐渐、是否与空字段的备注信息等。
- 表: 教学公告信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_title | nvarchar(400) | NO | No | 标题 |
No4 | C_introduction | text(16) | NO | Null | 简介 |
No5 | C_picture | nvarchar(400) | NO | No | 图片 |
No6 | C_content | text(16) | NO | Null | 内容 |
- 表: 学生信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_xueshengzhanghao | nvarchar(400) | NO | No | 学生账号 |
No4 | C_xueshengxingming | nvarchar(400) | NO | No | 学生姓名 |
No5 | C_mima | nvarchar(400) | NO | No | 密码 |
No6 | C_xingbie | nvarchar(400) | NO | Null | 性别 |
No7 | C_touxiang | nvarchar(400) | NO | Null | 头像 |
No8 | C_nianling | int(4) | NO | Null | 年龄 |
No9 | C_dianhuahaoma | nvarchar(400) | NO | Null | 电话号码 |
No10 | C_renwu | nvarchar(400) | NO | Null | 任务 |
No11 | C_chengji | int | NO | Null | 成绩 |
- 表: 琴房分类信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_qinfangfenlei | nvarchar(400) | NO | No | 琴房分类 |
- 表: 交流信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_userid | bigint(8) | NO | No | 用户id |
No4 | C_adminid | bigint(8) | NO | Null | 管理员id |
No5 | C_ask | text(16) | NO | Null | 提问 |
No6 | C_reply | text(16) | NO | Null | 回复 |
No7 | C_isreply | int(4) | NO | Null | 是否回复 |
- 表: 管理员信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_username | nvarchar(200) | NO | No | 用户名 |
No3 | C_password | nvarchar(200) | NO | No | 密码 |
No4 | C_role | nvarchar(200) | NO | Null | 角色 |
No5 | C_addtime | timestamp(8) | NO | No | 新增时间 |
- 表: 配置信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_name | nvarchar(200) | NO | No | 配置参数名称 |
No3 | C_value | nvarchar(200) | NO | Null | 配置参数值 |
- 表: 琴房信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_qinfangbianhao | nvarchar(400) | NO | Null | 琴房编号 |
No4 | C_qinfangmingcheng | nvarchar(400) | NO | Null | 琴房名称 |
No5 | C_qinfangfenlei | nvarchar(400) | NO | Null | 琴房分类 |
No6 | C_tupian | nvarchar(400) | NO | Null | 图片 |
No7 | C_rongnarenshu | nvarchar(400) | NO | Null | 容纳人数 |
No8 | C_zhuangtai | nvarchar(400) | NO | Null | 状态 |
No9 | C_shebeisheshi | text(16) | NO | Null | 设备设施 |
No10 | C_kaifangshijian | nvarchar(400) | NO | Null | 开放时间 |
No11 | C_qinfangxiangqing | text(16) | NO | Null | 琴房详情 |
- 表: 预约信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_yuyuebianhao | nvarchar(400) | NO | Null | 预约编号 |
No4 | C_qinfangmingcheng | nvarchar(400) | NO | Null | 琴房名称 |
No5 | C_qinfangfenlei | nvarchar(400) | NO | Null | 琴房分类 |
No6 | C_tupian | nvarchar(400) | NO | Null | 图片 |
No7 | C_yuyueshijian | datetime(8) | NO | Null | 预约时间 |
No8 | C_xueshengzhanghao | nvarchar(400) | NO | Null | 学生账号 |
No9 | C_xueshengxingming | nvarchar(400) | NO | Null | 学生姓名 |
No12 | C_sfsh | nvarchar(400) | NO | Null | 是否审核 |
No13 | C_shhf | text(16) | NO | Null | 审核回复 |
No14 | C_userid | bigint(8) | NO | Null | 用户id |
- 表: 取消预约信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_quxiaobianhao | nvarchar(400) | NO | Null | 取消编号 |
No4 | C_qinfangmingcheng | nvarchar(400) | NO | Null | 琴房名称 |
No5 | C_qinfangfenlei | nvarchar(400) | NO | Null | 琴房分类 |
No6 | C_quxiaoyuanyin | nvarchar(400) | NO | Null | 取消原因 |
No7 | C_tupian | nvarchar(400) | NO | Null | 图片 |
No8 | C_quxiaoshijian | datetime(8) | NO | Null | 取消时间 |
No9 | C_xueshengzhanghao | nvarchar(400) | NO | Null | 学生账号 |
No10 | C_xueshengxingming | nvarchar(400) | NO | Null | 学生姓名 |
No13 | C_sfsh | nvarchar(400) | NO | Null | 是否审核 |
No14 | C_shhf | text(16) | NO | Null | 审核回复 |
No15 | C_userid | bigint(8) | NO | Null | 用户id |
第五章 系统实现
5.1小程序功能的实现
点击导航菜单中的注册即可打开注册页面,注册页面是由文本框、选择框、和注册按钮组成,在文本框中输入需要填写的基本注册信息,点击注册进行信息提交。
如下图所示:
图5-1学生注册界面
首先验证填写的信息是否为空,如果通过验证,才把信息构造为插入语句,调用数据库保存操作,插入信息到数据库,返回保存成功的信息到界面,进行登陆,或者返回到首页。
搭建微信小程序环境后,进入到系统首页,首页包括头部的logo,导航条,中间为文章公告信息。
小程序首页如下图所示:
图5-2 首页
首页是在index页面中,该页面包括头部文件header、文章公告读取数据库中最新的信息,显示图片和对应的链接。在首页中先引入相关的JS和CSS样式。在对应模块中调用数据库操作方法,把读取的结果赋赋给RS数据集合对象,通过循环显示信息。
用户打开本系统后,可以查看琴房列表信息。如下图所示:
图5-4琴房界面
点击琴房,先打开琴房的列表界面,在列表界面读取信息,详细表达所有相关琴房信息,通过JAVA的数据库操作,把列表绑定到result数据集合中,使用while循环,把所有的信息显示到琴房界面。点击琴房,通过该条信息的ID值传递到琴房的详情页面,在详情页面根据当前的ID值查询对应的具体信息。包括标题名称和内容。
用户打开本系统后,可以查看钢琴培训企业琴房信息,并进行预约。如下图所示:
图5-5钢琴培训企业琴房预约界面
输入预约信息后,添加预约记录到数据库中,在个人中心可以查看预约记录,管理员对预约记录进行审核。
用户登录本系统后,可以发表在线交流信息。如下图所示:
图5-6在线交流界面
在线交流包括评论信息的提交和查询显示,在线交流前需要先进行登录,如果没有登。录界面提示登录后才能进行评论,登陆后的信息是通过session进行判断。如果session存在登录信息,就说明已经登录,在评论中输入评论的内容,点击提交,把评论信息保存到数据库中,评论结束之后进行查询。查询通过当前信息的ID进行条件查询,查询的结果保存在数据集合中,对数据集合进行循环显示。
5.2管理员模块的实现
5.2.1 留言管理
在系统主界面中的导航菜单中,有留言按钮,点击按钮,就可以在留言界面进行信息添加和管理。
其中,留言管理界面为5.7所示:
图5.7:留言管理页面
5.2.2 学生信息管理
在系统主界面中的导航菜单中,有学生信息按钮,点击按钮,就可以在学生信息界面进行信息添加和管理。
其中,学生信息管理界面为5.8所示:
图5.8:学生信息管理页面
在学生页面加载学生的信息列表,当执行该页面初始化的时候,调用业务逻辑层的学生查询方法。该方法先定义学生实体类,然后调用数据库中的学生查询方法,把查询结果绑定在list集合中。循环集合,把数据逐条绑定在学生实体对象,最终返回到界面。将得到的学生集合循环绑定到界面控件,根据字段名和数据结果进行映射,最终显示。
5.2.3 公告管理
管理员查看公告信息。其中,公告信息管理界面为5.9所示:
图5.9:公告页面
在公告页面加载公告的信息列表,当执行该页面初始化的时候,调用业务逻辑层的公告查询方法。该方法先定义公告实体类,然后调用数据库中的公告查询方法,把查询结果绑定在list集合中。循环集合,把数据逐条绑定在公告实体对象,最终返回到界面。将得到的公告集合循环绑定到界面控件,根据字段名和数据结果进行映射,最终显示。
5.2.4 钢琴培训企业琴房信息管理
在系统主界面中的导航菜单中,有钢琴培训企业琴房管理按钮,点击按钮,就可以在钢琴培训企业琴房管理界面进行钢琴培训企业琴房信息添加和管理。其中钢琴培训企业琴房添加的界面如下:
图5.6:钢琴培训企业琴房添加页面
首先对钢琴培训企业琴房页面进行布局,完成界面设计。在钢琴培训企业琴房页,输入钢琴培训企业琴房的内容,点击保存,执行保存事件,在该事件中进行数据保存操作。该事件方法先获取用户输入的钢琴培训企业琴房内容,把这些数据绑定到钢琴培训企业琴房实体方法中,对钢琴培训企业琴房的信息进行验证,包括是否为空,是否符合规范数据格式等。通过验证后,调用钢琴培训企业琴房的业务逻辑方法,业务逻辑层先执行钢琴培训企业琴房的唯一性验证,通过验证后,调用数据库操作方法。将在线保修的数据使用插入语句,提交到数据库中。数据库操作方法返回操作成功的信息到业务逻辑层,业务逻辑层再把结果返回到在线保修页面,完成插入操作。
5.2.5 琴房预约审核管理
在系统主界面中的导航菜单中,有琴房预约管理按钮,点击按钮,就可以在琴房预约管理界面进行信息审核和管理。
其中,琴房预约管理界面为5.7所示:
图5.7:琴房预约管理页面
在琴房预约页面加载琴房预约的信息列表,当执行该页面初始化的时候,调用业务逻辑层的琴房预约查询方法。该方法先定义琴房预约实体类,然后调用数据库中的琴房预约查询方法,把查询结果绑定在list集合中。循环集合,把数据逐条绑定在琴房预约实体对象,最终返回到界面。将得到的琴房预约集合循环绑定到界面控件,根据字段名和数据结果进行映射,最终显示。
点击琴房预约信息审核,在琴房预约信息页面中,先通过ID值查询对于的琴房预约信息,把琴房预约信息保存在临时对象中。把变量值绑定到页面中琴房预约信息栏,然后加载页面,把需要审核的信息完成编辑后点击保存,将对这些数据进行验证,如果通过将执行审核操作,验证失败将会提示具体的错误消息。执行审核语句,调用审核的业务逻辑方法,在审核的方法中判断是否存在该琴房预约,如果不存在该琴房预约,调用数据库操作层去执行审核操作,审核成功后返回。
点击琴房预约信息删除,通过ID值查询琴房预约信息是否存在外键关联,先删除外键关联的数据,然后调用删除的数据库方法,删除成功后返回琴房预约信息列表界面。