🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。
- 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目展示
第一章 绪论
1.1 管理信息系统概述
管理信息系统是计算机在信息管理领域的一种实用技术。通过运用管理科学、数学和计算机应用的原理及方法,在符合软件工程规范的原则下,形成一套完整的理论和方法体系。是一个以人、计算机和其他外部设备组成的可以进行信息的收集、传递、存储、加工、维护和更新的系统。
校园视频监控管理系统是管理信息系统中的重要组成部分。校园视频监控管理系统是由计算机、应用程序和其他高科技部件组成,通过计算机网络将供应链上下游连接的动态互动系统。校园视频监控管理系统是校园视频监控信息化的核心,它具有很强的综合性,可以为各个校园提供相关信息进行监控。计算机技术、网络技术、关系型数据库技术、条码技术、EDI 等技术的应用减少人工失误,提高了效率,加快了信息流转,校园视频监控管理发生了巨大的变化。
校园视频监控管理系统是校园视频监控作业流程管理的系统,它主要包括对管理员信息管理、系统用户信息管理、视频管理员管理,摄像头管理,校园监控管理,留言板管理,系统管理等功能进行管理。可使校园视频监控的管理成本降到最低,提高经济效率。
1.2课题背景
随着科学技术发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公和生活效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。校园视频监控管理一直是信息管理的一大难题,校园视频数量多,此时寻找有效便捷的校园视频监控管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理校园视频监控早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。
使用校园视频监控系统相对传统管理方式具备很多优点:首先可以大幅提高校园视频信息检索,只需输入校园视频监控相关信息就能在数秒内反馈想要的结果;其次可存储大量的校园视频监控信息,同时信息安全性有更高的保障;相比纸质文件来管理,校园视频监控管理系统更节省空间人力资源。这些优点大大提高运营效率并节省运营成本。因此,开发校园视频监控系统对视频监控信息进行有效的管理,不仅提高了校园视频监控管理效率,增加了用户信息安全性,方便及时反馈信息给管理员,增加了与管理员之间的互动交流,更能提高的体验强度。
本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而java技术,B/S架构则保证了较高的平台适应性。本文主要介绍了本系统的开发背景,所要完成的功能和开发的过程,主要说明了系统设计的重点、设计思想。
1.3课题研究的目的和意义
人们现在的生活方式因为网络的普及发生了巨大变化,由于网络管理在人们的视野中出现,人们对网络管理额外的关注。人们只要在有网络的地方足不出户查看到世界各地的各类。目前的挑战是前台界面的设计,选择比较人性化的界面设计,要更直观的表现,让用户能更多的了解校园视频监控的作用。
本系统的主要意义在于,全力以赴为用户和视频管理员提供一个操作方便,界面简洁,信息直观的网上校园视频监控系统。使用该系统的用户,可以先浏览到最新更新的校园视频监控信息,并可以注册成为本网站的用户。
1.4研究现状
在国外很多发达国家,软件产业早已得到全面普及,随着我国经济不断发展,不断引进国外信息化建设,使国内软件行业得以不断发展,在摸索中进步,最终也得到一些成果,我国的软件业迎来了高速的发展,使更多的软件系统得以开发出来,从此逐渐地改变人们的生活工作方式。但是,对于信息化的建设,与很多发达国家相比,由于信息化程度的落后以及经费的不足,我国的校园视频监控系统开发方面还是相对落后的,因此,要不断的努力探索,争取开发出一个实用的信息化的校园视频监控系统,来实现校园视频监控管理的信息化。因此本课题以校园视频监控为例,目的是开发一个实用的校园视频监控系统。
校园视频监控系统的开发运用java技术,MIS的总体思想,以及MYSQL等技术的支持下共同完成了该系统的开发,实现了校园视频监控管理的信息化,使用户体验到更优秀的校园视频监控系统,管理员操作将更加方便,实现目标。
1.5 初步设计方法与实施方案
软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S结构成为最佳之选。使用B/S结构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。
操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用My Eclipse。java开发技术。
1.6论文所做的主要工作
本论文的内容是关于校园视频监控系统的设计与实现,主要内容不仅包括了系统的分析和设计还对几个主要模块进行详细阐述与分析。此校园视频监控系统分为管理员操作,用户操作和视频管理员操作。用户的操作主要是可以在网页上浏览到首页,校园监控,公告信息,留言板,个人中心,后台管理等信息。管理员的操作,管理员登录后台进行操作,后台管理主要是针对一些校园视频监控信息的添加,更新校园视频监控信息管理,给管理员权限对用户和视频管理员进行修改等。本文将从分析部分开始论述,用户和视频管理员需要什么样的网站,怎样的操作界面能保证系统的易用性,然后从功能分析开始思考需要怎样的数据逻辑结构,把数据逻辑结构建成数据实体,最后从几个主要模块部分论述如何实现这些功能。
第二章 技术介绍
2.1 B/S结构简介
当向其他用户发送请求的功能时应用B/S模式具有独一无二的优点:用户请求通过网络向其他Web服务器发送时只需要通过浏览器就可以实现该功能。该功能的好处之一就是有效简化了客户端,大部分开发的软件只需要用浏览器即可,客户端的正常运行则通过这些浏览器来实现,而服务器则负责执行数据的存储和读取等其他的多功能工作。
B / S架构,主要有表示逻辑层,控制逻辑层,数据层这三层。表示逻辑层:服务请求这一功能主要是逻辑层的,Web服务器准备好后,服务请求最先被发送。等到最先发送的请求被服务器接收到后,然后将接受到的请求信息在web服务器上进行识别,识别这一操作是由服务器执行操作的,只要经过服务器的识别请求操作之后再将接收到的信息返回给客户端,浏览器就能收到的请求的信息。控制逻辑层:用户的请求是由将控制逻辑层接收,相应程序和数据库连接是接收用户数据的请求的首要条件,然后处理请求信息数据,请求数据经过处理后返回给Web服务器的就是最终处理完成的结果,最后返回给客户端的最终结果再次通过Web服务器。数据层:服务器从Web服务器接收请求是数据层主要任务,但还包括执行数据库查询、修改、删除操作,最后数据库操作结果将返回网络服务器。表示逻辑层,控制逻辑层和数据层三层之间的关系具有独立性,但三层之间又具有藕断丝连的相互关联的特性。
图2-1 B/S结构图
2.2 MySQL 数据库技术
数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。简单来讲,存储粮食的仓库叫粮仓存储数据的仓库就叫数据库。数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。作为最成功的典型层次模型数据库系统,IMS是最早研制成功的数据库系统。1970年由埃德加·科德于首先提出的关系模型融合了“科德十二定律”。现如今即使很多人仍旧不看好这个模型,但它依旧是数据存储的传统标准。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。
图2-1 数据库管理系统和接口的原理
2.3MySQL环境配置
本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2.4Java语言简介
Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法。Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。
Java语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然java也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能。但是这并不影响java成为此次设计语言的选择。Java语言简单易学,使用它的编程时间短,功能性强,开发者学习起来更简便、更快。Java的主要特性有以下几个:
1.面向对象
面向对象有四个特点:封装、继承、多态、抽象。抽象是指忽略一个问题中的次要部分,关注主要部分。多态是指对同一种消息做出的不同反应。继承是指在原有的父类方法基础上增加自己独有的方法,而不改变原来父类。
2.平台无关性
Java编译出来的是字节码,直接由虚拟机执行。在任何平台上,只要有Java虚拟机,Java代码都能运行。
3.可靠性和安全性
Java对内存的访问都必须通过对象的实例变量来实现,避免了指针中出现的错误。
4.多线程
Java提供了多线程功能,利用编程实现同一时间同时工作的功能。
2.5 JSP技术
JSP(JAVA SERVER PAGES,java服务器页面)自面世以来就被大家所广泛使用,JSP是一种基于文本的程序,同时也是是一种动态网页技术标准。为了简化Servlet的工作(Servlet输出HTML非常困难,JSP就是替代Servlet输出HTML的),而JSP的诞生并不是由一家公司完成,而是经过多家企业的共同研究开发出来的(在SUN MICROSYSTEMS公司领头下)。
JSP具有跨平台,分离静态内容和动态内容,可重复使用组件,预编译,沿用java Servlet所有功能等技术特征。跨平台指JSP是运用java来开发的动态网页技术,JSP继承了Java具有的大部分性质(JSP是JAVA WEB应用的主要视图,但不是唯一的)。分离静态内容和动态内容:无论是javabean、servlet以及嵌入在html代码之间的JSP代码都与html静态页面相分离,如javabean封装一些业务逻辑。可重复使用的组件:这里还是要提一下javabean,无论是值bean还是工具bean都是可重复使用,大大的提高了工作的效率。预编译:JSP页面在被服务器执行前就已经被编译好了,并且只在JSP页面第一次请求时进行编译,后续请求JSP未被修改时则直接掉用之前编译好的代码。JSP沿用了java Servlet的所有功能,并在servlet的额基础上做了很大改进,比如在分离静态内容和动态内容上,servlet所有内容都要在java代码中完成,JSP弥补了这个缺点,服务器先将JSP文件转化为servlet代码然后在进行编译。
2.6 SSM框架
开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。
第三章 系统分析与设计
3.1系统说明
校园视频监控系统是一个中小型的网上管理平台,人们可以在网络上进行信息交流,不用出门就可以查看到自己想要的信息。管理员可以通过对校园视频监控信息的管理、用户和视频管理员资料的管理等来对系统进行日常的更新与维护。
3.2 系统设计的目标
本系统主要是针对线下管理方式中管理不便与效率低的缺点,将电子商务和计算机技术结合起来,开发出管理便捷,效率高的校园视频监控管理系统。该系统操作简单方便,界面友好,容易管理和维护;而且对校园视频监控和管理具有较强的针对性,实用性和可操作性,可初步解决线下管理因各种因素限制,高成本等因素造成的一系列不便。
3.3系统设计规则与运行环境
软件系统的优劣很大程度上是由系统设计的完善与否决定的。世间万物都必须遵循生老病死的法则,这是大自然的规则不能违反,软件设计也一样需要遵循系统设计规则。因此,在设计过程中必须遵循系统设计规则。
规则如下:
简单性:为了扩大系统使用者的受众面,系统设计应该本着操作越简单约好的原则,这样不仅能提高系统的使用率更能够扩大系统使用面。。
针对性:一个系统针对性越强,所能提供的功能必然越完善,用户体验肯定更好,所以应该明确指定系统针对性。
实用性:实用永远是检验一个系统是否成功的唯一标准,使用的语言再高端,使用的结构再新颖但不能满足管理员,用户和视频管理员的要求那就是失败。
运行环境:
本系统是利用B/S结构来开发的,数据库在服务器上进行部署 Mysql即可,其他包括My Eclipse等常规开发程序。
3.4系统可行性分析
3.4.1技术可行性
本系统开发选择java技术,java为开发者提供了丰富的类库,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度,作为java开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以后台设计选择使用MySQL数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
依据上述目标来分析本系统的硬件如下:
奔腾3的处理器;
内存是 2G;
硬盘是50G;
操作系统是Window 10;
在软件方面的话,安装了Visul Studio 0 和MySQL数据库开发工具。根据以上的软件与硬件要求,得到这个系统的技术是可行的。
3.4.2经济可行性
校园视频监控系统,主要面向的是电脑用户,成本并不高,对于系统的维护和调试,只需要一个人就可以完成,所以在人力方面,投入的也很少。虽然说人力和资金的投入并不多,但是面临的收益是十分可观的,在21世纪,很多学校等都会将管理的目标转移到线上管理,知识是无价的。在未来,很多学校投入的人力资源和资金不会太多,但却又能保证企业运转继续进行。这对整个学校的发展是非常有利的。
3.4.3操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.4.4运行可行性
本系统作为以java作为开发语言的系统,而且选用B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。
综上所述,本系统的设计与开发在经济上、技术上、操作上和运行上的条件都是满足的,因此,系统开发具备可行性条件。
3.5 系统现状分析
系统使用用户的数量直接决定了用户信息管理者的工作量,毫无疑问,管理者的工作量较大较繁琐。通过总结出系统当前对用户管理的工作状态得以下分析:
统筹规划,如果系统在信息化管理中不够全面,缺少综合性、系统性、整体性,那不可避免的需要投入大量人力物力来规划整理信息。引入信息化管理方式无疑可以达到节省信息管理成本的目的不仅减少资源浪费还可以使校园视频监控信息变得井井有条,成为市场竞争中的一大优势。
要循序渐进,做事不能心急,一步一个脚印,都不可能一步到位,就算信息管理系统也一样,要让系统发挥最大效率还是应该多调研,多听取用户和管理者的意见,并进行必要的统筹规划,有组织有目的地设计系统功能,团结各个部门发挥主观能动性。
(3)信息安全措施不到位
隐私权神圣不可侵犯,这是中华人民共和国宪法赋予我们的权利,人和人都不能侵犯我们的正当权益,而网络用户信息管理存在极大安全隐患,信息泄露的案列不在少数,加强信息安全措施是完善网络信息管理过程中不可避免的一环。
(4)资源不能充分共享
资源共享是网络的一大特点,没有共享就没有社交,网络也就失去了他应有的魅力,如果能够实现用户信息共享,无疑对于用户的发展存在不可或缺的帮助。
(5)现有系统可扩展性不高。
如今科学技术发展飞速,随着而来的就是技术更新,那势必会给软件更新带来挑战,因此,系统必须具备良好的开放性和可扩充性,为了不落后于时代,这是必备特色之一。
基于上述分析,校园视频监控管理系统应该切合实际,做到确实有效,集体表现为:一是系统能够整理并集合归类用户信息,防止用户信息混乱,难以整理;二是系统要安全稳定,不能泄露用户信息,造成隐私泄露,不仅伤害用户利益更是对经营者名誉的损毁;三是系统要具有良好的开放性,不仅要方便定期的维护维修,更要方便及时增加新功能,保证先进的时代契合性。经过详细的讨论论证,确定系统的总体要求。
3.6系统的设计思想
一个优秀的设计作品,必然要有一个正确的构想,通过选择合理的开发工具、数据结构和操作系统来构成一个完善的校园视频监控系统,根据用户的实际需求,本校园视频监控系统的设计按照以下的原则来进行设计。
本网站以校园视频监控需求为目标,以方便使用本系统的用户为原则,同时加入一些先进的设计理念。根据用户不同的需求制作一个操作界面简单、模块功能完善、便于管理的管理平台,能够充分的满足用户的需求并方便于本网站的管理人员对网站实行管理。
一个好的网站必须具有高的可靠性,该系统通过结合先进的结构设计和数据的安全性,可以保证本系统具有高可靠性还有容错性,便于本系统不会出现一些不必要的错误信息,妨碍网站的管理。
本系统的设计要求便于网站的管理员管理本网站,用户可以根据自己的需求通过不同的模块入口进入不同的浏览页面,通过后台列表的编辑与更新,可使用户看到最新的校园视频监控信息,并且方便为更多的用户提供服务。
系统的模块设计主要以方便网站业务拓展和方便用户需求为目标,要求用能够很方便的浏览校园视频监控信息,并通过自身的需求能够快速搜索到自己想要的信息。
3.7系统功能结构
该部分内容提供首页,校园监控,公告信息,留言板,个人中心,后台管理等功能。
二、视频管理员功能
该部分内容提供个人中心,校园监控等功能。
该部分内容包含了个人中心,用户管理,视频管理员管理,摄像头管理,校园监控管理,留言板管理,系统管理等功能。
为了方便更直观的理解,下图以图形形式给出关于整个网站的结构图。网站总体功能结构图3-1如图所示:
图3-1系统总体功能结构图
3.8系统流程分析
3.8.1操作流程
图3-2登录流程图
3.8.2添加信息流程
添加信息流程图,如图所示:
图3-3添加信息流程图
3.8.3删除信息流程
删除信息流程图,如图所示:
第四章 数据库设计
4.1数据库概念设计
在对数据库设计之前首先要分析一下校园视频监控系统的功能,和各模块之间的关系,再对数据表进行设计。每一个模块的实体都会对应多个实体对象,下面是几个系统中的数据实体如下所示。
用户注册实体E-R图如图4-1所示:
4.2数据表设计
校园视频监控系统的操作都是依靠数据库来进行数据的操作,包括对数据的添加、删除、修改和查询等。所以对数据库的设计是一个很重要的环节,本校园视频监控系统根据管理员,用户和视频管理员的需求分析,对数据库进行了设计,为方便数据查询,本校园视频监控系统数据库中创建了数据表。这些实体对象是数据表结构的基本模型,这个数据模型包含了网站所有的数据实体和属性。如下表所示:
表4-1:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
touxiang | varchar | 200 | 头像 | ||
xingbie | varchar | 200 | 性别 | ||
shoujihaoma | varchar | 200 | 手机号码 |
表4-2:校园监控
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shexiangtou | varchar | 200 | 摄像头 | ||
fengmian | varchar | 200 | 封面 | ||
anzhuangweizhi | varchar | 200 | 安装位置 | ||
jiankongshipin | varchar | 200 | 监控视频 | ||
jiankongxiangqing | longtext | 4294967295 | 监控详情 | ||
gengxinshijian | datetime | 更新时间 |
表4-3:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-4:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-5:视频管理员
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 |
表4-6:摄像头
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shexiangtou | varchar | 200 | 摄像头 |
表4-7:公告信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | varchar | 200 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-8:留言板
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 留言人id | |||
username | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 留言内容 | ||
cpicture | varchar | 200 | 留言图片 | ||
reply | longtext | 4294967295 | 回复内容 | ||
rpicture | varchar | 200 | 回复图片 |
表4-9:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
5.1系统首页的设计
该界面是校园视频监控系统的首页,界面设置要求界面简洁明了、操作简单、兼容性好。在考虑设计界面时,首先要考虑界面标准化设计,其次是完善界面设计,但不要因对界面的美化使界面的操作变得复杂,用户可在此页面进行登录等操作,页面顶部导航条是各模块的入口。
系统首页页面主要包括首页,校园监控,公告信息,留言板,个人中心,后台管理等内容,并根据需要进行详细操作;如图5-1所示:
图5-1系统首页界面图
用户注册,在用户注册页面通过填写用户账号,密码,确认密码,用户姓名,手机号码等信息完成用户注册操作,如图5-2所示。
图5-2用户注册界面图
校园监控,在校园监控页面可以查看安装位置,更新时间等内容;如图5-3所示。
图5-3校园监控界面图
个人中心,在个人中心页面通过填写用户账号,密码,姓名,上传图片,性别,手机号码,邮箱,身份证号等信息进行更新信息操作,如图5-4所示。
图5-5后台登录界面图
5.2.1管理员功能模块
管理员登录系统后,可以对个人中心,用户管理,视频管理员管理,摄像头管理,校园监控管理,留言板管理,系统管理等功能进行相应的操作,如图5-6所示。
视频管理员管理,在视频管理员管理页面可以对账号进行查看,修改和删除等操作,如图5-8所示。
图5-8视频管理员管理界面图
摄像头管理,在摄像头管理页面可以对摄像头进行查看,修改和删除等操作,如图5-9所示。
图5-9摄像头管理界面图
校园监控管理,在校园监控管理页面可以对摄像头,封面,安装位置,监控视频,更新时间等内容进行查看,修改和删除等操作,如图5-10所示。
图5-10校园监控管理界面图
留言板管理,在留言板管理页面可以对用户名,留言内容,留言图片,回复内容,回复图片等内容进行查看和删除等操作,如图5-11所示。
5.2.2视频管理员功能模块
视频管理员登录进入系统可以对个人中心,校园监控管理等功能进行详细操作,如图5-12所示。
校园监控管理,在校园监控管理页面可以对摄像头,封面,安装位置,监控视频,更新时间等内容进行查看,修改和删除等操作,如图5-13所示。
图5-13校园监控管理界面图
5.2.3用户功能模块
用户登录进入系统可以对个人中心,留言板管理等功能进行详细操作,如图5-14所示。
图5-14用户功能界面图
留言板管理,在留言板管理页面可以对用户名,留言内容,留言图片,回复内容,回复图片等内容进行查看,删除等操作,如图5-15所示。
图5-15留言板管理界面图
第六章 系统的调试和测试
调试其实也是一个相当重要的过程,对于编程完成的功能,并不一定很完善,很多时候不像程序员想象中那么顺利,有很多漏洞都是在调试过程中发现的。测试前,我们首先要清空数据库中的所有数据,然后输入少量的数据进行测试。测试过程中有些功能并不是像构思好的那样顺序执行,并且有时系统会很不稳定,所以测试帮助我们发现错误并对程序做一些修改和完善。
本系统的测试应从用户注册测试开始,然后再进行用户登录测试,对系统的各个模块的功能进行测试,查看是否与需求说明上要求的功能一致。有时候少写一条语句、session未执行或者数据库的某些字段名字改掉了而造成引用不成功这样的小错误是常有的,有时删掉了一些方法但是忘记在前台页面上删除会引发一些错误或者Mysql语句不正确之类的错误都也是比较常见的。
在本系统的测试中我遇到了几个比较“纠结”的问题,最开始是SQL语句部分总是提示user附近有语法错误,怎么都不能做数据库的查询,就是在user表创建时,软件会在表名外加上一个“[]”,导致我的表名总是错误无法查询;MysqlL还有一个我自己造成的问题,就是我无意中把Mysql的登录名给删掉了,导致我没有办法链接到数据库,后来在老师的帮助下我才意识到问题出在这个地方,最后还是重新装的SQL这写问题也就都没有了。最后在做信息推送的查询/修改功能时也遇到了很大的问题,后台语句的逻辑和SQL语句都没有错误,系统也按照逻辑顺序提示修改成功,可是就是数据库中的内容没有修改,后来发现每做一个操作页面会刷新,就刷新成了数据库中原来的值,Mysql语句确实update成功了,只是修改的是原来的数据,所以看起来没有任何修改,我通过在页面加载方法中添加if (!IsPostBack){ }方法,这样就解决了页面刷新的问题。还有一个比较麻烦的问题就是模糊查询和类型查询的综合查询,一开始只定义了全局变量,总是查询失败,后来通过打断点测试,发现全局变量的值不易保存,后来改成了session变量,查询就成功了。当然遇到的问题不止这三个,还有很多的小问题,不过在模块测试时一一解决了。
调试是一个需要耐心和细心的工作,所以只是大体上执行一下是不会发现漏洞的,应该把每个功能都多调试几次,把可能的顺序或方法都试验一遍,往数据库中多添加一些东西,多次重复调用,尽可能地找出问题,这样才能够使系统更加完善。并且我认为当发现问题并解决问题的时候会体会到很大的成就感和快乐!这种感觉更鼓励我继续努力!
系统维护
为了清除系统在运行过程中发生的错误,必须定期的对系统进行完善和维护;这是为了使系统适应用户环境的变化,满足用户新提出的新要求。系统维护的任务是修复软件在运行过程中发现的错误,补充用户在使用过程中提出的新的功能需求。所以,为了保证计算机系统能够正常的运行,必须对系统进行定期检查。
维护内容有:
(1)病毒防范与系统安全:当今企事业单位里最严重的安全威胁就是--木马与黑客。这些都会严重影响到今企事业单位的正常工作和发展,会对今企事业单位造成难以估量的危害。所以,必须加强系统安全,定期查杀木马,以及对系统漏洞进行修补。
(2)数据维护。根据今企事业单位的需要对数据的需求有时候会发生变化,除了系统中的主要数据的定期更新外,还需根据公司需要进行变化调整,包括增加数据内容等等。除此之外,还必须对数据进行定期的备份等。
(3)代码维护。如果系统应用范围扩大,当前系统无法满足新的需求,那么必须大于系统中的代码进行必要的增加、修改、删除等等。
(4)硬件维护。主要就是指对主机以及外设的一些基本维护和管理,如对部件的包养清理,老化部件进行更换等,以此来保证校园视频监控管理系统能够正常地工作。
总结
本次毕业设计是以java为开发基础,以Mysql为数据库进行开发设计的,着重讨论了数据库模块、用户查看首页,校园监控,公告信息,留言板,个人中心,后台管理等内容的管理,管理员对个人中心,用户管理,视频管理员管理,摄像头管理,校园监控管理,留言板管理,系统管理等功能的设计与的实现,并对整个设计进行了简单的调试和修改。本系统操作简单方便快捷,适用于多功能校园视频监控管理。当然,一个完整的多功能校园视频监控系统,还需要有很强吸引力的页面美观效果,不过这是本设计所欠缺的。同时,如何让大家对你的网站感兴趣,如何设计的即美观又实用等等都是我们需要考虑到的。系统编号不只是为某一特定事物提供一个平台,更主要的是针对人的需求,这也是本系统开发的意义,所以要多些人性化的元素。
毕业设计已经到了尾声,通过这几个月的毕业设计,使我对开发软件的内容和流程有了更深的了解,虽然编程是一个很辛苦很枯燥的事情,但是当你自己完成了一个作品,实现了它的功能的时候,你就会体会到很多的成就感。遇到问题的时候大家都会很苦恼,但是解决了问题之后那种喜悦也是无法言语的。并且在完成毕业设计的过程中把以前学过的知识又重新巩固了,通过解决问题也学习到许多新的知识。从需求分析和可行性分析到最终完成了设计,涉及的知识领域包括:网站开发、网页设计、数据库原理、软件工程、专业外语等等。并且当代社会计算机行业发展十分迅速,也给了我们很大的压力,所以我们只学书本上和课堂上的知识是远远不够的,我们更应该不断的充实自己,学习新的知识,多做做项目,练习动手的能力,并且在项目中才能检测自己学习的内容有没有真正掌握,这也是理论与实践相结合的重要性。
参考文献
[1]孔波,邹有,卢红兵,杨华武,庹苏行.基于Web的色质数据解析平台设计与开发[J].计算机技术与发展,2019,29(12):198-204.
[2]闫朝阳.基于Web的大数据分析平台交互设计研究[J].设计,2019,32(17):94-97.
[3]胡念祖,林晓焕,肖新帅.基于嵌入式Web服务器的远程温度采集系统设计[J].舰船电子工程,2019,39(09):113-117+182.
[4]谭卫,阳晓霞.基于移动Web技术的高校思想品德教育工作评价系统设计与研究[J].信息与电脑(理论版),2019(15):101-104.
[5]宋丽芳.网站建设中网页设计的安全缺陷及对策分析[J].信息通信,2019(08):113-114.
[6]吴城.跨境电商网站系统的设计与分析[J].商场现代化,2019(15):37-38.
[7]蔡振海,张静.基于python的网络爬虫系统的设计与实现[J].电脑知识与技术,2019,15(23):36-37.
[8]黄绍涵.“HZD”校友圈社交网站设计与开发研究——就业模块设计[J].电声技术,2019,43(08):29-32.
[9]李翔宇.基于Web前端开发技术的儿童教育网站设计与实现[J].中国新通信,2019,21(15):196.
[10]曾婷,凌财进.基于HTML5的计算机一级考试模拟Web APP的设计与实现[J].办公自动化,2019,24(15):60-62.
[11]王立强.HTML5:电商网站设计与实现[J].营销界,2019(30):152-157.
[12]黄安.基于PHP+Mysql技术的网站设计与实现——以美食网站系统的设计为例[J].轻纺工业与技术,2019,48(07):168-170.
[13]张欢.服务类网站设计与经营模式的实例研究[J].科技经济导刊,2019,27(21):207+197.
[14]王瑞,徐方晨.开放共享实验室的Web平台设计与实现[J].工业控制计算机,2019,32(07):120-122.
[15]苏思雨,陈汝倩.长白山体验式旅游日文网站的设计与建设[J].数字技术与应用,2019,37(07):139-140.
[16]NastitiAndini,DaehaKim,JongAhnChun.Operationalsoilmoisturemodelingusingamulti-stageapproachbasedonthegeneralizedcomplementaryprinciple[J].AgriculturalWaterManagement,2020,231.
[17]A.D.Titisari,D.Phillips,I.W.Warmada,Hartono,A.Idrus.40Ar/39ArgeochronologyofthePongkorlowsulfidationepithermalgoldmineralisation,WestJava,Indonesia[J].OreGeologyReviews,2020,119.
[18]FranciscoOrtin,OscarRodriguez-Prieto,NicolasPascual,MiguelGarcia.HeterogeneoustreestructureclassificationtolabelJavaprogrammersaccordingtotheirexpertiselevel[J].FutureGenerationComputerSystems,2020,105.
[19]SatyaKrismatama,IndahRiyantini,IwangGumilar,LantunParadhitaDewanti.SelectivityofFishingGearforScomberomorusguttatus(Bloch&Schneider,1801)CommoditiesinPangandaranFishingGround,WestJava[J].AsianJournalofFisheriesandAquaticResearch,2020.
[20]ZhongXiangfu,PlaAlbert,RaynerSimon.Jasmine:aJavapipelineforisomiRcharacterizationinmiRNA-Seqdata[J].Bioinformatics,2020,36(6).
致谢
过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。虽然大学四年间做过不少实验作业,但是独立完成这样一个操作系统还是第一次,遇到困难时理所当然,我也有所心理准备,但是超出自身能力的部分还是需要寻求教师及同学的帮助。在此,我衷心地感谢我的指导教师,可以说,没有教师我就不能顺利完成这次设计。他总是在一筹莫展的时候为我指引方向。比如在开题报告,我的指导教师就细致地指导我该怎么有逻辑地将自己的想法和做法表达清楚,在此由衷感谢他。在设计的过程中,教师百忙之中也乐于给予我指导,不管多晚给教师发消息,不管是不是上班时间去教师办公室寻求帮助,他总能在第一时间对我施以援手,由于我在设计期间需要离校实习,不能及时到教师办公室检查设计进度,当时已经是晚上6点多,我匆匆赶到办公室时,教师依然在伏案办公,桌上是同学们的中期检查报告,检查完毕业设计后,他又继续查看同学们的中期报告,并督促我及时上交报告。教师给的意见总是一针见血地指出我设计及论文中的不足,并举例详细说明我的改进方法,不得不佩服他的学术水平及教学水平。在我开始着手实现这个设计的时候,通过需求分析及可行性分析对该系统有了较为浅显的认识;但是在我真正开始实现时发现事情并没有这么简单。任何成功都不是一蹴而就的,就算是一个简单的毕业设计也需要日积月累的知识和经验。于是,我便去寻求老师和同学的帮助,这也使得我得以从不同的角度重新考虑我的设计。终于,这个系统在我内心有了雏形。在真正实现这个设计的过程中,学习新知识是必定的,同时那些由于时间关系或者本来就没有掌握牢固的知识也有了进一步巩固的机会。然而最重要的是了解到如何作为一个开发人员,以开发人员的思维来看待软件开发的步骤和方法策略。
本次毕业设计的完成预示着大学时代的句号,在这个设计过程中,我收获到的绝不仅仅是做项目过程中要到的知识,更多的是同窗情谊和师生情谊,最重要的是做任何事情都要具备的认真态度,以及真正职业的思考方式方法。
最后真心祝愿同学们及老师工作顺利,祝学校越办越好!
核心代码展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
项目推荐
【计算机毕业设计】基于Springboot的网上购物商城销售系统
⬇️文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡