基于教学资源平台的软件系统设计方案
针对工程实践项目,进行软件系统分析和设计,最终形成软件系统概念原型。
1. 项目介绍
工程实践课题为《网络教学资源共享平台》,目的是实现一个远程教育资源平台,面向学生以及教师。用户注册登录后可以上传、浏览以及下载平台上的资源,从而实现网上教学资源的共享。
2. 软件设计方案
2.1 软件架构
本项目采用B/S体系结构,用户无需安装客户端即可使用该系统。Client/Server(C/S)和 Browser/Server(B/S)是我们常用的对软件的网络结构特点的表述方式,但它们背后蕴含着一种普遍存在的软件架构风格,即 客户-服务模式 架构风格。
客户-服务模式的架构风格是指客户代码通过请求和应答的方式访问或者调用服务代码。客户是主动的,服务是被动的。客户知道它向哪个服务发出请求,而服务却不知道它正在为哪个客户提供服务,甚至不知道正在为多少客户提供服务。 客户-服务模式的架构风格具有典型的模块化特征,降低了系统中客户和服务构件之间耦合度,提高了服务构件的可重用性。
2.2 开发架构
本项目基于 MVC 框架,MVC模型包括 Model模型层,View视图层,Controller控制层 三层结构。
结合实际的Java Web项目开发,我们将结构分成四层:
- DAO层:数据持久层, 负责与数据库进行联络的一些任务都封装在此 。
- Service层:service层主要负责业务模块的应用逻辑应用设计。
- Controller层:controller层 负责具体的业务模块流程的控制 ,在此层要调用service层的接口来控制业务流程。
- View层:view层与控制层结合比较紧密,需要二者结合起来协同开发。view层主要负责前台jsp页面的显示
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 存放实现类的源代码 --bean 存放model类 --controller 存放控制器类 --dao 存放持久层代码,与数据库进行交互 --interceptor 使用拦截器对一些不安全的请求进行拦截处理 --service 实现业务功能服务 --util 一些常用工具类 -test 存放测试类的代码
4 系统运行环境
语言: Java
开发工具: IDEA
前端框架:Vue, Jquery。
后端框架:Springboot Spring Mybatis
数据库: MongoDB
spring解决的是业务逻辑层和其他各层的松耦合问题,集成各种框架,简化开发,降低开发难度;使用Spring Boot框架实现文件的上传和下载,相比于SpringMVC,配置更加简单,开发更加高效;Mybatis作为持久层框架,MyBatis是对JDBC的封装,轻量级,易学,配置简单,优于Hibernate;数据库使用MongoDB,非关系型数据库,优点:以文档方式存储,性能高,扩展性强。
5 数据库设计
1)用户表
2)资源表
3)上传表
4)下载表
5)属性说明
6 系统概念原型的核心工作机制
概念原型的工作过程:
学生:学生登录系统,根据资源名称或是资源号进行资源查询,得到具体资源后可以选择浏览以及下载,使用完成后退出系统。
教师:教师登录系统,可以选择上传资源或者对自己上传的资源进行管理。也可以根据资源名称或是资源号进行资源查询,和普通学生用户一样进行浏览以及下载。