基于springboot在线网盘系统 可做毕业设计 源码免费获取

第一章 绪论

1.1 课题背景、目的及意义
1.1.1 课题背景
随着计算机及网络技术的不新发展现代通讯工具应用的普及,计算机在现代礼
会生活中发挥着重要的作用,而与之相伴随的就是大量数据资料而且是一些经常使用的文件资料,处理、传输和存储成为当今数据信息技术的三大基石,计算设施、网络
设施以及存储设施合在一起,成为以互联网为代表的现代信息社会的基础设施。而为
了适应集成/网络技术的飞速发展,信息大都采用二进制数字的形式存储,随着信息的增多,信息的存储和管理变得复杂,单机硬盘存储已满足不了用户的文件存储和管
理需要,因此,研究和实现一个可靠的、低成本的、操作便利的、可供个人存储资料
及共享资料的、易拓展、易搜索、易评价的网络存储应用系统具有重要的意义和实用价值。
个人网盘系统以网络存储技术为核心应运而生,以适应目前信息化社会对支持网络、支持多种数据信息的新型网络应用软件的要求,取代以纸质、手工为主体的传统办公方式,解决单机文件存储软件存储量少、文件工作和管理效率低、文件交互共享能力有限等弊端,以提高文件管理的效率,减轻硬盘存储和管理压力。
1.1.2 课题目的和意义
网络存储最直观的意义有三,第一是减少文件信息占用的用户硬盘内存,使得用户不必在自己的单机上划分较大的空间用于存储信息,第二,提供更简单快捷的在线查阅方式,用户不必下载文件到自己的磁盘上即可查阅文件,第三,快速实现文件共亨。
通过在线网盘系统的研究与设计,目的是,能够让该系统实现收集与存储用户个人文件,并提供上传、下载、删除、分享、重命名、搜索等功能供用户管理存储在服务器上的文件,同时,将文件分类展示,并提供在线阅览,以最大限度的方便用户对同类文件的操作,真正实现满足用户需求,提高效率,节约资源,处理业务的日的。

第二章 相关技术介绍

本章主要对在线网盘系统所涉及的相关技术进行了介绍。
2.1 Javascript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
Javascript语言与Java语言在语法上比较相似,但随着对Javascript的深入了解后你会发现,它们说到底是两种语言。
2.2 Ajax
Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax技术可以提供高度交互的Web应用,给予用户更丰富的页面浏览体验,Ajax功能的实现主要依靠XMLHttpRequest对象及其属性和方法、发送请求和处理响应。
2.3 MySQL
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
自从Oracle公司收购了MySQL后不久,就发行了MySQL的企业版(不再免费)。
2.4 SpringBoot框架
SpringBoot框架中有两个非常重要的策略:开箱即用和约定优于配置。开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。约定优于配置,Convention over configuration,是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
2.5 Freemarker模板引擎
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
2.6 B/S模式
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。
B/S模式最大的优点就是可以在任何地方进行操作而不需客户端安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护,系统的扩展非常容易。它具有分布性特点,可以随时随地进行业务处理。业务扩展简单方便,通过增加网页即可增加服务器功能。在维护方面,只需要改变网页,即可实现所有用户的同步更新,共享性较强。它实现了跨平台的系统集成服务,提供了异种机、异种网、异种应用服务的联机、联网、统一服务的开放性基础。而C/S模式开发是具有针对性的,对客户端有一定的要求,因此缺少通用性,移植性,业务变更不灵活,在维护、系统升级方面都有很大的麻烦而且兼容性较差,对于不同的开发工具,相互之间很难兼容,具有较大的局限性,新技术不便于使用。另外,它的开发成本较高,需要具有一定专业水准的技术人员才能完成。图2-1所示是B/S模式应用系统网络结构图:

图2-1 B/S模式应用系统网络结构图
2.7 系统开发平台及运行环境
2.7.1 系统开发平台
(1)Idea
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。在Eclipse的官方网站中提供了一个Java EE版的Eclipse IDE。应用Eclipse IDE for Java EE,既可以创建Java项目,也可以创建动态Web项目。
最突出的功能是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。
比如查看Map类型的对象,如果实现类采用的是哈希映射,则会自动过滤空的Entry实例。
其次,需要动态Evaluate一个表达式的值,比如我得到了一个类的实例,但是并不知晓它的API,可以通过Code Completion点出它所支持的方法。
最后,在多线程调试的情况下,Log on console的功能可以帮你检查多线程执行的情况。
(2)Maven
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

2.7.2 运行环境
2.7.2.1 硬件环境
在线网盘系统服务器端硬件环境。
表2-1 硬件环境表
指标项 配置参数
主机型号 HP Z600
CPU 型号 Xeon E5606 2.13GHz
CPU 数量 2
显卡 ATI FirePro V4800 1GB
内存 DDR3 1333MHz ECC Unbuffered DIMM 24GB
硬盘 SATA 600GB*4

2.7.2.2 软件环境
在线网盘系统服务器端软件环境。
表2-2 软件环境表
名称 版本
操作系统 Windows Server 2012 R2
开发工具 Eclipse
数据库 MySql 5.7
Maven Maven3.6.1
软件开发工具包 JDK 1.8

第三章 系统需求分析

随着时代的发展,人们逐渐发现无论是手机还是电脑,能够存储的文件是有线限的,数据之间相互交互是比较麻烦的,而在线网盘容量大,方便,吸引了大批的人使用。
在线网盘功能拥有大量的存储空间,方便的快捷分享方式。
3.1 功能需求分析
在线网盘系统是根据各大网上存储实际情况按照网络化的需求开发的,它的目标非常明确,即通过建立在线网盘存储平台,将原来存储在电脑硬盘的文件存放到网盘上,使数据的保存更加便捷、安全、规范和有针对性。
系统功能需求整体上分为用户使用功能和系统管理功能,其中用户使用功能包括上传文件、创建文件夹、删除文件夹、下载文件、分享(文件和文件夹)等功能;系统管理功能包括管理员管网盘管理和系统设置等功能。
根据以上功能需求分析,通过用例图来描述系统的主要功能。构建用例模型的第一步是确定模型中的使用者有哪些,确定使用者的原则有:谁是系统的维护者、谁是系统的参与者等。维护者处于系统内部,对系统有绝对的控制权;而参与者一般都位于系统的外部,处于系统的控制之外。
现在确定本系统用例模型有三种,分别是游客、后台用户(普通用户和系统管理员)。下面分别对这三个角色的功能进行描述:
1)游客
游客是未注册的用户,他们可以浏览分享文件,下载分享文件,如需将文件保存到网盘,必须先注册成为网站用户。游客主要功能如下(图3-1为游客用例图):
a.浏览分文件;
b.下载分享文件;
c.注册成为网站会员。

图3-1游客用例图
2)后台用户功能
后台用户是网站的主要成员,包括普通用户和管理员(图3-2为后台用户用例图):
a.网盘管理;
d.浏览分文件;
e.下载分享文件;
f.将分享的文件保存到网盘。
g.系统设置

图3-2 后台用户用列图
在确定了系统用户和用户功能后就可以构建在线网盘系统的用例图了,整个系统的用例图如图3-3系统总体用例图所示:

图3-3 系统总体用例图
3.2 非功能需求分析
(1)系统的实用性
系统的实用性是指系统设计开发的功能要尽量简单、实用,用户在使用系统过程中能够感受到系统的快捷、方便,不存在很多累赘和多余的操作或者功能。
(2)系统的安全性
在线网盘系统中记录了重要用户信息,包括用户的个人隐私信和用户保存的文件等信息,这些信息要具有很高的保密性和经济价值。因此,要求系统要具有一定的安全性,能够保证重要数据信息不被轻易窃取和破坏。
(3)系统的稳定性
系统稳定性差则预示着系统在用户使用时,可能会出现数据操作错误,页面响应时间过长或者干脆无法响应等,因此系统的稳定性是用户对系统评价的重要指标之一。系统应采用稳定的操作系统、数据库、中间件等,以保证系统的稳定性。
(4)系统的开放性
系统的开放性是指系统具有良好的可兼容性,可以在Windows的大部分版本的操作系统中正常的运行,另外,也支持不同浏览器版本,能够在微软的IE浏览器、谷歌浏览器等常用的浏览器上正常运行。系统的易升级和管理也是系统开放性的表现。
3.3 可行性分析
可行性分析主要是指在当前己有的具体条件下,网站系统的开发是否己具备了必要的条件和资源,分析概括起来包括网站经济可行性、网站技术可行性分析分析和网站操作可行性分析三个方面。
3.3.1 经济可行性
网站的经济可行性分析主要是指网站的开发成本与收益之间的评估,分析网站建设带来的经济效益以及建设维护网站所需费用。
(1)网站所需费用。由于本网站系统是用来帮助用户缓解内容不存,分享困难等问题开发的,可以大量减少用户购买内存卡,减少用户的开支。同时网站可以收起用户的费用。用来作为日常的维护。
(2)系统使用的MySQL免费开源的数据库和Java作为开发语言,开发的成本并不是很高。

3.3.2 技术可行性
本系统基于SpringBoot+Jpa+Freemarker+MySQL, 并采用B/S模式,由于Freemarker、SpringBoot功能强大,而Jpa和MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用SpringBoot、Freemarker和MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

3.3.3 操作可行性
本系统是基于B/S架构的,与传统的BBS发布信息非常相似,用户不需要进行特别的学习就可以实现商品购买和商品信息的发布。而对于系统的管理员,由于会配备系统管理的相关说明书,即使不是专业学科的系统管理员也可以很方便快捷地操作后台的管理系统。
基于springboot在线网盘系统 可做毕业设计 源码免费获取_第1张图片
基于springboot在线网盘系统 可做毕业设计 源码免费获取_第2张图片
基于springboot在线网盘系统 可做毕业设计 源码免费获取_第3张图片
基于springboot在线网盘系统 可做毕业设计 源码免费获取_第4张图片

你可能感兴趣的:(spring,boot,课程设计,毕设,毕业设计,后端)