网络教学平台突破了传统教学中时间空间的限制,使学习可以随时随地,让学生可以更好地利用碎片化时间,因此网络共享平台地搭建成为一个富有意义的项目。 本系统实现文件的上传和下载,实现网上教学资源的共享,让教师可以上传、管理教学资源,学生则可以进行下载学习。
本项目采用MVC架构。MVC框架是由Model模型,View视图和Controller控制器构成。
其中每一部分的作用为:
以一张图概括其运行模式:
前端框架:Vue, Jquery。
后端框架:Springboot + Spring + Mybatis
数据库:MongoDB
语言:Java8
开发工具:IDEA
技术选型说明:
1.spring解决的是业务逻辑层和其他各层的松耦合问题,集成各种框架(简化开发,降低开发难度)
2.使用Spring Boot框架实现文件的上传和下载(相比于SpringMVC,配置更加简单,开发更加高效)
3.Mybatis作为持久层框架(MyBatis是对JDBC的封装,轻量级,易学,配置简单,可以更好的调优 --> 优于Hibernate)
4.数据库使用MongoDB。(非关系型数据库,优点:以文档方式存储,性能高,扩展性强。)
根据用户能够进行的活动,通过功能种类进行初步划分,给出了下面一些面向用户的接口。
分解的常见方法有很多比如面向功能分解,面向特征分解,面向数据分解等,由于面向功能分解的方法比较直观简单,因此本项目采用面向功能分解的方法,即用例建模。
本项目的Actor有两种分别为学生和教师。用例图如下:
本项目由于采用MVC架构进行实现,因此各个模块的依赖关系如下所示:
实现视图是描述软件架构与源文件之间的映射关系。
典型的实现视图就可以由软件项目的源文件目录树来呈现。
1)用户表
Id | Password | Description | |
2)学生表
Sno | Sname | Dno | Id |
3)教师表
Tno | Tname | Dno | Id |
4)资源表
Fno | Fname | Description | Path | Category |
5)上传表
Tno | Fno | UploadTime |
6)下载表
Id | Fno | DownloadTime |
属性名 | 类型 | NULL | 描述 |
Id | String | N | 用户id |
Password | String | N | 用户密码 |
String | N | 邮箱 | |
Description | String | Y | 用户描述/文件描述 |
Sno | String | N | 学号 |
Sname | String | N | 学生姓名 |
Dno | String | N | 班级名 |
Tno | String | N | 教师编号 |
Fno | String | N | 文件编号 |
Fname | String | N | 文件名 |
Path | String | N | 路径名 |
Category | String | N | 文件类别 |
UploadTime | String | N | 文件上传时间 |
DownloadTime | String | N | 文件下载时间 |
学生用户通过注册后,成功登录网站后,在搜索栏中按照资源名字或者资源编号查找,系统通过资源名字或者资源编号返回对应的资源信息(资源名字,资源编号,资源描述,资源类别)并将其呈现在屏幕上,然后学生进行下载,下载完成后学生退出网站。
教师用户成功登录网站后,点击上传按钮,然后填写资源的路径,描述,名字,类别等信息,然后系统自动根据当前时间自动填写资源上传时间和自动为资源进行编号,等待上传完毕,老师就可以退出或者进行其他活动。
整个软件的主要工作流程就是资源的上传下载过程,其他业务就不在细述。
原文:https://www.cnblogs.com/tangxin621/p/14197569.html