视频点播系统概要设计文档Word文档下载推荐.docx
《视频点播系统概要设计文档Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《视频点播系统概要设计文档Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
![视频点播系统概要设计文档Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/7/453d2815-e342-4429-b7c0-a8f062edcaea/453d2815-e342-4429-b7c0-a8f062edcaea1.gif)
视图:
相应级别的用户可以访问的数据和可以执行的操作的范围。
模块:
某一相对独立的功能。
asp.Net:
是微软公司的技术,是一种嵌入网页中的脚本可有因特网服务器执行的服务器端脚本技术,是把基于通用语言的程序在服务器上运行。
1.5.项目背景
本系统由本小组开发成员根据软件工程大作业设计并研发,由前台Web页面和后台数据库构成,采用开发平台为MicrosoftVisualStudio.Net2003(asp.Net),数据库使用SqlServer2000进行开发。
2.任务概述
本章主要叙述本系统的需求概述,总体功能要求和目标,软件开发平台要求,软件运行环境以及系统的限制描述。
2.1.系统需求概述
功能需求:
账号注册,点卡充值,视频点播,信息修改,视频管理,账户管理,点卡生成,黑名单系统。
界面要求:
简洁,美观,大方,便于操作。
扩展功能:
可以将新生成的点卡从系统中导出至指定的Excel文件中。
2.2.系统设计目标
为用户创造一个良好的家庭影院享受环境,提供最新,最精彩,最全面的视频资源;
为管理创造一个易于操作,便于管理的视频点播网站后台系统;
保证系统的可行性,正确性及稳定性。
2.3.软件开发平台
本系统所采用的开发软件如下:
数据库:
MicrosoftSqlServer2000
服务器:
IIS(InternetInformationServices,微软)
编程平台:
MicrosoftVisualStadio.Net2003
2.4.软件运行环境
硬件环境:
中低档配置PC机即可(内存256MB,P4以上处理机,显卡独立或集成均可)
软件环境:
Client:
Windows2000/XP/2003/Vista/7
RealPlayer播放器
Server:
MicrosoftOfficeExcel
MicrosoftSqlServer2000
IIS(InternetInformationServices)
2.5.限制描述
本系统未提供对视频进行评论及请求视频资源的功能。
3.系统结构设计
本章主要讲述的是本系统架构设计,包括系统高层设计,分布式机制设计,作业管理策略,架构模型的采用等。
3.1.B/S模式
本系统采用的是B/S结构,即浏览器/服务器结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现的,简化了客户端电脑载荷。
他最大的优点是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就可以了,且实时性好,是当今非常流行的一种架构设计模式。
如图3.1所示:
3.2.层次结构
为使软件代码清晰可读,本系统的设计为层次结构,共分为三层:
数据库连接层,控制层,视图层。
功能分配如下:
数据库连接层:
主要负责系统与数据库的连接,保证系统和数据库的通信和交互;
控制层:
本层负责整个系统的业务操作,利用下层提供的连接服务执行各种操作,为上层提供服务,包括提供前台所需的显示数据和播放信息及后台要执行的增删改操作等;
视图层:
本层可分为两部分,前台和后台,负责前台和后台的显示控制,页面跳转控制及调用控制层的函数完成指定的操作。
结构图如图3.2:
4.数据库设计
本章主要讲述的是本系统所使用的数据库中相关表和视频及其关系。
4.1.数据命名规则
本系统数据库中数据项的命名规则是采用中文和英文结合的,其中个别使用频率很高的项采用的是英文,这样便于编程的时候使用提高速度;
大部分数据项是用中文命名,以便于理解和记忆。
表名则是采用英文,且首字母大写形式,视图名则是中文加英文结合便于区分。
4.2.数据字典
详细描述数据库中表和视图的数据项及其数据类型设定。
4.2.1.表——用户(M_User)
该表包涵了注册了本系统账户的所有用户的所有信息。
序号
字段名
中文注释
类型/长度
备注
01
Id
用户名
Varchar/50
主键
02
PassWord
密码
03
昵称
用户昵称
04
性别
用户性别
Varchar/4
男or女
05
联系电话
用户联系方式
Varchar/30
06
电子邮箱
用户常用邮箱
Varchar/40
07
上次充值时间
最近一次充值时间
Datetime
08
点卡到期时间
账户有效期至
09
标志位
黑名单标志
10
上次登入时间
记录用户上次登入
11
注册时间
该用户注册时间
注:
此处标志位是用来标志该账号是否被加入黑名单的,若是’0’,则是正常的,若是’1’,则该账号已加入黑名单,无法正常登入。
4.2.2.表——管理员(M_Manager)
该表存放的是管理员账号的信息。
记录上次登入
4.2.3.表——点卡(M_Card)
该表存放的是所有已生成,但未被充值过的点卡信息。
卡号
点卡卡号
点卡密码
类型
点卡类型
Varchar/10
年卡or月卡
导出标志
此处的标志位是用来标志该点卡是否已被导出至Excel中,如果是则为’1’,如果不是,则为’0’,以便区分点卡是否被导出过,防止重复导出。
4.2.4.表——视频(M_Media)
该表存放的是所有上传的视频的信息及存放地址。
视频编号
Bigint/8
自增
名称
视频名称
视频类型
Varchar/20
主要演员
视频的演员
简介
视频简介
Varchar/1000
集数
标明视频集数
海报地址
视频海报存放地址
视频地址
视频存放地址
添加时间
视频添加时间
点击率
本视频点击率
Bigint
4.2.5.视图
为加快本系统读取数据库中数据的速度,在数据库中设计了一些视图,都是从视频这个表所映射而成的,因此这些视频的数据项与视频表相同,既:
这些视图分别是:
点击率top10(top10)
列出点击率最高的前10个视频信息,SQL语句如下:
SELECTTOP10*
FROMM_Media
ORDERBY点击率DESC
最新上传top5(最新上传top5)
列出最新上传的5个视频信息,SQL语句如下:
SELECTTOP5*
ORDERBY添加时间DESC
动作片点击率top10(动作片top10)
列出动作片中点击率最高的前10个视频信息,SQL语句如下:
WHERE类型=’动作片’
动漫片点击率top10(动漫片top10)
列出动漫片中点击率最高的前10个视频信息,SQL语句如下:
WHERE类型=’动漫片’
恐怖片点击率top10(恐怖片top10)
列出恐怖片中点击率最高的前10个视频信息,SQL语句如下:
WHERE类型=’恐怖片’
爱情片点击率top10(爱情片top10)
列出爱情片中点击率最高的前10个视频信息,SQL语句如下:
5.系统元素设计
描述了系统中重要的类和函数的设计,以及各模块形成的子系统的设计实现。
5.1.类设计
这里将对系统中最重要的四个实体设计类进行具体描述,分别是:
用户,点卡,视频,管理员,是系统中的四个实体,具体的类和属性如下:
该类所需要的属性有:
登入系统用的用户名(Id)密码(PassWord),用户必要的信息,包括昵称,性别,联系电话,电子邮箱,系统标志用户登入情况的注册时间,上次登入时间,为标志账户充值情况的上次充值时间和账户到期时间,还有一个用于标志账号是否被加入黑名单的标志位,如图5.1(a);
视频:
包括视频的Id,视频的名称,类型,主要演员,简介,集数,还有存放视频存储信息的海报地址和视频地址,还有视频的添加时间,以及视频从添加至今被用户点击过的次数,如图5.1(b);
包括点卡充值必须的卡号密码,以及卡号的类型(年卡,月卡),以及标志该点卡是否被导出过的标志位,如图5.1(c);
包括登入所需的用户名(Id)和密码(PassWord),以及标记管理员账号上次登入时间的字段,如图5.1(d)。
5.2.关键函数设计
简要描述本系统中要使用的关键函数的功能,具体代码实现这边省略:
GetNewUserCount():
本函数用于返回管理员两次登入时间之间,共有多少新注册的用户,在管理员登入时使用;
SQLExecute():
本函数的参数是一个String类型的SQL语句,函数的作用就是执行参数中SQL语句的功能,一般用在对数据库表的删和改操作;
CheckCard():
本函数用于检验用户充值的点卡是否有效,其参数是卡号和密码;
GetUserName():
本函数是用于在用户登入系统时返回用户的昵称;
GetNewMedia():
本函数用系统在首页显示时,返回最新上传到系统中的视频,显示在首页上;
GetTypeMedia():
本函数的用于返回系统中同属于同类型的视频,返回至前台页面上显示;
GetMediaDetail():
本含函数的参数是视频名称,功能是返回指定视频的详细信息;
CheckDeadLine():
该函数用于用户在进行点播操作时,判断用户的账户是否在点卡有效期内,返回False;
已上所列的是系统中使用频率较高的几个函数,还有很多在此就不一一列出。
6.子系统设计
6.1.账户注册子系统
该子系统功能为提供用户注册服务,具体数据流程已在SRS文档中已经描述过,这边讲述其具体实现及所包含的函数和类。
这边用到的设计类有用户注册界面(边界类),用户注册控制(控制类),用户(实体类),将其转化为设计类,类图如3.2:
6.1.1.控制层
重要函数设计:
CheckName():
检测用户注册使用的用户名是否可用;
GetNewUser():
获取用户提交的注册信息,并检验其是否填写完整;
CheckUser():
检测用户注册的用户名是否已存在;
Register():
用户注册,添加新用户记录;
6.1.2.视图层
注册页面设计如下:
6.2.登入子系统
该子系统是为登入系统,验证身份所用的,数据流程请见SRS文档,主要用到的是登入界面(边界类),登入控制中心(控制类),用户(实体类),管理员(实体类)。
本系统提供有管理员和用户两种登入方式,具体设计如下:
6.2.1.用户登入子系统
如图3.3所示:
UserLogin():
用户登入,获取用户的账号密码,并检验是否填写完整;
CheckPassWord():
检测用户的密码是否与账号匹配;
CheckBlackList():
检测当前登入的用户是否在黑名单中;
6.2.2.管理员登入子系统
如图3.4所示:
重要函数设计:
ManagerLogin():
获取登入的管理员的账号密码,并检验是否完整;
检测当前管理员账号密码是否正确;
GetNewUserCount():
用于统计管理员上次登入至今,共有多少新用户注册;
6.2.3.视图层
登入页面设计如下:
6.3.点卡生成子系统
该模块为管理员上传视频所用,包括对视频的增删改查等操作,主要用到的类有点卡管理页面(边界类),点卡管理控制中心(控制类),点卡(实体类),具体设计如图3.5所示:
6.3.1.控制层
GetCardRequire():
获取管理员所要生成的点卡的要求,包括卡号密码的长度,点卡的类型,及生成的数量;
AddCard():
将管理员要求生成的点卡全部添加至数据库
6.3.2.视图层
点卡生成页面设计如下:
6.4.视频上传子系统
该子系统的功能是为管理员提供对视频的增加操作,分析模型见SRS文档,主要包括的类有视频上传界面(边界类),视频上传控制中心(控制类),视频(实体类),具体设计类如图3.6所示:
6.4.1.控制层
AddMedia():
将管理员申请添加的视频记录添加到数据库;
GetMediaRequire():
获取管理员上传的视频的信息,并检验其完整性和合法性;
6.4.2.视图层
视频上传页面设计如下:
6.5.账户充值子系统
该子系统是为用户提供充值功能的模块,以保证用户能正常执行视频点播的功能,主要涉及的类有用户充值页面(边界类),用户充值控制中心(控制类),用户(实体类),点卡(实体类),设计如图3.7:
6.5.1.控制层
SubmitCard():
获取用户充值的卡号密码,检验其输入是否完整;
检测用户输入的点卡是否正确合法,并返回该点卡的类型;
Recharge():
根据获得的点卡的类型以及当前登入的用户Id,对用户进行充值,修改其充值时间及点卡的到期时间;
6.5.2.视图层
充值页面设计如下:
7.接口设计
7.1.人机交互接口设计规范
7.1.1.字体设计
黑体,加粗,大小根据用处而定,用于显示信息的文字用黑色,用于提示警告的字体用红色(此处不包括超链接的格式,超链接均采用系统默认的格式)。
7.1.2.控件设计
本系统使用的控件,大小均以具体布局而定,尽量保持显示整齐合理;
背景颜色根据控件所在区域附近的颜色而定,尽量达到该显示的背景的地方背景鲜明,不该显示背景的地方将背景隐藏掉;
整体布局要尽量整洁,清晰,顺序要合理,使界面整体协调。
7.1.3.界面设计
界面设计的总体目标是:
简单,合理,方便。
尽量避免繁杂累赘的东西,各个部分的大小和顺序安排要得当,尽量保证使用能方便操作。
总之,系统要保证美观大方,简介方便。
参考示例如下:
7.2.内部接口设计
各个页面所构成的类和子系统之间比较独立在逻辑上没有太大的联系,而各子系统之间的数据联系主要通过访问数据库接口,利用数据库做媒介来实现。
对于一些公用函数,提供了公共的条用接口。
7.3.外部接口设计
与Windows操作系统的接口:
利用API函数实现;
与SQLServer2000的接口:
利用VisualStudio提供的ADO.Net访问数据库的接口;
与OfficeExcel的接口:
利用.Net提供的Microsoft.Office.Core中与Excel进行交互的接口来实现;
7.4.提示警告方式设计
7.4.1.提示警告报错窗口设计
对于部分的提示信息,用窗口方式返回,如:
用户登入时提示
管理员登入时提示
在执行一些影响比较大的操作,会以确认的对话框形式出现
对于用户严重的非法操作,系统也会以对话框形式返回警告
用户未登入就进行点播
7.4.2.文字提示警告设计
检测用户的注册用户名是否可用
登入时检测信息是否填写完整
8.限制条件和测试要点
主要描述在系统设计和实现过程中可能出现的一些限制条件以及在系统测试中需要重点测试的功能。
8.1.限制条件
数据库的查询效率问题,可以通过建立视图和建立索引来改善;
视频存储路径问题,为保证管理员在上传视频能够成功在远程播放,需要对地址进行处理,为保证处理过程方便和正确,可以设置一个专门文件夹,用于存储管理员上传的所有视频;
视频数据传输问题,这个速度会收到网络的很大影响,这个影响在系统设计和实现过程是无法改善的,顾不去考虑。
8.2.测试要点
视频资源的安全性,只有在用户已经登入系统,并且账户是在充值有效期内,才能进行点播,未登入或账户过期均不得正常点播;
上传资源的有效性,管理员在后台上传了视频资源以后,前台能够及时正常的得以显示;
账户的合法性检验,登入的用户账号必须是已注册过的,而且是不在黑名单内的,如果是黑名单内的账号,则禁止登入并返回提示。
建议使用黑盒测试中的等价分类法
9.补充说明
9.1.附录A外部软件约束说明
本系统中需要调用两个外部软件,一个是播放器,另一个是能够存放导出的点卡信息的软件,我们选定的是以下两款常用软件:
MicrosoftOfficeExcel2003:
用于点卡的导出
RealPlayer:
作为播放器,这也限制了用户只有安装了这款播放器之后才能够正常执行点播功能。
9.2.附录B难点问题的讨论及实现方案
9.2.1.如何实现点卡在系统中的功能
点卡用于控制已注册的账户在某段时间内是否拥有点播视频的功能,那么,我们可以在数据库中用户这个表中为每个用户增加一个点卡到期时间,在用户点播视频的时候先判断当前时间是否超过了改用户的点卡到期时间,如果超过了,就说明用户之前充值的点卡已经过期了,需要在充值才能正常点播。
每次用户充值,就在这个时间上加上点卡相应类型的时间。
9.2.2.如何远程登入的电脑能点播服务器视频资源
首先,在播放页面,打开的同时,系统会把视频资源的地址传个播放器,让播放器找视频进行播放,如果是绝对地址,则会在用户本机上寻找视频,这样是找不到的,因此要对用户利用系统资源“浏览”的窗口得到的路径进行处理,得到相对地址,保证其正常播放,为了使系统在处理路径时方便正确,必然需要指定一个存放资源的文件夹。