摘 要
随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。
本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采springboot技术和mysql数据库来完成对系统的设计。整个开发过程首先对高校教学场馆管理系统进行需求分析,得出高校教学场馆管理系统主要功能。接着对高校教学场馆管理系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括高校教学场馆管理系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对高校教学场馆管理系统进行了功能测试,并对测试结果进行了分析总结,得出高校教学场馆管理系统存在的不足及需要改进的地方,为以后的高校教学场馆管理系统维护提供了方便,同时也为今后开发类似高校教学场馆管理系统提供了借鉴和帮助。
高校教学场馆管理系统开发使系统能够更加方便快捷,同时也促使高校教学场馆管理系统变的更加系统化、有序化。系统界面较友好,易于操作。
关键词:高校教学场馆管理系统; Mysql数据库;springboot框架;
With the development of society, all aspects of society are utilizing the advantages of the information age. The advantages and popularity of the Internet make the development of various systems necessary.
This article takes practical application as the development background, applies software engineering principles and development methods, and mainly uses spring boot technology and MySQL database to complete the system design. The entire development process first analyzes the requirements of the university teaching venue management system, and obtains the main functions of the university teaching venue management system. Next, the overall and detailed design of the university teaching venue management system will be carried out. The overall design mainly includes system functional design, system overall structure design, system data structure design, and system security design; The detailed design mainly includes the implementation of database access for the university teaching venue management system, the specific implementation of the main functional modules, and the key code for module implementation. Finally, a functional test was conducted on the university teaching venue management system, and the test results were analyzed and summarized. The shortcomings and areas for improvement of the university teaching venue management system were identified, which provided convenience for future maintenance of the university teaching venue management system and also provided reference and assistance for the development of similar university teaching venue management systems in the future.
The development of a management system for teaching venues in universities makes the system more convenient and efficient, while also promoting a more systematic and orderly management system for teaching venues in universities. The system interface is relatively friendly and easy to operate.
Key words: University teaching venue management system; MySQL database; Springboot framework;
目录
1 系统概述
1.1 概述
随着信息时代的快速发展,互联网的优势和普及,人们生活水平的不断提高,工作时间的繁忙,使得高校教学场馆管理系统的开发成为必需。高校教学场馆管理系统主要是借助计算机,通过对高校教学场馆管理系统所需的信息管理,增加教师用户的选择,同时也方便广大教师用户信息的及时查询、修改以及对高校教学场馆管理系统信息的及时了解。高校教学场馆管理系统给教师用户带来了更多的选择, 该系统通过和数据库软件协作来满足教师用户的需求。
1.2课题意义
如今,随着移动客户端的普及,微信因为其简单,方便,并且教师用户体验度好,所以被称为现在聊天沟通的新宠,同时也被应用到更多的企业做宣传推广。截至2017年底,微信教师用户数突破10亿,包括银行、证券、快递服务、电子商务等越来越多的公司在微信平台上推出相应的服务平台,以适应教师用户新的行为习惯。微信平台的科研社交网络平台已是势在必行。计算机技术在现代管理中的应用,使计算机成为人们应用现代技术的重要工具。能够有效的解决学生管理便捷化的问题,提高效率。给教师用户提供最全面、最专业的数据管理信息,帮助他们了解最新详细信息,还有就是借助微信端,能够更好的满足教师用户的需求,为教师用户节省时间以达到省时又高效的目的。
1.3 主要内容
高校教学场馆管理系统从功能、数据流程、可行性、运行环境进行需求分析。对高校教学场馆管理系统的数据库、功能进行了详细设计,分析了主要界面设计和相关组件设计,高校教学场馆管理系统的具体实现进行了介绍。从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种数据库查询、插入、删除、更新等操作,在网页中加入动态内容,从而实现高校教学场馆管理系统所需要的各种基本功能。
2 系统开发环境
2.1 开发技术
本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2 spring boot框架介绍:
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
2.3 HTML网页技术
HTML是一种制作网页的常用语言,它一般是用于制作静态页面。它的命令是可以体现文字信息、链接信息、图形信息和表格信息等等。现在它被大众普遍接受广泛应用在网络上[5]。
2.4 MVVM模式
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.5 MySQL描述
现在MySQL数据库在网络上它可以支撑许多个教师用户,而且也可以适应客服机和服务器的部署或者配置等,我们这里的服务器和客户机其实就是一种软件上的概念,并且我们使用的计算机硬件也与他们不存在一一对应的关系[3]。
MySQL是一款非常流行的关系型数据库管理系统,它的出现一直都是佼佼者,它不仅功能非常强大,而且使用起来非常方便,并且MySQL的跨平台能力也很好,软件开发人员非常喜欢它的这些强大的优点。不同于其他关系型数据库,对于数据库的管理它有着自己的一套方案,通过对教师用户设定相应的权限和角色来达到对数据库的管理。由此可见,MySQL是一个能够适用于吞吐量高,可靠性高,效率高的一款数据库管理软件[4]。
优点一:MySQL中对于不同身份的教师用户都设定其不同的权限来完成不同的业务逻辑,这使得MySQL在安全和完整性远远超出了其他关系型数据库。
优点二:对于那些动画、图形和声音的数据类型MySQL也可以支持,这说明多数据类型MySQL也是可以支持的。
优点三:MySQL还可以做到多个平台的开发,软件开发的多种编程语言都可以实现对MySQL数据库的操作[5] [6]。
3 需求分析
3.1 系统设计目标
当今社会的生活节奏越来越快,人们对手机微信的需求也越来越高,不仅对操作简单、功能齐全方面,而且对于教师用户的体验度也有了更高的要求,最快捷高效的方式莫过于利用互联网,将高校教学场馆管理系统和互联网结合起来,为教师用户提供方便快捷的服务。
需求分析的任务是通过详细调查现实要处理的对象,充分了解系统的工作概况,明确教师用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变。
高校教学场馆管理系统主要是为了提高教师用户的工作效率和更方便快捷的满足教师用户,更好存储所有数据信息及快速方便的检索功能,对高校教学场馆管理系统的各个模块是通过许多今天的发达高校教学场馆管理系统做出合理的分析来确定考虑教师用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
高校教学场馆管理系统所要实现的功能分析,对于现在网络方便,高校教学场馆管理系统要实现管理员、教师用户可以直接在平台上进行查看自己所需数据信息,这样既能节省管理的时间,不用再像传统的方式,如果教师用户想要进行交流信息,必须双方见面进行沟通交流所需的信息,由于很多教师用户时间的原因,没有办法进行见面沟通交流,真的很难满足教师用户的各种需求。所以高校教学场馆管理系统的开发不仅仅是能满足教师用户的需求,还能提高教师用户的使用率。所以高校教学场馆管理系统必须要更快捷、有效、长期地为教师用户或潜在教师用户传递信息。建立一个高校教学场馆管理系统更好的交流平台,提高系统对教师用户交流后的信息服务的效率。此系统可以满足大多数教师用户所提出的问题,教师用户可以根据自身的需求获取相应的服务,为高校教学场馆管理系统提供了快捷的途径。
高校教学场馆管理系统在系统的手机上可以运行,主要实现了管理员;首页、轮播图(轮播图管理)、安全公告管理(安全公告)、系统 用户(管理员、教师用户)、模块管理(场馆中心、场馆预约、场馆预约(确认)、场馆归还、馆场设备、设备借用申请、设备借用确认、设备归还、提醒信息、场馆维护、设备报废)、个人中心;首页、模块管理(场馆预约、场馆预约(确认)、场馆归还、设备借用申请、设备借用确认、设备归还、提醒信息)、个人中心等主要功能模块的操作和管理。
总体分布如图3.1所示:
系统实现给教师用户展示的界面与该对象是面对面的,包括是否允许教师用户简单,方便使用,该请求的响应时间,对整体质量的主图像,整体的布局的质量。
3.3 系统可行性分析
技术可行性:
系统的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能够轻松的实现,只是需要确保系统的正常工作即可,以及拥有较高的效率。如果有特别低的硬件,它可以导致系统的低性能以及效率低,从而导致整个网站的运行不顺畅。以目前普遍的个人计算机的配置而言,这是十分容易实现的 。因此,本系统的开发在硬件方面是可行的。
提供完整的技术支持和保护,确保网站的稳定,安全运行,提供24×7和24小时技术支持项目完成提供主要的服务器系统安全及时的通知和更新服务。
提供一个共同的机制类似的借口动态模型,设计更集中。此外,代码复用,也可以很好的体现。因此,考虑到系统的实际情况,选择系统作为本系统开发技术。通过上述分析,该系统的设计实现在软件方面是可行的。
因此,我们进行了两个方面的可行性研究,可以看出,该系统的开发是没有问题的。
3.4经济可行性
系统是基java语言开发的软件,所以系统在开发人力、财力要求不高,具有经济可行性。
3.5操作可行性:
本高校教学场馆管理系统采用java语言springboot框架,利用网络就能够进行访问和操作,且界面简单易操作,教师用户只要平时有在用智能手机并连接到网络,都能进行访问和操作。
本高校教学场馆管理系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此本系统可以进行开发。
3.6系统流程和逻辑
系统业务流程图如图所示:
图3-1登录流程图
图3-2添加信息流程图
图3-3注册信息流程图
4系统概要设计
4.1 概述
本系统基于Web服务模式,是一个适用于Internet环境下的模型结构。只要教师用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2 系统结构
本系统架构网站,本系统的具体功能如下:
图4-2系统功能结构图
系统结构图,如图4-3所示:
图4-3:系统结构图
4.3 数据库设计
4.3.1 数据库实体
管理员信息属性图如图4-4所示。
图4-4 管理员信息实体属性图
教师用户信息实体属性图如图4-7所示。
图4-7教师用户信息实体属性图
馆场设备实体属性图如图4-6所示。
4.3.2 数据库设计表
此系统需要后台数据库,下面介绍数据库中的各个表的详细信息。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表equipment_borrowing_application (设备借用申请)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | equipment_borrowing_application_id | int | 10 | 0 | N | Y | 设备借用申请ID | |
2 | borrowing_number | varchar | 64 | 0 | Y | N | 借用编号 | |
3 | equipment_no | varchar | 64 | 0 | Y | N | 设备编号 | |
4 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
5 | equipment_name | varchar | 64 | 0 | Y | N | 设备名称 | |
6 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
7 | teacher_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
8 | borrowing_date | date | 10 | 0 | Y | N | 借用日期 | |
9 | borrowed_quantity | int | 10 | 0 | Y | N | 0 | 借用数量 |
10 | usage_description | text | 65535 | 0 | Y | N | 用途描述 | |
11 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
12 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
13 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表equipment_borrowing_confirmation (设备借用确认)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | equipment_borrowing_confirmation_id | int | 10 | 0 | N | Y | 设备借用确认ID | |
2 | borrowing_number | varchar | 64 | 0 | N | N | 借用编号 | |
3 | equipment_no | varchar | 64 | 0 | Y | N | 设备编号 | |
4 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
5 | equipment_name | varchar | 64 | 0 | Y | N | 设备名称 | |
6 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
7 | teacher_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
8 | borrowing_date | date | 10 | 0 | Y | N | 借用日期 | |
9 | borrowed_quantity | int | 10 | 0 | Y | N | 0 | 借用数量 |
10 | notification_content | text | 65535 | 0 | Y | N | 通知内容 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | equipment_return_id | int | 10 | 0 | N | Y | 设备归还ID | |
2 | borrowing_number | varchar | 64 | 0 | N | N | 借用编号 | |
3 | equipment_no | varchar | 64 | 0 | Y | N | 设备编号 | |
4 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
5 | equipment_name | varchar | 64 | 0 | Y | N | 设备名称 | |
6 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
7 | teacher_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
8 | borrowing_date | date | 10 | 0 | Y | N | 借用日期 | |
9 | borrowed_quantity | int | 10 | 0 | Y | N | 0 | 借用数量 |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | equipment_scrapping_id | int | 10 | 0 | N | Y | 设备报废ID | |
2 | scrap_number | varchar | 64 | 0 | Y | N | 报废编号 | |
3 | equipment_no | varchar | 64 | 0 | Y | N | 设备编号 | |
4 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
5 | equipment_name | varchar | 64 | 0 | Y | N | 设备名称 | |
6 | scrap_date | date | 10 | 0 | Y | N | 报废日期 | |
7 | scrap_quantity | int | 10 | 0 | Y | N | 0 | 报废数量 |
8 | scrap_description | text | 65535 | 0 | Y | N | 报废描述 | |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hall_equipment_id | int | 10 | 0 | N | Y | 馆场设备ID | |
2 | equipment_no | varchar | 64 | 0 | N | N | 设备编号 | |
3 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
4 | equipment_cover | varchar | 255 | 0 | Y | N | 设备封面 | |
5 | equipment_name | varchar | 64 | 0 | Y | N | 设备名称 | |
6 | number_of_equipment | int | 10 | 0 | Y | N | 0 | 设备数量 |
7 | device_details | longtext | 2147483647 | 0 | Y | N | 设备详情 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | reminder_information_id | int | 10 | 0 | N | Y | 提醒信息ID | |
2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
3 | reminder_date | date | 10 | 0 | Y | N | 提醒日期 | |
4 | reminder_content | text | 65535 | 0 | Y | N | 提醒内容 | |
5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | teacher_users_id | int | 10 | 0 | N | Y | 教师用户ID | |
2 | teacher_id | varchar | 64 | 0 | N | N | 教师工号 | |
3 | teacher_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | teacher_gender | varchar | 64 | 0 | Y | N | 教师性别 | |
5 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | venue_center_id | int | 10 | 0 | N | Y | 场馆中心ID | |
2 | venue_number | varchar | 64 | 0 | N | N | 场馆编号 | |
3 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
4 | cover | varchar | 255 | 0 | Y | N | 封面 | |
5 | number_of_venues | int | 10 | 0 | Y | N | 0 | 场地数量 |
6 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
7 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
8 | venue_introduction | longtext | 2147483647 | 0 | Y | N | 场馆介绍 | |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | venue_maintenance_id | int | 10 | 0 | N | Y | 场馆维护ID | |
2 | venue_number | varchar | 64 | 0 | Y | N | 场馆编号 | |
3 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
4 | cover | varchar | 255 | 0 | Y | N | 封面 | |
5 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
6 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
7 | maintenance_date | date | 10 | 0 | Y | N | 维护日期 | |
8 | maintenance_quantity | int | 10 | 0 | Y | N | 0 | 维护数量 |
9 | maintenance_content | longtext | 2147483647 | 0 | Y | N | 维护内容 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | venue_reservation_id | int | 10 | 0 | N | Y | 场馆预约ID | |
2 | appointment_number | varchar | 64 | 0 | Y | N | 预约编号 | |
3 | venue_number | varchar | 64 | 0 | Y | N | 场馆编号 | |
4 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
5 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
6 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | appointment_date | date | 10 | 0 | Y | N | 预约日期 | |
9 | teacher_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
10 | appointment_quantity | int | 10 | 0 | Y | N | 0 | 预约数量 |
11 | appointment_description | text | 65535 | 0 | Y | N | 预约描述 | |
12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
13 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
14 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表venue_reservation_confirmation (场馆预约(确认))
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | venue_reservation_confirmation_id | int | 10 | 0 | N | Y | 场馆预约(确认)ID | |
2 | appointment_number | varchar | 64 | 0 | N | N | 预约编号 | |
3 | venue_number | varchar | 64 | 0 | Y | N | 场馆编号 | |
4 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
5 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
6 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | appointment_date | date | 10 | 0 | Y | N | 预约日期 | |
9 | teacher_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
10 | appointment_quantity | int | 10 | 0 | Y | N | 0 | 预约数量 |
11 | notification_content | text | 65535 | 0 | Y | N | 通知内容 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | venue_return_id | int | 10 | 0 | N | Y | 场馆归还ID | |
2 | appointment_number | varchar | 64 | 0 | N | N | 预约编号 | |
3 | venue_number | varchar | 64 | 0 | Y | N | 场馆编号 | |
4 | venue_name | varchar | 64 | 0 | Y | N | 场馆名称 | |
5 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
6 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | appointment_date | date | 10 | 0 | Y | N | 预约日期 | |
9 | teacher_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
10 | appointment_quantity | int | 10 | 0 | Y | N | 0 | 预约数量 |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
系统详细设计
本系统使用了springboot和mysql结合的结构开发了高校教学场馆管理系统应用,系统中所有和数据库有关系的操作都通过一个通用类来实现,大大提高了代码的耦合性,当数据库类型等信息变化后直接修改类文件就可以了,不再需要每个页面都修改。另外本系统解决了中文的问题,也是在配置文件中添加了编码方式的形式解决的,本系统另外一个大的特点是系统对数据库的操作都单独的写在了一个类里,这样对系统的所有数据库操作都只访问这个类就可以了,不要每个页面都去写数据库的操作,提高了系统的集成性。
5.1管理员功能模块
管理员登录,在登录页面填写教师用户、密码权限以及验证码进行登录如图5-1所示。
图5-1管理员登录界面图
管理员登录代码如下:
server:
port: 5000
servlet:
context-path: /api
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/CS725260_20211101091736?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
jackson:
property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
default-property-inclusion: ALWAYS
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
管理员登录到高校教学场馆管理系统可以查看首页、轮播图(轮播图管理)、安全公告管理(安全公告)、系统 用户(管理员、教师用户)、模块管理(场馆中心、场馆预约、场馆预约(确认)、场馆归还、馆场设备、设备借用申请、设备借用确认、设备归还、提醒信息、场馆维护、设备报废)、个人中心管理等内容,如图5-2所示。
图5-2管理员功能界面图
轮播图管理,在轮播图管理页面可以查看轮播图、标题等信息,并可以进行添加、删除等操作,如图5-3所示。
图5-3轮播图管理界面图
轮播图管理代码如下:
@SpringBootApplication
@EnableJpaRepositories
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
教师用户管理,在教师用户管理页面可以查看昵称、教师用户名、教师用户编号、教师用户姓名、密码、手机号码、邮箱等信息,并可根据需要进行添加、删除详细等操作,如图5-4所示。
图5-4教师用户管理界面图
安全公告管理,在安全公告管理页面添加安全公告:标题、内容等信息,并可以进行添加、删除详细等操作,如图5-5所示:
图5-5安全公告管理界面图
场馆预约管理,在场馆预约管理页面图可以对预约编号、负责人、场馆编号、场馆名称、负责人、联系电话、教师用户、预约日期、预约描述、教师姓名、预约数量、审核状态、预约数量、审核回复等内容,并可进行添加、删除、详细等操作,如图5-6所示:
图5-6场馆预约管理界面图
馆场设备管理,在馆场设备管理页面可以查看内容:设备编号、场馆名称、设备封面、设备名称、设备数量等内容,并可在该页面进行申请借用、报废、查看评论、添加、删除详情等操作,如图5-7所示:
图5-7 馆场设备管理界面图
5.2教师用户功能模块
在系统首页注册,学生在前台页面注册信息:账户、设置密码、确定密码、昵称、邮箱、身份、手机号、教师用户编号、教师用户姓名等内容,如图5-8所示:
图5-8教师用户注册界面图
教师用户注册代码如下:
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
query.put("username",user.getUsername());
List list = service.select(query, new HashMap<>()).getResultList();
if (list.size()>0){
return error(30000, "用户已存在");
}
user.setUserId(null);
user.setPassword(service.encryption(user.getPassword()));
service.save(user);
return success(1);
}
/**
* 用户ID:[0,8388607]用户获取其他与用户相关的数据
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Integer userId;
/**
* 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
*/
@Basic
@Column(name = "state")
private Integer state;
/**
* 所在用户组:[0,32767]决定用户身份和权限
*/
@Basic
@Column(name = "user_group")
private String userGroup;
/**
* 上次登录时间:
*/
@Basic
@Column(name = "login_time")
private Timestamp loginTime;
/**
* 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
*/
@Basic
@Column(name = "phone")
private String phone;
**
* 手机认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "phone_state")
private Integer phoneState;
/**
* 用户名:[0,16]用户登录时所用的账户名称
*/
@Basic
@Column(name = "username")
private String username;
/**
* 昵称:[0,16]
*/
@Basic
@olumn(name = "nickname")
private String nickname;
/**
* 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
*/
@Basic
@Column(name = "password")
private String password;
/**
* 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
*/
@Basic
@Column(name = "email")
private String email;
/**
* 邮箱认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "email_state")
private Integer emailState;
/**
* 头像地址:[0,255]
*/
@asic
@Column(name = "avatar")
private String avatar;
/**
* 创建时间:
*/
@Basic
@Column(name = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@Basic
@Transient
private String code;
}
学生登录页面,在学生登录页面输入:教师用户名、密码、权限验证码等内容进行登,如图5-9所示:
图5-9用户登录界面图
用户登录代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
/查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
教师登录到高校教学场馆管理系统可以查首页、模块管理(场馆预约、场馆预约(确认)、场馆归还、设备借用申请、设备借用确认、设备归还、提醒信息)个人中心管理等内容,如图5-10所示。
图5-10教师功能界面图
设备借用申请,在文档管理页面可以查看教师姓名、借用日期、借用数量、用途描述、审核状态、审核回复等信息进行提交,如图5-11所示。
图5-11设备借用申请界面图
提醒信息,在提醒信息页面可以查看教师用户、提醒日期、提醒内容等信息,如图5-12所示。
图5-12提醒信息管理界面图
6 系统测试
6.1 测试理论
软件系统测试的目的是通过测试找出在程序中的存在的错误信息和阻碍程序正常运转的安全隐患。这同时也是每一个系统软件测试的主要的规定,软件系统的应用过程中,发现一个重要的错误也是极具有很大的影响力的,一个好的测试的方案就为发展程序中存在的重大问题的;同样,一个成功的测试方案也就发现了迄今为止尚未发现的一个重要错误的测试。
软件测试的主要的好处就是为了让软件的运行情况更好,让教师用户的使用的过程中更加的满意。在软件工程中,软件测试是一个十分重要环节,在交付教师用户使用最终的软件之前,软件测试就是一个检验的过程,主要针对的是软件的软件设计开发、需求分析、系统编码各阶段结果的一个检验过程。
软件测试应遵循的原则如下:
(1) 软件测试要尽快的进行并且整个测试部分要是在整个软件开发的各个过程和细节。在发现了错误的情况下,立刻处理,这样会大大的减少软件的开发成,提高软件的质量。
(2) 在关于软件的各种测试中,例如测试的过程中使用的计划、报告等等要做到妥善的处理和保管,主要目的就是为了方便将来的对系统的维护。
(3) 群集现象是应该得到高度重视的,在软件的整个测试的过程中。就是在整个测试的过程中发现了错误的主要地方很有可能是就很多的错误的聚集的地方,所以要对这样的部分给予特殊的照顾。
(4) 对于软件的测试要尽量不要软件的设计开发人员或是机构,而是要另一方来进行测试程序,这样也是为了保证软件的测试结果的客观性以及公平公正性。
(5) 对于整个测试计划要严格的按照一定的规则来进行软件测试。
(6) 关于软件测试的过程中的用例应该是预期结果以及之前输入的数据信息构成,输入条件中的要考虑的有合理和不合理的因素都要考虑到,这样也是为了更好的帮助开发的人员更多的发现软件中存在的错误。
(7) 对于整个的测试结果进行全面的检查,尽量避免出现重复的错误。
6.2 测试方法及用例
从教师用户的角度来看,测试时不了解新开发软件的内部结构,因此可以将系统与黑匣子进行比较,盲目输入后可以查看系统给出的反馈。这种测试属于黑盒测试,在测试中如果输入错误信息系统会报错。
测试软件程序的整体状态(称为性能测试)通常使用自动化测试工具来检测系统的整体功能,在负载和压力测试之间进行划分,在某些情况下,将两者结合起来。虽然压力测试可以检测到系统可以提供的最高级别的服务,但是负载测试可以测试系统如何响应增加的负载。
在对系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个系统开发所牵扯的该问题都必须一一解决,提高系统的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽了解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
测试用例:
表6.1 教师用户注册测试用例
用例编号 | UC-TEST-001 | 测试名称 | 教师用户注册 | |
前提条件 | 教师用户注册 | |||
步骤 | 操作描述 | 数据 | 期望结果 | |
1 | 点击教师用户注册查看详情按钮 | 无 | 跳转到教师用户注册详情 | |
2 | 点击添加按钮 | 无 | 跳转到添加页面 | |
3 | 选中添加后按钮 | 无 | 跳转到教师用户注册页面 | |
测试说明 | 教师用户未登录时到步骤3跳转到登录页面 | |||
测试结果 | 成功 | 测试人 |
表6.2 登录测试用例
情况 | 教师用户名输入 | 密码输入 | 期望结果 |
(1) | 15546219225 | 1244566 | 提示“教师用户名或者密码错误,或账号未经审核” |
(2) | aaaaa | 123456 | 提示“教师用户名或密码错误,或者账号未经审核” |
(3) | 111 | 111 | 登陆成功 |
6.3测试结果
测试后得到的性能和用例,系统具有足够的正确性、可靠性、稳定性,并且可以对输入数据进行准确的点击操作处理和响应测试教师用户的体验也得到了很好的反馈和响应时间。合理的范围,可以兼容所有主流浏览器,设计所需的效果。
结论
高校教学场馆管理系统的设计,通过互联网来解决实现信息化的网站系统,通过我四年所学的所有专业知识整合一起,进行对高校教学场馆管理系统进行开发设计,当然在真正着手来做的时候遇到了很多问题,一个是网站的技术问题,一个是自己之前没有单独开发过程序,动手实践比较少,面对问题的同时,自己的自信心也受到了一些打击,不过我也是快速的调整自己的状态,老师与同学讨论的方法解决了所有的困难。
毕业设计是我们所学知识应用的最佳体现,也是在考核我们四年中所学的所有的专业知识及技术应用情况,通过这样毕业设计可以更好的得到锻炼及对所学知识的复习及运用,也是一种训练和实践。高校教学场馆管理系统的实现,不仅巩固了我以前的知识,还对学到的知识通过结合技术进行详细了解,还结合了对跨学科效果的深入理解。
在以后我的工作中,我仍然会继续努力我的计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信自己可以胜任更多的好工作并在工作领域做出更大的贡献。
回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作让我有了更多的信心,我相信在未来的路上,我会走的更好。
致 谢
毕业设计结束的同时也意味着四年的大学生活就要结束了。高校教学场馆管理系统的完成以及如何在系统运行过程中实现的更好,这其中付出了很大的努力,这段时光将会终身难忘。
在毕业设计的这一段时间里,离不开导师的细心指导,还有同学们的热情帮助,有时候几个同学在一起讨论系统中的某个功能模块如何实现,如何实现的更好,或是问题没得到有效的解决,就会没有心思做其他的事情,让我们对理想充满了动力。
在毕业设计即将结束之时,首先要感谢我的指导老师,谢谢您在毕业设计和毕业论文中对我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。 课堂上,您教会我们如何做人、教会我们新的知识,在课下,您又像朋友一样亲切,教会了我很多道理,让我意识到先做人、后做事。感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。感谢大学里教过我的每一位老师,真心祝福您们。
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
最后,耽误了老师的休息时间来对本文进行审阅,评议和参与论文答辩的各位老师表示深深的感谢。在此,衷心的谢谢您们!
[1]王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
[2]刘鹏.基于SpringBoot的在线学习系统与用户画像构建[J].无线互联科技,2023,20(04):136-138.
[3]董袁泉,贾苏,钱梦颖.基于SpringBoot的自动化车座安排系统[J].电脑知识与技术,2023,19(02):47-49.DOI:10.14004/j.cnki.ckt.2023.0058.
[4]王以伍,舒晖.基于SpringBoot+Vue前后端分离的高校实验室预约管理系统的设计与实现[J].现代计算机,2023,29(01):114-117.
[5]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).
[6]葛萌,李闯楠,高凯.基于SpringBoot的地方精准扶贫管理系统[J].软件,2022,43(09):17-19+31.
[7]王振飞. 智慧体育视域下体育场馆管理信息系统构建与优化路径研究[D].武汉体育学院,2022.DOI:10.27384/d.cnki.gwhtc.2022.000107.
[8]杨宇,徐万明.基于Springboot微信小程序用户管理系统设计[J].电脑与电信,2022(03):63-67.DOI:10.15966/j.cnki.dnydx.2022.03.023.
[9]林涵,陈先梅.基于C/S结构的体育场馆管理系统的设计与实现[J].体育风尚,2022(01):71-73.
[10]孙永升.基于SpringBoot的信保系统的分析与设计[J].现代信息科技,2021,5(20):67-70+77.DOI:10.19850/j.cnki.2096-4706.2021.20.018.
[11]单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术,2021,17(30):40-41+50.DOI:10.14004/j.cnki.ckt.2021.2868.
[12]马聪,华亮,羌予践.一种基于SpringBoot架构下的水质监测系统设计[J].电子器件,2021,44(05):1109-1114.
[13]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).
[14]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).
[15]李紫涵.高校发展体育场馆设施管理系统分析与设计[J].营销界,2020(35):142-144.
[16]温从明,朱树煌.基于web平台的高校体育场馆管理系统的设计与实现[J].体育风尚,2020(04):266-267.
[17]吴俊杰.基于微信小程序的高校体育场馆订场管理系统的应用[J].智库时代,2020(05):243-244.
[18]黄从亮,肖婉君.互联网时代下web平台在高校体育场管理系统中的运用[J].通讯世界,2019,26(03):223-224.
[19]Liu S,Li X,Sun P. Design and Implementation of Communication Base Station Survey System based on Springboot[C]//香港新世纪文化出版社(Hongkong New Century Cultural Publishing House).2018年智慧教育与人工智能发展学术会议论文集(第一部分).2018年智慧教育与人工智能发展学术会议论文集(第一部分),2018:34-36.
[20]Deng Fei. Built on SpringBoot's travel platform[P]. Jiangxi Industrial and Polytechnic College (China),2022.
免费领取源码,请点赞关注私信博主