网络教学资源平台设计方案

一.项目背景介绍

本课题是关于软件学院学生老师开发的一个共享资源的网络平台。用户可以通过我们开发的平台进行在线学习、上传下载资源、上传下载作业、批改作业,在线测试、评论互动等等功能,实现一个网络层面的在线共享学习平台。用户可以通过此系统极大程度地提高学习效率,并降低响应的学习成本,足不出户就可以完成学习任务,并且与老师和同学进行交流沟通,大大减少人力成本,方便系统设备进行管理。

 

二.系统运行环境和具体技术选项

项目框架:MVC

MVC把纯净的界面展示逻辑(用户界面)独立到一些文件中(Views),把一些和用户交互的程序逻辑(Controller)单独放在一些文件中,在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象,这些对象,统称为Models。

Model(模型)

    模型代表一个存取数据的对象或 Java POJO。它也可以带有逻辑,在数据变化时更新控制器。

View(视图)

视图代表模型包含的数据的可视化。

Controller(控制器)

    控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

后端技术:Springboot

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。

数据库:MongoDB

MongoDB是一个基于分布式存储的数据库,可以为WEB应用提供高性能的数据存储方案。

 

三.项目设计方案及系统概念原型的不同视图

用例图

对于我们项目中的网络共享平台,需要实现的功能如下所示:

1.全体用户可以对经典的项目资源进行上传和下载;

2.教师用户可以上传教学资源(视频、课件),可以审查学生的学习情况,布置作业,发布测试并批改学生的试题。

3.学生用户可以浏览平台上的教学资源,并下载资源。同时可以完成课程对应的测试,并获得评分。

4.全体用户可以对项目或课程在评论区进行讨论。

5.全体用户可以进行登录和注册,并对自己相应的个人信息进行修改

6.全体用户可以使用平台将相应信息发送至个人邮箱。

对此我们可以画出如下用例图:

 

 

 划分的模块在上一篇博文可见,在此不多加叙述。

软件架构

1.C/S体系结构

对于我们设计的网络共享平台,我们采取的是C/S的体系结构。客户端通过响应操作请求向服务器传输数据,后台服务端机器通过运行一致性算法,返回对应结果给客户端。C/S的架构风格是指客户代码通过请求和应答的方式访问或者调用服务代码。在其中,客户是主动的,服务是被动的。

2.API相关视图

在相关模块的对应功能中,不同用户对应着不同的权限,可以使用的功能接口也有所不同。

a) 登录模块

 

 

 

b) 资源管理模块

 

 

 c) 评论模块

 

 

 

d) 作业模块

 

 

 

部署视图

在本项目中,我们采取多用户分布式管理的模式:

 

 

 

各功能模块的执行流程图

1.登录注册模块

 

 

 

2.搜索模块

 

 

 3.下载模块

 

 

 

4.评论模块

 

 

 

 

部署视图

 

 

 

代码实现视图

 

 四.数据库的相关内容

学生表:

 

 

 

 老师表:

 

 

 

 班级表:

 

 

 课程数据库表:

 

 

五.工作流程

在本项目中,学生可以通过注册登录进入我们的网络资源共享平台。可以通过搜索功能寻求自己想要的资源,并将资源下载到自己本地。也可以上传自己的资源,并在线进行学习、资源共享等等功能。同时学生用户可以在评论区进行交流讨论,并在其他人的资源和作业下进行留言;并对老师发布的测试进行在线作答,同时得到老师批改的结果。

老师可以通过管理班级和课程的方式对用户学生进行管理,与此同时老师可以上传自己的教学资源和教学视频供学生参考学习,并审核学生提交的资源。并且老师用户可以发布作业和测试,让课程上的所有学生完成,并进行批改评分。而且同时可以实现对学生用户的部分管理。

posted @ 2020-12-30 17:12  天涯箫客  阅读(856)  评论(0)    收藏  举报