网上视频点播系统的设计与实现.docx
《网上视频点播系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《网上视频点播系统的设计与实现.docx(22页珍藏版)》请在冰豆网上搜索。
网上视频点播系统的设计与实现
山大商院网上视频点播系统的设计与实现
学生姓名:
贺云鹏指导教师:
杨森贾丽丽
内容提要:
随着宽带速度的提升,在线视频播放已经达到了很流畅的程度,而且学校里也有许多爱好摄影的同学,因此视频点播系统有一个广阔的前景。
该视频点播系统可以更好的在学校和学生之间进行互动沟通,建立一个具有交互性的视频网站。
本论文主要介绍了山大商院网上视频点播系统的设计与实现。
该系统主要分为前台系统和后台系统两个主要模块。
前台实现的功能有用户注册、登录、评论、视频搜索以及点播和下载。
后台实现的功能为管理员进行用户信息、视频信息、栏目信息的管理与修改等。
本系统采用了JSP技术动态生成网页,开发工具为Myeclipse,数据库为SQLServer。
关键词:
视频点播 JSP技术 Myeclipse SQLServer
1.引言
视频点播出现的最初动力是人们对电视节目的更高需求。
在传统的电视播放中,观众完全是被动的。
节目提供者播放什么节目,观众就只能观看什么节目,节目的播放时间也是无法按照观众的意愿改变的。
尽管电视可以提供很多的节目,但要想完整地收看到一个自己满意的节目,对于许多人来讲也是不太容易做到的。
视频点播的出现正迎合了人们的这种需求,而且本系统是专门针对我们学校的学生设计的,更加具有实际意义。
在校园局域网的基础上模拟基于Web并且按照B/S架构来实现网上视频点播系统,为山大商院提供一个自己的视频娱乐和学习的平台。
我们可以通过这个网站,将最新消息视频或者学生的自拍视频以及娱乐方面电视剧、电影剧集、综艺节目,或者一些教学视频(尤其是图书馆光盘),免费提供给学生,可以满足学生的不同需求,只要登录网站便可查询查看当天或者当前时段最受关注的视频信息,或者查询自己所需的视频信息并观看。
2.系统分析
对系统进行一个必要的分析是设计实现系统所必不可少的一步,只有进行了充分的分析之后,才可以完成一个比较完美的系统。
本系统分析包括:
需求分析、技术可行性和经济可行性。
2.1需求分析
需求分析是指需求分析人员将客户描述的需求用一种计算机语言描述出来分析用户的要求是否能实现。
要设计出来一个比较好的系统首要也是最重要的就是需求分析。
它是决定一个系统成功与否的关键。
需求分析是至关重要的一步,是来通过描述系统的需求定义系统中的重要功能模块,进而建立模型。
需求分析是该系统的开发人员和用户共同完成的,通过需求分析来明确系统是否符合对应用户的需求,或者适用于哪些用户。
通过自己对一些视频网站的考察,网上视频点播系统应该有以下功能:
包括用户的注册、登录、视频查询、视频上传、视频播放、用户信息修改、视频信息修改、删除用户,删除视频文件、新建管理员等,并具有角色和权限控制来保证系统功能完善。
2.2技术可行性
系统可行性分析主要根据系统的功能、性能、约束条件等分析在现有资源和技术条件下系统能否实现。
本系统是采用Myeclipse8.6集成开发环境,使用B/S(Browser/Server)架构,采用的模式是经典的MVC三层使用JSP和Servlet,数据库采用的是SQLServer,该数据库能提供一个可视化的界面,因此操作起来比较简单。
而且本系统在后期维护起来,也比较方便。
硬件方面的要求也不是很高,现在的硬件技术发展越来越快,性能越来越强大,容量越来越大,成本越来越小,一台普普通通的笔记本即可满足所有的硬件方面的配置,所以硬件方面是满足开发需要的,因此技术方面是可行的。
2.3经济可行性
软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,本系统正是考虑系统开发的成本而设计。
开发此系统不需要大量的经费,而且是个人独立设计,可以节省许多费用,成本几乎为零,同时也可提高个人的实际动手能力,在系统中插入一些本校的广告等等,还可以带来一些经济收入。
通过对该网站的收入支出总分析,我们可看出从客观角度讲,这个网站的收益/支出比将会是大于一的,所以说此系统在经济上同样是可行的。
3.系统总体设计
3.1概述
在线视频点播系统需要实现的功能包括用户的管理、以及视频信息的管理和使用等。
具体来讲,它包含用户管理中常见的注册、登录操作,视频信息的播放、搜索、评论以及个人信息资料操作,视频管理和评论管理中的添加、删除、修改等。
在线视频点播系统是在对一些身边的人实际观看电影的方式调查后,以实际为基础进行设计的。
该系统属于B/S模式,用户可以在线搜索、浏览、点播以及评论视频,并可通过用户服务模块对个人信息进行修改。
管理员可对用户、视频信息、评论信息进行增加、删除以及修改等操作。
该系统包括四大模块:
会员管理、视频信息显示播放、视频信息搜索、管理员模块。
其功能结构功能如图1所示:
图1系统功能结构图
3.2系统功能模块
3.2.1注册用户模块
用户注册模块将采用AJAX来实现动态识别功能,在脚本段中利用$getJSON来判断用户名是否以重复,若重复,将在姓名的文本框后面显示提示信息,告诉用户用户名重复,注册时用户必须填写的有姓名、密码,必填项都是通过JAVAScript函数来实现检验必填项是否已填写,只有必填项都填写之后并且不存在用户名重复,才能完成注册。
用户注册模块的程序流程如图2所示:
图2用户注册模块流程图
3.2.2用户登录模块
用户登录时,将用户名和密码填写,先判断该用户名是否存在,若不存在则提示先注册,否则判断密码是否正确,如果密码不正确则返回通知密码错误重新填写,只有用户名和密码和数据库记录一直,登录才成功。
用户登录模块的程序流程如图3所示:
图3用户登录模块流程图
3.2.3视频上传模块
视频上传仅限定管理员上传,当管理员登录后台管理时,才可以有权限进行视频的上传。
该模块的程序流程图,如图4所示:
图4视频上传模块流程图
3.2.4视频管理模块
用户信息管理首先判断角色权限,用户只能修改自己信息,管理员能够修改所有用户信息,也能修改自己信息,删除用户信息。
如图5所示:
图5视频管理模块流程图
3.2.5用户信息管理模块
用户信息管理首先判断角色权限,用户只能修改自己信息,管理员能够修改所有用户信息,也能修改自己信息,删除用户信息。
如图6所示:
图6用户信息管理模块流程图
4.数据库设计
4.1数据库表的设计
本系统采用SQLServer作为开发平台。
SQLServer是一个关系数据库管理系统。
它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
Sybase则较专注于SQLServer在UNIX操作系统上的应用。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能。
具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
本系统所建立的表如下所示:
(1)用户信息表
在数据库中建立用户表,用户表包括了用户的用户名、密码、地址、用户的真实姓名和年龄等,详见表1:
表1用户信息表
序号
字段名
字段名解释
字段类型
长度
1
user_id
用户ID
int
4
2
user_name
用户姓名
varchar
50
3
user_pw
用户密码
int
4
4
user_realname
真实名字
varchar
50
5
user_address
地址
varchar
50
6
user_sex
性别
varchar
50
7
user_qq
用户QQ
int
11
8
user_age
用户年龄
int
4
(2)投票信息表
本表具体记录了主页面中,游客和注册用户的投票数目等情况,详见表2:
表2投票信息表
序号
字段名
字段名解释
字段类型
长度
1
toupiao_id
投票ID
int
4
2
toupiao_name
投票内容
varchar
50
3
toupiao_date
投票日期
date
50
(3)视频信息表
本表详细的记录了视频的名称、介绍、导演等一系列的相关信息,详见表3:
表3视频信息表
序号
字段名
字段名解释
字段类型
长度
1
shipin_id
视频ID
int
4
2
shipin_name
视频名称
varchar
50
3
shipin_jianjie
视频简介
varchr
50
4
shipin_zhuyan
视频主演
varchar
50
5
shipin_daoyan
视频导演
varchar
50
6
shipin_leixing
视频类型
varchar
50
7
shipin_path
视频长度
int
10
8
shipin_cishu
播放次数
int
10
9
shipin_yuanshiming
视频路径
varchar
50
(4)点播资讯表
本表记录了网站首页点播资讯的具体情况,详见表4:
表4点播资讯表
序号
字段名
字段名解释
字段类型
长度
1
news_id
资讯序ID
int
4
2
news_title
资讯标题
varchar
50
3
news_content
资讯内容
varchar
50
4
news_data
资讯日期
date
50
(5)留言评论表
留言评论也是本系统的特色,本表记录了用户留言的具体情况,包括留言内容以及是给哪部影片的留言评论,详见表5:
表5留言评论表
序号
字段名
字段名解释
字段类型
长度
1
liuyan_id
留言ID
int
4
2
liuyan_title
留言标题
varchar
50
3
liuyan_content
留言内容
varchar
50
4
liuyan_date
留言日期
date
50
5
liuyan_user
留言用户
varchar
50
6
shipin_id
视频编号
int
50
(6)公告管理表
公告也是在本网站的首页,其内容可以是本学校的最新信息,或者是一些本学校的广告,都可以,本表具体内容见表6:
表6公告管理表
序号
字段名
字段名解释
字段类型
长度
1
gonggao_id
公告序号
int
4
2
gonggao_title
公告标题
varchar
50
3
gonggao_content
公告内容
varchar
50
4
gonggao_date
公告日期
date
50
5
gonggao_fabuzhe
公告发布者
varchar
50
6
gonggao_shanchu
公告是否已删除
varchar
50
(7)管理员用户表
本表内容比较简单,记录了管理员的用户名等信息,详见表7:
表7管理员用户表
序号
字段名
字段名解释
字段类型
长度
1
userId
管理员ID
int
4
2
userName
管理员用户名
varchar
50
3
userPw
管理员密码
int
50
4.2数据库的安全性
SQLServer支持三级安全层次。
在我们登录到SQLServer时,其实我们是经过了三步的验证。
第一层次是用户提供正确的账号和密码登录到SQLServer,或者已经成功登录了一个可以映射到SQLServer的windows账号。
但是在SQLServer登录并不意味着能够访问数据库,而是要经过第二层次的验证。
第二层次的权限允许用户与一个或多个数据库相连,这一层次的实现要在数据库对象的用户中绑定登录账户。
第三个层次的安全权限允许用户拥有对指定数据库中的对象的访问权限,例如:
可以指定用户有权使用哪些表和视图、运行哪些存储过程。
在第一层次中的windows账号,其实是在我们装机时给windows指定的自己登录到windows系统的账号,而作为windows系统管理员的我们其实也兼职了SQLServer的管理权。
账户在登录到SQLServer后,如果想获得访问某个数据库的权限,是必须要在SQL中获得安全账户的,确保登录的账号是安全的,就好比是我们出国的护照签证一样,想要去哪个国家必须获得该国家的签证和出入境章,这个安全账户就是在数据库对象的用户中绑定一个登录账号,证明这个登录账号是安全的。
账户、角色、权限他们三者是没有严格的关系的,如果有的话就是角色给账户分配职能,而权限却又限制着角色和账户对数据库的操作。
它们三者就好像是公司里的员工、职权、规章,公司按照职能非配不同的员工,但是每个员工却又受到公司规章的限制。
5.系统的详细设计
5.1概述
本系统的详细设计主要分为前台设计和后台设计两大模块。
前台主要是给用户进行浏览、查看、评论和下载等一系列的操作,界面简洁明了,美观大方;后台则主要是针对系统的维护人员,登录后台可以管理视频和用户的一系列信息。
本节将详细的介绍这两大模块的功能。
5.2用户模块
5.2.1注册用户模块
进入在线视频点播系统的主界面如图7所示:
图7系统主界面
点击【没有注册】,进入注册页面,用户填写注册相关信息,点击【确定】,系统验证用户名是否重复,正确则显示“注册成功”,进入主页面,则用户即可登录。
若用户名存在,系统显示错误。
如图8所示:
图8用户注册界面
5.2.2用户登录模块
进入系统主界面后,输入用户名和密码之后,点击【登录】,就可以正常登录本系统。
如果密码不对,或者用户被管理员删除和冻结,则无法正常登录本系统。
如图9和10所示:
图9用户正常登录界面
图10用户异常登录界面
5.2.3用户密码找回模块
如果长时间未登录系统把密码忘记了,可以通过当时所填写的相关信息找回密码,点击【找回密码】,填写相关的信息,点击确定,系统则弹出对话框现实密码。
如图11所示:
图11用户密码找回界面
5.3视频模块
5.3.1视频搜索模块
本模块可以利用查询功能查询自己想要的视频,加快用户的查询速度,输入关键字以后,点击【搜索】即可。
如图12所示:
图12视频搜索界面
5.3.2视频播放模块
视频的观看需要用户登录以后才能进行。
如果用户以游客身份观看视频,则系统会提示“请先登录”。
用户以会员身份登录系统后,可以在网站上观看视频,并且还可以对视频进行评价。
点击主界面的【播放列表】后,选择自己喜欢的视频,点击【播放】即可。
如图13和14所示:
图13视频播放界面
(1)
图14视频播放界面
(2)
5.3.3视频下载与评论模块
用户观看视频后,也可以对其进行下载收藏,还可以通过视频信息栏中的留言板,对视频进行评价,对管理员提出宝贵的意见。
评论的功能是调用了插件“FCK”的功能。
利用现有的插件可以使得在编程过程中变得更加简洁。
也是程序的出错率变得更低。
要对视频进行下载,在播放列表中直接点击【下载】即可,进入视频详情页面后,在对话框输入留言,点击【提交评论】即可。
如图15和16所示:
图15视频下载界面
图16视频评论界面
5.4游客模块
5.4.1资讯查看模块
对于游客来说,所具有的权限就比较简单了,只能进行资讯或者公共的查看和问卷调查的投票。
要查看资讯或公共,直接点击主界面的标题即可进入查看详情。
如图17所示:
图17资讯查看界面
5.4.2投票模块
进入系统主界面后,会看到一个投票模块,游客或者注册用户都可以进行投票,投票的情况管理员可以登录后台进行查看。
选择自己想要投票的项目,点击【投票】即可,系统弹出一个投票成功的对话框,3秒后该对话框自动关闭,投票成功。
如图18所示:
图18投票界面
5.5管理员模块
5.5.1管理员登录模块
在系统的主界面,点击【后台管理】,弹出管理员登录界面,管理员填写用户名和密码,点击【登录】,系统验证用户名和密码是否正确,正确则显示“通过验证,系统登录成功”,进入后台管理页面。
若用户名不存在或密码不对,系统提示错误。
如图19所示:
图19管理员登录界面
5.5.2会员管理模块
会员管理页面,主要是管理员登录后首先可以查看所有会员的注册信息,然后依据会员情况,把会员资格删除或者是冻结会员的功能。
如果要进行此操作,则在操作栏下,对应的用户后面点击【删除】或者【冻结】即可,当用户此时已经处于冻结状态时,可以点击对应的【解冻】来取消对用户的冻结。
如图20和21所示:
图20会员信息查看
图21会员信息删除
5.5.3视频管理模块
改模块包括视频的添加、删除、以及信息的修改,还有对视频评论的删除。
点击左侧的【视频添加】,在视频添加页面填写好具体的信息以及选择好本地的视频文件后,点击【提交】即可,然后自动跳转到视频管理页面。
在该页面,可以对视频的信息进行修改,还可以删除该视频的评论。
直接点击相应的选项即可。
如图22和23所示:
图22视频添加界面
图23视频维护界面
5.5.4新闻公告管理模块
此模块的操作比较简单,主要是负责相关资讯的发布与删除。
点击【视频新闻管理】,即可查看所有新闻的标题和内容,点击新闻标题后面的【删除】,可以删除此条新闻。
如图24所示:
图24新闻公告维护界面
6.系统测试
对于系统测试,有两种基本方法可以用来标识测试用例,即功能测试(黑盒测试)和结构测试(白盒测试)。
作为项目开发的最后一步,决定系统的生命周期,本系统主要采用的是黑盒测试,即以用户的角度来对系统进行测试,通过不同角色对不同功能模块进行测试,来发现未知的错误,进而继续对系统进行修改,增强系统健全性。
6.1用户注册模块测试
为了方便简洁,将采取表格的形式来把操作和结果列出来。
注册模块测试的主要内容是在填写相关的信息时,将各种可能出现的情况都进行一些验证,以确定本系统是否存在问题,实际结果一切正常。
具体测试结果见表8:
表8用户注册模块测试
操作
1.打开注册页面,没有任何输入字符,点击相应的项目
2.输入一些非法的用户名、密码、E-mail,点击“确定”
3.输入一些正确的用户名、密码、E-mail,点击“确定”
预期结果
1.系统提示“请输入用户名”
2.系统提示“邮件格式不正确,请重新注册”
3.系统提示“注册成功”
实际结果
与所有预期结果一样,说明用户注册模块一切功能运行正常
6.2用户登录模块测试
登录模块的测试比较简单,在系统主界面登录框中,输入一些正确或者错误的用户名和密码,以及让其为空,进行登录,结果一切正常。
当用户名和密码都正确时,可以进入系统;当用户名不正确或者为空时,系统会提示出错。
具体测试结果见表9:
表9用户登录模块测试
操作
1.打开主界面模块,没有任何输入字符,点击相应的项目
2.输入一些非法的用户名、密码,点击“登录”
3.输入一些正确的用户名、密码,点击“登录”
预期结果
1.系统提示“请输入用户名”
2.系统提示“用户名或密码错误”
3.系统提示“登录成功”
实际结果
与所有预期结果一样,说明用户登录模块一切功能运行正常
6.3视频上传模块测试
本模块测试内容为在上传视频时,将各种可能出现的情况都验证一遍,例如上传错误的视频格式或者只填写信息而不上传视频等,当视频格式不对时,本系统没有检测出来,存在小错误,其他功能一切正常。
具体测试结果见表10:
表10视频上传模块测试
操作
1.只输入视频名称而不上传视频。
2.输入正确的信息,在上传视频栏里上传一些照片
3.输入正确的信息,并且上传格式正确的视频
预期结果
1.系统提示“请上传视频”
2.系统提示“视频格式不对,请重新上传”
3.系统提示“发布成功”
实际结果
当视频格式不对时,系统应该可以自己检测出来并告知用户,本系统没有提示用户而是直接上传成功,在播放时候出错,所以此模块功能还有待进一步完善
7.结语
本系统基本完成了需求分析所提出的目标,并能安全稳定地运行。
在这次开发过程中,所采用的Myeclipse面向对象开发工具,SQLServer2000数据库技术和tomcat服务器实现了在线视频点播系统的基本功能。
但是,由于自身的专业知识有限,在编写程序的过程中也遇到了一些困难,比如在判断用户名的时候,觉得有些困难,要按照特定的模式编译一些代码的软件添加到自己程序中,后来,在同学的提示下添加修改了一些代码,使得工作量减轻了不少。
由于自身的专业知识不够完善,系统还是存在着一些问题,比如,在线视频点播系统没有图片的上传、显示,美工的问题也有待提高,等等。
通过毕业设计,我发现自己对于JAVAWEB的开发和数据库设计的知识掌握的还不够,设计和编程能力还有待于进一步提高。
这次毕业设计给了我一个锻炼自己,强化专业知识的机会,通过这次毕业设计,我也得以了解知识的广袤天地,我相信,只要认真学习,多借鉴别人的经验,多思考,多实践,就一定能够成为一个合格的开发设计人员。
经过了两个多月的学习和工作,我终于完成了我的毕业设计——山大商院网上视频点播系统的设计与实现。
从开始接到论文题目到系统的实现,再到论文的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。
在这段时间里,我学到了很多知识也有很多感受,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中把一些忘掉的概念逐渐清晰,使自己系统一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。
参考文献
[1]刘惠芬.数字媒体——技术应用与设计(第二版)[M],北京:
清华大学出版社,2008.
[2]孙卫琴.Java网络编程精解[M],北京:
电子工业出版社,2007.
[3]杨贵.基于项目学习的大学《计算机文化基础课》教学设计[D].内蒙古:
内蒙古师范大学,2007.
[4]李强,陈宗德.计算机应用基础WEB考试与自动评卷系统的设计与实现[J].自动化与信息工程,2008,200-350.
[5]白广元.JavaWeb整合开发完全自学手册[M],北京:
机械工业出版社,2009.
[6]王珊,萨师煊.数据库系统概论[M],北京:
高等教育出版社,2006.
[7]陈志泊.数据库原理及应用教程(第二版)[M],北京:
人民邮电出版社,2008.
[8]张华良.Struts完全手册(第二版)[M],北京:
电子工业出版社,2007.
[9]崔群法,王咏梅,李有军.Struts2.0从入门