随着科技的不断发展,特别是在移动互联网和云计算技术的推动下,各行各业都在经历着数字化和智能化的转型。实验室作为科学研究和技术创新的重要场所,其管理和运营模式也亟需与时俱进。传统的实验室预约方式,如电话预约、现场登记等,不仅效率低下,而且难以满足现代科研工作的需求。因此,开发一套基于Android平台的开放实验预约系统,不仅可以提高实验室的使用效率,还能为科研人员提供更加便捷、高效的预约服务。
该系统采用Spring Boot作为后端框架,利用其快速开发、易于维护的特性,实现预约服务的后端逻辑处理。Vue.js作为前端框架,与Spring Boot形成良好的前后端分离架构,负责构建用户友好的预约界面和交互体验。同时,为了满足移动用户的需求,我们还将开发一款基于Android平台的原生应用APP,使得用户能够随时随地进行实验预约。
在设计上,我们注重系统的可扩展性、可维护性和用户体验。通过合理的系统架构设计和组件划分,使得系统易于扩展和维护。同时,我们还将采用多种技术手段,如数据缓存、异步处理、错误处理等,来提升系统的性能和稳定性。
在实现上,我们将按照软件工程的原则和方法,分阶段、分模块地进行开发和测试。通过不断地迭代和优化,确保系统的质量和功能能够满足用户的需求。
综上所述,基于Android平台的开放实验预约系统的设计与实现,不仅是对传统实验室预约方式的一次革命性改进,也是移动互联网和云计算技术在科研领域的一次重要应用。我们期待通过这一系统,为科研人员提供更加便捷、高效的预约服务,推动科研工作的进步和发展。
关键词:JAVA;SpringBoot;开放实验预约系统
Abstract
With the continuous development of science and technology, especially driven by mobile Internet and cloud computing technology, all walks of life are experiencing digital and intelligent transformation. As an important place for scientific research and technological innovation, the management and operation mode of laboratories also urgently need to keep up with the times. Traditional laboratory appointment methods, such as telephone appointment and on-site registration, are not only inefficient but also difficult to meet the needs of modern scientific research work. Therefore, developing an open experimental reservation system based on the Android platform can not only improve the efficiency of laboratory use, but also provide more convenient and efficient reservation services for researchers.
The system adopts Spring Boot as the backend framework, utilizing its fast development and easy maintenance features to achieve backend logic processing of reservation services. Vue.js, as a front-end framework, forms a good front-end and back-end separation architecture with Spring Boot, responsible for building a user-friendly reservation interface and interactive experience. At the same time, in order to meet the needs of mobile users, we will also develop a native application app based on the Android platform, allowing users to make experimental appointments anytime, anywhere.
In terms of design, we focus on the scalability, maintainability, and user experience of the system. By designing a reasonable system architecture and partitioning components, the system is easy to expand and maintain. At the same time, we will also adopt various technical means, such as data caching, asynchronous processing, error handling, etc., to improve the performance and stability of the system.
In terms of implementation, we will develop and test in stages and modules according to the principles and methods of software engineering. By continuously iterating and optimizing, ensure that the quality and functionality of the system can meet the needs of users.
To sum up, the design and implementation of the open experiment reservation system based on the Android platform is not only a revolutionary improvement of the traditional laboratory reservation method, but also an important application of mobile Internet and cloud computing technology in scientific research. We look forward to providing more convenient and efficient appointment services for researchers through this system, and promoting the progress and development of scientific research work.
Keywords:JAVA; SpringBoot; Open experimental reservation system
1 绪论
1.1 研究背景与意义
随着科技的飞速发展和移动互联网的普及,传统的实验室预约方式已逐渐暴露出效率低下、资源浪费、信息不透明等问题。特别是在高校、科研机构等地方,实验室资源紧张,预约难成为了科研人员头疼的问题。因此,开发一款基于Android平台的开放实验预约系统成为了解决这一问题的有效手段。
该系统将移动互联网技术与实验室预约相结合,通过移动应用实现实验室预约的线上化、智能化和便捷化。用户只需通过智能手机,即可随时随地进行实验室预约,无需受到时间和地点的限制。同时,系统能够实时更新实验室的使用情况,为用户提供最新的实验室信息,帮助用户更好地安排实验计划。
该系统的设计与实现不仅提高了实验室预约的效率和便捷性,还优化了实验室资源的配置,减少了资源的浪费。同时,通过系统提供的数据分析和统计功能,用户还可以更加全面地了解实验室的使用情况,为实验室的管理和规划提供有力支持。
此外,该系统还有助于提升科研人员的工作效率和科研质量。科研人员可以更加便捷地预约实验室,避免了因预约问题而耽误实验进度的情况。同时,系统还可以提供实验数据的存储和共享功能,方便科研人员之间的合作与交流。
综上所述,基于Android平台的开放实验预约系统的设计与实现具有重要的研究背景和意义。它不仅解决了传统实验室预约方式存在的问题,还为科研人员提供了更加便捷、高效和智能的预约服务,推动了科研工作的进步和发展。
在国内,随着移动互联网和智能设备的普及,基于Android平台的开放实验预约系统逐渐受到关注。目前,国内的一些高校和科研机构已经开始尝试开发类似的系统。这些系统通常结合学校的实验室资源,提供线上预约、实验室信息查询、实验数据管理等功能。一些系统还引入了大数据分析技术,以提供更加智能化的预约管理和数据分析服务。然而,由于技术水平和开发经验的限制,国内系统在用户体验、系统稳定性等方面仍有待提升。
国外研究现状
在国外,基于移动平台的实验室预约系统已经得到了较为广泛的应用。一些发达国家的高校和科研机构较早地开始了相关研究,积累了丰富的经验和成果。这些系统通常具备高度的自动化和智能化特点,能够实现实验室资源的自动分配、预约冲突的自动检测等功能。同时,国外系统在用户界面设计、系统性能优化等方面也更加注重,以提供更加优质的服务。
综上所述,基于Android平台的开放实验预约系统在国内外均得到了广泛的关注和研究。国内系统在功能和用户体验方面还有待提升,而国外系统则已经具备了较高的自动化和智能化水平。未来,随着技术的不断进步和应用需求的不断增加,基于Android平台的开放实验预约系统将会得到更加深入的研究和应用。
本文共分为六章,章节内容安排如下:
第一章为引言,此章节对所设计和实现的系统的背景和状况以及意义进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。
第二章为系统需求分析,章节所做的主要的工作是对系统进行了技术、经济和法律方面可行性的分析;对系统实行了总体功能的需求、用例分析。
第三章为系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。
第四章就是对系统的实现,根据系统功能的划分,分别的对系统所需要实现的前台客户功能和后台管理员功能进行了分析和说明。
第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试
2 系统分析
系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。
系统可行行分析是对系统可行性进行一个探讨。在探讨系统的可行性上主要从技术上的可行性和经济上的可行性以及法律层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。
2.1.1 技术可行性分析
基于Android平台的开放实验预约系统的设计与实现,采用Spring Boot作为后端框架,结合Vue.js作为前端框架,并辅以原生Android应用开发,这一技术方案是完全可行的。Spring Boot以其快速构建、易于维护的特性,能够高效处理后端逻辑和数据交互;Vue.js则以其响应式设计和组件化构建,为前端提供流畅的用户体验。前后端通过RESTful API进行通信,保证了数据的安全性和实时性。此外,利用Android SDK开发原生应用,可以确保应用在Android设备上的兼容性和性能表现。整个技术栈既符合当前主流的开发趋势,也充分考虑了系统的可扩展性、可维护性和用户体验。因此,从技术角度来看,该方案完全具备实现基于Android平台的开放实验预约系统的可行性。
在经济可行性方面,基于Android平台的开放实验预约系统采用Spring Boot、Vue.js和原生Android应用开发的技术方案具有显著优势。这些技术都是开源的,大大降低了软件开发的成本。Spring Boot和Vue.js的成熟生态系统和广泛的社区支持,意味着可以更快地解决技术问题,减少开发时间和人力成本。此外,系统的维护和升级成本也相对较低,因为基于这些技术的系统通常具有良好的可维护性和可扩展性。
从长期角度来看,该系统的实施还可以带来经济效益。通过提高实验室的预约效率和资源利用率,可以减少实验室的空闲时间,从而增加实验室的使用收入。同时,系统还可以为科研人员提供更加便捷的实验环境,提高科研效率,间接促进科研产出的增加。
综上所述,基于Android平台的开放实验预约系统在经济上是完全可行的,不仅能够降低开发成本,还能在长期运营中带来经济效益。
在法律可行性方面,基于Android平台的开放实验预约系统的设计与实现需要确保遵守相关的法律法规和隐私政策。该系统应遵守国家关于个人信息保护的法律法规,确保用户数据的合法收集、存储和使用。系统还应遵守知识产权法,确保使用的技术、代码和设计元素均来自合法渠道或已获得授权。此外,系统的开发、运营和推广应符合相关的商业法规和市场准入要求。
在实际操作中,开发团队应咨询法律专家,确保系统的各个环节都符合法律法规的要求。同时,系统应提供用户协议和隐私政策,明确告知用户数据的收集和使用情况,并获得用户的明确同意。
综上所述,基于Android平台的开放实验预约系统在法律上是完全可行的,只要确保遵守相关的法律法规和隐私政策,就可以合法、合规地为用户提供服务。
基于Android平台的开放实验预约系统划分了普通用户和管理员这两大部分。
(一)普通用户功能介绍:
注册登录:提供用户注册和登录功能,确保用户可以创建和访问自己的账户,以便进行实验预约和其他操作。
首页:展示系统的主要内容和功能入口,包括实验资讯、网站公告等,让用户快速了解系统提供的服务和最新信息。
实验资讯:提供最新的实验资讯和相关信息,包括实验内容、时间、地点等,方便用户了解和选择感兴趣的实验项目。
用户反馈:允许用户向系统提交反馈意见和建议,帮助系统改进和优化服务质量。
实验信息:提供实验项目的详细信息和预约功能,包括实验名称、简介、预约时间等,方便用户进行实验预约。
网站公告:展示系统发布的重要公告和通知,让用户及时了解系统运营情况和重要信息。
基本信息:允许用户查看和编辑个人基本信息。
实验预约:提供实验预约功能,允许用户选择并预约感兴趣的实验项目。
取消预约:允许用户取消已预约的实验,确保实验资源的合理利用。
实验评价:提供实验评价功能,让用户对完成的实验进行评价和反馈。
收藏:允许用户收藏感兴趣的实验项目或资讯内容,方便后续查看和参考。
登录:提供管理员用户登录功能,确保只有授权的管理员可以访问系统后台,保障系统安全。
后台首页:展示管理员的个人信息和相关操作入口,方便管理员快速进行管理和监控。
系统用户管理:允许管理员管理系统的用户,包括添加新用户、编辑用户信息、重置密码等操作,以确保系统的权限管理和安全性。
实验信息管理:提供实验信息的管理功能,包括添加新实验、编辑实验信息、删除实验等操作,确保实验信息的准确性和更新。
实验预约管理:允许管理员管理实验预约情况,包括查看预约列表、处理预约请求、调整实验时间等操作,确保实验资源的合理分配和利用。
取消预约管理:提供取消预约的管理功能,包括查看取消预约请求、处理取消预约、通知用户等操作,确保预约资源的及时释放和通知。
实验评价管理:提供实验评价的管理功能,包括查看用户评价、回复用户反馈、统计评价数据等操作,帮助改进实验质量和系统服务。
轮播图管理:允许管理员管理系统首页的轮播图内容,包括添加、编辑、删除轮播图等操作,提升系统的视觉效果和用户体验。
留言管理:提供留言管理功能,允许管理员查看用户留言、回复用户问题、处理投诉等操作,保持与用户的及时沟通。
公告管理:允许管理员发布系统公告和重要通知,包括添加新公告、编辑公告内容、设定公告显示时间等操作,确保用户及时获取重要信息。
资源管理:
实验资讯管理:提供实验资讯的管理功能,包括添加、编辑、删除资讯内容,为用户提供最新的实验相关信息。
资讯分类管理:允许管理员管理资讯的分类,包括添加新分类、编辑分类信息、删除分类等操作,方便用户按照分类查找资讯内容。
基于Android平台的开放实验预约系统的非功能性需求比如基于Android平台的开放实验预约系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:
表2-1基于Android平台的开放实验预约系统非功能需求表
安全性 | 主要指基于Android平台的开放实验预约系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指基于Android平台的开放实验预约系统能够按照用户提交的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响基于Android平台的开放实验预约系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着基于Android平台的开放实验预约系统的页面展示内容进行操作,就可以了。 |
可维护性 | 基于Android平台的开放实验预约系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.3 系统用例分析
基于Android平台的开放实验预约系统的完整UML用例图分别是图2-1、图2-2。
图2-1就是普通用户角色的用例展示。
图2-2 基于Android平台的开放实验预约系统普通用户角色用例图
图2-2就是管理员角色的用例展示。
图2-2基于Android平台的开放实验预约系统管理员角色用例图
2.4 系统流程分析
2.4.1系统开发流程
基于Android平台的开放实验预约系统开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图2-3所示。
图2-3系统开发流程图
2.4.2 用户登录流程
为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图2-4所示。
图2-4登录流程图
2.4.3 系统操作流程
用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图2-5所示。
图2-5 系统操作流程图
2.4.4 添加信息流程
管理员可以对实验预约、取消预约等进行信息的添加,用户可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图2-6所示。
图2-6添加信息流程图
2.4.5 修改信息流程
管理员可以对实验预约、取消预约等进行的修改,用户可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图2-7所示。
图2-7修改信息流程图
2.4.6 删除信息流程
管理员可以对实验预约、取消预约等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图2-8所示。
图2-8删除信息流程图
本章主要通过对基于Android平台的开放实验预约系统的可行性分析、功能需求分析、系统用例分析、系统流程分析,确定整个基于Android平台的开放实验预约系统要实现的功能。同时也为基于Android平台的开放实验预约系统的代码实现和测试提供了标准。
3.1 系统架构设计
基于Android平台的开放实验预约系统的架构设计包括客户端、服务器端、第三方集成、安全性和权限控制、扩展性和性能优化、高可用性和容错性等方面。客户端通过Web浏览器或移动应用程序访问系统,而服务器端负责接收和处理请求,并提供功能和数据。系统采用分层架构,包括表现层、业务逻辑层、数据访问层和数据库。同时,系统需考虑与其他系统的集成、安全性和权限控制、扩展性和性能优化、高可用性和容错性等方面的问题。这样的架构设计将确保系统的稳定性、可扩展性和安全性,为用户提供稳定、高效的使用体验。系统架构图如下图所示。
图3-1 系统架构图
系统功能结构是将一个系统的各种功能以有组织、结构化的方式描述和组织的过程。它涉及系统中不同组成部分之间的相互关系和交互作用,以及它们如何协同实现整体目标。系统功能结构对于确保系统正常运行和高效性至关重要。通常,系统功能结构包括功能模块、数据流、控制流和界面等几个方面。功能模块是实现特定功能的基本单元,通过数据流进行信息交换,并受到控制流的调度和控制。数据流描述了系统中信息的传递和处理过程,可以是模块间的数据传输或输入输出之间的数据传递。系统的功能结构图如下所示。
图3-2 基于Android平台的开放实验预约系统功能模块图
3.3 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.3.1 数据库概念结构设计
下面是整个基于Android平台的开放实验预约系统中主要的数据库表总E-R实体关系图。
图3-3 基于Android平台的开放实验预约系统总E-R关系图
3.3.2 数据库逻辑结构设计
通过上一小节中基于Android平台的开放实验预约系统中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | cancel_reservation_id | int | 10 | 0 | N | Y | 取消预约ID | |
2 | laboratory_number | varchar | 64 | 0 | Y | N | 实验室编号 | |
3 | laboratory_name | varchar | 64 | 0 | Y | N | 实验室名称 | |
4 | laboratory_category | varchar | 64 | 0 | Y | N | 实验室类别 | |
5 | laboratory_address | varchar | 64 | 0 | Y | N | 实验室地址 | |
6 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
9 | number_of_reservations | varchar | 64 | 0 | Y | N | 预约人数 | |
10 | appointment_duration | varchar | 64 | 0 | Y | N | 预约时长 | |
11 | cancel_time | datetime | 19 | 0 | Y | N | 取消时间 | |
12 | reason_for_cancellation | text | 65535 | 0 | Y | N | 取消原因 | |
13 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
14 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | 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: |
表experimental_evaluation (实验评价)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | experimental_evaluation_id | int | 10 | 0 | N | Y | 实验评价ID | |
2 | laboratory_number | varchar | 64 | 0 | Y | N | 实验室编号 | |
3 | laboratory_name | varchar | 64 | 0 | Y | N | 实验室名称 | |
4 | laboratory_category | varchar | 64 | 0 | Y | N | 实验室类别 | |
5 | laboratory_address | varchar | 64 | 0 | Y | N | 实验室地址 | |
6 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
9 | number_of_reservations | varchar | 64 | 0 | Y | N | 预约人数 | |
10 | appointment_duration | varchar | 64 | 0 | Y | N | 预约时长 | |
11 | evaluation_score | varchar | 64 | 0 | Y | N | 评价分数 | |
12 | evaluation_content | text | 65535 | 0 | Y | N | 评价内容 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表experimental_information (实验信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | experimental_information_id | int | 10 | 0 | N | Y | 实验信息ID | |
2 | laboratory_number | varchar | 64 | 0 | N | N | 实验室编号 | |
3 | laboratory_name | varchar | 64 | 0 | Y | N | 实验室名称 | |
4 | laboratory_category | varchar | 64 | 0 | Y | N | 实验室类别 | |
5 | laboratory_address | varchar | 64 | 0 | Y | N | 实验室地址 | |
6 | laboratory_images | varchar | 255 | 0 | Y | N | 实验室图片 | |
7 | number_of_devices | varchar | 64 | 0 | Y | N | 设备台数 | |
8 | can_accommodate_a_large_number_of_people | varchar | 64 | 0 | Y | N | 可容纳人数 | |
9 | corresponding_college | varchar | 64 | 0 | Y | N | 对应学院 | |
10 | bookable_time | text | 65535 | 0 | Y | N | 可预约时间 | |
11 | laboratory_configuration | text | 65535 | 0 | Y | N | 实验室配置 | |
12 | laboratory_details | longtext | 2147483647 | 0 | Y | N | 实验室详情 | |
13 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
14 | praise_len | 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 | 更新时间 |
表experimental_reservation (实验预约)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | experimental_reservation_id | int | 10 | 0 | N | Y | 实验预约ID | |
2 | laboratory_number | varchar | 64 | 0 | Y | N | 实验室编号 | |
3 | laboratory_name | varchar | 64 | 0 | Y | N | 实验室名称 | |
4 | laboratory_category | varchar | 64 | 0 | Y | N | 实验室类别 | |
5 | laboratory_address | varchar | 64 | 0 | Y | N | 实验室地址 | |
6 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
9 | number_of_reservations | varchar | 64 | 0 | Y | N | 预约人数 | |
10 | appointment_duration | varchar | 64 | 0 | Y | N | 预约时长 | |
11 | appointment_instructions | text | 65535 | 0 | Y | N | 预约说明 | |
12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
13 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | 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 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
3 | title | varchar | 64 | 0 | Y | N | 标题: | |
4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表slides (轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
表upload (文件上传)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文件类型 |
表user (用户账户:用于保存用户登录信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
表user_group (用户组:用于用户前端身份和鉴权)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
整个基于Android平台的开放实验预约系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 系统关键模块详细设计与实现
基于Android平台的开放实验预约系统的详细设计与实现主要是根据前面的基于Android平台的开放实验预约系统的需求分析和基于Android平台的开放实验预约系统的总体设计来设计页面并实现业务逻辑。主要从基于Android平台的开放实验预约系统界面实现、业务逻辑实现这两部分进行介绍。
4.1普通用户功能模块
4.1.1 前台首页界面
当进入基于Android平台的开放实验预约系统的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是用户反馈和实验信息,其主界面展示如下图所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
基于Android平台的开放实验预约系统的游客和注册用户时可以进行注册登录,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。用户注册界面展示如下图所示。
图4-2注册界面图
注册关键代码如下:
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
基于Android平台的开放实验预约系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到基于Android平台的开放实验预约系统的首页中;否则将会提示相应错误信息,用户登录界面如下图所示。
图4-3用户登录界面图
登录的逻辑代码如下所示。
/**
* 登录
* @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, "账号或密码不正确");
}
}
4.1.4密码修改界面
用户使用该系统注册完成后,用户对登录密码有修改需求时,系统也可以提供用户修改密码权限。系统中所有的操作者能够变更自己的密码信息,执行该功能首先必须要登入系统,然后选择密码变更选项以后在给定的文本框中填写初始密码和新密码来完成修改密码的操作。在填写的时候,假如两次密码填写存在差异,那么此次密码变更操作失败。密码修改界面如下图所示。
图4-4密码修改界面图
当用户点击基于Android平台的开放实验预约系统中导航栏上的“实验信息”后将会进入到该“实验信息”界面,然后选择想要看的实验信息,点击进入到详细界面,在详细界面可以预约、收藏、点赞和评论等操作,实验信息界面如下图所示。
图4-5实验信息界面图
图4-6预约界面图
4.2管理员功能模块
4.2.1 管理员登录界面
管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。管理员登录界面如下图所示。
图4-7管理员登录界面图
允许管理员管理系统的用户,包括添加新用户、编辑用户信息、重置密码等操作,以确保系统的权限管理和安全性。界面如下图所示。
图4-8系统用户界面图
4.2.3实验预约管理界面
允许管理员管理实验预约情况,包括查看预约列表、处理预约请求、调整实验时间等操作,确保实验资源的合理分配和利用。界面如下图所示。
图4-9实验预约管理界面图
提供取消预约的管理功能,包括查看取消预约请求、处理取消预约、通知用户等操作,确保预约资源的及时释放和通知。取消预约管理界面如下图所示。
图4-10取消预约管理界面图
管理员点击“系统管理”这一菜单会显示轮播图这个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图所示。
图4-11系统管理界面图
系统管理关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
管理员点击“公告管理”这一菜单,管理员可以发布重要的系统公告和消息,通知用户相关重要信息。界面如下图所示。
图4-12公告管理界面图
实验资讯管理:提供实验资讯的管理功能,包括添加、编辑、删除资讯内容,为用户提供最新的实验相关信息。
资讯分类管理:允许管理员管理资讯的分类,包括添加新分类、编辑分类信息、删除分类等操作,方便用户按照分类查找资讯内容。界面如下图所示。
图4-13实验资讯界面图
图4-14资讯分类界面图
5.1 系统测试用例
系统测试包括:用户登录功能测试、实验信息查看功能测试、实验信息添加、实验信息搜索、密码修改、实验预约功能测试,如表5-1、5-2、5-3、5-4、5-5、5-6所示:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
实验信息查看功能测试:
表5-2 实验信息查看功能测试表
用例名称 | 实验信息查看 |
目的 | 测试实验信息查看功能 |
前提 | 用户登录 |
测试流程 | 点击实验信息列表 |
预期结果 | 可以查看到所有实验信息 |
实际结果 | 实际结果与预期结果一致 |
管理员添加实验信息界面测试:
表5-3 管理员添加实验信息界面测试表
用例名称 | 添加实验信息测试用例 |
目的 | 测试实验信息添加功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员点击实验信息,然后点击添加后并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,页面首页会显示新的实验信息 |
实际结果 | 实际结果与预期结果一致 |
实验信息搜索功能测试:
表5-4实验信息搜索功能测试表
用例名称 | 实验信息搜索测试 |
目的 | 测试实验信息搜索功能 |
前提 | 无 |
测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 | 页面显示包含有搜索关键字的实验信息 |
实际结果 | 实际结果与预期结果一致 |
密码修改搜索功能测试:
表5-5 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
实验预约功能测试:
表5-6实验预约功能测试表
用例名称 | 实验预约测试用例 |
目的 | 测试用户实验预约功能 |
前提 | 用户正常登录情况下 |
测试流程 | 1)搜索查看实验预约,点击实验预约。 2)填写实验预约,点击进行提交。 |
预期结果 | 实验预约成功 |
实际结果 | 实际结果与预期结果一致 |
通过编写基于Android平台的开放实验预约系统的测试用例,已经检测完毕用户登录功能测试、实验信息展示功能测试、实验信息添加、实验信息搜索、密码修改、实验预约功能测试,通过这6大模块为基于Android平台的开放实验预约系统的后期推广运营提供了强力的技术支撑。
本文描述了基于Android平台的开放实验预约系统的原理和开发过程,该app是通过SpringBoot框架来搭建后台,中间件使用的是Tomcat服务器,数据库管理采用开源的Mysql,前台使用的是JQuery框架,同时使用Validate校验框架,这样就可以减少前端代码的输入量,而且基于JQuery框架的Validat框架使用简单,是流行的前端使用框架,前端使用的主要是HTML页面展示技术。
在开发前做了许多的准备,在本app的设计和开发过程中阅览和学习了许多文献资料,从开发这个基于Android平台的开放实验预约系统的过程中我也收获了许许多多宝贵的方法以及设计思路,对app的开发也起到了很重要的作用,app的开发技术选用的都是自己比较熟悉的,比如Web、SpringBoot、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该app的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个app。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
[1]姜韶华,常星海,高云帆,等.基于Spring Boot+Vue框架的羊场综合管理系统软件的设计与应用[J].家畜生态学报,2024,45(03):55-62.
[2]刘霞.基于Spring Boot框架的智慧校园管理系统设计与实现[J].长江信息通信,2024,37(02):148-150.DOI:10.20153/j.issn.2096-9759.2024.02.045.
[3]Lestari E ,Rusdiyana E ,Sugihardjo, et al.The role of village owned enterprises in the development and sustainability of the agrotourism sector (A case study of agrotourism in Karanganyar Regency, Central Java)[J].IOP Conference Series: Earth and Environmental Science,2024,1302(1):
[4]Purwantiningsih B ,Leksono S A ,Yanuwiyadi B , et al.Inventory of plants as food source for Apis sp. and Trigona sp. in Tlekung Batu East Java Indonesia[J].IOP Conference Series: Earth and Environmental Science,2024,1302(1):
[5]Asmy E A ,Rauf A ,Rahmawaty, et al.Persimmon fruit downstream prospects: a promising solution to increase farmer income in Malang Regency, East Java, Indonesia[J].IOP Conference Series: Earth and Environmental Science,2024,1302(1):
[6]Widodo A ,Aditama Y F ,Rochman N G P J , et al.Preliminary study of tsunami simulations on megathrust earthquake scenarios in Pacitan Regency, East Java[J].IOP Conference Series: Earth and Environmental Science,2024,1307(1):
[7]Hasyim A M ,Qurrotaayunina P R ,Nayomi M , et al.The diversity of aerial insect in coffee agroforestry, Dampit and Purwodadi district East Java Indonesia[J].IOP Conference Series: Earth and Environmental Science,2024,1312(1):
[8]孙铁强,于洪健,刘俊,等.基于Spring Boot的高压开关柜远程监控系统的设计[J].自动化应用,2024,65(02):207-209.DOI:10.19769/j.zdhy.2024.02.064.
[9]丁福江.基于Spring Boot和Vue技术的访客管理系统设计与实现[J].电脑编程技巧与维护,2023,(12):82-87.DOI:10.16184/j.cnki.comprg.2023.12.012.
[10]王永录,崔拯庶,曹亚男,等.基于Spring Boot+Vue的假位置构建及可视化系统的设计[J].集成电路应用,2023,40(12):33-35.DOI:10.19339/j.issn.1674-2583.2023.12.012.
[11]徐正超,王义斐,谭煜凯,等.基于HTML的实验预约管理系统设计与实现[J].科技与创新,2023,(22):146-148.DOI:10.15913/j.cnki.kjycx.2023.22.041.
[12]王文静,国育家,贾康铖.基于Spring Boot的信息化项目管理系统的设计与实现[J].信息技术与信息化,2023,(11):113-116.
[13]马梁,向海涵,董佳一,等.基于Spring Boot的损害保险销售系统的设计与实现[J].工业控制计算机,2023,36(09):120-122.
[14]钱宝健,汪鹏,曹如权.基于Spring Boot的物流寄查系统设计与实现[J].电脑编程技巧与维护,2023,(09):63-65+69.DOI:10.16184/j.cnki.comprg.2023.09.009.
[15]吉秉彧,李源.基于Spring Boot框架的实验室资产管理系统的设计与实现[J].价值工程,2023,42(24):120-122.
[16]李福顺.基于B/S实验室在线预约系统智能化研究[J].电子测试,2020,(24):82-83.DOI:10.16520/j.cnki.1000-8519.2020.24.033.
[17]王政嘉,孙志敏,周志军.开放实验室预约系统的应用研究[J].河北农业大学学报(社会科学版),2020,22(01):119-123.DOI:10.13320/j.cnki.jauhe.2020.0018.
[18]周申培,陈云,张清勇,等.基于预约系统的实验教学模式研究[J].喀什大学学报,2019,40(06):93-96.DOI:10.13933/j.cnki.2096-2134.2019.06.018.
[19]周申培,陈云,张清勇,等.基于实验预约系统的开放教学模式研究[J].合肥师范学院学报,2019,37(06):81-83.
[20]张轶骏,谢婷.大学英语实验课程预约系统的设计与实现[J].校园英语,2019,(24):17-18.
逝者如斯夫,不舍昼夜。转眼间,大学生活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
少年,追风赶月莫停留,平荒尽处是春山。
标签:varchar,springboot,预约,系统,用户,源码,实验,毕业设计,Android From: https://blog.csdn.net/FYKJ_2010/article/details/143844668免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~