目录
- 1. 项目简介
- 2. 软件设计方案
- 2.1 软件架构
- 2.2 开发架构
- 2.3 接口及类图
- 3. 软件系统概念模型
- 3.1 分解视图
- 3.2 依赖视图
- 3.3 执行流程视图
- 3.3.1 用户登录
- 3.3.2 下载文件
- 3.3.3 上传文件
- 3.4 部署试图
- 3.5 工程分配视图
- 3.6 实现视图
- 4. 运行环境
- 5. 数据库设计
- 6. 概念原型
- 参考
1. 项目简介
网络教学平台突破了传统教学中时间空间的限制,使学习可以随时随地,让学生可以更好地利用碎片化时间,因此网络共享平台地搭建成为一个富有意义的项目。
本项目主要是实现网络共享平台的网上教学资源共享,以及教学资源的上传和下载,老师上传、下载、浏览和管理资源,而学生能够浏览和下载教学资源,以及上传作业等
2. 软件设计方案
2.1 软件架构
本项目采用的是基于Web的Browser/Server模式,简称BS架构。其特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web页面,并把Web页面展示给用户即可。
Web页面具有极强的交互性。由于Web页面是用HTML编写的,而HTML具备超强的表现力,并且,服务器端升级后,客户端无需任何部署就可以使用到新的版本,因此,BS架构升级非常容易
2.2 开发架构

本项目采用的是MVC架构,MVC模型代表Model-View-Controller(模型-视图-控制器)模式。
- Model:模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器
- View:视图代表模型包含的数据的可视化,即与用户的交互界面
- Controller: 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。
2.3 接口及类图

3. 软件系统概念模型
3.1 分解视图

3.2 依赖视图

3.3 执行流程视图
3.3.1 用户登录

3.3.2 下载文件

3.3.3 上传文件

3.4 部署试图

3.5 工程分配视图
前端 | 一人 |
资格验证、流量控制、用户管理 | 两人 |
文件上、下载 | 一人 |
3.6 实现视图
├─src
│ ├─main
│ │ ├─java //存放源代码
│ │ │ └─com
│ │ │ └─ye
│ │ │ ├─bean //存放model类
│ │ │ ├─controller //存放控制器类
│ │ │ ├─dao //存放持久层代码,与数据库进行交互
│ │ │ ├─interceptor //使用拦截器对一些不安全的请求进行拦截处理
│ │ │ ├─service //实现业务功能服务
│ │ │ └─util //一些常用工具类
│ │ ├─resources //存放资源文件
│ │ │ └─META-INF
│ │ └─webapp
│ │ └─WEB-INF
│ └─test //存放测试代码
│ ├─java
│ └─resources
└─target //所有编译、打包生成的文件都放在target目录里4. 运行环境
语言: Java
开发工具: IDEA
前端框架:Vue, Jquery。
后端框架:Springboot + Spring + Mybatis
数据库: MongoDB
spring解决的是业务逻辑层和其他各层的松耦合问题,集成各种框架,简化开发,降低开发难度;使用Spring Boot框架实现文件的上传和下载,相比于SpringMVC,配置更加简单,开发更加高效;Mybatis作为持久层框架,MyBatis是对JDBC的封装,轻量级,易学,配置简单,优于Hibernate;数据库使用MongoDB,非关系型数据库,优点:以文档方式存储,性能高,扩展性
5. 数据库设计
- 学生表
字段 | 描述 |
sid | 学号 |
name | 姓名 |
priority | 权限级别 |
password | 密码 |
phone_number | 电话号码 |
email | 电子邮件 |
- 教师表
字段 | 描述 |
tid | 教师工号 |
name | 姓名 |
priority | 权限级别 |
password | 密码 |
phone_number | 电话号码 |
email | 电子邮件 |
- 课程表
字段 | 说明 |
cid | 课程ID |
course_name | 课程名 |
folder_id | 课程对应的文件夹序号 |
tid | 课程对应的教师 |
- 学生选课表
字段 | 描述 |
sid | 学号 |
cid | 课程ID |
- 文件夹表
字段 | 描述 |
fid | 文件夹序号 |
folder_name | 文件夹名 |
folder_path | 文件夹路径 |
course_id | 课程id |
- 文件表
字段 | 描述 |
fid | 文件号 |
file_name | 文件名 |
file_path | 文件路径 |
last_modified_time | 文件最后修改时间 |
size | 文件大小 |
folder_id | 所属文件夹序号 |
6. 概念原型
概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论,概念原型是一种虚拟化的、理想化的软件产品形式。
概念原型 = 用例 + 数据模型
概念原型的工作过程大致如下:
- 学生:学生注册、登录系统后,根据课程名称以及课程对应文件夹或文件名进行资源查询,搜索到具体文件后可以选择浏览以及下载,使用完成后退出系统。
- 教师:老师登录系统后,可以选择上传资源或者对自己上传的资源进行管理。也可以进行和学生用户相同的操作,在此不再赘述
参考
















