基于SSM的在线教育系统的设计与实现【附源码】

38 篇文章 2 订阅
37 篇文章 1 订阅

基于SSM的在线教育系统的设计与实现

需求规格说明书
Version: 1.0.0

目 录
项 目 承 担 部 门: HELLOWORLD! 1
撰 写 人(签名): 陈徐锋 1

  1. 引言 1
    1.1 目的 1
    1.2 定义 1
    1.3 参考资料 1

  2. 软件总体概述 1
    2.1 软件标识 1
    2.2 软件描述 1
    2.2.1 系统属性 1
    2.2.2 开发背景 1
    2.2.3 软件功能 2
    2.3 用户的特点 2
    2.4 限制与约束 2

  3. 具体需求 2
    3.1 功能需求 2
    3.1.1注册与登录功能 2
    3.1.2 个人信息管理 3
    3.1.3 订单管理模块 4
    3.1.4 账户管理模块 5
    3.1.5 评价管理 6
    3.1.6 搜索管理 7
    3.1.7 购物车模块 8
    3.1.8 视频上传功能 10
    3.1.9 视频审核与管理 11
    3.1.10 支付系统 12
    3.2性能需求 13
    3.3数据库需求 13
    3.4设计约束 14
    3.4.1其他标准的约束 14
    3.4.2硬件约束 14
    3.4.3 软件约束 14

  4. 附录 14
    4.1 界面原型图 14
    4.1.1 注册与登录模块 14
    4.1.2 个人信息管理模块 15
    4.1.3订单管理模块 16
    4.1.4 账号管理模块 17
    4.1.5 评价信息管理流程 18
    4.1.6 搜索功能模块 19
    4.1.7 购物车模块 20
    4.1.8 视频上传模块 22
    4.1.9 视频审核模块 23
    4.1.10 支付系统模块 25

  5. 引言
    1.1 目的
    在线教育,顾名思义借助互联网进行网上授课,普通用户可以通过购买课程进行学习,在线教育网站也提供免费的视频供用户学习,借助前期免费教学视频吸引用户,为用户提供规划学习路径,养成用户习惯,再推出一些付费视频,提供视频的教师可以获取一定的报酬,而平台会收取一定比例的费用,培养出一批知识技术水平一流的人才,再拓展人才岗位推荐业务。
    1.2 定义
    本文件中用到的专门术语的定义:
    a. MySql:微软数据库产品
    b. Java:一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发
    c. Eclipse:跨平台开源集成开发环境
    1.3 参考资料
    《项目立项报告》
    《软件工程与管理》 覃征.清华大学出版社.2005-6

  6. 软件总体概述
    2.1 软件标识
    软件全名称:在线教育项目
    软件缩称:在线教育
    版本号:1.0.0
    2.2 软件描述
    2.2.1 系统属性
    本节描述被开发软件与其他相关产品之间的关系。
    如果该软件是独立的,应在本节说明;
    如果该软件是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系。如果这部分内容已包含在较高层次的说明(如《用户需求说明书》)中,应在本节指明。
    本节无须描述设计方案和设计约束。
    2.2.2 开发背景
    网上在线教育网站是近来一种比较火热的在线学习方式,它打破了传统的教学方式,能够让我们在任何时候,任何地点,只要有网络,就能学习,在线教学,打破了传统的课堂不能回放问题,学生不懂,可以将视频回放着看,在视频区域下方还有评论,学生不懂的话可以将问题抛出,热心的学生会在一起讨论该问题,给出各种各样的解决方案
    2.2.3 软件功能

序号 功能名称 功能需求标识 优先级 简要描述
a 视频播放 2.2.3.1 高 播放视频
b 视频交易 2.2.3.2 高 购买课程
c 评论 2.2.3.3 中 交流讨论
d 视频搜索 2.2.3.4 中 查阅检索

2.3 用户的特点
本本系统的最终用户主要分为四种:普通用户、游客用户、教师用户、,管理员用户。其中每类用户都拥有不同的权限。
普通用户功能:除了简单的登录,视频交易支付,视频观看记录,视频搜索,视频评论,视频收藏,分享功能,购买记录查询删除,购物车的删除,添加,修改,查看
游客功能:视频搜索和查看,注册功能,分享功能
教师用户:除了简单的登录注册,视频交易提现于支付,视频上传,视频观看记录,视频搜索,视频评论,视频收藏,分享功能,购买记录查询删除,购物车的删除,添加,修改,查看
管理员:禁言功能,视频审核,视频上传

2.4 限制与约束
由于系统特殊, 对安全性要求很高,所以在此系统设计中,我们也着重考虑到了安全性功能模块的设计,对访问控制进行设计,该系统的寿命要求能运用3年以上,且整套系统的开发要求经济实用,经费在5000元以内,项目期限为1年

  1. 具体需求
    3.1 功能需求
    3.1.1注册与登录功能
    功能编号 3.1.1.1 功能名称 注册 所属部门
    功 能
    描 述 提供游客用户注册
    输入项 用户名: /1{6,16} / 类型 : s t r i n g 必填密码 : / [ a − z A − Z 0 − 9 − ] 6 , 16 / 类型:string 必填 密码: /^[a-zA-Z0-9_-]{6,16} /类型:string必填密码:/[azAZ09]6,16 类型:string 必填
    邮箱 类型:string 可空
    出生日期 类型:data 可空

处理描述 用户名:6到16位(字母,数字,下划线,减号)
密码强度: :6到16位(字母,数字,下划线,减号)
有效性检验:检索数据库,查看用户名是否被注册
输出项 用户名 string 6-16
密码 string 6-16
邮箱 string
出生日期 data
界面要求 无

3.1.1-1注册与登录用例图
3.1.2 个人信息管理
功能编号 3.1.2 功能名称 个人信息管理 所属部门
功 能
描 述 1. 提供学生用户进行个人信息的管理,包括修改基本信息,安全信息,评论答复信息,课程信息,购物车信息.
2. 除了提供教师用户进行个人信息的管理,包括修改基本信息,安全信息,评论答复信息,课程信息,购物车信息,还提供教师管理课程发布的信息.

输入项 基本信息,安全信息,评论答复信息,课程信息,购物车信息,课程发布的信息.(string类型)
处理描述 检验各信息是否符合要求,详细要求可查阅副本(信息规范要求)
输出项 String类型
界面要求 无

3.1.2-1 个人信息用例图
3.1.3 订单管理模块
功能编号 3 功能名称 订单管理 所属部门
功 能
描 述 管理员 :查看用户所购买视频的订单
用户:创建订单,查看自己订单,删除订单,修改订单
输入项 用户:用户名 字符串 10字节 ,下单日期 字符串
管理员:订单id 整型
处理描述 用户将输入的订单数据添加到订单表
管理员:输入定单id查数据库中查找定单
输出项 订单数据
订单id 整型
订单日期 字符串
用户名 字符串
价格 浮点
订单状态 字符串
界面要求 显示订单下单时间、下单用户、价格、订单号

3.1.3-1 订单管理模块
3.1.4 账户管理模块
功能编号 4 功能名称 账户管理 所属部门
功 能
描 述 系统管理员对用户账户进行添加、查看、删除、修改用户账户和普通管理员账号操作
输入项 用户名
处理描述 用户名 字符串
输出项 用户信息
用户名 字符串
界面要求 显示用户信息

3.1.4-1 账户管理模块用例图
3.1.5 评价管理
功能编号 5 功能名称 评价功能 所属部门
功 能
描 述 评价管理,可以及时获取客户的使用体验,是服务端可以及时做出相应的调整,星级评价更能明显显示出其他用户对该视频的印象,客户在还没有观看、购买视频前能有客观的了解。
输入项 星级评价:set_star_mount int(1)
观后评价:set_look_after varchar(50)

处理描述 判断 set_star_mount 是否是在1~5,是 赋值给get_star_mount,否get_star_mount = 0;然后同时对get_star_moun和set_look_after判空,若是0或空 提示评价不能为空,并返回评价页;否则set_assess = get_star_mount + set_look_after,并跳出评价页;
输出项 视频评价:set_assess varchar(51)
界面要求 星级评价要在视频介绍中显示,星级评价限定用户只能输入1~5

3.1.5-1 评价功能用例图
3.1.6 搜索管理
功能编号 6 功能名称 搜索功能 所属部门
功 能
描 述 可以使客户快速查找到理想目标视频的功能。
输入项 关键字:search_keyworks varchar(30)
处理描述 关键字查询,从数据库中查询并返回获取结果search_results,其中包括了视频路径get_path、视频标题get_title、视频日期data、视频评价get_assess,即search_results = get_path + get_title +data + get_assess,若搜索结果为空,则提示搜索结果为空。
输出项 search_results varchar(100)
界面要求 搜索工具栏要在版面的明显位置

3.1.6-1 搜索功能用例图
3.1.7 购物车模块

功能编号 7 功能名称 购物车 所属部门
功 能
描 述 首先用户在登陆页面中登陆网站,进入显示产品信息的网页,在该网页中,设有"产品类型"、“查看购物车”、"显示订购单"等超级链接。此时若要购物,点击加入购物车,将其放入购物车。
若用户点击"查看购物车"的超级链接。下方框架将会显示购物车内的产品情况,此时还可进行产品删除的操作。
若用户点击"显示订购单"超级链接,下方框架将会显示订购单网页,用户在对订单细目核对后,便可进行订购了。

输入项 视频ID INT(10)
处理描述 A.用户登录前的数据流:用户在没有登录系统的时候,对喜欢的商品进行添加购物车,那么这个时候,我们可以把购物车信息保存
到cookie中,这里会涉及到cookie的添加,修改操作;也即如果之前在cookie中不存对应的cookie,则就对cookie进行添加操作。
如果在cookie中存在对应的cookie,那么,这时候,就要对cookie进行修改操作了(这里涉及到用户对同一个商品进行多次添加购物车的情况)。
B.用户登录后的数据流:用户在登录后,系统首先做的第一件事就是去获取对应的cookies,如果存在相关的购物车cookies,那么就对该购物车
信息进行相应用户User的持久化操作,要么添加,要么修改。(添加操作:该用户所对应的购物车如果没有相应的信息进行添加操作;修改操作:类似的,
如果存在对应用户的购物车信息,就进行修改操作)。用户登录后,也可以进行购物车的添加操作,不过,这里不是添加到cookie中,而是直接持久化到数据库(MySQL or Redis)

输出项 在购物车表 增加对应 视频ID (int )记录 ( string)
界面要求 简介明了

3.1.7-1购物车用例图

3.1.8 视频上传功能

功能编号 8 功能名称 视频上传 所属部门
功 能
描 述 首先用户在登陆页面中登陆网站,进入个人 或者 首页 点击 上传视频 ,从而进入上传视频页面,选择视频 和编辑视频信息 进行上传。
输入项 视频包涵的信息 如 视频名称 视频描述 视频价格 ,和视频的输出流
处理描述 1. 提交方式:post
2. 表单中有文件上传的表单项:
3. 指定表单类型:
默认类型:enctype=“application/x-www-form-urlencoded”
文件上传类型:multipart/form-data

1、创建DiskFileItemFactory对象,设置缓冲区大小和临时文件目录
2、使用DiskFileItemFactory 对象创建ServletFileUpload对象,并设置上传文件的大小限制。
3、调用ServletFileUpload.parseRequest方法解析request对象,得到一个保存了所有上传内容的List对象。
4、对list进行迭代,每迭代一个FileItem对象,调用其isFormField方法判断是否是上传文件
• 为普通表单字段,则调用getFieldName、getString方法得到字段名和字段值
• 为上传文件,则调用getInputStream方法得到数据输入流,从而读取上传数据。

输出项 JavaIO流
界面要求 简介明了

3.1.8-1视频上传功能用例图
3.1.9 视频审核与管理
功能编号 9 功能名称 视频审核与管理 所属部门 开发部
功 能
描 述 由教师用户提交待审核的视频,在待审视频的数据库中已列表的形式呈现且未审核的视频的审核状态都为0,管理员通过搜索状态或是有信息系统提醒审核信息进入审核视频列表对内容进行审核,如果视频内容符合规则则将审核状态改为1,如果视频内容不符合则将审核状态更改为2,并给教师用户返回审查信息,且都会为视频插入一个视频管理员的ID,视频一旦上传成功后,可对视频进行修改,删除
输入项 视频审核状态:check_status varchar(10)
处理描述 首先,管理员先在搜索栏中输入check_status ,对数据库进行检索,检索出状态为2和0的,对状态为0的进行审核,审核通过的将状态修改为1,未通过将状态修改为2,并根据教师ID 将审核信息发给教师用户,管理员还可修改视频的类型,等级等
输出项 视频内容:video_context varchar(500)教师ID:teacher_id int(20) 视频类型:video_type varchar(20) 上传时间:vide_post_time date 审核状态:check_status varchar(10)
视频名称:video_name varchar(50)
界面要求 简洁易懂,易操作

3.1.9-1 视频审核管理用例图

3.1.10 支付系统
功能编号 10 功能名称 支付系统 所属部门 开发部
功 能
描 述 该功能是用于结算视频报酬,视频交易所用,教师用户的视频一旦审核通过,更具一定的计算公式支付酬劳,视频交易,按一定的比例付费教师用户

输入项 教师用户ID:teacher_id int(20)教师支付账号:pay_account varchar(100) 支付金额:amount_of_money int(20) 支付时间:pay_time date(20)操作管理员ID
:admin_id int(20)

处理描述 视频审核通过后,根据教师用户ID,向该教师的支付账号转入支付金额,并生成对应的流水号,支付时间为当前系统时间,并显示当前支付金额为多少
输出项 支付流水号:pay_serial_number int (50),支付时间:pan_time date(20)支付金额:amount_of_money int(20) 支付内容:pay_context varchar(500)
界面要求 简洁易懂,易操作

3.1.10-1 支付系统用例图
3.2性能需求
数据处理能力需求:
表和文卷的大小为10M,以2M为其增长分量

时间特性要求:
a.响应处理时间由本机与服务器的运行速度决定,占用资源较大,一般也要3秒左右
b.更新操作一般有服务器性能决定,系统要求在1-3秒内完成用户的更新处理操作
c.数据转换和数据传送操作由网络传输速度决定,网络传输快,只要1秒左右,占用本地与网络资源
3.3数据库需求
数据库设计是整个在线教育系统开发和建设中的核心技术,而数据库的模式是整个系统的基础,合理的数据库模式设计能够有效地存储数据,直接影响到系统功能有效实现。本系统对数据库有以下需求:
a.需要最小的空间
b.清晰显示出数据的表示
c.保持数据的完整性
d.允许快速检索和更新
3.4设计约束
3.4.1其他标准的约束
本节描述由现有的标准或规则派生的要求,如:
本节描述由现有的标准或规则派生的要求,如:
a. 报表格式;
b. 数据格式与命名;
c. 会计准则;
d. 审计追踪;
e. 界面要求;
f. 功能要求;
g. 业务要求;
h. 上线时间;
i. 预算要求;
3.4.2硬件约束
本节包括各种软件运行的硬件约束,如:
a 硬件配置的特点;
b 内存储器和辅助存储器的容量;
c 应用平台Windows;

3.4.3 软件约束
Windows10平台Git + Githut;
Windows 10平台Tomcat v9.0;
Windows10平台 Intellij IDEA ;
Windows 10平台Maven;
Windows 10平台 Java v1.8;
技术支持 SSM(Spring、SpringMVC和Mybatis);
4. 附录
4.1 界面原型图
附录中还可能包括的内容有:
a 原有系统的组织机构图、业务流程图、信息流程图;
b 输入、输出格式样本;
c 交叉索引等;
d 《需求规格说明书》确认协议。

4.1.1 注册与登录模块
(1)注册与登录流程图

(2)信息流程图

4.1.2 个人信息管理模块
(1)个人信息管理业务流程图

(2)个人信息管理流程图

4.1.3订单管理模块
(1)订单业务流程图

(2)信息流程图

4.1.4 账号管理模块
(1)账号管理流程图

(2)账户管理流程图

4.1.5 评价信息管理流程
(1)评价系统业务流程图

(2)评价系统信息流程图

4.1.6 搜索功能模块
(1)搜索功能业务流程图

(2)搜索功能信息流程图

4.1.7 购物车模块
(1)购物车流程

(2)购物车信息流程图

4.1.8 视频上传模块

(2)视频上传信息流程图

4.1.9 视频审核模块
(1)视频审核业务流程

(2)视频审核信息图

4.1.10 支付系统模块
(1)视频支付业务流程图

(2)视频支付模块信息图

《需求规格说明书》确认协议
甲方:
乙方:HelloWorld

在甲方的大力配合与支持下、乙方制作了该《需求规格说明书》:甲方对该《需求规格说明书》经过详细审核,已确认《需求规格说明书》中的各项内容翔实全面,该《需求规格说明书》中的内容已完全包括了用户的软件产品需求。经过甲乙双方友好协商,达成如下协议:

1. 该《需求规格说明书》是《项目开发委托合同》的补充文件,与《项目开发委托合同》具有同等的法律效力;

    2. 该《需求规格说明书》是《项目开发委托合同》中_____条__________款软件产品最终验收的唯一标准;    

3. 甲方在《项目开发委托合同》中_____条__________款软件产品最终验收前可提出对该《需求规格说明书》中的内容进行变更(包括增加、修改、删除),双方应就此签署《软件产品需求更改备忘录》或补充协议;
4.
5. 甲方同意乙方根据该《需求规格说明书》进行《项目开发委托合同》中_____条__________款软件产品的开发;

6. 本协议一式二份,甲乙双方各执一份;

6. 本协议自甲乙双方签字之日起生效。

甲方委托人(签字): 乙方委托人(签字):
甲方单位(盖章): 乙方单位(盖章):

年 月 日 年 月 日


  1. a-zA-Z0-9_- ↩︎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广西千灵通网络科技有限公司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值