• 733.50 KB
  • 2022-04-22 13:32:18 发布

视频网站设计毕业论文.doc

  • 36页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'东北大学东软信息学院毕业设计(论文)目录视频网站设计毕业论文目录毕业设计(论文)任务书I摘要IIABSTRACTIII第1章 绪论11.1课题的提出11.1.1Web2.0浪潮进一步影响全球互联网发展11.1.2视频分享成为2.0浪潮的最新爆发点11.2系统研究目的21.3系统设计目标2第2章 关键技术介绍42.1网页制作工具——Dreamweaver42.1.1Dreamweaver概述42.1.2Dreamweaver简介42.1.3Dreamweaver的作用42.2数据库——MySQL52.2.1MySQL的概述52.2.2MySQL的特性52.3开发语言52.3.1JSP的基础——Servlet技术52.3.2JavaBeans技术6-3- 东北大学东软信息学院毕业设计(论文)目录2.3.3JSP简介62.3.4JavaScript简介72.3.5AJAX、DWR框架简介72.4网站开发工具——Eclipse72.5免费服务器——Tomcat82.6环境的安装与配置8第3章 系统分析103.1需求分析103.2软件用例分析103.3用例建模113.3.1标识参与者113.3.2用例图123.3.3活动图123.4分析类143.4.1边界类143.4.2实体类153.4.3控制类163.5系统结构选择16第4章 系统设计194.1系统结构图194.2数据库E-R图194.3数据库设计21第5章 系统实现245.1注册用户设计245.2系统登录页面设计255.3视频信息管理页面设计26-3- 东北大学东软信息学院毕业设计(论文)目录第6章 系统测试286.1测试方案及测试用例286.1.1登录过程测试用例286.1.2用户信息修改测试用例296.1.3数据录入测试用例296.2测试结论29第7章 结 论30参考文献32致谢33-3- 东北大学东软信息学院毕业设计(论文)第1章绪论第1章 绪论1.1课题的提出1.1.1Web2.0浪潮进一步影响全球互联网发展在美国《时代》周刊2006年年度人物的评选中,“你(You)”击败众多名人当选为年度人物。“你(You)”即网民,当选的根本原因即是网民开始成为互联网的主角,网民在互联网上的个性表达和互动交流开始影响到社会生活的各个层面。从美国大选到戴尔电脑,从印尼海啸到故宫星巴克,大大小小的事件都成为网民讨论的话题。网民作为个体发出自己的声音,无数网民构成的群体进而影响全世界,并且影响力与日俱增。正如《时代》周刊编辑格罗斯曼说的那样:“(他们)不但改变了世界,也改变了世界改变的方式。”其中最重要的背景是:Web2.0浪潮进一步影响全球互联网的发展。继2005年互联网掀起2.0浪潮后,全球的互联网正全面加速向Web2.0转变。以个性化、自组织、开放性等为特征的Web2.0的应用和服务——博客、播客、视频分享、SNS、RSS、分类信息、Wiki等得到了长足发展。与之相对应的是:新兴的Web2.0网站在极短的时间里吸引了巨大的访问量,获得了高速成长。如美国著名的社区MySpace自2004年开通以来,每天新增25万名用户,这使得MySpace在访问量排名中一路飙升,已经接近Yahoo!、Google等世界顶级网站,并大有快速赶超之势。此外,Blogger、Wikipedia等网站也保持着高速增长势头。这些网站共同的特点都是用户高度参与,他们既是信息的消费者,也是信息的生产者,同时,用户之间保持着良好的互动和频繁的交流,而这也正是Web2.0网站保持旺盛生命力的核心所在。1.1.2视频分享成为2.0浪潮的最新爆发点在众多的Web2.0应用和服务中,视频分享脱颖而出成为最新的爆发点。视频分享网站为用户提供视频上传、播放和分享服务,操作简单,传播方便,加上视频本身能带来丰富的用户体验,视频分享网站受到广泛欢迎。其中的典型代表是YouTube的发展,YouTube是一个美国视频分享社区。如果说MySpace的快速发展让传统的网站刮目相看的话,YouTube则在更短的时间内创造了互联网史上的新奇迹——YouTube自2005年2月上线不到18个月访问量已经跻身全球前五位,每天的视频点播数已经突破了1亿大关。-3- 东北大学东软信息学院毕业设计(论文)第1章绪论YouTube爆炸式的增长在创下互联网史上的网站成长奇迹的同时,也成为互联网并购史上的新的主角!——2006年10月,Google以16.5亿美元成功收购YouTube,成为近年最大的互联网并购案例。这起最大的并购背后则是千千万万网民活跃的身影——他们拍摄、上传精彩视频,并且乐此不疲地与周围的朋友分享、交流,频繁的访问和活跃的互动,无数网民的集体力量成就了互联网的新奇迹,也促使新的生活方式的产生。1.2系统研究目的对于视频分享网站来说,与网民规模的持续增长相比,宽带用户的增长具有更加重要的意义,因为宽带上网显然更加利于用户在线欣赏视频内容。宽带用户数量的增长速度高于同期网民数量的增长速度,因此网民中宽带用户比例不断增加,最新的统计数据显示这个比例已经超过75%。宽带日益普及对于视频分享网站的发展无疑具有至关重要的意义。在2005年及之前,中国视频分享市场处于初始期,网站数量少、用户规模小、访问量低,视频分享服务尚未获得网民的广泛了解和接受,网站影响范围有限,商业模式模糊不清。进入2006年后,视频分享市场进入成长期。这一阶段经过前一时期的营销宣传、服务提升和用户积累,视频分享网站开始快速发展。尤其是千万美元级风险投资先后注入主要的视频分享网站,整个视频分享网站市场获得的极大的推动,开始爆发式增长,无论是网站数量,还是用户规模都急剧增加。而YouTube被Google以16.5亿美元天价收购的事件,则将视频分享网站快速发展的热潮推升至前所未有的高度。互联网实验室研究认为:随着产业链逐步完善、产业定位逐步清晰以及商业模式逐步明确,中国视频分享市场将经历3-4年的发展后逐步走向成熟。1.3系统设计目标视频分享网站系统的特点为,管理员及用户对视频的归档、分类、查询。本视频分享网站系统的设计目标为:满足广大WEB2.0用户的需要,开发观看视频、分享视频的网络应用系统。该系统将由如下几个模块组成:(1)用户注册登陆及用户信息管理模块。该模块的数据库中包含各个数据库表:用户基本信息表、地区信息表。通过这些数据库表,可方便地将用户注册、登陆及基本信息进行归档管理,并可对所需要的相关信息按要求进行统计和查询。-3- 东北大学东软信息学院毕业设计(论文)第1章绪论(2)上传图片,视频模块。该模块的数据库中包含额用户上传的各个文件:用户头像、用户上传的视频。通过对这些文件的整理,可以方便的找到各个头像及视频。(3)视频信息管理模块。该模块的数据库中包含视频信息表。通过这个数据库表,可方便地将视频进行修改与管理,并可对所需要的相关信息按要求进行统计和查询。(4)评论模块。该模块的数据库中包含评论信息表。通过这个数据库表,可方便地将进行评论并对评论信息进行管理。(5)观看视频模块。该模块的数据库中包含各个数据库表:评论信息表、用户信息表、地区信息表。通过这些数据库表,可方便地将将相关信息进行统计,并使用户能够更好观-3- 东北大学东软信息学院毕业设计(论文)第2章关键技术介绍第2章 关键技术介绍2.1网页制作工具——Dreamweaver2.1.1Dreamweaver概述Dreamweaver是现在网上比较流行的网页制作软件之一,它简单易学,操作方便,制作过程比较直观,容易上手,而且能够轻而易举的实现一些专业技术才能够实现的功能,而且它的代码提示功能使得开发非常方便,而且不会出现拼写错误,丰富的结果提示使你很容易找到标签的对应关系。所以它被许多网页制作人员所采用。2.1.2Dreamweaver简介Dreamweaver是一款专业的HTML编辑器,与Dreamweaver MX相比有更多的模型可以选择,用于对Web站点、Web页和Web应用程序进行设计、编码和开发。无论你愿意手工编写HTML代码时的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver都会为你提供有用的工具,使你拥有更加完美的Web创作体验。利用Dreamweaver中的可视化编辑功能,可以快速地创建页面而无需编写任何代码。你可以查看所有站点元素或资源并将它们从易于使用的面板直接拖到文档中。修改相关的属性就可以完美得加入你的网页中。你可以在Fireworks或其他图形应用程序中创建和编辑图像,然后将它们直接导入到Dreamweaver中,或者添加Flash动画对象,从而简化你的开发工作流程,提高你的开发效率。Dreamweaver还提供了功能全面的编码环境,其中包括代码编辑工具(例如代码颜色和标签完成);有关HTML、层叠样式表(CSS)、JavaScript、ColdFusion标记语言(CFML)、MicrosoftActiveServerPages(ASP)和JavaServerPages(JSP)的参考资料。Macromedia的可自由导入导出HTML技术可导入你手工编码的HTML文档而不会重新设置代码的格式,您可以随后用你首选的格式设置样式来重新设置代码的格式。Dreamweaver还使你可以使用服务器技术(例如CFML、ASP.NET、ASP、JSP和PHP等)生成由动态数据库支持的Web应用程序。Dreamweaver可以完全自定义。您可以创建您自己的对象和命令,修改快捷键,甚至编写JavaScript代码,用新的行为、属性检查器和站点报告来扩展Dreamweaver的功能。2.1.3Dreamweaver的作用-33- 东北大学东软信息学院毕业设计(论文)第2章关键技术介绍Dreamweaver的专业性、直观性、易用性及其强大功能深受业内人士喜爱,并且支持最新的DHTML和CSS标准。它是目前最好的网页设计软件之一,支持两种主流浏览器,并且支持最新的网页设计技术,是专业人士的首选工具。2.2数据库——MySQL2.2.1MySQL的概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.2.2MySQL的特性使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API,这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等;支持多线程,充分利用CPU资源;优化的SQL查询算法,有效地提高查询速度;既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;提供用于管理、检查、优化数据库操作的管理工具;可以处理拥有上千万条记录的大型数据库。2.3开发语言2.3.1JSP的基础——Servlet技术JavaServlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。在使用JavaServlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合JavaServlet规范,Servlet是完全平台无关且是Web服务器无关的。由于JavaServlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此JavaServlet效率非常高。但JavaServlet也不是没有缺点,JavaServlet是利用输出HTML语句来实现动态网页的,如果用JavaServlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出Java-33- 东北大学东软信息学院毕业设计(论文)第2章关键技术介绍ServerPages的原因。2.3.2JavaBeans技术JavaBeans就是Java的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBeans实现了同样的功能扩充。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP开发过程中,我们将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。2.3.3JSP简介JSP共有九大内置对象。request、out&response--与访问者交互:接收客户端的请求和向客户端返回信息是动态网页最常做的事情,在JSP中,主要通过request、response、out三大对象实现这些功能。Request:对象的作用是接收用户通过URL或通过表单向发服务器发送请求信息和与用户计算机相关的一些信息。Response:对象用于网页传回用户端的回应。Out:用于传送回应的输出,即向客户端返回信息。Session:保持访问者的会话状态。会话状态维持是Web应用开发者必须面对的问题。有多种方法可以用来解决这个问题,如使用Cookies、隐藏的表单输入域,或直接将状态信息附加到URL中。JavaServlet提供了一个在多个请求之间持续有效的会话对象,该对象允许用户存储和提取会话状态信息,JSP也内置了这个对象。Session最基本的用法是:创建一个会话session.putValue(“名称”,“值”);获得一个会话的值session.getValue(“名称”);“pageContext”网页的属性是在这里管理。applicationServlet:正在执行的内容configServlet的构架部件pageJSP:网页本身exception:针对错误网页,未捕捉的例外。-33- 东北大学东软信息学院毕业设计(论文)第2章关键技术介绍JSP技术可以通过开发定制的标识库进行扩展。今后,第三方开发人员和其他人员可以为常用的功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同表示义演执行特定功能的组件来工作。在国外,JSP+Servlet+JDBC+JavaBean已经成为开发电子商务平台的主流技术。2.3.4JavaScript简介JavaScript是由Netscape公司开发的一套语超文本标记语言HTML紧密结合的脚本语言,为网页制作者提供了非常灵活的应用和发挥空间。JavaScript已经成为当今网页特效设计语言中最流行、最成熟的一种。主要用于网页的交互性设计,功能十分强大,加上开发人员的设计技巧,实现的特效有时可以达到匪夷所思的地步。2.3.5AJAX、DWR框架简介DWR(DirectWebRemoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet(小应用程序)中获取数据。另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容。DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器的本地代码(客户端代码)一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用。2.4网站开发工具——EclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。-33- 东北大学东软信息学院毕业设计(论文)第2章关键技术介绍2.5免费服务器——TomcatTomcat是Sun的JSWDK(JavaServerWebDevelopmentKit)中Servlet的运行环境(servlet容器)。Tomcat的源代码被提供给Jakarta项目,在OpenSource的模型下进行进一步的开发。基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单。事实上,在很多应用服务器的发布中都包含了Ant。另外,在Jsp1.2中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了上面提到的这几种,可以与Tomcat集成的软件还有很多。2.6环境的安装与配置第一步安装JDK首先运行JDK6.0安装程序jdk-6-windows-i586.exe,安装过程中所有选项保持默认;然后配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—>“环境变量(N)”。新建系统变量JAVA_HOME:C:ProgramFilesJavajdk1.5.0_06;新建系统变量CLASSPATH:“.;%JAVA_HOME%lib;”(注意“:”点号表示当前目录,不能省略)在系统变量Path的值的前面加入以下内容:“%JAVA_HOME%bin;”(注意:这里的分号不能省略)到这里,JDK安装完毕。然后测试一下JDK是否安装成功在记事本中编写一个小程序,在dos下运行,如果运行正确说明JDK安装成功。第二步安装TomcatTomcat是免费软件,可以下载压缩文件解压直接使用,也可以安装使用,这里解压“jakarta-tomcat-5.0.30.zip”,将zip文件直接解压到D盘根目录下。最后配置Tomcat的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—>“环境变量(N)”。新建系统变量CATALINA_HOME:“D:jakarta-tomcat-5.0.30”。在系统变量CLASSPATH的值的后面加入:“%CATALINA_HOME%commonlib;”在系统变量Path的值中“"%JAVA_HOME%bin;”的后面加入以下内容:“%CATALINA_HOME%bin;”到这里,Tomcat安装完毕。第三步安装Eclipse-33- 东北大学东软信息学院毕业设计(论文)第2章关键技术介绍Eclipse有很多的插件,可使你的开发更直观、更轻松,还有完美的中文支持等等,这些插件都以压缩包的形式放在features和plugins这2个目录下。首先安装Eclipse程序。安装完后,安装MyEclipse插件,运行EnterpriseWorkbenchInstaller_4.1.1GA_E3.1.exe。注意:当安装时要选择Eclipse的安装路径,其他选项保持默认。安装完毕之后,将MyEclipse安装目录下的features和plugins这2个目录覆盖到Eclipse的安装目录下。最后将刚才安装的MyEclipse卸载。然后在将汉化的插件放入这两个文件夹,到这里,Eclipse以及插件安装完毕。第四步安装Dreamweaver双击应用程序安装即可。-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析第3章 系统分析3.1需求分析第一部分:用户使用部分:(1)非用户要注册成为本系统用户,输入注册用户名、注册密码、Email、性别、所在地,如果用户与已在数据库的用户名重复、两次密码输入不正确、Email格式不正确则提醒用户。(2)用户登陆时要通过用户验证,输入用户名,密码。选择是否保存密码及保存多久,如果用户名密码不正确,则返回登陆界面。(3)用户可以查看自己的用户个人信息及修改个人信息。(4)用户修改密码要通过密码验证,输入旧密码及输入两次新密码,两次密码输入不正确则提醒用户,旧密码不正确则返回提醒用户。(5)用户可以上传更改头像,方便用户之间交流。(6)用户可以上传视频与其它用户分享,及修改视频基本信息。第二部分:管理员管理部分:(1)管理员登陆时要通过用户验证,输入用户名、密码,判断是该用户是否为管理员。选择是否保存密码及保存多久,如果用户名密码不正确,则返回登陆界面。(2)管理员可以使用普通用户的所有权限。(3)管理员可以删除用户上传的不合法的视频。(4)管理员可以删除非法用户。(5)管理员可以删除非法评论。第三部分:所有用户(包括非注册用户)搜索、观看及评论视频部分:(1)所有用户可以查询自己感兴趣的视频(2)所有用户可以看视频。(3)所有用户可以发表评论,注册用户可以显示发表评论用户名。3.2软件用例分析用例是从用户和业务的角度来描述系统提供需要执行的功能。下面列出了本系统主要的用例:(1)用户登录-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析使用本系统的用户必须登录才能上传视频及用户间的交互。(2)用户注销用户退出本系统。(3)个人基本信息管理用户对个人信息进行修改,包括头像、性别、地区等。(4)视频上传用户上传视频与其它用户分享。(5)视频信息管理用户对视频信息的添加及修改。(6)视频查询用户为观看感兴趣的视频而查询视频。(7)视频观看用户观看感兴趣的视频。(8)视频留言用户查看所有视频留言并发表自己的评论。(9)管理员管理评论管理员对违规留言进行删除。(10)管理员管理视频管理员对违规视频进行修改及删除。(11)管理员管理用户管理员删除非法用户。3.3用例建模用例模型描述的是外部执行者(Actor)所理解的系统功能。它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。在需求分析阶段,可以用用例来捕获用户需求,以描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。3.3.1标识参与者参与者是指系统的分类用户,分别代表一个唯一的角色。对本系统来说,存在相互联系如下3类用户:管理员:-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析通过系统管理所有的用户、视频、评论等等信息。管理员是系统中权限最大的用户,权限几乎涉及所有方面。注册用户:通过系统管理自己的基本信息、修改密码、上传头像,管理本人上传的视频、修改信息及删除视频等非注册用户:通过系统搜索观看视频、并对视频进行评论等。3.3.2用例图用例图(UseCase)是参与者(系统外部用户)所能观察到的系统功能的模型图(见图1),它描述参与者与系统提供的用例之间的某种联系。用例是系统中的一个功能单元,是对系统提供的功能的一种描述,是参与者与系统之间的一次交互过程。参与者是那些可能使用这些用例的人或者外部系统。用例图就是从参与者的角度描述出系统中的用例和参与者,以及用例与参与者之间的关系(哪个参与者参与了哪个用例的执行),本系统用例图见图3.1所示。图3.1用例图3.3.3活动图活动图的主要作用是表示系统的业务工作流和并发处理过程(见图3.2及图3.-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析3)。它能够更容易显示参与者的决定和系统异常所要执行的多条路径,而这用顺序图是难以表达的。活动图在概念上与流程图相似,用它来为工作流程建模,以及用来图解用例的动态行为和操作的详细设计是很有用的。一旦一个活动完成,执行就转到由活动的有效转移所确定的下一种状态。在活动图中,泳道可用于在一个活动图中显示多个对象,以及它们如何在一起完成整个用例。根据需求分析为系统的核心业务绘制活动图,明确在业务工作流中参与者与系统各用例之间以及系统用例之间可能的交互。正确地捕获需求,对于开发成功的系统并保持其长久的生命力是必不可少的。在UML中,用例建模提供了一种简单、但功能强大的捕获需求的方法。在用例建模中,参与者是用例的主要发起者,并代表系统外部的实体。用例可以认为是获得对参与者有用的东西,而需执行的步骤,顺序图和活动图对精确标识和理解用例行为都是有用的。图3.2注册用户流程活动图-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析图3.3管理员流程活动图3.4分析类根据用例模型,我们抽象出系统中的对象和类。系统中存在三种类:边界类、控制类和实体类,每一种类在系统模型中执行一定的作用。3.4.1边界类在系统模型中,边界类表示系统内部工作方式与其周围环境之间的各种交互作用。包括:通过图形化用户界面与用户交互,与其他参与者交互(如代表其他系统的参与者),与设备通信等。使用边界类的优点之一是:它们可以把系统的其余部分与外界环境隔离和屏蔽起来。在系统中定义了以下边界类,见表3.1:-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析表3.1边界类表边界类名称对应页面名称边界类职能网站主页面index.jsp显示网站主要页面登陆页面Login.jsp负责得到用户名密码用户信息主页面admin_content.jsp显示用户主页面框架主页面admin.jsp设置显示的框架框架左部目录dir.html显示目录头页面head.jsp网站头部页面尾页面foot.jsp网站底部页面错误页面error.jsp所有错误的返回页面,显示错误原因分页页面fengye.jsp处理页面分页播放页面display.jsp播放视频评论页面comments.jsp显示评论验证页面image.jsp生成验证码发送Email页面mail.jsp密码错误申请密码找回信息输出页面messageout.jsp输出系统提示信息注册页面reg.jsp注册用户头像上传页面uploadHeadImage.jsp上传头像视频上传页面uploadvideo.jsp上传视频视频上传成功页面uploadvideook.jsp添加视频信息用户基本信息页面userInfo.jsp查看、修改用户基本信息密码修改页面userpassword.jsp修改密码视频信息管理页面videomessage.jsp管理视频视频列表页面videos.jsp显示视频列表3.4.2实体类实体对象表示对系统的重要信息。它们通常是持久的,并能在一个延续的时期内存在。它们的主要的目的是表示和管理系统内的信息。实体类通常表示为一种逻辑的数据结构。在系统中定义了以下实体类,见表3.2:表3.2实体类表实体类名称类文件名称实体类属性用户信息User.javaId、用户名、密码、性别、Email、生成时间、使用IP、用户所在地、级别、用户头像文件名视频信息Video.javaId、标题、标签、描述、文件名、上传时间、上传用户Id、上传用户名、观看次数、评论次数评论信息Comment.java-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析Id、评论者用户名、评论视频Id、评论内容、发表评论时间、评论人头像3.4.3控制类控制类用于系统内的模型行为,用于对某一个具体的用例相关的控制或者其他业务逻辑建模。通常将协调、排序等事物处理或者涉及多个对象的复杂事务逻辑隔离在一个或多个控制类中。系统定义了如下控制类,见表3.3:表3.3控制类表控制类名称类文件名称控制类职能查询所有评论AllComments根据视频Id搜索所有评论查询视频信息管理AllVideoMessage搜索所有视频信息所有视频列表AllVideos搜索所有视频登陆Login用户名、密码、权限验证退出Exit清除登陆信息,退出系统验证验证码CheckRand确认验证码是否正确视频删除DeleteVideo删除视频新建视频InsertVideo插入新视频发送邮件MailSend将密码发回用户Email注册用户Reg注册新用户修改密码UpdatePassword修改个人用户密码上传头像UploadHeadImage上传个人用户头像上传视频UploadVideo上传分享视频用户基本信息UserInfo修改个人信息3.5系统结构选择本系统选用B/S结构设计。随着网络技术的不断发展,尤其是基于WEB(HTML,HTTP)的信息发布和检索技术,导致了整个应用系统的体系结构从C/S的主从结构向灵活的多级分布式结构演变,这一体系结构的演变给当今以技术为核心的信息网络的应用赋予了新的内涵,这种新型的多级分布式结构就是浏览器/服务器(B/S)系统。B/S结构模式应用系统由浏览器和服务器组成.数据和应用程序都存放在服务器上。浏览器功能可以通过下载服务器上应用程序得到动态扩展,服务器具有多层结构,B/S系统处理的数据类型可以动态扩展。系统维护工作集中在服务器上,客户端不用维护,操作风格比较一致,只要有浏览器的合法用户都可以十分容易地使用。B/S结构的开放系统,是随着技术的兴起对C/S结构的一种变化或者改进。在这种结构下,用户界面完全通过WWW-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,客户端运行程序是靠浏览器软件登陆服务器进行的。该结构将应用逻辑全部置于服务器上,客户端利用WEB浏览器下载应用,在浏览器上执行。B/S结构主要是利用了不断成熟的www浏览技术,结合浏览器的多种语言和技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。B/S模式的体系结构具有以下优点:(1)界面统一、使用简单:用户只需安装单一的浏览器软件(如IE,Netscape等),不需要像C/S结构中那样安装数据库客户端软件、应用软件等,操作界面简单统一,这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便;(2)易于维护:由于用户端无需安装专用的软件,对应用系统进行升级时,只需更新服务器端的软件,用户从网上自己下载安装就可以实现升级,实现系统的无缝升级,减轻了系统维护与升级的成本与工作量,使用户的总体拥有成本大大降低;(3)扩展性好,有效保护企业投资:B/S模式由千采用标准的TCP/IP、HTTP协议,它可以使网管系统与Internet/Intranet有机结合,具有良好的扩展性;(4)信息共享度高:HTML是数据格式的一个开放标准,目前大多数流行软件均支持HTML,同时MIME技术使得可访问多种格式文件;(5)有良好的广域网支持:B/S建立在浏览器上,有更加丰富生动的表现方式与用户交流。当然,B/S模式也有它的缺点:根据软件任务的不同,有的需要客户端完成大量的操作,而浏览器暂时不具备所需的能力,则在第一次登陆服务器时会自动下载并安装“组件”,所以有的BIS结构的软件第一次运行时间会比较长;另外,B/S建立在广域网之上,面向的是不可知的用户群,对安全的控制能力相对较弱。综合上述分析可知:B/S一般建立在广域网之上,具有广泛的信息发布能力。它对前端的用户没有限制,客户端只需要普通的浏览器即可,不需要其它任何特殊软件,另外对网络也没有特殊要求,但安全性能较差。根据教学管理系统的具体要求和适用范围,本系统采用B/S结构实现本着业务逻辑和表现逻辑分离,对系统资源进行合理有效管理,优化系统性能的指导思想,设计总体框架如图3.4:-33- 东北大学东软信息学院毕业设计(论文)第3章系统分析控制器Servletbeanbean视图JSP视图JSP视图JSPWeb客户机HTTP请求数据库客户层Web层业务层数据层调用适当的bean进行数据处理J2EE服务器返回HTTP请求结果图3.4框架-33- 东北大学东软信息学院毕业设计(论文)第4章系统设计第4章 系统设计4.1系统结构图本系统共分2大部分,14个完整的功能模块。系统结构图如图4.1所示。视频分享网站系统非登陆用户用户登陆用户注册普通用户管理员视频搜索视频观看视频留言查看留言基本信息修改上传用户头像上传视频上传视频截图修改视频信息密码修改用户管理视频管理评论管理图4.1系统结构图4.2数据库E-R图经过以上分析,系统模块图的确定,可以确定系统所具有的各个实体及其所具有的属性,以及实体与实体之间的联系,进而可以确定系统E-R图,如图4.2所示,各实体详细如图4.3、图4.4、图4.5、图5.6所示。-33- 东北大学东软信息学院毕业设计(论文)第4章系统设计11nn11n用户信息所在归属管理评论信息发表地区信息n视频信息图4.2数据库E-R图视频定义表实体描述标题文件名上传人Id上传人上传时间标签ID评论次数观看次数图4.3视频定义表实体-33- 东北大学东软信息学院毕业设计(论文)第4章系统设计用户定义表实体用户名描述头像文件密码Email所在地创建时间性别ID权限访问IP图4.4用户定义表实体地区定义表实体地市ID邮政编码图4.5地区定义表实体评论定义表实体评论人评论时间评论内容ID评论人头视频Id图4.6评论定义表实体4.3数据库设计-33- 东北大学东软信息学院毕业设计(论文)第4章系统设计数据库设计是建立数据库及其应用系统的技术,使信息系统开发和建设中的核心技术,具体来说,数据库设计是指对于一个给定的应用系统环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效得存储数据,满足各种用户的应用需求。数据库的设计是程序开发至关重要的一步,数据库设计的好会简化以后的程序的复杂程度,相反如果数据库设计的不好那么程序的实现可能相当复杂,甚至根本不能实现相应的操作。数据库的冗余与数据库的效率总是对立的,要平衡这两点达到最好的状态。数据库设计的原则有:(1)一致性原则对信息进行统一、系统的分析与设计,协调好各数据源,做到“数出一门”、“算法统一”、“度量一致”。保证系统数据的一致性和有效性。(2)完整性原则数据库的完整性是指数据的正确性和相容性。要防止合法用户使用数据库时向数据库加入不合语义的数据。对输入到数据库中的数据要有审核和约束机制。(3)安全性原则数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄露、更改或破坏.要有认证和授权机制。本系统中涉及的数据表如表4.1、4.2、4.2、4.4:(1)用户信息表user用户信息表user是用来保存用户的基本信息。表4.1表user的结构字段名称数据类型字段大小说明idint11用户Idnamevarchar20用户名passwordvarchar20用户密码genderint1性别emailvarchar50电子邮件joinTimetimestamp--注册时间ipvarchar20访问IPlocationvarchar6所在地headImgFileNamevarchar30头像文件名gradeint1访问权限(2)视频信息表video视频信息表video是用来保存视频的基本信息。-33- 东北大学东软信息学院毕业设计(论文)第4章系统设计表4.2表video的结构字段名称数据类型字段大小说明idint11视频Idnamevarchar50标题labelvarchar50标签descriptionmediumtext--描述uploadTimetimestamp--上传时间filenamevarchar50文件名userIdint11上传用户IduserNamevarchar20上传用户名countint11访问次数commentCountint11评论次数isDeleteint1是否删除channelIdint2频道Id(3)评论信息表comment评论信息表comment是用来保存评论的基本信息。表4.3表comment的结构字段名称数据类型字段大小说明idint11评论IduserNamevarchar20评论用户名videoIdint11评论视频Idcontentmediumtext--内容creatTimetimestamp--发表评论时间userHeadFilevarchar20评论人头像(4)地区表area地区信息表area是用来保存地区的基本信息。表4.4表area的结构字段名称数据类型字段大小说明idint11地区IdcityNamevarchar15地区名postCodevarchar11邮政编码-33- 东北大学东软信息学院毕业设计(论文)第5章系统实现第5章 系统实现5.1注册用户设计进入注册页面后,按要求填写基本信息。注册用户页面主要实现如下功能:(1)提供用户信息输入框,并能判断用户所输入信息是否符合要求。(2)提供用户信息输入提示,并能够自动提示用户输入信息的对错。(3)当用户输入所在地时能够自动加载所在地的下拉列表。(4)当用户输入所在地时能够自动加载所在地的下拉列表。(5)提供验证码,防止用户恶意注册。(6)注册成功后自动跳转到用户管理页面。其中“注册”按钮的流程图如图5.1所示。开始输入注册信息用户名是否符合字数提示用户名输入出错结束提示密码字数出错结束密码是否符合字数两次密码是否相同提示密码输入出错结束Email格式是否正确结束验证码是否正确结束结束YNYNYNYN提示密码字数出错YN提示验证码输入出错进入管理页面图5.1“注册”按钮流程图-33- 东北大学东软信息学院毕业设计(论文)第5章系统实现用户注册页面5.2所示。图5.2用户注册页面5.2系统登录页面设计进入注册页面后,按要求填写基本信息。注册用户页面主要实现如下功能:(1)提供用户信息输入框,并能判断用户所输入信息是否符合要求。(2)提供用户信息输入提示,并能够自动提示用户输入信息的对错。(3)当用户输入所在地时能够自动加载所在地的下拉列表。(4)当用户输入所在地时能够自动加载所在地的下拉列表。(5)提供验证码,防止用户恶意注册。(6)注册成功后自动跳转到用户管理页面。“登陆”按钮的流程图如图5.3所示,用户注册页面5.4所示。-33- 东北大学东软信息学院毕业设计(论文)第5章系统实现开始输入登陆信息提示用户名为空结束用户名是否为空密码是否为空用户名密码是否正确提示用户名或密码错误结束按用户要求将写入cookie打开主界面结束结束提示密码为空NYYNNY图5.3“登陆”按钮流程图图5.4用户登陆页面5.3视频信息管理页面设计本页面下包含2个链接页面:上传视频、列出视频列表并能修改及删除视频。下面以上传视频为例。上传视频页面主要实现如下功能:(1)提供视频上传输入框。-33- 东北大学东软信息学院毕业设计(论文)第5章系统实现(2)判断上传视频格式是否正确。(3)上传视频到服务器。(4)填入视频信息加入数据库。其中“上传视频”按钮的流程图如图5.5所示。开始选择上传文件提示上传格式不正确结束上传文件格式是否正确将视频上传至服务器更新数据库结束YN图5.5“上传视频”按钮流程图上传视频页面如图5.6所示。图5.6“上传视频”页面图-33- 东北大学东软信息学院毕业设计(论文)第6章系统测试第6章 系统测试在任何软件系统的开发过程中,尤其是在进行大型软件系统的开发中,任何一个编程人员都不可避免地会产生错误。为了尽可能地发现并改正系统设计中的错误,减少错误造成的损失,保证系统开发的质量,需要进行系统的测试。在系统实施过程中和实现后,应该对系统进行严格的测试,以及时的发现开发中产生的问题和缺陷,最后达到能够保证输入的测试数据能够按照设计的要求输出。测试不是为了显示程序是正确的,而是应从软件包含有缺陷和故障这个假定去进行测试活动,并从中发现尽可能多的问题。实现这个目的关键是如何合理地设计测试用例,力求设计出最能暴露出问题的测试用例。6.1 测试方案及测试用例本系统为标准的管理信息系统,所以测试部分应该重点放在登录部分和用户的操作部分。在此主要选择黑盒测试的方法对系统进行测试,因为黑盒测试是将一组测试数据输入系统,观察系统能否按照预先的设计输出已设计好的结果。测试人员不需要知道系统的内部运作过程,只关心输入和输出是否匹配。黑盒测试一般由用户或者专职测试人员完成。6.1.1登录过程测试用例登录界面是用户进入系统后首先面对的界面,关系到用户能否正常使用系统和用户的安全问题,是系统非常重要的部分。所以此部分的测试就显得十分重要,对此设计出了如表6.1所示的测试用例。表6.1登录过程测试用例测试用例用户名密码Test1空空Test2张三空Test3空张三Test4张三错误密码Test5错误用户名正确密码Test6王五(管理员)正确密码Test7张三(普通用户)正确密码-33- 东北大学东软信息学院毕业设计(论文)第6章系统测试6.1.2用户信息修改测试用例用户管理界面是管理员登录系统后对用户的管理界面,包括对用户信息的添加,删除和修改等操作,此过程是关系到管理员能否对用户信息进行成功操作的前提。对此设计出了如表6.2所示的测试用例。表6.2用户信息修改过程测试用例测试用例密码确认密码Test1空空Test2123456111111Test31234561234566.1.3数据录入测试用例测试要点:数据录入类型测试路径:录入类型是否正确测试结果:录入类型正确能写入数据库增加新记录;否则提示重新输入当录入数据为数据表中限定的类型时,才能增加新的记录;若录入的数据类型不正确,则无法增加新的记录。6.2 测试结论根据所选的测试用例对系统进行了相应的测试后,测试结果均达到了预期的设计,测试中系统未发生错误。-33- 东北大学东软信息学院毕业设计(论文)第7章结论第7章 结 论本视频分享网站基本达到预期的各项技术指标,实现了预期的各种功能。从整体上来讲,本系统还比较令人满意。当然也有一些不足之处和需要改进的地方。下面对整个系统作一番总结。本论文的主要工作和创新点体现在以下几个方面:(1)在收集整理和研究大量相关参考文献的基础上,概述视频点播的相关技术和概念,并通过对比等分析方法,做出了一些总结。讨论了VOD系统中的若干关键技术,分析了VOD构建过程中的一些问题,并针对具体问题给出了比较合适的解决方案,例如如何压缩视频、音频等数据,控制并发用户数量等。(2)在对经典的VOD系统进行了深入研究和性能分析后,结合本系的条件,设计了一种经济快捷的系统建立方案,开发了基于Web的VOD系统模型,并在此模型基础上实现了该系统。(3)从内容上来讲,本系统针对实用性的需求,包含了视频点播、课件点播和歌曲点播三个部分,突破了传统的视频点播在内容上单纯为视频的缺陷。(4)从技术上来看;本系统引入了数据库管理技术,利用动态网页来与用户交互。(5)数据的存储和管理方面,本系统也做得比较有前瞻性。虽然在物理上,视频服务器、Web服务器和数据库服务器三者一体,但是,我们从逻辑上将它们分开。我们并不按照传统的方式将视频存在Web页的当前目录中,而是全部存在视频服务器的view目录中,实现视频与Web服务器完全隔离,对于以后的系统扩展提供极大的方便。在对视频路径进行引用时,我们采用RTSP协议。经过多次调试后,我们得出了在系统均可采用HTTP和RTSP进行远程引用视频文件的方法,并总结了如何使用以及将二者合用。当然,由于时间有限,本系统还存在一些不尽人意之处和有待深入研究的地方。本系统给出了基本的VOD系统框架,但是内容稍嫌单薄;系统是用软编码来实现的,虽然实现了Web-33- 东北大学东软信息学院毕业设计(论文)第7章结论本系统,但暂且只是一个在线点播系统,没有涉及在线直播和视频会议等方面,当然,通过进一步的设置,实现视频直播是没有问题的。但是实现视频会议就有一定难度,需要深入研究。本文只是停留在应用层面上进行开,还没有在视频点播原型系统上做深入的挖掘和探讨。视频点播是伴随着音频、视频处理技术及网络技术的发展而迅速风行的一门综合性技术,是当前网络多媒体应用技术中的热门方向,它涉及到的知识面很广泛,技术含量比较高,包括传输协议、视频压缩、磁盘存储、准入控制、资源预约、缓冲调度、负载平衡、多点传送、媒体播放等技术。基于Web的视频点播研究将是综合多媒体技术和网络技术研究的一个重大课题,仍有很多方面尚需进一步研究:在视频点播广播算法中,服务器热门视频节目的选择算法是一个尚未深入探讨的方面。由于视频节目的受欢迎程度极大地影响服务器总体性能,为非热门节目预分配通道进行广播,无疑是一种极大的资源浪费。视频解码也是一个难点。VOD系统对视频编码格式的适应性,是一个有待深入研究的课题。新的编码格式的出现,对视频点播算法的设计提出新的要求。要求新的视频点播算法能够:①适应可变码率的视频流的传输②在同一算法中支持多种编码格式的并存③更好交互性。相信随着以上各方面研究的深入开展,视频点播将更加完善,会给人们的生活带来更多乐趣,必将受到大众青睐。-33- 东北大学东软信息学院毕业设计(论文)参考文献参考文献[1]BruceEckel.ThinkinginJava.ThirdEditionPrenticeHall美[M],PTR出版,2004.1.[2]BryanBasham,KathySierra,BertBates.HeadFirstServlets&JSP美[M],O"Reilly出版,2006.9.[3]HarveyM.Deitel,PaulJ.Deitel(美),袁兆山等译.Java程序设计教程,第3版[M],北京:机械工业出版社,2002.1.[4]MartyHalllarryBrown.database美[M],北京:清华大学出版社,2004.7.[5]Sheffield,S.B.TheOrientationsofAdultContinuingLearners.InD.Soloman(Ed.),Chicago:CenterfortheStudyofLiberalEducationforAdult.[6]陈益材.DreamweaverMX2004中文版创意与设计百例[M],北京:清华大学出版社,2005.9.[7]耿祥义,张跃平.JAVA2实用教程(修订)[M],北京:清华大学出版社,2001.1.[8]马斗,邱哲,王俊标.专家门诊JSP开发答疑200问[M],北京:人民邮电出版社,2005.[9]萨师煊,王珊.数据库系统概论[M],北京:高等教育出版社,1983.8.[10]孙卫琴,李洪成.Tomcat与JavaWeb开发技术详解[M],北京:电子工业出版社,2004.[11]魏茂军.项目开发风暴jsp案例开发[M],北京:中国水利电水出版社,2005.1.[12]武延军,黄飞越.精通JSP编程技术[M],北京:人民邮电出版社,2001.8.[13]项洁.基于J2EE的网络教学管理系统的设计和实现[D],武汉大学计算机应用技术,2004.1.[14]周洪政.DreamweaverMX2004基础与实例精讲[M],北京:人民邮电出版社,2004.8.[15]周松建.JavaScript经典范例50讲[M],北京:科学出版社,2004.-33- 东北大学东软信息学院毕业设计(论文)致谢致谢时光飞逝,我的大学生活很快就要过去了,在这四年期间,我的知识面得到了拓展,能力得到了锻炼,陶冶了情操,提高了修养,坚定了意志;在大连东软信息学院学习期间我得到了学校诸位领导、老师无微不至的关怀和教诲,使我在专业知识、专业技能及思想等各方面取得了长足的进步。在即将毕业之际,请允许我向学院各位领导和老师致以衷心的感谢。毕业设计是对这四年的学习的知识的一次考核,是人格品质的一次考验,是参与社会活动能力的一次展示。在这半年毕业设计里,我不仅在知识水平上有了长足的提高,而且还学会了很多做人、处事的道理,对我来说真是受益非浅。毕业设计将我在这四年所学的知识结合起来,又使我们学会了获得新知识的方法,更加锻炼了我们的毅力、耐心。在毕业设计说明书即将完成,大学生活即将结束之际,我的心情此起彼伏,无法平静,从开始进入课题到毕业设计的顺利完成,毕业设计指导教师魏晓莉所给予我的无微不至的关怀、帮助、支持,彻彻底底的感染、激励着我,使我在毕业设计过程中,始终保持着饱满的精神、高昂的意志。所以在这里请***老师接受我最最诚挚的谢意。不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向大连东软信息学院的全体老师表示由衷的谢意。感谢他们四年来的辛勤栽培。最后,感谢所有老师和专家们,谢谢您们在百忙中抽出宝贵的时间对我给予指导!-33-'