1、项目简介
本项目的近期规划目标是,为软件学院的同学们搭建一个能实现经典项目线上共享且能实现网上在线视频课程学习的网络共享平台,从而实现在线学习。
本项目的用户群体为:教师和学生
网络平台功能需求分析如下:
1. 全体用户可对经典的项目进行上传和下载;
2. 授课教师可在教授课程里上传教学资源,即:视频资源,课件;
3. 授课教师还可在教授课程里编辑发布相关的课程测验,由学生作答后,再由授课教师进行批改,并对学生进行成绩认定;
4. 学生用户可以在本平台上搜索到相应课程,并加入到该课程的授课班级中,完成授课教师发布的课程内容,并可查阅自己的参与课程的成绩;
2、软件系统概念原型的视图
2.1 用例图
用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。
2.2 时序图
时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
2.3 分解视图
分解是构建软件架构模型的关键步骤,分解视图也是描述软件架构模型的关键视图,一般分解视图呈现为较为明晰的分解结构(breakdown structure)特点。
面向功能分解本项目如下:
2.4 功能流程图
软件的功能流程图就是能够让软件功能或算法清晰可观表达出来的一种图形图表。
2.5 部署视图
部署视图描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。
2.6 API相关视图
3、数据库设计
3.1 教师表
属性名变量类型备注
userID
int
用户号
userName
varchar
用户名
teacherID
int
教师号
Name
varchar
教师姓名
password
varchar
账户密码
gender
varchar
性别
varchar
邮箱
telephone
varchar
绑定手机号
memo
text
备注信息
3.2 学生表
属性名变量类型备注
userID
int
用户号
userName
varchar
用户名
studentID
int
学号
Name
varchar
学生姓名
password
varchar
账户密码
gender
varchar
性别
varchar
邮箱
telephone
varchar
绑定手机号
memo
text
备注信息
3.3 班级表
属性名变量类型备注
courseID
int
对应的课程号
classID
int
班级号
className
varchar
班级名称
studentNum
int
班级学生人数
memo
text
备注信息
3.4 课程表
属性名变量类型备注
courseID
int
课程号
courseName
varchar
课程名称
studentNum
int
参与课程学生人数
teacherName
varchar
课程负责人(填写1名任课教师)
memo
text
备注信息
3.5 文件表
属性名变量类型备注
fileID
int
文件号
fileName
varchar
文件名
filePath
varchar
文件路径名
uploader
varchar
上传者用户名
size
double
文件大小
memo
text
备注信息
4、系统运行环境及技术选型
本项目的架构采用的是MVC架构,前端使用的是多种常用的前端语言:JavaScript、CSS、html,后端采用的是Java spring架构,数据库使用的是mongodb数据库,运行环境为Windows10系统。
5、工作过程
本项目的工作过程在上述的功能流程图已经大致阐述清楚。主要为:
学生或教师用户可在平台的登录页面进行注册与登录,登陆后可在平台主页搜索想要的资源,包括课程和平台上的经典项目,对于选定的课程,学生用户可以通过加入课程来进行线上学习并参与课程测验,课程中所有的教学资源均由授课教师提供。对于选定的项目,用户可以将其下载到本地;此外,用户也可以上传自己认为优秀的项目,并与平台的其他用户共享。