随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。
本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是使用动态网页开发技术java作为系统的开发语言,MySQL作为后台数据库。整个开发过程首先对开放实验室管理系统进行需求分析,得出开放实验室管理系统主要功能。接着对开放实验室管理系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括开放实验室管理系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对开放实验室管理系统进行了功能测试,并对测试结果进行了分析总结,得出开放实验室管理系统存在的不足及需要改进的地方,为以后的开放实验室管理系统维护提供了方便,同时也为今后开发类似开放实验室管理系统提供了借鉴和帮助。
开放实验室管理系统开发使系统能够更加方便快捷,同时也促使开放实验室管理系统变的更加系统化、有序化。系统界面较友好,易于操作。
关键词:开放实验室管理系统; Mysql数据库;springboot;java
springbootOpen Laboratory Management System
Abstract
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 is based on practical application as the development background, using software engineering principles and development methods. It mainly uses dynamic web page development technology Java as the system development language, and MySQL as the backend database. The entire development process starts with a requirement analysis of the open laboratory management system, and identifies the main functions of the open laboratory management system. Next, the overall and detailed design of the open laboratory 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 open laboratory 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 open laboratory management system, and the test results were analyzed and summarized. The shortcomings and areas for improvement of the open laboratory management system were identified, which provided convenience for future maintenance of the open laboratory management system and also provided reference and assistance for the development of similar open laboratory management systems in the future.
The development of an open laboratory management system makes it more convenient and efficient, while also promoting a more systematic and orderly management system for open laboratories. The system interface is relatively friendly and easy to operate.
Keywords: Open laboratory management system; MySQL database; springboot; java
目 录
1 系统概述
1.1 概述
1.2课题意义
1.3 主要内容
2 系统开发环境
2.1 开发工具的选用及语言介绍
2.2 JAVA简介
2.3 springboot框架介绍:
2.4系统对MySQL数据库的两种连接方式
2.5 MySql数据库
3 需求分析
3.1 系统设计目标
3.2需求分析概述
3.3 系统可行性分析
3.4经济可行性
3.5操作可行性:
3.6系统流程和逻辑
4系统概要设计
4.1 概述
4.2 系统结构
4.3 数据库设计
4.3.1 数据库实体
4.3.2 数据库设计表
5系统详细设计
5.1管理员功能模块
5.2系统用户功能模块
6.1 测试理论
6.2 测试方法及用例
6.3测试结果
结论
致 谢
参考文献
1 系统概述
1.1 概述
随着信息时代的快速发展,互联网的优势和普及,人们生活水平的不断提高,工作时间的繁忙,使得开放实验室管理系统的开发成为必需。开放实验室管理系统主要是借助计算机,通过对开放实验室管理系统所需的信息管理,增加用户的选择,同时也方便广大用户信息的及时查询、修改以及对开放实验室管理系统信息的及时了解。开放实验室管理系统给用户带来了更多的选择, 该系统通过和数据库软件协作来满足用户的需求。
1.2课题意义
我国已经成为世界第二大经济体,经济实力高速发展以及百姓生活水平的普遍提高,不断地要求企业提供更加多元化的娱乐方式,更加快速和方便的服务,因此对实验预约也提出了更加严格的要求,如管理更加妥当、服务更加舒适等。而现在我们所能看到的数量也越来越多,信息量巨大,设计比赛快速发展使得管理成本不断扩大。然而,传统的交流方式有许多缺点:实际时间差异、超负荷、信息0共享。而开放实验室管理系统正是当下各大教育交流网站为了适应时代发展所推出的互联网服务,以其方便高效的服务。
1.3 主要内容
开放实验室管理系统从功能、数据流程、可行性、运行环境进行需求分析。对开放实验室管理系统的数据库、功能进行了详细设计,分析了主要界面设计和相关组件设计,开放实验室管理系统的具体实现进行了介绍。从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种数据库查询、插入、删除、更新等操作,在网页中加入动态内容,从而实现开放实验室管理系统所需要的各种基本功能。
2 系统开发环境
2.1 开发工具的选用及语言介绍
本次毕业设计是一个基于B/S模式的开放实验室管理系统,是一个在网络环境下运行的网站,采用Java语言,应用的技术有java servlet API,JSP(java server pages),和XML技术,以ECLIPSE 为开发工具、Tomcat作为服务器,MySQL作为后台数据库。
2.2 JAVA简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,springboot(java server pages),和XML技术。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 springboot框架介绍:
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.4系统对MySQL数据库的两种连接方式
活动的MySQL/ MySQL库,或使用ODBC接口,MySQL数据库是一个双向链接。永久及非永久连接。
(1)永久连接:一个更永久的连接请求的最大优点是可以非常有效的客户站在密切的联系,当连接到MySQL服务器,就更好了。在起草该页面每一个孩子在这个过程中,而不是仅仅在任何时候,只有在到MySQL服务器请求连接的生命周期,一旦连接。此子过程是建立到服务器的单独连接可以是永久性的。
(2)非永久连接:他是短路。提交顺路到Web服务器,服务器处理请求并请求的页面,你要发送的浏览器客户端,然后连接断开。对于大多数网站,它经常通过有效高效率有关,但在大多数情况下,所使用的连接,但它是一个完整的时间,以避免出现任何问题,并可以增加的容量服务器承载。
2.5 MySql数据库
Mysql的语言是非结构化的,商品可以在数据上进行工作。因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,其速度、可靠性和适应性而备受关注并得到了普遍的应用。Mysql数据库在编程过程中的作用是很广泛的,为商品进行数据查询带来了方便。Mysql数据库的应用特点:灵活性强,功能强大,语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据库管理主要是数据存储、修改和增加以及数据表的建立。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
3 需求分析
开放实验室管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改开放实验室管理系统信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以开放实验室管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。
开放实验室管理系统主要是为了提高用户的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对开放实验室管理系统的各个模块是通过许多今天的发达开放实验室管理系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
开放实验室管理系统所要实现的功能分析,对于现在网络方便,开放实验室管理系统要实现管管理员、实验室人员可以直接在平台上进行查看自己所需数据信息,这样既能节省管理的时间,不用再像传统的方式,如果用户想要进行交流信息,必须双方见面进行沟通交流所需的信息,由于很多用户时间的原因,没有办法进行见面沟通交流,真的很难满足用户的各种需求。所以开放实验室管理系统的开发不仅仅是能满足用户的需求,还能提高用户的使用率。所以开放实验室管理系统必须要更快捷、有效、长期地为用户或潜在用户传递信息。建立一个开放实验室管理系统更好的交流平台,提高系统对用户交流后的信息服务的效率。此系统可以满足大多数用户所提出的问题,用户可以根据自身的需求获取相应的服务,为开放实验室管理系统提供了快捷的途径。
开放实验室管理系统在系统的平台上可以运行,主要实现了管理员后端;首页、系统用户(管理员、学生用户)模块管理(实验室信息、实验室预约、耗材信息、耗材申请、课题信息、学生选题、通知公告);学生用户功能;首页、实验室信息、耗材信息、耗材申请、课题信息、学生选题、通知公告管理模块的操作和管理。
总体分布如图3.1所示:
3.1 总体功能需求图
系统实现给用户展示的界面与该对象是面对面的,包括是否允许用户简单,方便使用,该请求的响应时间,对整体质量的主图像,整体的布局的质量。
3.3 系统可行性分析
技术可行性:
(1)硬件可行性分析
系统的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能够轻松的实现,只是需要确保系统的正常工作即可,以及拥有较高的效率。如果有特别低的硬件,它可以导致系统的低性能以及效率低,从而导致整个网站的运行不顺畅。以目前普遍的个人计算机的配置而言,这是十分容易实现的 。因此,本系统的开发在硬件方面是可行的。
提供完整的技术支持和保护,确保网站的稳定,安全运行,提供24×7和24小时技术支持项目完成提供主要的服务器系统安全及时的通知和更新服务。
(2)软件可行性分析
提供一个共同的机制类似的借口动态模型,设计更集中。此外,代码复用,也可以很好的体现。因此,考虑到系统的实际情况,选择小程序作为本系统开发技术。通过上述分析,该系统的设计实现在软件方面是可行的。
因此,我们进行了两个方面的可行性研究,可以看出,该系统的开发是没有问题的。
3.4经济可行性
系统是基java语言开发的软件,所以系统在开发人力、财力要求不高,具有经济可行性。
3.5操作可行性:
可操作性主要是对开放实验室管理系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、用户两个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
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 数据库实体
对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在实验室管理信息平台中存在着多个实体分别是用普通用户、管理员、实验室、预约。
图4-5系统总体ER属性图
4.3.2 数据库设计表
此系统需要后台数据库,下面介绍数据库中的各个表的详细信息。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
表consumable_application (耗材申请)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | consumable_application_id | int | 10 | 0 | N | Y | 耗材申请ID | |
2 | application_number | varchar | 64 | 0 | Y | N | 申请单号 | |
3 | equipment_number | varchar | 64 | 0 | Y | N | 设备编号 | |
4 | device_name | varchar | 64 | 0 | Y | N | 设备名称 | |
5 | equipment_type | varchar | 64 | 0 | Y | N | 设备类型 | |
6 | appointment_quantity | varchar | 64 | 0 | Y | N | 预约数量 | |
7 | user | int | 10 | 0 | Y | N | 0 | 用户 |
8 | full_name | varchar | 64 | 0 | Y | N | 姓名 | |
9 | time_of_appointment | datetime | 19 | 0 | Y | N | 预约时间 | |
10 | reason_for_application | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
表laboratory_appointment (实验室预约)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | laboratory_appointment_id | int | 10 | 0 | N | Y | 实验室预约ID | |
2 | appointment_number | varchar | 64 | 0 | Y | N | 预约单号 | |
3 | laboratory_number | varchar | 64 | 0 | Y | N | 实验室编号 | |
4 | laboratory_name | varchar | 64 | 0 | Y | N | 实验室名称 | |
5 | user | int | 10 | 0 | Y | N | 0 | 用户 |
6 | full_name | varchar | 64 | 0 | Y | N | 姓名 | |
7 | time_of_appointment | datetime | 19 | 0 | Y | N | 预约时间 | |
8 | appointment_purpose | text | 65535 | 0 | Y | N | 预约用途 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 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 | 更新时间 |
表laboratory_information (实验室信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | laboratory_information_id | int | 10 | 0 | N | Y | 实验室信息ID | |
2 | laboratory_number | varchar | 64 | 0 | Y | N | 实验室编号 | |
3 | laboratory_name | varchar | 64 | 0 | Y | N | 实验室名称 | |
4 | capacity | int | 10 | 0 | Y | N | 0 | 可容纳人数 |
5 | laboratory_equipment | text | 65535 | 0 | Y | N | 实验室设备 | |
6 | laboratory_introduction | text | 65535 | 0 | Y | N | 实验室介绍 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_announcement_id | int | 10 | 0 | N | Y | 通知公告ID | |
2 | title | varchar | 64 | 0 | Y | N | 标题 | |
3 | publisher | varchar | 64 | 0 | Y | N | 发布人 | |
4 | published_on | date | 10 | 0 | Y | N | 发布时间 | |
5 | relevant_attachments | varchar | 255 | 0 | Y | N | 相关附件 | |
6 | content | text | 65535 | 0 | Y | N | 内容 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registered_users_id | int | 10 | 0 | N | Y | 注册用户ID | |
2 | full_name | varchar | 64 | 0 | Y | N | 姓名 | |
3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
4 | age | 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 | supplies_information_id | int | 10 | 0 | N | Y | 耗材信息ID | |
2 | equipment_number | varchar | 64 | 0 | Y | N | 设备编号 | |
3 | device_name | varchar | 64 | 0 | Y | N | 设备名称 | |
4 | equipment_type | varchar | 64 | 0 | Y | N | 设备类型 | |
5 | equipment_condition | varchar | 64 | 0 | Y | N | 设备状况 | |
6 | quantity | int | 10 | 0 | Y | N | 0 | 数量 |
7 | equipment_introduction | varchar | 64 | 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 | topic_information_id | int | 10 | 0 | N | Y | 课题信息ID | |
2 | topic_name | varchar | 64 | 0 | Y | N | 课题名称 | |
3 | created_by | varchar | 64 | 0 | Y | N | 创建人员 | |
4 | topic_type | varchar | 64 | 0 | Y | N | 课题类型 | |
5 | state | varchar | 64 | 0 | Y | N | 状态 | |
6 | project_introduction | text | 65535 | 0 | Y | N | 课题简介 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
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 | user_selected_topic_id | int | 10 | 0 | N | Y | 用户选题ID | |
2 | topic_name | varchar | 64 | 0 | Y | N | 课题名称 | |
3 | created_by | varchar | 64 | 0 | Y | N | 创建人员 | |
4 | topic_type | varchar | 64 | 0 | Y | N | 课题类型 | |
5 | state | varchar | 64 | 0 | Y | N | 状态 | |
6 | user | int | 10 | 0 | Y | N | 0 | 用户 |
7 | full_name | varchar | 64 | 0 | Y | N | 姓名 | |
8 | application_information | text | 65535 | 0 | Y | N | 申请信息 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 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 | 更新时间 |
5系统详细设计
本系统使用了java和mysql结合的结构开发了开放实验室管理系统应用,系统中所有和数据库有关系的操作都通过一个通用类来实现,大大提高了代码的耦合性,当数据库类型等信息变化后直接修改类文件就可以了,不再需要每个页面都修改。另外本系统解决了中文的问题,也是在配置文件中添加了编码方式的形式解决的,本系统另外一个大的特点是系统对数据库的操作都单独的写在了一个类里,这样对系统的所有数据库操作都只访问这个类就可以了,不要每个页面都去写数据库的操作,提高了系统的集成性。
5.1管理员功能模块
管理员登录,在登录页面填写用户、密码权限以及验证码进行登录如图5-1所示。
图5-1管理员登录界面图
管理员登录到开放实验室管理系统可以查看系统首页、系统用户(管理员、学生用户)模块管理(实验室信息、实验室预约、耗材信息、耗材申请、课题信息、学生选题、通知公告)系统管理等内容,如图5-2所示。
图5-2管理员功能界面图
通知公告,在通知公告页面可以查看标题、内容、发布人等信息,并可在公告查询页面进行编辑删除详细等操作,如图5-3所示。
图5-3通知公告界面图
学生管理,在学生管理页面可以查看昵称、用户名、学生学号、学生姓名、性别、年龄、学院名称、专业名称、班级名称等信息,并可根据需要对已有的用户进行编辑删除详细等操作,如图5-4所示。
图5-4用户管理界面图
实验室预约管理,在实验室预约管理页面图可以对预约管理添加信息:实验室编号、实验室名称、用户、学生姓名、班级名称、预约时间等内容,并可在实验室预约管理查询页面对已有的实验室预约管理进行编辑、删除、详细等操作,如图5-5所示:
图5-5实验室预约管理界面图
实验室管理,在实验室信息管理查询页面可以查看:实验室编号、实验室名称、可容纳人数、实验室设备、实验室介绍等内容,并可在该页面进行编辑删除详情等操作,如图5-6所示:
图5-6 实验室信息管理界面图
5.2系统用户功能模块
系统用户功能,用户登录页面可操作首页、实验室信息、实验室预约、耗材信息、耗材申请、课题信息、学生选题、通知公告等信息,如图5-7所示:
图5-7系统界面图
用户登录页面,在用户登录页面输入:用户名、密码、权限验证码等内容进行登,如图5-8所示:
图5-8用户登录界面图
实验室信息,在实验室信息页面可以查看实验室编号、实验室名称、可容纳人数、实验室设备、实验室介绍等信息,并可根据需要进行预约等操作,如图5-9所示。
图5-9实验室信息界面图
课题信息,在课题信息页面可以查看课题名称、创建人员、课题类型、状态、课题简介等信息,如图5-10所示。
图5-10课题信息界面图
6.1 测试理论
软件系统测试的目的是通过测试找出在程序中的存在的错误信息和阻碍程序正常运转的安全隐患。这同时也是每一个系统软件测试的主要的规定,软件系统的应用过程中,发现一个重要的错误也是极具有很大的影响力的,一个好的测试的方案就为发展程序中存在的重大问题的;同样,一个成功的测试方案也就发现了迄今为止尚未发现的一个重要错误的测试。
软件测试的主要的好处就是为了让软件的运行情况更好,让用户的使用的过程中更加的满意。在软件工程中,软件测试是一个十分重要环节,在交付用户使用最终的软件之前,软件测试就是一个检验的过程,主要针对的是软件的软件设计开发、需求分析、系统编码各阶段结果的一个检验过程。
软件测试应遵循的原则如下:
(1) 软件测试要尽快的进行并且整个测试部分要是在整个软件开发的各个过程和细节。在发现了错误的情况下,立刻处理,这样会大大的减少软件的开发成,提高软件的质量。
(2) 在关于软件的各种测试中,例如测试的过程中使用的计划、报告等等要做到妥善的处理和保管,主要目的就是为了方便将来的对系统的维护。
(3) 群集现象是应该得到高度重视的,在软件的整个测试的过程中。就是在整个测试的过程中发现了错误的主要地方很有可能是就很多的错误的聚集的地方,所以要对这样的部分给予特殊的照顾。
(4) 对于软件的测试要尽量不要软件的设计开发人员或是机构,而是要另一方来进行测试程序,这样也是为了保证软件的测试结果的客观性以及公平公正性。
(5) 对于整个测试计划要严格的按照一定的规则来进行软件测试。
(6) 关于软件测试的过程中的用例应该是预期结果以及之前输入的数据信息构成,输入条件中的要考虑的有合理和不合理的因素都要考虑到,这样也是为了更好的帮助开发的人员更多的发现软件中存在的错误。
(7) 对于整个的测试结果进行全面的检查,尽量避免出现重复的错误。
6.2 测试方法及用例
1、功能测试
从用户的角度来看,测试时不了解新开发软件的内部结构,因此可以将系统与黑匣子进行比较,盲目输入后可以查看系统给出的反馈。这种测试属于黑盒测试,在测试中如果输入错误信息系统会报错。
2、性能测试
测试软件程序的整体状态(称为性能测试)通常使用自动化测试工具来检测系统的整体功能,在负载和压力测试之间进行划分,在某些情况下,将两者结合起来。虽然压力测试可以检测到系统可以提供的最高级别的服务,但是负载测试可以测试系统如何响应增加的负载。
在对系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个系统开发所牵扯的该问题都必须一一解决,提高系统的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽了解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
测试用例:
表6.1 用户注册测试用例
用例编号 | UC-TEST-001 | 测试名称 | 用户注册 | |
前提条件 | 用户注册 | |||
步骤 | 操作描述 | 数据 | 期望结果 | |
1 | 点击用户注册查看详情按钮 | 无 | 跳转到用户注册详情 | |
2 | 点击添加按钮 | 无 | 跳转到添加页面 | |
3 | 选中添加后按钮 | 无 | 跳转到用户注册页面 | |
测试说明 | 用户未登录时到步骤3跳转到登录页面 | |||
测试结果 | 成功 | 测试人 |
表6.2 登录测试用例
情况 | 用户名输入 | 密码输入 | 期望结果 |
(1) | 15546219225 | 1244566 | 提示“用户名或者密码错误,或账号未经审核” |
(2) | aaaaa | 123456 | 提示“用户名或密码错误,或者账号未经审核” |
(3) | 111 | 111 | 登陆成功 |
6.3测试结果
测试后得到的性能和用例,系统具有足够的正确性、可靠性、稳定性,并且可以对输入数据进行准确的点击操作处理和响应测试用户的体验也得到了很好的反馈和响应时间。合理的范围,可以兼容所有主流浏览器,设计所需的效果。
结论
开放实验室管理系统的设计,通过互联网来解决实现信息化的网站系统,通过我四年所学的所有专业知识整合一起,进行对开放实验室管理系统进行开发设计,当然在真正着手来做的时候遇到了很多问题,一个是网站的技术问题,一个是自己之前没有单独开发过程序,动手实践比较少,面对问题的同时,自己的自信心也受到了一些打击,不过我也是快速的调整自己的状态,老师与同学讨论的方法解决了所有的困难。
毕业设计是我们所学知识应用的最佳体现,也是在考核我们四年中所学的所有的专业知识及技术应用情况,通过这样毕业设计可以更好的得到锻炼及对所学知识的复习及运用,也是一种训练和实践。开放实验室管理系统的实现,不仅巩固了我以前的知识,还对学到的知识通过结合技术进行详细了解,还结合了对跨学科效果的深入理解。
在以后我的工作中,我仍然会继续努力我的计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信自己可以胜任更多的好工作并在工作领域做出更大的贡献。
回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作让我有了更多的信心,我相信在未来的路上,我会走的更好。
致 谢
毕业设计结束的同时也意味着四年的大学生活就要结束了。开放实验室管理系统的完成以及如何在系统运行过程中实现的更好,这其中付出了很大的努力,这段时光将会终身难忘。
在毕业设计的这一段时间里,离不开导师的细心指导,还有同学们的热情帮助,有时候几个同学在一起讨论系统中的某个功能模块如何实现,如何实现的更好,或是问题没得到有效的解决,就会没有心思做其他的事情,让我们对理想充满了动力。
在毕业设计即将结束之时,首先要感谢我的指导老师,谢谢您在毕业设计和毕业论文中对我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。 课堂上,您教会我们如何做人、教会我们新的知识,在课下,您又像朋友一样亲切,教会了我很多道理,让我意识到先做人、后做事。感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。感谢大学里教过我的每一位老师,真心祝福您们。
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
最后,耽误了老师的休息时间来对本文进行审阅,评议和参与论文答辩的各位老师表示深深的感谢。在此,衷心的谢谢您们!
参考文献
[1]郭凤香.智能管理系统在高校大数据实验室管理中的应用[J].办公自动化,2022,27(04):59-61+19.
[2]刘学玉.JAVA编程语言在计算机软件开发中的应用[J].电子技术与软件工程,2022(01):57-60.
[3]朱俊杰,李勇,郑志安,宁重阳,何明芳,黄海燕.基于信息深度融合的智慧型开放实验室管理系统[J].实验室研究与探索,2021,40(11):228-232.DOI:10.19927/j.cnki.syyt.2021.11.049.
[4]吴迪.Java编程语言在计算机软件开发中的应用[J].信息与电脑(理论版),2021,33(20):29-31.
[5]张翔.浅谈JAVA编程语言在计算机软件开发中的应用[J].电子元器件与信息技术,2021,5(10):204-205.DOI:10.19772/j.cnki.2096-4455.2021.10.095.
[6]王江霖,黄彩霞,樊旭龙.基于springboot框架的网络资源共享平台的研究与实现[J].电脑知识与技术,2021,17(28):76-78.DOI:10.14004/j.cnki.ckt.2021.2999.
[7]曹瑞燕.Java语言在软件开发中的应用[J].信息记录材料,2021,22(10):96-97.DOI:10.16009/j.cnki.cn13-1295/tq.2021.10.045.
[8]雷义伟,齐圣.基于C#.NET和springboot框架的通信台站动环监控系统实现技术[J].自动化技术与应用,2021,40(08):75-80.
[9]朱奎兵.基于信息化的开放实验室管理系统开发研究[J].数字技术与应用,2021,39(08):99-101.DOI:10.19695/j.cnki.cn12-1369.2021.08.33.
[10]刘苗.高校实验室管理中智能管理系统的实践应用[J].无线互联科技,2021,18(15):39-40.
[11]蔡俊豪,王桂荣.Java在互联网的应用分析[J].电子技术,2021,50(06):44-45.
[12]曹华山.springboot框架在Web应用开发中的设计与实现[J].无线互联科技,2021,18(11):108-109.
[13]王海,韦才寿.基于高校实验室管理的开放实验室系统的设计与规划[J].中国高新科技,2021(09):159-160.
[14]陈钊.springboot框架在Web应用开发中的设计与实现研究[J].电脑知识与技术,2021,17(10):226-227.DOI:10.14004/j.cnki.ckt.2021.1097.
[15]陈志强,李有志,张传津,魏秀丽.开放实验室管理系统中电子原始记录的设计实现[J].中国检验检测,2021,29(02):73-74.DOI:10.16428/j.cnki.cn10-1469/tb.2021.02.023.
[16]Siyi Liu. Explore Java Language and Android Mobile Software Development[J]. International Journal of Frontiers in Engineering Technology,2021,3.0(2.0).
[17]秦蓉.基于Java语言的安卓软件开发研究[J].电子技术与软件工程,2021(05):44-45.
[18]崔家敏.Web下开放性开放实验室管理系统设计与实现[J].电脑知识与技术,2021,17(06):66-67.DOI:10.14004/j.cnki.ckt.2021.0426.
[19]Kevin Kline. The Java Language Extension for SQL Server Is Now Open Source[J]. Database Trends and Applications,2020,34(4).
[20]Hu Xin,Yan Chaobing. Development and application of JAVA language development test evaluation system software[J]. Journal of Computational Methods in Sciences and Engineering,2020,20(4).