1、目 录1. 引言.12. 系统分析.12.1 需求分析 .12.2 技术可行性 .22.3 经济可行性 .23. 系统总体设计.23.1 概述 .23.2 系统功能模块 .34. 数据库设计.54.1 数据库表的设计 .54.2 数据库的安全性 .85. 系统的详细设计.85.1 概述 .85.2 用户模块 .95.3 视频模块 .105.4 游客模块 .135.5 管理员模块 .146. 系统测试.166.1 用户注册模块测试 .166.2 用户登录模块测试 .166.3 视频上传模块测试 .177. 结语.17参考文献.18山大商院网上视频点播系统的设计与实现1山大商院网上视频点播系统的设
2、计与实现学生姓名:贺云鹏 指导教师:杨 森 贾丽丽内容提要:随着宽带速度的提升,在线视频播放已经达到了很流畅的程度,而且学校里也有许多爱好摄影的同学,因此视频点播系统有一个广阔的前景。该视频点播系统可以更好的在学校和学生之间进行互动沟通,建立一个具有交互性的视频网站。本论文主要介绍了山大商院网上视频点播系统的设计与实现。该系统主要分为前台系统和后台系统两个主要模块。前台实现的功能有用户注册、登录、评论、视频搜索以及点播和下载。后台实现的功能为管理员进行用户信息、视频信息、栏目信息的管理与修改等。本系统采用了 JSP 技术动态生成网页,开发工具为Myeclipse,数据库为 SQL Server
3、。关键词:视频点播 JSP 技术 Myeclipse SQL Server1. 引言视频点播出现的最初动力是人们对电视节目的更高需求。在传统的电视播放中,观众完全是被动的。节目提供者播放什么节目,观众就只能观看什么节目,节目的播放时间也是无法按照观众的意愿改变的。尽管电视可以提供很多的节目,但要想完整地收看到一个自己满意的节目,对于许多人来讲也是不太容易做到的。视频点播的出现正迎合了人们的这种需求,而且本系统是专门针对我们学校的学生设计的,更加具有实际意义。在校园局域网的基础上模拟基于 Web 并且按照 B/S 架构来实现网上视频点播系统,为山大商院提供一个自己的视频娱乐和学习的平台。我们可以
4、通过这个网站,将最新消息视频或者学生的自拍视频以及娱乐方面电视剧、电影剧集、综艺节目,或者一些教学视频(尤其是图书馆光盘),免费提供给学生,可以满足学生的不同需求,只要登录网站便可查询查看当天或者当前时段最受关注的视频信息,或者查询自己所需的视频信息并观看。2. 系统分析对系统进行一个必要的分析是设计实现系统所必不可少的一步,只有进行了充分的分析之后,才可以完成一个比较完美的系统。本系统分析包括:需求分析、技术可行性和经济可行性。2.1 需求分析需求分析是指需求分析人员将客户描述的需求用一种计算机语言描述出来分析用户的要求是否能实现。要设计出来一个比较好的系统首要也是最重要的就是需求分析。它是
5、决定一个系统成功与否的关键。需求分析是至关重要的一步,是来通过描述系统的需求定义系统中的重要功能模块,进而建立模型。需求分析是该系统的开发人员和用户共同完成的,通过需求分析来明确系统是否符合对应用户的需求,或者适用于哪些用户。通过自己对一些视频网站的考察,网上视频点播系统应该有以下功能:包括用户的注册、登录、视频查询、视频上传、视频播放、用户信息修山西大学商务学院本科毕业设计2改、视频信息修改、删除用户,删除视频文件、新建管理员等,并具有角色和权限控制来保证系统功能完善。2.2 技术可行性系统可行性分析主要根据系统的功能、性能、约束条件等分析在现有资源和技术条件下系统能否实现。本系统是采用 M
6、yeclipse8.6 集成开发环境,使用 B/S(Browser/Server)架构,采用的模式是经典的 MVC 三层使用 JSP 和 Servlet,数据库采用的是 SQL Server,该数据库能提供一个可视化的界面,因此操作起来比较简单。而且本系统在后期维护起来,也比较方便。硬件方面的要求也不是很高,现在的硬件技术发展越来越快,性能越来越强大,容量越来越大,成本越来越小,一台普普通通的笔记本即可满足所有的硬件方面的配置,所以硬件方面是满足开发需要的,因此技术方面是可行的。2.3 经济可行性软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件
7、能否真正给用户带来足够的经济效益,本系统正是考虑系统开发的成本而设计。开发此系统不需要大量的经费,而且是个人独立设计,可以节省许多费用,成本几乎为零,同时也可提高个人的实际动手能力,在系统中插入一些本校的广告等等,还可以带来一些经济收入。通过对该网站的收入支出总分析,我们可看出从客观角度讲,这个网站的收益/ 支出比将会是大于一的,所以说此系统在经济上同样是可行的。3. 系统总体设计3.1 概述在线视频点播系统需要实现的功能包括用户的管理、以及视频信息的管理和使用等。具体来讲,它包含用户管理中常见的注册、登录操作,视频信息的播放、搜索、评论以及个人信息资料操作,视频管理和评论管理中的添加、删除、
8、修改等。在线视频点播系统是在对一些身边的人实际观看电影的方式调查后,以实际为基础进行设计的。该系统属于 B/S 模式,用户可以在线搜索、浏览、点播以及评论视频,并可通过用户服务模块对个人信息进行修改。管理员可对用户、视频信息、评论信息进行增加、删除以及修改等操作。该系统包括四大模块:会员管理、视频信息显示播放、视频信息搜索、管理员模块。其功能结构功能如图 1 所示:山大商院网上视频点播系统的设计与实现3山大商院网上视频点播系统管理员模块 注册用户模块 视频模块 游客模块视频信息管理 用户信息管理 公告信息管理 视频点播 视频下载 视频评论 视频搜索 查看公告等图 1 系统功能结构图3.2 系统
9、功能模块3.2.1 注册用户模块用户注册模块将采用 AJAX 来实现动态识别功能,在脚本段中利用 $getJSON 来判断用户名是否以重复,若重复,将在姓名的文本框后面显示提示信息,告诉用户用户名重复,注册时用户必须填写的有姓名、密码,必填项都是通过 JAVAScript 函数来实现检验必填项是否已填写,只有必填项都填写之后并且不存在用户名重复,才能完成注册。用户注册模块的程序流程如图 2 所示:用户注册用户名是否重复填写相关信息信息格式是否正确注册成功NYY NuY图 2 用户注册模块流程图3.2.2 用户登录模块用户登录时,将用户名和密码填写,先判断该用户名是否存在,若不存在则提示先注册,
10、否山西大学商务学院本科毕业设计4则判断密码是否正确,如果密码不正确则返回通知密码错误重新填写,只有用户名和密码和数据库记录一直,登录才成功。用户登录模块的程序流程如图 3 所示:用户登录输入用户名密码用户名是否正确密码是否正确登录成功NNYY图 3 用户登录模块流程图3.2.3 视频上传模块视频上传仅限定管理员上传,当管理员登录后台管理时,才可以有权限进行视频的上传。该模块的程序流程图,如图 4 所示:开始上传上传完毕选择本地视频填写视频信息图 4 视频上传模块流程图3.2.4 视频管理模块用户信息管理首先判断角色权限,用户只能修改自己信息,管理员能够修改所有用户信息,也能修改自己信息,删除用
11、户信息。如图 5 所示:山大商院网上视频点播系统的设计与实现5登录后台管理身份是否正确视频信息修改 视频删除修改信息并上传上传完毕选择删除的视频删除完毕YN图 5 视频管理模块流程图3.2.5 用户信息管理模块用户信息管理首先判断角色权限,用户只能修改自己信息,管理员能够修改所有用户信息,也能修改自己信息,删除用户信息。如图 6 所示:用户信息管理是否为管理员修改自己信息修改完毕查看用户删除用户删除完毕YN图 6 用户信息管理模块流程图山西大学商务学院本科毕业设计64. 数据库设计4.1 数据库表的设计本系统采用 SQL Server 作为开发平台。SQL Server 是一个关系数据库管理系
12、统。它最初是由 Microsoft、 Sybase 和 Ashton-Tate 三家公司共同开发的,于 1988 年推出了第一个 OS/2 版本。在 Windows NT 推出后,Microsoft 与 Sybase 在 SQL Server 的开发上就分道扬镳了,Microsoft 将 SQL Server 移植到 Windows NT 系统上,专注于开发推广 SQL Server 的 Windows NT 版本。Sybase 则较专注于 SQL Server 在 UNIX 操作系统上的应用。SQL Server 2000 是 Microsoft 公司推出的 SQL Server 数据库管理
13、系统,该版本继承了 SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行 Microsoft Windows 98 的膝上型电脑到运行 Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。本系统所建立的表如下所示:(1) 用户信息表在数据库中建立用户表,用户表包括了用户的用户名、密码、地址、用户的真实姓名和年龄等,详见表 1:表 1 用户信息表序号 字段名 字段名解释 字段类型 长度1 user_id 用户 ID int 42 user_name 用户姓名 varchar 50
14、3 user_pw 用户密码 int 44 user_realname 真实名字 varchar 505 user_address 地址 varchar 506 user_sex 性别 varchar 507 user_qq 用户 QQ int 118 user_age 用户年龄 int 4(2) 投票信息表本表具体记录了主页面中,游客和注册用户的投票数目等情况,详见表 2:表 2 投票信息表序号 字段名 字段名解释 字段类型 长度1 toupiao_id 投票 ID int 42 toupiao_name 投票内容 varchar 503 toupiao_date 投票日期 date 50(
15、3) 视频信息表本表详细的记录了视频的名称、介绍、导演等一系列的相关信息,详见表 3:山大商院网上视频点播系统的设计与实现7表 3 视频信息表序号 字段名 字段名解释 字段类型 长度1 shipin_id 视频 ID int 42 shipin_name 视频名称 varchar 503 shipin_jianjie 视频简介 varchr 504 shipin_zhuyan 视频主演 varchar 505 shipin_daoyan 视频导演 varchar 506 shipin_leixing 视频类型 varchar 507 shipin_path 视频长度 int 108 shipi
16、n_cishu 播放次数 int 109 shipin_yuanshiming 视频路径 varchar 50(4) 点播资讯表本表记录了网站首页点播资讯的具体情况,详见表 4:表 4 点播资讯表序号 字段名 字段名解释 字段类型 长度1 news_id 资讯序 ID int 42 news_title 资讯标题 varchar 503 news_content 资讯内容 varchar 504 news_data 资讯日期 date 50(5) 留言评论表留言评论也是本系统的特色,本表记录了用户留言的具体情况,包括留言内容以及是给哪部影片的留言评论,详见表 5:表 5 留言评论表序号 字段名
17、 字段名解释 字段类型 长度1 liuyan_id 留言 ID int 42 liuyan_title 留言标题 varchar 503 liuyan_content 留言内容 varchar 504 liuyan_date 留言日期 date 505 liuyan_user 留言用户 varchar 506 shipin_id 视频编号 int 50(6) 公告管理表山西大学商务学院本科毕业设计8公告也是在本网站的首页,其内容可以是本学校的最新信息,或者是一些本学校的广告,都可以,本表具体内容见表 6:表 6 公告管理表序号 字段名 字段名解释 字段类型 长度1 gonggao_id 公告序
18、号 int 42 gonggao_title 公告标题 varchar 503 gonggao_content 公告内容 varchar 504 gonggao_date 公告日期 date 505 gonggao_fabuzhe 公告发布者 varchar 506 gonggao_shanchu 公告是否已删除 varchar 50(7)管理员用户表本表内容比较简单,记录了管理员的用户名等信息,详见表 7:表 7 管理员用户表序号 字段名 字段名解释 字段类型 长度1 userId 管理员 ID int 42 userName 管理员用户名 varchar 503 userPw 管理员密码
19、int 504.2 数据库的安全性SQL Server 支持三级安全层次。在我们登录到 SQL Server 时,其实我们是经过了三步的验证。第一层次是用户提供正确的账号和密码登录到 SQL Server,或者已经成功登录了一个可以映射到 SQL Server 的 windows 账号。但是在 SQL Server 登录并不意味着能够访问数据库,而是要经过第二层次的验证。第二层次的权限允许用户与一个或多个数据库相连,这一层次的实现要在数据库对象的用户中绑定登录账户。第三个层次的安全权限允许用户拥有对指定数据库中的对象的访问权限,例如:可以指定用户有权使用哪些表和视图、运行哪些存储过程。在第一层
20、次中的 windows 账号,其实是在我们装机时给 windows 指定的自己登录到 windows 系统的账号,而作为 windows 系统管理员的我们其实也兼职了 SQL Server 的管理权。账户在登录到 SQL Server 后,如果想获得访问某个数据库的权限,是必须要在 SQL 中获得安全账户的,确保登录的账号是安全的,就好比是我们出国的护照签证一样,想要去哪个国家必须获得该国家的签证和出入境章,这个安全账户就是在数据库对象的用户中绑定一个登录账号,证明这个登录账号是安全的。账户、角色、权限他们三者是没有严格的关系的,如果有的话就是角色给账户分配职能,而权限却又限制着角色和账户对数据库的操作。它们三者就好像是公司里的员工、职权、规章,公司按照职能非配不同的员工,但是每个员工却又受到公司规章的限制。