基于Javaee的影视创作论坛的设计与实现(论文+

分类号_______________ 密级________________

UDC _______________ 学号_ ___

毕业设计(论文)

学生姓名

学 号

所 在 院 系

专 业 班 级

导师姓名职称

完成日期

论文题目

基于Javaee的影视创作论坛的设计与实现

Thesis Topic

Design and implementation of Javaee-based film and television creative forum

毕业设计(论文)任务书

毕业设计(论文)题目:基于Javaee的影视创作论坛的设计与实现毕业设计(论文)要求及原始数据(资料):了解基于JavaEE的影视创作论坛的开发背景及研究意义,以及同类软件部分功能的一些研究。学习基于JavaEE的影视创作论坛的设计所需使用的相关Tomcat,JavaEE,MySQL等技术和工具。对基于JavaEE的影视创作论坛的需求分析及总体设计。对基于JavaEE的影视创作论坛的实现进行详细的设计。对基于Java EE的影视创作论坛的设计和开发进行总结。训练检索文献资料和利用文献资料的能力;训练撰写技术文档与学位论文的能力。

毕业设计(论文)主要内容:学习掌握数据库及网站开发的基本知识;对系统进行需求分析,提出总体设计方案;深入分析影视创作论坛需要掌握的关键技术;掌握数据库及动态网页设计的方法,学习Tomcat,JavaEE,使用SQL server建立数据库;编程实现完成影视创作论坛的功能的实现;.在实际应用中测试、完善该系统;毕业设计完成后,提交设计结果并撰写毕业设计论文;学生应交出的设计文件(论文):1.内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2.包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。

主要参考文献(资料):钟书海. 网络漏洞扫描器的设计与实现[D].华南理工大学,2003李运莉. web数据库应用系统性能优化[M].北京:人民邮电出版社,2011.刘国红, 苏郁. 电信运营商的云计算应用研究[J]. 移动通信, 2009 (10): 83-85.肖志辉. 移动互联网研究综述[J]. 电信科学, 2009, 25(10): 30-36.卢赫. 国内外移动互联网发展现状及问题分析[J]. 现代电信科技, 2009, 39(7): 28-31.薛立宏, 张云华, 曹敏. 移动互联网运营关键问题及商业模式探讨[J]. 电信科学, 2009 (5): 11-17.孙少陵. 云计算变革下电信运营商的机遇及中国移动云计算探索[J]. 移动通信, 2010, 34(11): 44-46.Ted Husted. Struts In Action[M]. 北京:电子工业出版社,2013.Richard M. Enterprise Javabeans[J]. 北京:中国青年出版社,2011.Bruce E. Thinking in Java[M]. 北京:人民邮电出版社,2012.陈楚杰. 基于Struts和Hibernate的系统设计与实现[M].北京:中国青年出版社,2013.专业班级学生要求设计(论文)工作起止日期指导教师签字刘亚蓉日期教研室主任审查签字日期系主任批准签字日期

基于Javaee的影视创作论坛的设计与实现

摘 要

随着时代的发展,互联网的出现,给传统影视行业带来的最大便利就是,方便了影视从业人员以及爱好者的交流和互动,而为用户提供一个书写影评,阅读影评以及回复影评的平台,以影评为载体来使用户感受影评、解读影评的是互联网在传统影视行业下应运而生的产物。

本文讲述了基于javaee的影视创作论坛的设计与实现,所谓的影视创作论坛指的是通过网站让喜欢影视作品的人进行交流,而作为一个好的影视论坛,应该围绕影视作品展开,包括相关的影视资讯,幕后创作心得,观众观影体验,以及交流心得体会的地方。除了用户可以交流电影相关的感受以外,我们的平台可以提供实时最新的影评资讯和电影海报,用户也可以对自己喜爱的电影进行投票。后台管理可以对前台的信息进行操作,例如海报,公告,电影影评等。开发系统主要是采用了B/S模式,数据库则用了SQL server 2012。

本文档详细描述了八个开发系统的过程,从开始分析需求,到实现代码,再到最后的测试运行以及报告编写。设计报告共分为八部分,分别为绪论、需求分析、概要设计、详细设计、代码设计、总结、参考文献、致谢。

关键字:影视创作论坛;B/S;SQL Server 2012

Design and implementation of Javaee-based film and television creative forum

Abstract

With the continuous development of the times,the Internet is constantly changing and influence in our lives,with the continuous improvement of Internet infrastructure,Internet + concept is also being quietly affecting all walks of life.

Film culture entertainment consumer culture and entertainment consumption is the focus of the film culture and entertainment consumption process,critics as the biggest way after watching the movie audience,communication,and has a unique artistic charm,a good film forum,should focus on Filmography expand,including the relevant video information,creative ideas behind the scenes,the audience viewing experience,as well as the exchange of experiences of place.

There is no doubt that the emergence of the Internet to traditional television industry to bring the greatest convenience is to facilitate the communication and interaction film practitioners and enthusiasts,and provides browsing for users to build a film critic,film critic reply platform to critics as the carrier to make the user feel critic,film critic interpretation of the Internet in the traditional film industry came into product. Critics in the process of constant development,because of its depth interpretation of the works of film culture,has become the public’s favorite entertainment media,at the same time,our platform can also provide the latest information and critic critic poster,users can also your favorite film critic vote. This document describes in detail the process of the nine development system,from needs analysis,code,run to the final test,the preparation of reports. Design report is divided into eight parts,namely introduction,demand analysis,outline design,detailed design,code design,summary,references,acknowledgments and user instructions.

Keywords:JSP;Browser/Server;SQL Server

目 录

摘 要I

AbstractII

1 绪论1

1.1 研究课题背景1

1.2国内外研究现状2

1.3主要研究的内容2

1.4 论文整体结构2

2 相关开发技术介绍4

2.1 开发技术及工具简介4

2.1.1 JSP简介4

2.1.2 B/S结构5

2.1.3 数据库简介6

2.1.3 MyEclipse 10简介5

2.2 运行环境8

3 系统分析9

3.1 可行性分析10

3.2 网站需求分析10

3.3 网站需要解决的主要问题10

3.4 网站目标与功能11

3.4.1 网站目标11

3.4.2 网站要达到的功能11

4 网站的详细设计16

4.1 后台实现的功能16

4.1.1 首页推荐16

4.1.2 用户管理16

4.1.3 评论管理16

4.1.4 影片分类16

4.1.5 影片评分17

4.2 前台实现的功能17

4.2.1 网站首页17

4.2.2 影评评论17

4.2.3 口碑推荐17

4.2.4 分享喜欢18

4.2.5 站内搜索18

4.2.7 会员注册、登录18

4.3 数据库设计18

4.3.1 数据库逻辑设计E-R图18

4.3.2 数据库逻辑结构19

5 系统的实现与测试22

5.1 网站的功能模块描述22

5.1.1 网站首页22

5.1.2 影评评论23

5.1.3 口碑推荐24

5.1.4 分享喜欢25

5.1.5 站内搜索25

5.1.6 会员注册、登录26

5.2 网站的测试27

5.2.1 网站测试的意义27

5.2.2 网站测试的目的和原则28

5.2.3 网站测试的重要性30

5.2.4 网站测试的范围31

5.2.5 网站测试的方法32

5.2.6 综合测试结果33

结论44

致 谢43

参考文献44

外文原文45

外文翻译51

1 绪论1.1 研究课题背景

影视,给人们的生活带了来很多欢乐和感动,更加丰富了我们的课余文化生活。中国影视正式是从1905年开始的。那一年,中国的第一部影评《定军山》是在北京的丰泰照相馆诞生的,是照相馆的老板任庆泰为了向京剧老旦谭鑫培老师祝寿,于是就拍摄了其中老师最拿手的几个片断。这几个片段被拿到前门给广大群众当中放映,受到了大众的喜欢,于是就此宣告中国影视的诞生。 而对于我们来说,更多的了解只是局限于对单个影视的直观感受。

而影评作为影视内容消费的衍生产物,是观众观影后不可或缺的一部分,随之电影的发展,人们除了可以感受到电影本身带了的欢乐和感动之外,还可以通过影评内容拓宽自身的知识层面,丰富了课余文化生活。

同时随着互联网的不断发展,互联网+概念的深入普及,一方面降低了行业间的交流成本,加速了行业间的交流对话,另一方面提高了信息获取的效率,在这样互联网的大环境下,对于影视行业而言,一款基于影视内容创作的社区和论坛对影视从业者而言,显得格外有必要。

影视本身就是一门艺术,而且影视本身就融合了其他的艺术,它有利于提高人的思辩能力、写作能力、审美能力。从写作学的要求看,影评的书写需要的是信息的处理能力,也就是描写、记叙、抒情、议论能力的综合运用。

在传统的影视行业中,影视最重要的原理是”视觉暂留”, 通过蒙太奇组合成顺畅而生动的影片整体将按照一定的时序摄制的景物各运动阶段的静止画面连续映现出来,把外界事物的影像及声音摄录在胶片上,运用照相以及录音手段,利用人的是视觉的误差,在人的视觉中造就再现景物的运动影像的效果,然后通过放映来表现特定内容的技术.

影评作为影视作品的衍生物,也拥有着其独特的魅力,作为一门二次创作的艺术,其融合的文学、绘画、音乐、摄影等多领域的艺术在内,通过特殊的方法来展示“一千个读者,有一千个哈姆雷特”的道理。同并且影评也是社会科学技术发展到一定阶段的特殊产物。

现如今大众基于影视内容的二次创作已经不止于影评内容了,包括基于文字的,图

片的,视频等多媒体渠道展示用户的观后感,已经是目前影视行业的常态。

而影评作为一项长盛不衰的艺术,有着其独特的艺术魅力,影评对影视的评论是正确的,但每个人对电影的理解都是不一样的而且理解的角度也不一样,所以它的评论却并不是唯一的。影评也并不是凌驾于影视之上,而是在于分析,鉴定和评价影片,在各个方面来评价影片,而观众会通过影评来更深一步的了解电影,而电影的制作人也可以通过影评来开阔视野。

1.2 国内外研究现状

在相对成熟的影评资讯的行业中,在国外有以烂番茄、IMDB等为首的影评资讯网站,国内也有以时光网、豆瓣电影等主打影评资讯的网站,但无论是哪类网站,都是精选国内外电影的热门电影专辑,并在线于影视爱好者讨论影片中的热门话题。其中各大网站对于用户最有价值的地方,就是通过对用户反馈的内容进行收集整理,然后得出的影片的星级评分,而这也反映出这一部影片的好坏之分。

毫无疑问,无论是国内还是国外,这些大型的影评网站,都是基于影迷展开的,即所提供的服务也是根据影迷爱好者的需求出发,而影评这样的一个切入点,可以算是影迷们的刚需,通过优质的影评内容,以及全面的影视资讯内容,将这些影迷爱好者汇聚在一起,于是便形成了这样一个针对影迷爱好者的互联网平台在这样的一个平台里,我们不仅可以在这里开拓视野,看到不一样的世界,同时还能接触到形形色色的世界,对世界有更多的期许。

身为一个非常喜欢影视作品的影迷,可以说我们是一群深深地被影视所吸引的人,如今汇聚到了影评网,一边享受着影视作品带给这个世界的美好时光,另一边也孜孜不倦的将影视作品教育意义的一点一滴汇入到网络的海洋中,同时带给我们愉悦的心情和心灵上的感动。

有了网络,人们就可以判断影视的好坏抒发对电影的观后感,可以大胆的说出自己在看完电影以后对影视的看法。看电影的人汇聚到影评网,把影视作品带给他们的快乐、愤怒、希望释放到影评网影评的数据库中,用评论表达自己的观点、浏览别人的观点,在影迷社区激烈争论,让心情得到更大的舒展,也激励着影评人不断进取,助推中国影

评事业走向繁荣。

1.3主要研究的内容

1.影评的分类检索,让用户使用方便快捷,能在最短的时间找到自己想要搜索的内

容;

2.根据大部分人群的习惯影评资源信息的布局和展示,使用户更直观和舒服的了解网站的影评信息;

3.实现身份的注册、验证和登录,以及会员对自己注册过的信息的增加删除修改的操作;

4.验证和管理各种影视作品评论,维持网络的良好风气,这样方便用户的对影评的交流;

1.4 论文整体结构

第一章主要介绍了影视创作论坛的课题背景以及影视行业的现状,以及发展的前景,明确了影视论坛的必要性。

第二章则主要说明影视创作论坛的系统在设计时所使用的应用软件以及平台背景,以及为什么选择这些应用软件和平台。

第三章则是系统分析,主要说明了影视创作论坛在设计起初的一些总体框架和数据用例图,以及系统的需求分析和可行性研究。

第四章主要介绍的是影视创作论坛的详细设计阶段,其中包括所有数据库表的设计思路和方法(数据库的使用以及对数据的操作和管理)。

第五章主要向用户展示系统的实现与测试环节所得到的数据以及一些系统界面及其具体功能的描述,展示在项目实现过程中的一些核心代码,以及在项目实现后的项目测试环节。

最后是本论文的参考文献以及致谢。

2 相关开发技术介绍2.1 开发技术及工具简介2.1.1 JSP简介

JSP的全名是Java Server Pages,中文名叫java服务器页面,是一种跨平台的动态网页技术,它实现了HTML语法中的java扩张,即在传统的网页HTML(标准通用标记语言的子集)文件中插入Java程序段和JSP标记(tag),再由web服务器中的JSP引擎来进行编译并执行嵌入的Java代码片段,生成的信息将会返回给客户端(也就是最终出现在客户端浏览器上)。jsp与servlet一样,是在服务器端执行的,其根本是一个简化的Servlet设计, JSP技术是由美国Sun Microsystems公司倡导,许多公司参与一起建立的动态网页技术标准,是基于整个Java体系的Web开发技术,用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

JSP 技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访 问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

如下图1-1所示的过程:

图1-1 JSP的原理

同时JSP具有如下优点:

JSP代码跨平台:其开放的技术令其可以基于平台和服务器的相互独立,代码编写好以后,到其他不同环境中运行,代码不需要修改。平台和服务器的独立性:由于JSP使用的脚本语言是Java,所以JSP编写的代码可运行在任何符合JAVA语法结构的环境中,这就使得气非常方便,而且具有Java技术的所有好处。支持多种网页格式:目前,JSP技术支持的网页格式还没有一个明确的标准,它既能支持传统的HTML/DHTML浏览器格式、也能应用于无线通信设备、其他一些B2B电子商务网站应用的XML格式。JSP标记可扩充性:JSP技术允许开发者扩展JSP标签,定制JSP标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖使网页制作者降低了制作网页的复杂度。JSP组件跨平台:JSP组件(企业JavaBeans,JavaBean或定制的JSP标签)都是跨平台可重用的。2.1.2 B/S结构

B/S(Browser/Server)结构即浏览器/服务器结构。它是web兴起后的一种网络结构模式,对C/S结构的一种变化或者改进的结构,web浏览器是客户端最主要的应用软件。在这种结构下,用户工作界面是通过WWW浏览器来实现,一部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。以目前的技术看,运用B/S模式相对易于把握,成本也较低;它是一次性到位的开发,不同大人可以在不同的地点以不同的方式访问和操作;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、成本低。

使用B/S结构的优势:

客户端无需安装,有浏览器就行,随时进行查询,大大简化了客户端电脑载荷。业务扩展简单方:通过增加网页即可增加服务器功能。维护升级简单方便:无需升级多个客户端,升级服务器即可。2.1.3 数据库简介

随着时代的发展,一款优秀的项目已经不再是面向个体用户,而是面对成千上万的

用户,而对于这些成千上万的用户,如何进行有效的管理则成了至关重要的环节,而数据库就是在这样的时代背景下诞生的一款产物。

在数据库方面,选择了Microsoft SQL Server,而不是Oracle或者MySQL,主要原因是SQL Server 比MySql其安全性要更高一些,而对于 Oracle来说比之更容易上手,而且对于个人项目而言,更轻便易维护。

SQL Server 是 Microsoft推出一套产品,作为新一代的数据平台产品,它具有使用方便、可伸缩性好、与相关软件集成程度高等优点,逐渐成为Windows平台下进行数据库应用开发较为理想的 选择之一。它可以提供更安全可靠的存储功能,使其可以构建和管理高可用和高性能的数据应用程序。SQLServer是目前流行的数据库之一,它已广泛应用于金融、保险、电力、行政管理等与数据库有关的行业。而且,由于其易操作性及友好的界 面,赢得了广大用户的青睐,尤其是SQLServer与其它数据库,如Access、FoxPro、Excel等有良好的ODBC接口,可以把上述数据库 转成SQLServer的数据库,因此目前越来越多的读者正在使用SQLServer。SQL Server由于是微软的产品,又有着如此强大的功能,所以他的影响力是几种数据库系统中比较大,用户也是比较多的。它一般是和同是微软产品的.net平台一起搭配使用。当然其他的各种开发平台,都提供了与它相关的数据库连接方式。因此,开发软件用SQL Server做数据库是一个正确的选择。而SQL Server 2012又是对前面的版本的延伸,增加了软件的使用性。

SQL server2012的优势:

(1)安全性和高可用性:提高服务器正常运行时间并加强数据保护,无需浪费时间和金钱即可实现服务器到云端的扩展

(2)企业安全性及合规管理:内置的安全性功能及IT管理功能,能够在极大程度上帮助企业提高安全性能级别并实现合规管理

(3)安心使用:得益于卓越的服务和技术支持、大量值得信赖的合作伙伴、以及丰富的免费工具,用户可以放心使用

(4)在业界首屈一指的基准测试程序的支持下 ,用户可获得突破性的、可预测的性能

(5)快速的数据发现:通过快速的数据探索和数据可视化对成堆的数据进行细致深入的研究,从而能够引导企业提出更为深刻的商业洞见

(6)可扩展的托管式自助商业智能服务:通过托管式自主商业智能、IT 面板及 SharePoint 之间的协作,为整个商业机构提供可访问的智能服务

(7)可靠、一致的数据:针对所有业务数据提供一个全方位的视图,并通过整合、净化、管理帮助确保数据置信度

(8)全方位的数据仓库解决方案:凭借全方位数据仓库解决方案,以低成本向用户提供大规模的数据容量,能够实现较强的灵活性和可伸缩性

(9)根据需要进行扩展:通过灵活的部署选项,根据用户需要实现从服务器到云的扩展。

(10)解决方案的实现更为迅速:通过一体机和私有云/公共云产品,降低解决方案的复杂度并有效缩短其实现时间。

(11)工作效率得到优化提高:通过常见的工具,针对在服务器端和云端的IT人员及开发人员的工作效率进行优化

(12)随心所欲扩展任意数据:通过易于扩展的开发技术,可以在服务器或云端对数据进行任意扩展

2.1.4 MyEclipse10简介

MyEclipse,是基于Eclipse开发的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。据官方介绍,诸如三星、IBM、戴尔、惠普、花旗集团、西门子、斯坦福大学、波音公司等知名机构均使用MyEclipse进行Java、Javaee开发,80%以上的全球财富100强企业均是MyEclipse的用户。

MyEclipse提供了对UML、Ajax、Web、Web Services、J2EE、JSP、 XML、 Struts、 JSF、 Java Persistence、 EJB、扩展数据库以及各种应用服务器的集成支持。MyEclipse也全面支持各种主流的第三方框架,让你能够快速高效地进行开发工作。此外,MyEclipse还全面支持各种基于Eclipse平台的插件,允许你自由定制或扩展个性化功能。

MyEclipse全面支持Eclipse开源平台的所有功能特性,如果你熟悉Eclipse,那么你能够轻松地上手MyEclipse,包括熟悉的Eclipse快捷键,而且使用MyEclipse完成某项任务往往要比使用Eclipse更加快速、简单。

在结构上,MyEclipse的特征可以被分为7类: 1. JavaEE模型 2. WEB开发工具 3. EJB开发工具 4. 应用程序服务器的连接器 5. JavaEE项目部署服务 6. 数据库服务 7. MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。

MyEclipse10 对检索功能以及错误查询功能更加强大,包括对js文件的错误查询。就目前本人的体验来说,最大的变化莫过于软件安装界面,推荐使用link方法进行插件安装,方便快捷

2.2 运行环境

为了保证网站的正常运行和高效快速,网站的服务器端应该具备较高的配置,而对于客户端的要求不需要很高。此程序可以广泛地运行于互联网内,也可使用于内部的局域网。其运行要求如下:

软件环境:

开发工具:JSP/Java开发工具MyEclipse;Web Server:Tomcat 6.0 / JDK7.0 ;测试工具:功能测试手工完成。数据库: SQL Server 2012;3 系统分析

想要成功的完成一个系统,首先要做的事知道项目的目标人群是谁,并且明确这些目标人群的具体需求是什么(也就是需求分析),这样才能设计出满足用户的所有功能需求的系统。所以在本项目开始前,进行了详情的需求分析。

3.1 可行性分析

可行性分析又被叫做可行性研究,是指在对项目调查的基础上,针对项目开发所进行的可行性研究,即分析项目是否值得开发以及能否实现开发。可行性分析的目的是确定这个项目是否值得去解决。对项目的开发从技术难易、到经济允许、甚至是社会调查等方方面面的分析和研究,以避造成不必要的损耗。针对该项目,而要达到这个目的,不能靠人们主观的猜想而只能通过客观理性的分析。系统分析员更深一步得了解用户的需求,并在此基础上提出若干种可能的系统实现方案,而且需要分析提出的几种主要的可能的解法的利弊,从而判断出要要做的项目能否实现,对每种方案都从技术、经济、社会因素(如法律)等方面分析可行性,从而最终确定这项工程的可行性。可行性研究主要从以下的几个方向分析:

经济可行性:主要是对项目的经济方面进行分析,在经济的可行性分析上,项目的变现能力主要是从媒体到社交属性转换后的平台属性,即为拥有大量用户之后,利用平台的优势,可以更直接的进行电商销售,从电影票到影视相关内容的周边以及影视从业者的一些道具,都是在考虑的范畴之内,所以在经济方面上,本项目是完全可行的。市场可行性:市场的可行性主要是项目完成后是否能够在实际中很好的推广,其主要依赖于用户对于影评内容的需求,而在当今人们对于文化需求不断上涨的今天,利用Internet的优势,结合影视行业的一些内容输出对于整个市场来说是供不应求的。同时项目完成之后,在实际中的推广以及宣传则主要利用产品的用户体验,可以让更多的用户进行自发的宣传输出,且操作简单方便。本项目拉近了影视作品和观影人的距离,可以看到其他观影人的观影感受,而且操作简便,所以本项目在市场上是可行的技术可行性:是指在技术上进行分析,主要是分析现在所有的技术,是否能够完成即将要开发的的项目,同时也要分析,现如今所使用的软硬件是否能够胜任项目开发。首先本项目采用了B/S模式进行开发。在项目开发过程中有着C/S开发模式所不能替代的优势,他把网站带入了一个崭新的发展时代。而我们的数据库服务器则使用了SQL Server2012数据库,它和其他大多数的数据库一样,能够存储大量的数据,但相对于其他也相对轻便一些,不会占用过多资源,同时也能对数据进行的完整的操作和管理,它的灵活性、安全性和易用性为数据库编程提供了良好的条件,因此,项目的开发平台已成熟可行。此外,当今时代,科技发展迅速,其硬件平台完全能满足此项目的需要,所以项目在技术上是也是完全可行的。

综上所述,本项目在开发需求确定的条件下,市场、技术、经济等各个方面都可行,因此网站的开发是完全可行的。可以直接进入实际操作环节,也能够实现在最短的时间内,利用最低的代价,完成项目实践内容。

3.2 网站需求分析

所谓”需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的”需求分析”就是确定要计算机”做什么”,要达到什么样的效果。可以说需求分析是做系统之前必做的。

在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。

在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤。但在近十年内,越来越多的人认识到,需求分析是整个过程中最关键的一个部分。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件项目无法在规定的时间里完工。

随着时代的不断进步,人们不仅局限于吃穿住行,对文化的需求也是在不断增加,广大人民群众除了在电影院线观赏电影之外,有着强烈的文化沟通交流的需求,影评作为观众观看完影片之后的沟通交流的最大途径,对影迷爱好者有着很重要的意义。同时随着互联网的出现,给传统影视行业带来的最大便利就是,方便了影视从业人员以及爱好者的交流和互动,而为用户搭建一个平台,一款基于影视内容创作的社区和论坛对影视从业者而言,显得格外有必要。

其次,本项目的用户主要是人民大众,也就是对影视有共同爱好的人群,所以在设计上应该更符合大众的审美,简约,大方,同时需要足够简便,让不管是来自哪个阶层的人都能一目了然知道应该怎么去操作,怎么去使用。同时,应该对网站的用户进行权限的限制,即普通游客只能浏览网页但不能进行实际操作,注册用户可以在网站上进行评论,交流。

3.3 网站需要解决的主要问题

首先,要考虑的是使用该网站的人群,因为网站是面向的是广大的爱好影视的人群,包括学校的以及社会上的各个阶层的人士,所以在设计页面的时候,要考虑到大部分人,要贴合群众,而且一低昂要简洁大方,否和大众的浏览习惯,其次要考虑的是网站的压力测试,因为项目面对的人员交广,而且现在网络已成为大众趋势,越来越多的人开始上网,相应的浏览网站的人也会增加,故要考虑到流量急剧增大对此项目造成的打开页面变慢等诸多问题。

3.4 网站目标与功能3.4.1 网站目标

本项目主要是用jsp、sql server 2012完成的一个web站点的设计。项目的模块有:用户的注册成会员和会员的登录以及信息的管理,公告的发布以及查看,投票的实现以及管理,网站的介绍,其中未注册的游客,可以在影评论坛进行阅读影评和浏览海报等,但不能进行其他任何操作,而注册的用户除了浏览网站外,还可以进行其他实际操作,同时管理员的权限,除了能够在网站前端进行各种管理,还可以进入系统后台,即在后台对用户进行操作管理。

本网站可以进行会员的注册,会员注册以后的信息会保存到会员的信息数据库中以便以后的登录,数据库端使用SQL Server2012,界面采用JSP技术,便可以实现从前端到后台,从设计到数据库的全套流程。无论是用户还是管理员,以及开发人员而言,都非常的方便快捷。

3.4.2 网站要达到的功能

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。用途:帮助开发团队以一种可视化的方式理解系统的功能需求。

用例图所包含的元素如下:

(1) 参与者(Actor):参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。比如小明是图书馆的管理员,他参与图书馆管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。

(2) 用例(Use Case):用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。这是UML对用例的正式定义,对我们初学者可能有点难懂。我们可以这样去理解,用例是参与者想要系统做的事情。对于对用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。

(3)子系统(Subsystem):用来展示系统的一部分功能,这部分功能联系紧密。

(4) 关系:用例图中涉及的关系有:关联、泛化、包含、扩展。如下图3-1用例图中的关系分类所示:

图3-1 用例图中的关系分类图

本Web站点主要包含以下模块:注册管理:对已注册的会员的基本信息的添加修改以及会员的密码的修改;应该包括的表有,会员的信息表(会员管理即admin对会员的基本信息进行增删改查操作),影评信息表(影评管理即admin对影评信息的增删改查操作),影评种类表(影评种类管理即admin对影评种类的增删改查操作),网站公告表(公告管理即admin更新公告,以及对以前公告的管理),投票表(admin发起投票、对以前投票的管理,投票后进行数据库更新),影评海报表(海报管理即admin添加电影海报,对电影海报的管理等),综上所述,影评网的用例图可以通过下图表现出来。

如图3-2系统用例图

图3-2 系统用例图

如图3-3影评管理用例图,

图3-3 电影管理用例图

如图3-4影评管理用例图:

图3-4 影评管理用例图

如图3-5添加海报用例图:

图3-5 添加海报用例图

如图3-6用户注册用例图

图3-6 用户注册用例图

如图3-7实体关系图:

图3-7 实体关系图

如图3-8系统总体设计图:

图3-8 总体设计图

4 网站的详细设计

本章主要介绍在网站设计过程中,具体需求的实现以及遇到的困难和解决方案,对于本项目而言,最大的技术难点就在于1、前端和后台的连接,2、数据库和网页的连接,3、前端设计。

4.1 后台实现的功能4.1.1 首页推荐

根据电影热度,对热门电影进行首页的展示位推荐,可实现对推荐位选择,同时可修改首页推荐影片的首页图,以便更吸引观众。同时在影片热度下降的时候,可以选择对推荐影片的删除。具体的如图4-1所示。

4.1.2 用户管理

对用户进行权限管理,没有注册的用户,只能在网站上浏览前端页面,不能够进行操作,而对于注册用户而言,不仅能浏览页面,还可以发表观点,沟通交流,甚至可以下载海报等,具体的权限如图4-2所示。

4.1.3 评论管理

对会员产生的评论进行管理,对于自带人身攻打,非法性质的,损害网站利益一切言论进行敏感词警告,并可在后台对用户产生的不正当言论的评论删除和管理员私信警告,具体的措施如图4-3所示。

4.1.4 影片分类

对上映的影片根据地域、类型等标准进行分类。并提供查询界面,方便用户可以在对感兴趣的一类影片进行查询,观看,分享,评论。同时提供可对同一部影片进行多个类别的分类。

4.1.5 影片评分

用户可以根据自己的爱好来对自己喜欢的影视作品进行投票,投票的结果也会显示在网页端,供其他用户的浏览,可以给用户评价这个影视作品提供参考,让用户可以更好的判断。具体的如图4-5所示。

4.2 前台实现的功能4.2.1 网站首页

网站首页都是在展示主要的影视作品的介绍信息,同时提供现在下热门的影视作品的首图推荐位,影评网的首页简洁大方,广大的影视爱好者可以一目了然地看到最近更新的影视的资料海报,我们会推荐公认好看的影视作品供大家的选择,详情如图4-6所示。

4.2.2 影评评论

本页面主要展示的是各位会员对影视作品发表过的评论,以列表的形式排列,每条评论上面都有对应的评论的影视作品,点击可以查看对应的影视的资料。同时可以查看是哪位用户发表的评价,可以进入用户页面,查看该用户的所有评论和喜欢。左侧可以按不同产地(主要分为欧美、日本、大陆)进行筛选影视作品,方便查询。

4.2.3 口碑推荐

本页面通过列表形式展示站内最受欢迎的影片,根据影片的阅读量,分享率,喜欢量,评论量进行统一评分,然后对排名前十的影片进行网站侧边栏的推荐,方便用户浏览近期的最热大片。

4.2.4 分享喜欢

用户可对喜欢的影片、短评进行分享喜欢,可以将内容分享到自己的社交媒体中,可以分享至微信,微博,qq空间等社交平台,也可以复制网页链接,允许用户自行分享扩散。

4.2.5 站内搜索

本网站有不错的搜索引擎,快捷方便。可以实现分类查询,即同样的关键词,可以提供站内的影片关键词查询,导演关键词查询,影评关键词查询,能够让用户在第一时间找到所需要的有价值的内容。

4.2.6 会员注册、登录

本网站开放对外注册会员,注册的会员信息会存储在数据库表中,会员通过前台登

录非常方便,也可以修改自己在注册时填写的的信息登录同时会员可参与评分,发表影评,以及下载影视相关海报资料等功能……

4.3 数据库设计

(1)在数据库设计的时候,采用了一些基础的用户表,即当其他数据库需要这些表时,可以方便的调用,同时也可以也可以对表的内容进行增删查改,方便用户进行操作。如:已经定义了一个数据库的信息,如果在另一个数据库中也将使用这些信息,在定义数据库字段内容时,不需要重复输入这些信息,而是采用调用已经定义好的数据库信息的模式,直接存储关联字段。

(2)在数据库连接中,采用公共的数据模块存放对象,让这些高频繁调用的模块一直在后台运行,而不是即时连接,避免了对数据可的反复连接,方便其他用户操作时的频繁调用,节省了开发人员的代码的编写,同时也提高了效率,降低了用户不断等待的时间。

4.3.1 数据库逻辑设计E-R图

E-R模型中所包含的元素有3个:实体、属性、联系。E-R模型是用E-R图表示的。实体表示的是用户工作环境中的所涉及的事物,属性则表示的是对实体特征的具体的描述。

模型中的实体是相当于实体集、一个表,是客观世界中存在且可相互区分的事物,而不是单个实体或表中的一行。在E-R模型中实体是用矩形框代表,实体名称标注在矩形框里。属性是实体或联系所具有的性质,用椭圆框来表示,与实体之间用一条线相连表的主码是关键属性,关键属性项会加下划线。项目各子模块中主键相同的字段之间则存在着相互关联的关系。用菱形来表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。

如图4-1是系统的E-R图

图4-1 系统E-R图

4.3.2 数据库逻辑结构后台管理员表,字段包括主键Id(管理员编号),Title(帐号说明),UserName(帐号),Pwd(密码),AddTime(添加时间),LastTime(最后一次登录时间)等,如表4-1所示。表序:4-1 后台管理员表

字段名

类型

说明

长度

Id

Int

管理员编号

10

Title

varchar

帐号说明

50

UsrName

Varchar

帐号

50

Pwd

Varchar

密码

10

AddTime

Datetime

添加时间

10

LastTime

Datetime

最后一次登录时间

10

LogCount

Int

登录次数

10

评论表,字段包括主键CommentId(评论编号),CommentTypeId(类型),MovieId(影评的ID),CommentUser(评论人),CommentContent(评论内容),CommentTime(评论时间)等,如表4-2所示。

表序:4-2 评论表

字段名

类型

说明

长度

CommentId

Int

评论编号

10

CommentTypeId

Int

类型

10

MovieId

Int

关联影评信息ID

10

CommentUser

Varchar

评论人名称

50

CommentContent

Varchar

评论内容

100

CommentTime

Datetime

评论时间

10

3.会员表,字段包括主键MemberId(会员编号),UserName(登录帐号),Userpwd(登录密码),LoginCount(登录次数),Tel(固定电话或手机号码),QQ,Email(电子邮箱),Sex(性别),RegTime(注册时间)等,如表4-3所示。

表序4-3 会员表

字段名

类型

说明

长度

MemberId

Int

会员编号

10

UserName

Varchar

登录帐号

10

UserPwd

Varchar

登录密码

10

Tel

Varchar

固定电话或手机号码

20

QQ

Varchar

QQ

20

Email

Varchar

电子邮箱

20

Sex

Varchar

性别

5

RegTime

Varchar

注册时间

10

LoginCount

Int

登录次数

10

4.影评信息表,字段包括逐渐主键MovieId(影评编号),MovieName(影评名称),TypeId(影评类型),DaoYan(导演),ZhuYan(主演),ShowTime(影评上映年份),PicAddress(影评缩略图片地址),Content(影评详细介绍),Hits(浏览次数)等,如表4-4所示。

表序4-4 影评信息表

字段名

类型

说明

长度

MovieId

Int

影评编号

10

MovieName

Varchar

影评名称

50

TypeId

Int

影评类别

50

DaoYan

Varchar

导演

50

ZhuYan

Varchar

主演

50

ShowTime

Varchar

影评上映年份

10

PicAddress

Varchar

影评缩略图片地址

50

Content

Varchar

影评详细介绍

100

AddTime

Datetime

添加时间

10

Hits

Int

浏览次数

10

5 系统的实现与测试5.1 网站的功能模块描述5.1.1 网站首页

首页分为轮播图(一般都是展示本网站主要的影评介绍信息,同时提供热映影片的首图推荐位)、公告、排行榜、登录等几个模块。在查看别人发的帖子的时候,如果你要评论,就必须要先判断是否是注册用户或者会员,是会员直接评论,反之则跳转到注册界面。影评网的首页简洁大方,广大的影视爱好者可以一目了然地看到最近更新的影视的资料海报,我们会推荐公认好看的影视作品供大家的选择,如图5-1,代码实现如图5-2。

图5-1 界面展示

图5-2 网站首页代码

5.1.2 影评评论

本页面主要展示的是网站会员对影视作品所发表的评论,以列表的形式展示,每条评论的内容可分为标题,正文,电影海报,以及阅读全文的按钮,管理员可以在后台管理系统中对影片的资料进行操作(增删改操作),而用户点击进去之后,进行发表的影评的交流互动都是由用户自身产生详情如图5-3,,核心代码如图5-4所示。

图5-3 影评界面

图5-4 影评界面代码

5.1.3 口碑推荐

本页面通过列表形式展示站内最受欢迎的影片,根据影片的阅读量,分享率,喜欢量,评论量以及投的票数进行统一评分,会员可以对自己喜欢的影视作品进行投票,对排名前十的影片进行网站侧边栏的推荐,方便用户浏览近期的最热大片,如图5-5

图5-5 口碑推荐

以下是口碑推荐的代码:

<table width=”1000″border=”0″align=”center”cellpadding=”0″cellspacing=”0″bgcolor=”white”>

<tr>

<td height=”846″valign=”top”background=”images/head_07.jpg”>

<span class=”kind”>

<%out.println(“<br><p align=left>&nbsp;&nbsp;&nbsp;&nbsp;<img src=images/icon.gif width=10 height=10>&nbsp;&nbsp;电影海报</p>”);

%>

</span><table width=”650″border=”0″align=”center”bgcolor=”#FFFFFF”cellpadding=”0″cellspacing=”0″height=”750″>

<tr><br></tr>

<tr>

<% Picture picture=new Picture();

int count=0;

for(int i=0;i<list.size();i++){

picture=(Picture)list.get(i);

System.out.println(i);%>

<td width=”190″height=”230″valign=”top”><center><a href=”head_haibaoForm.do?id=<%=picture.getId()%>”><img border=”0″width=”150″height=”190″color=”#000000″src=”<%=picture.getImage() %>”/></a><br>

<ahref=”head_haibaoForm.do?id=<%=picture.getId() %>”><%=picture.getMovieName() %></a><br /></center>

5.1.4 分享喜欢

用户可对喜欢的影片、短评进行分享喜欢,可以将内容分享到自己的社交媒体中,可以分享至微信,微博,qq空间等社交平台,也可以复制网页链接,允许用户自行分享扩散

5.1.5 站内搜索

站内搜索引擎,非常方便。可以实现分类查询,即同样的关键词,可以提供站内的影片关键词查询,导演关键词查询,影评关键词查询,能够让用户在第一时间找到所需要的有价值的内容。详情如图5-6所示。

图5-6 站内搜索

5.1.6 会员注册、登录

本网站可以注册会员,会员的基本信息会存储在数据库中同时会员可参与评分,发表影评,以及下载影视相关海报资料等功能,如图5-8所示。

图5-7 会员注册界面

下面是会员注册页面的代码:

<form name=”myform”method=”post”actinotallow=”accountAdd.do?”notallow=”return accountAdd();”>

<table width=”380″border=”0″align=”center”>

<tr>

<td width=”78″height=”30″>用户名:</td>

<td width=”263″><input name=”userName”id=”userName”type=”text”class=”inputinput”size=”30″notallow=”checkUser();”/>

<span id=”flag”></span></td>

</tr><tr>

<td height=”30″>密码:</td>

<td><input name=”userPwd”type=”password”class=”inputinput”size=”30″notallow=”checkPwd();”><span id=”spwd”></span></td>

</tr><tr>

<td height=”30″>重复密码:</td>

<td><input name=”reUserPwd”type=”password”class=”inputinput”size=”30″notallow=”checkRePwd();”>

</td></tr><tr>

<td height=”30″>姓名:</td>

<td><input name=”name”type=”text”class=”inputinput”size=”30″notallow=”checkName();”><span id=”namespan”></span></td>

</tr><tr>

<td height=”30″>性别:</td>

<td><input name=”sex”type=”radio”class=”inputinputinput”value=”男”checked> 男

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input name=”sex”type=”radio”class=”inputinputinput”value=”女”>

女 </td></tr><tr>

<td height=”30″colspan=”2″align=”center”>

<br>

<input type=”image”class=”inputinputinput”src=”images/save.gif””>

&nbsp;&nbsp;

<a href=”#”notallow=”javascript:form.reset()”>&nbsp;&nbsp;<img src=”images/reset.gif”></a>

<a href=”#”notallow=”window.location.href=’index.jsp'”><img src=”images/back.gif”></a>

5.2 网站的测试

在网站的构建中,网站测试是开发项目的最后一个环节,也是不可缺少的一个环节,网站测验是用来检查测试网站是否能顺利运行,对于一开始的需求和功能是否都实现,页面的跳转是否会出错。言而总之,网站测试是网站构建中至关重要的一环,就像是被制造出来的的商品最后被质检员检测质量是否合格一样,查看网站对应的文档是否已经圆满的完成,网站的质量是否合格(符合项目需求)。

5.2.1 网站测试的意义

随着时代的不断进步,现代科技发展迅速,计算机以及网络也成为主流,更多的人加入到计算机及网络的大本营中,与此同时网站的使用者也成倍数增加,而且对其的质量以及相率的要求也越来越高,是否能达到用户对其对其能否提供更快更高效的服务品质是考量一个网站的重要指标。随着更多的用户访问网站,系统的承载负荷也逐渐增大,因此对网站的测试和优化也受到业界很大的重视

随着社会的发展,众所周知,在软件行业曾爆发了软件危机,人们关于这个话题的讨论也是一直居高不下。随着现在软件的增多,大量的软件行业的程序员付出了自己的大量的努力,以及非常多的专家学者也参与其中,人们逐渐意识到所谓的软件危机就是软件中的错误,而正是这些代码细微的错误就导致了软件的在其他各方面的失误,而软件是人编写的,人类不可能把代码做到完全没有错误,完美无缺,所以我们现在关键就在于我们该怎么样尽量避免这些错误的产生和改正已经有的错误,从而使程序中的错误密度尽可能的低。

在网站在正式投入到用户使用之前,我们要对网站的每个业务环节的性能都进行测试优化,以保证在用户使用时的项目的质量。然而对于项目的每个环节而言,都需要有相应的专业知识的专业人员进行测试和优化,功能测试主要是测试系统的功能需求的黑盒测试,是根据产品的特性、用户方案,模拟用户的操作方法来测试一个产品来确定它们是否满足用户要求的功能需求。而性能测试则是根据一定的科学方法,来对项目用一定的测试策略进行施压来获取该系统的运行效率、响应时间、资源利用情况等各项性能指标,来评价这个项目是否能够满足用户的性能需求。综上所述,功能测试是用来测试系统是否做出了正确的事情,而性能测试则用来测试软件是否能快速有效率的完成用户的任务。

5.2.2 网站测试的目的和原则

网站测试的目的是尽量以最少的成本(人力和时间)来找出软件中的各种错误和缺陷。要证明测试是否成功,就是应该发现尽可能多的错误。测试不知可以找到软件的错误,它的另一个额外收获是,它能够有效的证明软件的功能和性能是否与用户的各种需求说明相符。此外,进行了测试以后收集到的关于项目的测试结果和数据可以为可靠性分析提供了准确的依据。根据以上这些的测试目的,我们可以把软件测试的原则分为以下几条:

应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭,尽可能多的测试,找出更多的错误并改正。测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成这样就能相互对比,找出错误。程序员应避免检查自己的程序,换其他检测人员,用不同的思路才能找出软件中的缺陷。在设计测试用例时,应当包括合理的输入条件(系统是否正确的处理用户的输入)和不合理的输入条件(系统对用户不合理输入的响应以及怎么处理这不合理输入的方法)。充分注意测试中的群集现象。严格执行测试计划,排除测试的随意性,要尽可能地考虑到所有的可能的测试用例。应当对每一个测试结果做全面检查,看测试结果是否符合正常的测试结果,以保证测试的质量。妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方 便。

与软件开发的过程是类似的,测试过程也是分成几步来完成的,每个步骤在逻辑上

是上一个步骤的延续是不可改变的同时也是不可缺少的。大型的项目则通常会有几个子项目来组成,每个子项目又是由许多小的个模块组成。因此,项目的测试的基本层次如图5-10所示。

图5-8 测试的基本层次图

项目测试是贯穿项目开发的整个周期里的 ,项目的需求规格说明书 ,结构设计及程序编程代码,都属于项目测试的对象。在本项目中,测试的内容主要有二部分组成,一是性能测试;二是功能测试。

首先是性能测试,测试主要由人工来完成,主要是测试的是页面是否美观(包括页面的布局是否符合用户的使用习惯,设计的是否给人感觉舒服漂亮大方,页面的长度是否合理,背景色与前面的前景色搭配合不合理,各个页面的风格是否一致)。在Windows 7环境下,代码运行的界面正常没有错误,界面上的字体、图片等保存得当。没有出现界面的某些内容无法显示或者显示的是乱码的问题 !

二是进行功能的测试。首先是对链接的测试,链接测试是指测试点击连接时是不是能进入到相应的页面当中去,还有能不能正确返回,所链接的页面如果打开后里面的内容是否正确、孤立页面或根本没链接(也就是说链接的是自己本身)。如果使用了框架或内嵌框架,是否可以正确在本框架页内显示要查找的页面:使用内容置顶时是否可以正确实现。

其次是表单的测试,表单测试包括文本框、复选框、密码项、单选按钮、菜单项和提交按钮类按钮的测试以及后台数据库的测试。以及对系统兼容性的测试,主要是指在各种分辨率不同的和配置不同的操作系统上的电脑上及使用不同的浏览器对其测试,看其是否可以正确的显示,是否有图片和页面错位或太大太小等问题使有的部分无法看到,是否有图片或视频无法显示等。

5.2.3 网站测试的重要性

在网站的构建中,网站建设的目的是为了给企业带来更多的利益、同时也提升了企业品牌价值,网站测试是开发项目的最后一个环节,也是不可缺少的一个环节,网站测验是用来检查测试网站是否能顺利运行,对于一开始的需求和功能是否都实现,页面的跳转是否会出错。言而总之,网站测试是网站构建中至关重要的一环,就像是被制造出来的的商品最后被质检员检测质量是否合格一样,以下是网站进行测试需要考虑到的几方面:

网站建设布局要合理

对于网站的用户来说,他们对网站的第一印象就是网站的格局设计,网站的目的就是为了让更多的用户使用它,并且让用户能够很快地了解这个网站,所以网站的建设的成功不在于这个网站的设计有多么得色彩鲜艳,而是他能否提供给用户最有效的信息。

2、网站建设体验要用心

现在的网站设计都是大同小异的,有很多网站缺少创意,根本就是没有用心去设计。大多数网站建设来说都是为了建设网站而在敷衍,看见其他的网站的设计不错就开始去模仿,根本不考虑别人做的网站的布局是否符合自己的网站的需求,就导致了网页设计没有新意。

3、网站建设内容要丰富

现在有许多企业网站都喜欢转载或者直接复制他人网站内容,同时更新内容的频道也不是很高。有人会说网站内容不重要,只要让用户知道你的产品有行。随着越来越多的企业网站流理来源都是依靠搜索引擎获取,而对于用户来说,他们也开始比较注重企业网站之间的差异性。

4、服务器最好以速度和稳定性为核心指标

服务器价格是一方面因素,如果长期考虑做站,则服务器的成本要舍得投入,关于是否选择国外主机还是国内主机这个到不是非常关键,主要是稳定和速度是基础。一个长时间打不开的站点影响用户体验不说,对于蜘蛛抓取网页内容,增加信任度无疑是有百害无一利的,我想很多站长不希望见到如此窘境吧,合适、稳定的主机是提高用户体验和蜘蛛体验的最佳良方。日积月累,随着网站权重的提升,关键词排名和流量肯定会水涨船高,为蜘蛛对网站建立信任感奠定了坚实的基础。

同时,项目测试在项目生命周期中占据重要的地位,在传统的瀑布模型中,项目测试学仅处于运行维护阶段之前,是项目产品交付用户使用之前保证项目质量的重要手段。近来,项目开发界趋向于一种新的观点,即认为项目生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。

事实上,对于项目来讲,不论采用什么技术和什么方法,项目中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝项目中的错误,这些引入的错误需要测试来找出,项目中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是项目开发的重要部分。自有程序设计的那天起测试就一直伴随着。

统计表明,在典型的项目开发项目中,项目测试工作量往往占项目开发总工作量的40%以上。而在项目开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个项目生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。其中在测试过程中还有许多需要注意的细节:

1、网站建设网站测试这个环节不可缺少

规范的测试是确保网站建设建设质量的必需流程。再精良的设备再完备的流程也无法拒绝不良品的产出,为了降低不良率,惟一的办法就是严把检测关。网站建设也是一样,网站的品质一方面取决于技术人员的技术和完善的项目管理机制,网站建设网站测试这个环节不可缺少。

2、网站测试有哪些内容

第一是功能测试,就是测试一下网站功能是否已经实现;第二是兼容性测试,测试的目的是网站在不同浏览器、不同操作系统、不同浏览平台下网站的前端表现是否一致;第三是压力测试,100个同时访问网站和1000个人同时访问网站,系统的承压能力肯定不一样;第四是安全测试,即模拟攻入环境下,网站是不是依旧可以正常访问。

3、网站测试需要多人进行检测

有的时候我们一个人可能没有办法检测出全部的问题,或多或少都会有所遗漏,所以这就需要不同的人对网站进行测试才能全面的发现网站存在的问题。最好让客户也参与测试,这样更好。

5.2.4 网站测试的范围

项目测试贯穿于整个软件开发的项目定义和开发的周期里的,项目的需求规格说明书,程序员编写的代码,网站的结构设计等都属于测试的对象。而在实际工作中、更多的测试则主要围绕以下的功能

(1)UI测试

UI测试主要测试页面是否美观(包括页面的布局是否合理,策划是否舒服美观,页面长度是否合理,前景色与背景色是否搭配,页面风格是否统一)。

(2)链接测试

链接测试用于测试点击链接时是否可以进入所找的页面,是否能正确返回,链接页面会不会是空白页面、孤立页面或根本没链接(也就是说链接的是自己本身)。如果链接的是空白页,我们是否可以正确返回;如果使用了框架或内嵌框架,是否可以正确在本框架页内显示要查找的页面:使用内容置顶时是否可以正确实现。

(3)表单测试

表单测试包括单选按钮、复选框、文本框、密码项、菜单项和提交按钮类按钮的测试以及后台数据库的测试。

(4)兼容性测试

兼容性测试是指在各种配置不同的操作系统上和分辨率不同的电脑上及使用不同的浏览器对其测试,看其是否可以正确显示,是否有图片和页面错位或太大太小等问题使有的部分无法看到,是否有图片或视频无法显示等。

(5)网络配置测试

网络配置测试主要测试网页是否可以打印或保存(如果是保密的网页或不想让别人保存的页面可以将其做成Flash格式的,不让用户保存),网页冗余代码是否过多或容量太大导致网络运行速度过慢等。

(6)负载测试

负载测试主要测试多个用户同时上网时其最大的承受能力是多大,如果超过了这个极限会有何反应。

(7)安全测试

安全测试主要测试用户名和密码是否有长度限制,是否有复杂度限制,登录次数是否受限等。

(8)接口测试

5.2.5 网站测试的方法

网站的内容形式是各种各样的,随着科技的发展,网页制作的技术也在不断变化,所以不同的网站应该要有不同的测试方法,只有这样才能保障测试的可靠性。目前,常见的网站测试方法有以下三种:

1、人工测试

人工测试的方法是指网页的设计者对网站中的所有的网页进行逐一浏览,检查和测试,通过不同的浏览器,不同的操作系统,从不同的位置进行测试,这种方法效率不高,适合小型的网页数不多的网站使用。

2.程序测试

在网页制作软件Dreamweaver中,“Check Target Browser”,可以自动检测该网页在六种不同版本的浏览器Internet Explorer2.0—6.0和Netscape2.0—5.0中的支持情况,并会自动生成一个报喜详细检查结果的HTML文件,并且调用默认浏览器。此检查报告十分详细,不仅指出每个错误在文件中的详细位置,而且说明了错误的原因。检查功能还支持对JavaScript和DHTML的检查,可以解决使用FrontPage制作的网页在Netscape下浏览往往显得杂乱无章的问题。

用Dreamweaver,软件制作的网页的层不太适合Netscape调用,最好还是先将它转换为表格。枚个问题用以上方法是检查不出来的。

对于拼写也可以使用程序检查。如在FrontPage中打开检查拼写的网页,然后依次选择菜单栏中的“工具”、“拼写与检查”或按F7快捷键,然后FrontPage2000会报告检查结果,可以立即予以更改修正。

另一个网页制作软件GoLive也可以有效地进行网页测试,因为它将整个网站中的所有文件和文件夹视为一个整体,这样就可以对任何断链情况或文件丢失情况进行跟踪检查,甚至还能够在误移动文件后,对网站整体的文件指向进行修改。

假如网页的文件名变化了,GoLive会自动查找哪些网页会因此受到影响,并发出警告来询问是否更新操作。如果利用文本编辑器对网页源编码进行检查,就必须查清所有网页中的有关链接。

3.专业网站测试

在Internet上有从事网站测试的专业公司,有偿承担对网站的测试工作。一般方法是先登录到测试公司的网站,留下要测试的网站地址和联系电子邮箱,支付一定的测试服务费后,在规定的时间内就会收到相关的测试报告。报告内容一般分为以下几点:

(1)评价浏览器兼容性,即不同的浏览器及各种版本显示的出错情况。

(2)评价该网站主题的标题、内容简介、关键词等是否符合著名搜索器登记要求。

(3)评价多种下载方式(调制解调器、ISDN、ADSL、宽带、无线上网)所需要的时间。

(4)死链接检测,即检测该网站主页和子页中含有死链接数量的多少。

 (5)评价Internet与该网站主页的友情链接情况。

 (6)拼写校验,即用Web词典校验该网站主页的拼写错误(一般只限于英文网站)。

(7)HTML代码的完整性评价。

5.2.6 综合测试结果

经过软件测试的环节,该项目基于Javaee的影视创作论坛的设计与实现已经能够达到基本的效果实现,并且用户体验好,在进入系统之后,能够拥有较为完整的解决需求,并且运行的过程中,任何表单和链接都能顺利进行,并没有出现任何bug,同时点击进入系统之后,通过简单的点击便可以进行交流互动,操作简单方便。当程序部署到MyEclipse中,运行之后,运行效果如图5-9所示。

首页主要是有最新的影视作品的推荐,然后会有进入到各个选项的按钮,各个功能都能实现。

图5-9 首页测试图

在首页上一个按钮是网站影评,点开这个按钮以后就会出现影评页面,可以快速查看对应的影片资料,用户登录以后可以对影评进行浏览和回复,发表自己的观点,如图影评测试界面5-10可以很好的看出该项目的功能(已注册的用户对影视作品影评进行评价,交流)可以实现。

图5-10 影评测试界面

在首页上的电影海报的按钮点开以后会进入到电影海报的界面,里面会有数据库里的影视作品的海报,对应的海报的名字会在海报的下方标出,如图5-11海报测试界面可以看出项目在这个页面的功能以实现,没有出现错误。

图5-11 海报测试界面

在首页上打开参与投票的按钮,会出现对影视作品的投票的界面,如图5-12投票测试界面,在这个界面用户可以对自己的喜欢的影视作品进行投票,并且用户也可以看到这个影视作品的票数有多少。

图5-12 投票测试界面

在首页的最后一个按钮是联系我们的页面,里面会有这个网站的一些信息,以及联系方式,如图5-13联系我们测试界面。

图5-13 联系我们测试界面

管理员登录后会进入到后台,管理员登录界面如图5-14管理员测试界面所示,可以很好的完成要达到的功能。

5-14 管理员登录测试界面

后台管理是对前台展示给用户的信息进行管理,如图5-15后台管理的首页测试界面,里面有具体的后台管理的种类。

5-15 后台管理的首页测试界面

后台管理中的第一个管理功能是电影的添加设置,可以对电影进行删除和添加,经过测试,本项目可以很好地实现这个功能,如图5-16电影添加测试界面,里面可以看出具体的添加需要的步骤。

图5-16 电影添加测试界面

后台管理的第二个管理的功能是对影视作品影评的管理,可以对影评进行添加和删除,也能对用户对于影评的回复进行管理,可以删除恶意的回复,如图5-17发表影评测试界面。

图5-17 发表影评测试界面

后台管理的第三个管理的功能是对影视作品的海报的添加管理,可以再数据库中插入电影海报,存储海报的存放路径,如图5-18海报添加的测试界面可以看出能很好地完成这个功能。

图5-18 海报添加测试界面

后台管理的第四个管理的功能是对电影海报的管理,可以更改首页的海报,首页的海报是根据电影的热度来修改的,后台会根据时间持续更新电影海报,如图5-19海报管理测试界面。

图5-19 海报管理测试界面

后台管理的第五个管理的功能是对电影预告片的管理,可以对即将放映的影视作品的预告片添加在网站上供用户观看,里面添加的是视频的地址,如图5-20预告片管理测试界面。

5-20 预告片管理测试界面

后台管理的第六个管理的功能是对网站公告的管理,可以添加修改和删除公告,可以根据需要随时操作,填写的内容包括公告主题和公告内容,如图5-21公告管理测试界面。

5-21 公告管理测试界面

后台管理的第七个管理的功能是对用户的管理,可以查询用户的信息,如图5-19是用户的管理测试界面。

图5-22 用户管理测试界面

后台管理的第八个管理的功能是管理员信息的管理,可以修改管理员的密码,如图5-19管理员管理测试界面

图5-23 管理员管理测试界面

根据以上各个模块的测试报告可以看出,本游戏程序最终基本实现了需求设计中的要求,并在不影响程序正常运行的情况下增加了一些小的改变,在测试过程中未出现过大的bug异常,说明本程序已经较为完整,本次设计目标也比较成功地完成了。

结论

《基于Javaee的影视创作论坛的设计与实现》从现时时的角度上来说,当今人们对于文化需求不断上涨的今天,利用Internet的优势,结合影视行业的一些内容输出对于整个市场来说是供不应求的。而开发这个网站可以适当改善这个局面,在实际中的推广以及宣传则主要利用产品的用户体验,可以让更多的用户进行自发的宣传输出,且操作简单方便。拉近了影视作品和观影人的距离,可以看到其他观影人的观影感受,而且操作简便。首先本项目采用了B/S模式进行开发。在项目开发过程中有着C/S开发模式所不能替代的优势,他把网站带入了一个崭新的发展时代。而我们的数据库服务器则使用了SQL Server2012数据库安全且方便。

基于Javaee的影视创作论坛是为了提高人们的文化修养而推出的,我们本着为人民服务的态度和为国家的奉献认真的编码此系统,希望能得到广大爱好电影得人群的喜欢和青睐。

也许此系统还不能完全满足您的要求,但是在今后的学习中我会更加的努力,仅限于目前的知识水平已是竭尽全力了。开发此系统请教过的老师和同学帮助了很多,前后历时了几个月,虽然会有漏洞和不足之处,但是在以后的学习中会去完善。

致 谢

在本次毕业设计过程中,得到了指导老师XX老师和XX老师的指导与支持。在此特别感谢老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于能顺利完成这次毕业设计起到了关键性的作用。

此次毕业设计对提高我的编程技术、协调团队成员的关系等方面都由许多益处。在此我一并向他表示感谢。我还要感谢我的母校——XX大学,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名软件专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。

转眼间,大学生活即将结束,回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。管理信息系统专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。

21世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了世界的生活。作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。


参考文献

1 钟书海. 网络漏洞扫描器的设计与实现[D].华南理工大学,2003

2 李运莉. web数据库应用系统性能优化[M].北京:人民邮电出版社,2011.

3 刘国红, 苏郁. 电信运营商的云计算应用研究[J]. 移动通信, 2009 (10): 83-85.

4肖志辉. 移动互联网研究综述[J]. 电信科学, 2009, 25(10): 30-36.

5卢赫. 国内外移动互联网发展现状及问题分析[J]. 现代电信科技, 2009, 39(7): 28-31.

6薛立宏,张云华,曹敏.移动互联网运营关键问题及商业模式探讨[J].电信科学,2009(5):11-17.

7 孙少陵.云计算变革下电信运营商的机遇及中国移动云计算探索[J].通信,2010,34(11):44-46.

8 Ted Husted. Struts In Action[M]. 北京:电子工业出版社,2013.

9 Richard M. Enterprise Javabeans[J]. 北京:中国青年出版社,2011.

10 Bruce E. Thinking in Java[M]. 北京:人民邮电出版社,2012.

11 陈楚杰. 基于Struts和Hibernate的系统设计与实现[M].北京:中国青年出版社,2013.


外文原文

Networked video communication [1] is achieved by determining the available bandwidth along an end-to-end path and adapting the encoded video rate accordingly. Volatile traffic load conditions on the Internet create the need for videospecific measures [2] that can accurately and in a timely manner determine the network state. Packet loss has traditionally signalled congestion to TCP, which has achieved remarkable success in avoiding excessive Internet congestion. Nevertheless, the limitation of packet loss has been identified as a performance bottleneck in TCP and enhancements to the protocol with a packet delay-based indicator have been proposed [3]. However, TCP emulators [4] for real-time transport over UDP (to avoid unbounded delivery delay through TCP) do include a packet loss factor in their models. While packet loss is acceptable in file transfer, as lost packets are simply re-transmitted through TCP’s reliable transport, playout and decode deadlines must be met when streaming video. However, under congestion control of UDP, without avoidance measures, packet losses without retransmission do occur, degrading the delivered video quality. This paper shows that, because of reduced fluctuations in the sending rate, a fuzzy logic congestion controller (FLC) of video over UDP can more nearly approach an optimal regime, in which the available bandwidth is closely tracked with minimal packet loss. Input to the FLC is from a packet dispersion measure, which is a form of delay-based congestion control.

In [5], delay-based congestion control with the delay gradient was employed for applications such as video conferencing to arrive at low average end-to-end delay with minimal restriction of throughput. In the process it was found that output oscillationswere reduced along with delay variance. The method also avoided the ‘phase effect’ [6], whereby packet-loss probe-based congestion control introduces unfairness between streams across the same link, as the same stream may repeatedly suffer packet loss at the congested link. Congestion control of a video stream can be achieved through a rate-adaptive transcoder. Video transcoders, including ours [7] adapted for variable bit rate (VBR) streams, open up the possibility of sending a pre-encoded video bitstream at the maximum possible rate without overly exceeding the available network bandwidth. Hence, subsequent router buffering is able to cope with the output packet stream. In fact, it is quite possible to arrive at fewer packet losses or even avoid loss altogether by re-compressing an already compressed bitstream by means of a transcoder. Although in this paper we have applied fuzzy logic to a rate-adaptive transcoder, direct fuzzy logic control of the encoder quantizer step sizes is also possible. However, as pre-encoded video comprises the majority of video streams on the Internet, rather than live video streams, the description concentrates on transcoding.

Fuzzy logic, which has from its inception been extensively used for industrial and commercial control applications [8], is for us simply a convenient tool for handling un-modelled network congestion states. Within video coding it has found an application [9] in maintaining a constant video rate by varying the encoder quantization parameter according to the output buffer state, which is a complex control problem without an analytical solution. Fuzzy logic control of congestion is a sender-based system for unicast flows. The receiver returns a feedback message that indicates time-smoothed and normalized changes to packet inter-arrival time. These allow the sender to compute the network congestion level through pre-designed fuzzy models. The sender then applies a control signal to the transcoder’s quantization level, as a reflection of the anticipated congestion. Thus, congestion control without packet loss feedback is achieved by measuring packet stream dispersion arising when busy router queues are encountered, especially at tight links, representing the point of minimum available bandwidth on the network path. Fuzzy control is thus able to function in low packet loss environments.

A well-engineered FLC for transcoded video should:

1)Be TCP-friendly so that, in the event of proliferation of FLC streams within the Internet, there is a limited risk of congestion collapse.

2)Coexist with typical Internet traffic, consisting of long-term file transfer flows and short-term Web server connections.

3) Track the available bandwidth as closely as possible, though at the same time reducing or eliminating packet loss.

4) Achieve an optimally smooth stream, to avoid fluctuations in delivered video quality

Items one and two are a measure of the quality of the solution, as without these stipulations a controller could simply greedily acquire bandwidth from other traffic. Items three and four are highly desirable for video traffic.

The remainder of the paper is organized as follows. The details of the system architecture and the FLC are given in Section II. Section III reports a set of simulation experiments. Finally, Section IV draws some conclusions, explaining why this paper proposes an FLC for video streams.

Fig. 1 shows a video streaming architecture in which fuzzy logic is utilized to control the bitrate. A video transcoder at the server [7] is necessary for pre-encoded video-rate adaptation. The client-side timer unit monitors the dispersion of incoming packets and relays this information to the congestion level determination (CLD) unit. The CLD unit monitors the outgoing packet stream, especially the packet sizes, and combines this information with feedback from the client, as a basis for determining the network congestion level, CL. This unit also computes the congestion-level rate of change, δCL. The timer unit measures the arriving packet inter-packet gaps (IPG’s) before finding a time-smoothed and normalized estimate of the packet dispersion. An IPG is the time duration between the receipt of the end of one packet and the arrival of the next. The FLC takes CL and δCL, as inputs, and computes a sending rate that reflects the network’s state. The appropriate change in the transcoder quantization level is then calculated. Transported packets are received by the client, de-packetized, decoded and displayed at video rate.

At the server, the video transcoder inputs the pre-encoded video and reduces its bit-rate in response to the control signal from the FLC. The lower bound to the sending rate was set to be 10% of the input sending rate. For the average input sending rate of 2 Mb/s in the simulations in Section III, a lower limit of 200 kb/s is sufficient for an acceptable video quality. The transcoded video is packetized, with one slice per packet, and sent across the network within a UDP packet. Apart from error resilience due to decoder synchronization markers, per-slice packetization also reduces delay at the server. Transcoded video packets are subsequently output with a constant IPG at the point of transmission. Ensuring a constant IPG reduces packet inter-arrival jitter at the client and also renders the streamed video more robust to error bursts.

Fuzzy logic emulates a control process, as if a human expert were regulating the transmission rate. Multiple fuzzy membership functions model the uncertainty in that expert’s perception of the feedback, whereas an output rate decision is made precise by the process of defuzzification, which translates uncertainty in the output to a crisp value, i.e. a specific control signal value.

Fig. 2 is a block diagram of an FLC. Fuzzifiers convert the inputs CL and 未CL into suitable linguistic variables. A knowledge base encapsulates expert knowledge of the application with the required control goals. It defines the labels that help specify a set of linguistic rules. The inference engine block is the intelligence of the controller, with the capability of emulating the human decision making process, based on fuzzy logic, by means of the knowledge database and embedded rules for making those decisions. Lastly, the defuzzification block converts the inferred fuzzy control decisions from the inference engine to a crisp value, which is converted to a control signal, CT in Fig. 2, to the transcoder, which then outputs a re-compressed bitstream.

Fuzzification is the term given to the application of a membership function, ?, to a data value to find its membership possibility, i.e. ?(x) yields the possibility of membership of the fuzzy subset for which ? is the membership function. The input variables were fuzzified by means of triangular-shaped membership functions, being the usual compromise between reduced computation time at the expense of a sharper transition from one state to another. Choosing the number of membership functions is important, as it determines the smoothness of the bit-rate granularity. However, the number of membership functions is directly proportional to the computation time. The congestion level, the rate at which it changes, and the control output were each partitioned into a set of overlapping triangular membership functions, with the overlap such that extent of any one triangle reached the midpoint of the base of another.

The algorithm was simulated with the well-known ns-2 network simulator (version 2.30 used). The simulated network, with a typical ‘dumbbell’ topology, had a bottleneck link between two routers and all side link bandwidths were provisioned such that congestion would only occur at the bottleneck link. That is access links from the senders and to the receivers were set to 100 Mb/s. The default buffer size of the bottleneck link routers was configured to be twice the bandwidth delay product, as is normal in such experiments to avoid packet losses from too small a buffer. The one-way delay of the bottleneck link was set to 5 ms and the side links’ delays were set to 1 ms. The bottleneck link routers’ queueing policy was defaulted to be FIFO (drop-tail). Random Early Detection (RED) routers rather than drop-tail are reported [14] as difficult to configure in a simulation in such a way that the behavior is uniform across a range of background traffic intensities. Though it is expected that RED will improve congestion control if and when it is widely deployed, [14] reports that for lightly loaded links there is a danger of error bursts if RED is applied.

In all experiments, when under fuzzy control, the IPG at the sender was set to 2.2 ms, which corresponds to the video packetization characteristics of Section II-A. Network-state decisions were fed back from the receiver to the fuzzy controller after every frame or frame transmission interval (e.g. 40 ms). An MPEG-2 video ‘news clip’ with moderate motion and Group of Picture (GOP) structure of N=12, M=3 was selected, originally pre-encoded at an average rate of 2.0 Mb/s.

Comparison was made with the TCP-friendly Rate Control (TFRC) protocol, the subject of an RFC [15] and a prominent method of congestion control from the originators of the ‘TCP-friendly’ concept. To ensure fairness the publicly available TFRC ns-2 simulator model1 (in the form of object tcl scripts to drive the simulator) was employed. In TFRC, the sending rate is made a function of the measured packet loss rate during a single round-trip-time (RTT) duration measured at the receiver. The sender then calculates the sending rate according to the TCP throughput equation given in [16]. In the TFRC experiments, a TFRC controller dispatched fixed-size UDP packets across the same network tight link, varying the IPG according to the available bandwidth, as estimated by the TFRC feedback mechanism. In the TCP throughput equation employed by TFRC, notice that the packet length explicitly appears as a linear scaling factor, allowing TFRC to adjust its behavior according to a constant packet size. Packet loss and RTT appear as non-linear factors in the equation. In [17], it was found that the median packet length for UDP streaming was 640 B, which is similar to the fixed 700 B packet length of TFRC in these tests.

Additionally, comparison was made with RAP [14], which is an alternative to equation-based modeling. RAP varies the IPG between fixed-size packets to allow its average sending rate to approach TCP’s for a given available bandwidth. Every smoothed RTT, RAP implements an Arithmetic Increase Multiplicative Decrease (AIMD)-like algorithm [18], with the same thresholds and increments as TCP. Because this would otherwise result in TCP’s ‘sawtooth’-like rate curve, with obvious disruption to multimedia streams, RAP introduces fine-grained smoothing (turned on in this paper’s tests), which takes into account shortand long-term RTT trends. Because of its pioneering role and its close resemblance to TCP, RAP has frequently served as a point of comparison for congestion controllers. To ensure fairness to RAP public ns-2 models2 were availed of

Internet measurement studies [19] have demonstrated a typical Internet traffic mix to consist of longer term flows, ‘Tortoises’, representing file transfers, and transient HTTP connections, ‘Dragonflies’. In the set of experiments herein, one FLC video source and up to ten TCP sources were passed across the link. The first five TCP sources were ‘dragonflies’ with a random duration of between one and five seconds. These sources were generated from a uniform distribution and with an off duration of between one and five seconds, also randomly generated from a uniform distribution. The remaining five TCP sources wereconfigured as ‘tortoise’, with an on duration of between five and twenty seconds and an off duration between one and five seconds, all also randomly generated from a uniform distribution. In the first experiment, only one TCP source was present as background traffic, in the second two TCP sources acted as background traffic and so on, and all ten TCP sources were on as background traffic for a tenth experiment. All experiments were repeated ten times with different seeds and the mean result was taken.


中文翻译

联网的视频通信[1]是指,通过确定沿一个端到另一端路径上的可用带宽,相应地适应编码的视频码率以实现视频在客户端的流畅播放。互联网上的易失性通信业务通常都由负荷条件创建所需要的videospecific措施[2],可以准确和及时地确定网络状态。丢包历来信号拥塞的TCP,在取得了避免过度上网拥堵显着成效。然而,分组丢失的局限性,已被确定为在TCP和增强性能瓶颈与基于分组的延迟指示器的协议被提出[3]。

然而,TCP仿真器[4]通过UDP实时传输(以避免通过TCP无界交货延迟)不包括在他们的模型分组丢失的因素。当数据包丢失在文件传输可以接受的,丢失的数据包都只是通过TCP的可靠传输,播放和解码期限重新传输必须流视频时,应该满足。然而,UDP的拥塞控制之下,没有避税措施,也没有发生重传数据包丢失,降低了交付的视频质量。本文表明,因为在发送速率减少波动,视频的基于UDP模糊逻辑拥塞控制器(FLC)可以更近接近最佳制度,其中,所述可用带宽密切以最小分组丢失跟踪。输入到FLC是从分组分散的措施,这是基于延迟的拥塞控制的一种形式。

基于延迟与延迟梯度拥塞控制是用于应用程序[5],如视频会议以较低的平均终端到终端的延迟与吞吐量的最小限制到达。在此过程中发现,输出oscillationswere与延迟方差而降低。该方法还避免了’相效果“[6],由此丢包基于探针的拥塞控制引入在相同链路流之间的不公平,作为相同流可以反复遭受在拥塞链路分组丢失。视频流的拥塞控制可以通过一个速率自适应代码转换器来实现。

视频代码转换器,包括我们[7]适于可变比特率(VBR)数据流,打开在最大可能速率发送预编码的视频位流,而不过于超过可用网络带宽的可能性。因此,后续的路由器缓冲是能够应付输出分组流。实际上,这是很可能以较少的分组丢失到达甚至避免损失完全由一个代码转换器的装置重新压缩已经压缩位流。虽然在本文中,我们采用模糊逻辑的一个速率自适应代码转换器中,编码器量化的步长大小的直接模糊逻辑控制也是可能的。然而,由于预编码的视频包括在因特网上的大多数视频流的,而不是实时视频流,描述集中于自动转码。

模糊逻辑,其中有从成立之初被广泛用于工业和商业控制应用[8],是我们简单处理未建模的网络拥塞状态的便利工具。内视频编码已经在通过根据输出缓冲器的状态,这是没有解析解一个复杂的控制问题改变编码器的量化参数保持恒定的视频速率发现一个应用[9]。拥挤的模糊逻辑控制是单播流量基于发件人的系统。接收机返回指示时间平滑并且标准化变化到分组到达间隔时间的反馈消息。这些允许发送者计算通过设计预模糊模型的网络拥塞级别。发件人然后施加一个控制信号输出到代码转换器的量化电平,如预期的拥塞的反映。因此,在没有分组丢失反馈拥塞控制是通过测定当遇到忙路由器队列,特别是在紧的联系,较最小可用带宽的网络路径上的点所产生的分组流分散实现的。模糊控制,因此能够在低丢包率的环境下工作。

对于转码视频应该一个精心设计的FLC:

1)要TCP友好以便在FLC的扩散的情况下,在互联网内流,有拥塞崩溃的风险有限。

2)与典型的Internet通信量共存,由长期的文件传输流和短期的Web服务器的连接。

3)作为密切跟踪的可用带宽为可能的,尽管在同一时间减少或消除包丢失。

4)实现了最佳的平滑流,避免在交付视频质量波动

项目一和二是解决方案的质量的措施,因为没有这些规定控制器可以简单地贪婪地收购其他流量的带宽。项目三,四是视频流量非常可取的。

在本文的其余部分安排如下。系统架构和FLC的细节在第二节给出。第三节报告一系列的仿真实验。最后,第四节得出了一些结论,解释为什么提出一个FLC的视频流。

图1示出在其中模糊逻辑被用于控制比特率的视频流体系结构。在服务器[7]一种视频代码转换器是必需的预编码的视频速率自适应。客户端的定时器单元监视传入分组的分散和中继该信息给拥挤度判定(CLD)单元。的CLD单元监视输出数据包流,特别是分组大小,并结合了来自客户端的反馈此信息,作为确定网络拥塞级别,CL的基础。本机还计算变化,ΔCL的拥堵级别率。计时器单元测量找到该分组分散体的时间平滑和规范化估计之前到达的分组的分组间间隙(IPG的)。一个IPG是收据一个分组的结束和下一个的到达之间的时间间隔。该FLC采用CL和ΔCL,作为输入,并计算发送速率,反映了网络的状态。在转码量化等级相应的变化,然后计算。传送报文是由客户端接收,去分组,解码并在视频速率显示。

在服务器中,视频代码转换器输入的预编码后的视频,并降低响应于从FLC控制信号其比特率。下界来的发送速率被设定为在输入的发送速率的10%。对于一般的输入发送的2 Mb / s的模拟中在第三部分率,200 kb / s的下限是足以为一个可接受的视频质量。代码转换后的视频被分组,每个分组一个片,和一个UDP分组内通过网络发送。除了错误恢复,由于解码器同步标记,每片分组也减少了在服务器上的延迟。转码的视频数据包随后具有恒定的IPG输出在透射点。确保一个恒定的IPG降低分组到达间隔的抖动在客户端和还呈现流视频更稳健的错误突发。

模糊逻辑模拟的控制处理,好像人类专家被调节传输速率。多个模糊从属函数模型中的反馈专家的感知的不确定性,而输出速率决定是由解模糊的过程中,它转换在输出不确定性为清晰值,即一个特定的控制信号值进行精确。

图2是一个FLC的框图。 Fuzzifiers转换输入CL和未CL到合适的语言变量。一个知识库封装与所需的控制目标应用程序的专业知识。它定义了帮助指定一组语言规则的标签。推理引擎块是控制器的智能,以模拟人类的决策过程的能力,基于模糊逻辑,由知识数据库的装置和用于制造这些决定嵌入的规则。最后,解模糊化块从推理引擎的推断模糊控制决定转换为清晰值,将其转化为一个控制信号,CT图2,代码转换器,然后输出一个重压缩的比特流。

模糊化是给予一个隶属函数的申请中,术语,μ,以一个数据值,以找到其成员的可能性,即,μ(x)的产生的模糊子集为其中μ是隶属函数的成员的可能性。输入变量被的三角形的隶属函数手段模糊化,作为在从一个状态到另一个更清晰的过渡的费用减少计算时间之间的通常的折中。选择的隶属函数的数量是很重要的,因为它决定了比特率粒度的平滑度。然而,隶属函数的数量是成正比的计算时间。拥堵等级,在它的变化率,以及所述控制输出分别划分为一组的重叠的三角形的隶属函数,与重叠,使得任何一个三角形的程度达到的另一底座的中点。

该算法模拟了著名的NS-2网络仿真器(使用的版本2.30)。模拟网络,具有典型的“哑铃”拓扑,有两个路由器和所有方链路带宽之间的瓶颈链路被配备为,使得拥塞只会发生在瓶颈链路。它是从发件人和到接收器的接入链路被设定为100兆位/秒。瓶颈链路的路由器的默认缓冲大小配置为两倍的带宽时延乘积,为的是在这样的实验中正常避免过小的缓冲包的损失。瓶颈链路的单向延迟设定为5毫秒和侧链接’的延迟分别设定为1毫秒。瓶颈链路路由器的排队策略是默认是FIFO(落尾)。随机早期检测(RED)的路由器而不是吸尾报道[14]如难以在模拟来配置以这样的方式,该行为是在一系列的背景流强度均匀的。虽然预计RED将改善拥塞控制是否以及何时它被广泛地部署,[14]报道说,对于轻负载链接有误差脉冲串的一个危险,如果被施加红色。

在所有实验中,模糊控制下时,在IPG在发送被设定为2.2毫秒,其对应于第二节-A的视频分组化特性。网络状态决定是每帧或帧传输间隔(例如40毫秒)后饲喂从接收器返回到模糊控制器。一个MPEG-2视频“的新闻剪辑”中度运动的N = 12,M = 3组的图像(GOP)结构选择,以2.0 Mb / s的平均速率原本预编码。

比较采用的TCP友好速率控制(TFRC)协议时,都将RFC [15],并从“TCP友好”概念的发起人拥塞控制的方法,突出的主题。以确保公平的公开可用的TFRC的ns-2模拟器模型1(在对象TCL脚本的形式来驱动模拟器)中的使用。在TFRC,发送速率是在接收器测得的单往返时间(RTT)持续时间期间所作的测量分组丢失率的函数。发件人然后根据在[16]中给出的TCP吞吐量的公式计算的发送速率。在TFRC实验中,TFRC控制器通过同一网络紧链路分派固定大小的UDP数据包,根据该可用带宽改变IPG,由TFRC反馈机制估计。在由TFRC使用的TCP吞吐量方程,注意到该分组长度明确地显示为线性比例因子,允许TFRC根据恒定分组大小调整其行为。包丢失和RTT出现在方程中作为非线性的因素。在[17],我们发现,对于UDP流中位分组长度为640 B,其类似于TFRC的在这些试验中固定700乙包长度。

此外,比较用的RAP [14],这是等式基于建模的替代制成。 RAP不同固定大小的数据包之间的IPG允许其平均发送速率接近TCP的一个给定的可用带宽。每一个平滑的RTT,RAP实现了一个算术乘法增加减少(AIMD)样算法[18],具有相同的阈值和增量为TCP。因为这将否则导致TCP的“sawtooth’状率曲线,具有明显的中断多媒体流,RAP引入细粒平滑(在本文中的测试开启),其中考虑到shortand长期RTT的趋势。由于其先锋作用,密切相似的TCP,RAP经常担任拥塞控制器比较点。为了确保公平说唱公共NS-2 models2被利用了

网络测量研究[19]已经证明一个典型的互联网流量搭配,包括长期的流动,’龟’,代表文件传输,和短暂的HTTP连接,“蜻蜓”的。在该组实验本文一FLC视频源和多达十个的TCP源通过链路被传递。前五TCP来源为“蜻蜓”以秒为一到五年之间的随机时间。从均匀分布并用秒一到五之间的关闭持续时间,还随机地从均匀分布生成生成这些来源。其余五个TCP源wereconfigured为“龟”,具有一个上的秒二十五之间的持续时间和一个5秒的时间的关闭持续时间,所有还随机地从均匀分布产生的。在第一个实验中,只有一个TCP源是存在作为背景流量,在第二两个TCP源充当背景流量等,和所有十个的TCP源是作为背景的流量为第十实验。所有实验重复使用不同的种子十倍,平均结果被采取。

是不是因为心痛的麻木了,我才笑得最美丽。

基于Javaee的影视创作论坛的设计与实现(论文+

相关文章:

你感兴趣的文章:

标签云: