基于信任的电影推荐者系统的实现毕业设计论文

上传人:无*** 文档编号:80422485 上传时间:2022-04-25 格式:DOC 页数:73 大小:1.58MB
收藏 版权申诉 举报 下载
基于信任的电影推荐者系统的实现毕业设计论文_第1页
第1页 / 共73页
基于信任的电影推荐者系统的实现毕业设计论文_第2页
第2页 / 共73页
基于信任的电影推荐者系统的实现毕业设计论文_第3页
第3页 / 共73页
资源描述:

《基于信任的电影推荐者系统的实现毕业设计论文》由会员分享,可在线阅读,更多相关《基于信任的电影推荐者系统的实现毕业设计论文(73页珍藏版)》请在装配图网上搜索。

1、 本科毕业设计(论文)基于信任的电影推荐者系统的实现燕山大学毕业设计(论文)任务书学院:里仁学院 系级教学单位:电子工程系 学号学生姓名专 业班 级08计算2班题目题目名称基于信任的电影推荐者系统的实现题目性质1理工类:工程设计 ( );工程技术实验研究型( );理论研究型( );计算机软件型( );综合型( )。2文管类( );3.外语类( );4.艺术类( )。题目类型1毕业设计( ) 2.论文( )题目来源科研课题( ) 生产实际( )自选题目( ) 主要内容这个设计的目的是结合用户之间的信任和信任等社会信息来实现一个现实中的电影推荐系统,利用信任因素可以解决传统协同过滤推荐算法过程中出

2、现的一些问题。实现电影推荐的环境,设计用户的评论和评分,利用算法实现对用户实现电影的推荐。推荐的结果可采用列表形式,推荐过后再通过用户对推荐结果的评价对设计进行改进。基本要求环境的建立过程需要用到:ASP.NET和SqlServer工具,输入用户的评论内容和评分,收集用户的偏好信息。推荐的过程可以利用矩阵分解或奇异值分解两种算法来实现。参考资料可参考现有的一些电影推荐系统,如:Jinni、Taste Kid、Nanocrowd、Criticker等。此外还可以在图书馆查看一些关于电影推荐系统的文章。周 次14周58周912周1316周1718周应完成的内容翻阅资料,明确设计的目标,了解现有系统

3、的功能。搭建环境设计推荐算法和相关数据库以列表的形式显示电影推荐结果测试推荐结果的准确性指导教师:原福永职称:教授 2012年3月1日系级教学单位审批: 年 月 日摘要摘要近年来,随着电子商务及娱乐网站的扩大,各电影推荐系统也逐步应用广泛。采用传统的用户浏览网站模式,不仅不能更好的给运营商带来利益,而且不能帮助用户更好的获得所需。如何更好的满足用户需求,推荐给用户所需电影,建立适合本网站的电影推荐系统,已经成为影院供应商急需解决的问题之一。首先,本文分析了电影推荐系统的业务流程,收集与管理相关的资料,明确该系统的目标和主要功能需求。进行技术方面的探讨与比较,在系统模式上选用B/S结构,在系统技

4、术方面,选用了SQL Server 2008数据库平台,并采用ADO.NET数据库连接技术,采用C#语言编码并在.NET的运行环境下实现具体功能。 其次,根据系统要求,将该系统进行具体功能划分,主要实现了全部影片显示、分类影片显示、最新电影显示、最热搜索电影显示、影片个性化推荐、影片查找、影片新闻等功能,并进行了数据库的详细设计与编码,完成设计阶段的各项功能。最后对系统进行相关实际应用操作,通过使用该系统,系统可以根据用户的以往信息,给用户推荐出合适的电影。用户可以进行查看信息,观看影片,给影片评分等操作,本系统基本上完成了预期的功能。关键词 电影推荐;信任;B/S结构;.NETI 燕山大学本

5、科生毕业设计(论文)AbstractIn recent years, with expansion of the electronic commerce and entertainment websites, the film recommender system gradually applied widely. The traditional browsing web mode, it not only cant give operators better interests, but also it cant help users get better result. How to be

6、tter meet the customers requirements, establishing the website for the film recommender system, has become a problem that the cinema supplier needs to resolve.Firstly, we make a survey about the film recommender system, analyzes recommender process, collect material which is related to recommendatio

7、n. Understand the film recommender system and the main function of the target demand. According to the comparison of the technology, in the system model selection on B/S structure, in system technology, choose the SQL Server 2008 database platform, and use the database connection technology, using C

8、# and making operation specific functions in environment.Secondly, according to request, the system make a division, it mainly realizes all film shows ,film classification, latest film, hottest search film, personalized film recommendation, film search and film news etc. at the same time, the detail

9、ed design of database has been done to meet the completed design of the various functionsFinally, apply the system, through using the system, According to the users ever information, it can recommend the proper movie to users, and the user can view the film information, watch the film, and give film

10、 a proper score .the system basically completed the expected function .Keywords Film recommendation;Trust;The B/S structure;.NETIII目 录 目 录摘要IAbstractII第1章 绪论11.1 课题背景11.2 课题意义11.3 课题开发环境21.4 本章小结2第2章 开发模式及相关技术介绍52.1 B/S模式简介52.2 开发平台简介62.3 ASP.Net介绍72.4 Code-Behind82.5 C#语言简介82.6 三层架构体系结构92.7 本章小结11第

11、3章 可行性研究与需求分析133.1 系统可行性分析133.1.1 技术可行性133.1.2 经济可行性133.1.3 运行可行性133.1.4 用户使用可行性143.2 系统需求分析143.2.1 业务流程分析143.2.2 数据流程分析143.2.3 系统功能分析163.3 本章小结17第4章 系统总体设计194.1 系统设计194.2 系统功能结构194.3 系统流程设计194.4 数据库设计214.4.1 数据库设计214.4.2 数据库表设计214.5 数据库的实现234.6 本章小结24第5章 系统详细设计与实现255.1 系统准备255.2 设计及实现255.2.1 注册页面设计

12、及实现255.2.2 登录页面设计及实现255.2.3 主页面的设计及实现275.2.4 热搜影片和最新电影显示设计及实现285.2.5 所有影片和分类影片的设计与实现285.2.6 影片推荐的设计与实现305.2.7 影片查找的设计与实现325.2.8 影片新闻和联系我们的设计与实现325.3 本章小结34结论35参考文献37致谢39附录141附录245附录349附录448附录549III第1章 绪论 第1章 绪论1.1 课题背景从电子商务产生起,相应产品的推荐系统也就产生了,随着电子商务的飞速发展,对应的推荐系统也经历由不太专业到更准确,更专业的方向发展着。推荐系统已经成为解决商品供应商快

13、速占领目标客户的一个主要解决方案,而与此同时,推荐系统也为用户提供了更好的商品引导作用。对于在线电影提供商,在线影片推荐系统的推荐效率也对公司是否能获得更多的目标客户起到了很关键的作用,对公司的发展起到了很重要的作用,著名的在线电影租赁公司NetFlix曾经花费数百万元去寻求获得更好推荐效率的推荐模型及算法。传统的推荐方法主要是向用户推荐与用户所购买商品内容相同或相关的商品,这种方法也起到了很好的推荐作用,比如你刚看完郎咸平的某个讲座,下面就会向你推荐一系列郎咸平相关的视频,这在百度,Google里观看完视频后会经常见到的,后来过一段时间,通过研究发现这种方法并不是很好,开始有人提出了相似用户

14、的概念,就是根据影片的用户评分的相似性来进行推荐,但这种方法存在很大的缺陷,比如很有可能存在下面这样的情况,比如两个用户虽然对某部影片的评价相同,但可能由于他们的评分标准不太一样,结果造成他们的评分差距很大,而其实这两个用户是有相同兴趣的;另外对于某些影片可能不能把用户评分的相似性作为首要的因素来进行推荐,对于研究电影艺术的某些专家,可能他更愿意接受一些与他本身具有同样专业水准的人来进行推荐才会达到更好的效果;还有一个比较重要的因素就是用户的可信度,现在网上有好多不信任的事情发生,比如虚假的评分和评论等。因为现在有好多的在线电影租赁商可能会为了提高自己的某部影片的收视率,会雇佣某些人专门提高某

15、部影片的评分,这也是当前的推荐算法所不能解决的问题。1.2 课题意义因此,本文立足于前人的研究和当前影片推荐系统的的发展现状,对信任推荐进行研究,发掘多层次的影响因素,以便更加合理的考虑推荐策略;利用新的策略和算法计算和用户爱好最相似的邻居,筛选出和用户行为最相近的人来完成推荐影片更准确的功能。Wonderful电影推荐系统一方面能够帮助在线电影租赁公司更好的吸引目标客户,来获得更高的利润,另一方面可以帮助用户更快更好的观看自己喜欢的影片。传统方法中,人们只是点开某个电影播放网站,随便的点击网页上所列电影,然后观看,但往往播放之后才知道是否是自己喜欢的,这样浪费了很多自己的宝贵时间,并且这种情

16、况用户没有针对性。Wonderful电影推荐系统能够根据用户不同需求,根据不同的信任级别,根据不同的专家级别,对不同用户作出个性化推荐,极大的方便了用户的娱乐生活。1.3 课题开发环境本文是对基于信任的电影推荐系统实现的设计说明。该电影推荐系统是基于实际使用情况及其当前业务的业务发展状况,从其实际的需求出发,利用“先逻辑,后物理”的原则,经过详细的分析,设计出新系统的基本模型,最后通过编写程序完成基于信任模型的电影系统的实现,对于整个开发过程中的每一个阶段的工作成果都使用了明确的文字和标准化的图形、图表进行描述。整个系统是在Visual Studio 2010集成开发环境下,使用微软的SQLS

17、erver2008作为数据库管理系统,运用ASP.NET技术和数据库基本原理,后台数据处理采用的是C#代码,是一个B/S模式的电影推荐系统。1.4 本章小结综上所述,阐述了课题研究的背景和意义,从而说明了选题的依据。简要介绍了系统开发环境。开发本课题系统的大概过程如下面所示。第1章绪论。简要介绍了本文研究工作的背景、研究意义及该电影推荐系统开发所使用的环境。第2章开发模式及相关技术介绍。这章主要介绍了本课题要应用到的技术,如B/S模式的介绍,开发平台的介绍,及C#语言及ASP.NET的介绍。第3章可行性研究和需求分析。在本章中做了业务流程分析和数据流程分析,并绘制了业务流程图及数据流图和功能结

18、构图。第4章系统总体设计。对系统方案进行选择,对系统流程的分析和对数据库的设计,主要是数据库的设计和数据表的创建。第5章系统详细设计与实现。在本章中介绍了系统各模块的功能及实现方法,和实现结果。最后总结了本文的主要研究工作,并对本课题的最终功能加以阐述。51 第2章 开发模式及相关技术介绍第2章 开发模式及相关技术介绍2.1 B/S模式简介B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,

19、以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。 随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。B/S模式最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数

20、据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。B/S架构软件的特点如下。(1)维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网

21、就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统第2章 开发模式及相关技术介绍升级比较频繁,那么B/S架构的产品优势明显所有的 升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。(2)系统灵活,选择多。在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端

22、。不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。很明显windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统,windows并没有这种绝对的统治地位,而现在的趋势是应用软件都变成B/S架构的,只安装在服务器上,所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统的情况不受影响,这就使的很多免费的操作系统如现在最流行的Linux得以快速发展,除了操作系统是免费的以外,连数据库也是免费的,这样的选择非常流行。(3)软件商业运用上,投入成本较低,保护了

23、原有硬件的投资,支持企业快速扩张。B/S结构软件一般只有初期一次性投入成本。对于集团来讲,有利于软件项目控制和避免IT黑洞。当它应用范围扩大,系统负载上升时,B/S结构随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。对于成长中的企业,快速扩张是它的显著特点。B/S结构软件,只需一次安装,以后只需设立账号、培训即可。2.2 开发平台简介本系统中页面的开发应用VisualStudio2010,后台的数据库管理系统采用的是微软的SQLServer2008。VisualStudio2010是微软公司推出的开发环境。是目前最

24、流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 CTP(Community Technology Preview),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持IBM DB2和Oracle数据库。SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的

25、改进,使得它成为至今为止的最强大和最全面的SQL Server版本。这篇文章详细介绍了Microsoft SQL Server 2008中的新的特性、优点和功能。在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。2.3 ASP.Net介绍ASP.NET技术ASP.NET页框架是一种编程框架,它在Web服务器上运行以动态地生成和管理Web窗体页。在Visual Studio中,Web

26、窗体提供了窗体设计器、编辑器、控件和调试功能,这些功能结合在一起,将使用户能够为浏览器和Web客户端设备快速地生成基于服务器的可编程用户界面。Web窗体页在任何浏览器或客户端设备上运行。但是,用户可以将Web窗体页设计为以特定的浏览器(如Microsoft Internet Explorer 5)为目标,并利用特定浏览器或客户端设备的功能。ASP.NET支持基于Web的设备(如移动电话、手持型计算机和个人数字助理(PDA))的移动控件。ASP.NET页框架创建了传统客户端/服务器Web交互的抽象模型,使用户能够使用支持快速应用程序开发(RAD)和面向对象编程(OOP)的传统方法和工具来进行应用

27、程序编程。在Web窗体页中,可以使用属性、方法和事件来处理HTML元素。ASP.NET页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使开发人员不必考虑基于Web的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页面处理生命周期中自动维护页及该页上控件的状态。ASP.NET页框架和Web窗体页面还支持服务器控件,这些控件将常见的UI功能封装在易于使用并且可再次使用的控件中。2.4 Code-BehindASP.NET中的术语。在传统ASP中,WEB页面的UI与逻辑都是写在一个页面里而无法分开。这种编写代码方式的最大弊端就是一旦UI或逻辑有所变动,都几乎不可避免的要对

28、另一层进行相应改动,同时这种混合的代码编写方式暴露了程序的实现逻辑。ASP.NET解决了这些问题。ASP.NET中采用了页面“继承”的方式,即前台页面.aspx文件通过其页面指令Page继承后台.cs文件,这样,不仅将页面的UI与逻辑分开,同时在程序编译后,其实现逻辑也被隐藏,以.dll文件代替。ASP.NET中的这种程序编写方式就被叫做code-Behind技术。在ASP.NET页面处理指令中有个AutoEventWireup属性,是指页面的事件是否自动连网。如果启用事件自动连网,则为true否则为false。如果页面处理指令的AutoEventWireup属性被设置为true(默认为tru

29、e),该页框架将自动调用页事件。使用code-behind技术,AutoEventWireup默认为true。2.5 C#语言简介C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#由C语言和C+派生而来,继承了其强大的性能,同时又以.NET框架类库文件作为基础,拥有类似Visual Basic的快速开发能力。C#由安德斯海尔斯伯格主持开发,微软在2000年发布了这种语言。ECMA标准列出的C#设计目标:C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言。此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃

30、圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。它的优势在于:(1)此种语言为在分布式环境中的开发提供适用的组件开发应用。(2)为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C+的程序员而言。(3)对于国际化做了很好的支持。(4)C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。2.6 三层架构体系结构所谓的三层架构就是将整个业务应用划分为表示层业务逻辑层数据访问层数据库等,有的还要细一些,明确地将客户端的表示层、业务逻辑访问、和数据访问及数据库

31、访问划分出来,十分有利于系统的开发,维护、部署和扩展。软件要分层,其实总结一句话,是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。如图2-1所示。图2-1 三层架构图表示层:负责直接跟用户进行交互,一般也就是指我们的前台,用于数据录入,数据显示等。它不应该做太多的工作。表示嘛,也就意味着只做与外观显示相关的工作。不属于他的工作他不用管也不该管。业务逻辑层:用于做一些有效性验证的工作。以更好的保证程序运行的健壮性。如数据的有效性判断。不允许为的地方是否输入了空字符串,该输入Email的,格式是否正确等,数据类型的合法性判断,该是整型

32、的地方当然不能接受字符串了,数据库操作是否合法,如字段长度的有效性判断。sql防注入的问题,用户的权限的合法性判断等,通过以上的诸多判断以决定是否将操作继续向后传递。尽量保证程序的正常运行数据访问层:顾名思义,就是用于专门跟数据库进行交互。对数据的添加,删除,修改,显示等。需要强调的是所有的数据对象只在这一层被引用,如System.Data、SqlClient等,除了数据层之外的任何地方都不应该出现这样的应用。ASP.NET可以使用.NET平台快速方便的部署三层架构。ASP.NET革命性的变化是在网页中也使用基于事件的处理,可以指定处理的后台代码文件,可以使用C#,VB,J#作为后台代码的语言

33、。.NET中可以方便的实现组件的装配,后台代码通过命名控件可以方便的使用自己定义的组件。显示层放在ASPX页面中,数据库操作和逻辑层都用组件来实现,这样就很方便的实现了三层架构。从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度上降低了开发的难度。三层架构属于“瘦客户”的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。相比之下,单层或“胖客

34、户”对机器的要求太高。三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。另外三层架构还可以支持如下功能:Remote Access(远程访问资料),例如可透过Internet存取远程数据库;High Performance(提升运算效率)解决集中式运算(Centralize)及主从式架构(Client-Server)中,数据库主机的运算负担,降低数据库主机的Connection

35、Load,并可增加App Server处理众多的数据处理要求,这一点跟前面讲到的分布式计算提高运算能力是一个道理;Client端发出Request(工作要求)后,便可离线,交由App Server和DataBase Server共同把工作完成,减少Client端的等待时间,从理论上是成立的。Web应用是当今分布式应用最广泛的应用形式。基于.NET的3层结构在Web中的应用显著提高了应用程序的跨平台性和互操作性,增强了系统的灵活性、开放性。应用三层架构编程,优点:(1)开发人员可以只关注整个结构中的其中某一层。(2)可以很容易的用新的实现来替换原有层次的实现。(3)可以降低层与层之间的依赖。(4

36、)有利于标准化。(5)利于各层逻辑的复用。(6)扩展性强。不同层负责不同的工作,也可以实现B/S与C/S之间的转换。(7)安全性高。用户端也只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。(8)项目结构更清楚,分工更明确,有利于后期的维护和升级。但是三层架构也存在一些缺点:(1)降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。(2)有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都

37、增加相应的代码。(3)增加了代码量,增加了工作量。2.7 本章小结本章概述了wonderful电影推荐系统在开发时所应用到的关键技术,这些技术的应用为开发奠定了基础。通过对相关技术的了解,达到了技术的扩展。具体的相关知识有B/S模式又称B/S结构;开发平台主要包括一些开发工具的使用,包括VS2010的使用及相关有SQL语句的介绍,系统中大量应用了SQL语句,来实现对数据库的操作;另外介绍了ASP.NET及C#语言的优势及相关基础知识;详细的概述了三层架构的原理与应用,方便了为以后设计系统提供方便。第3章 可行性研究与需求分析第3章 可行性研究与需求分析系统分析包括系统可行性分析和系统需求分析。

38、可行性分析是对系统的可行性做分析,看看系统是否能够在当前环境下可行,具体包括技术可行性、经济可行性、操作可行性。需求分析是系统分析的重点,主要了解软件的需求,需要什么功能,完成什么任务。3.1 系统可行性分析 可行性研究的目的就是利用最小的代价在尽可能短的时间内确定问题是否能够解决。在较高的层次上以较抽象的方式进行系统分析和设计,进一步分析和澄清问题的定义。3.1.1 技术可行性本系统的技术可行性,可以从硬件的性能要求、软件的性能要求几个方面去考虑。根据电影推荐系统的用户量的大小确定了数据量的大小,并确定了使用SQLServer2008数据库管理系统,此推荐系统对性能的要求比较高,可以在后台进

39、行好多的工作来提高推荐的效率,能够满足用户在登录后尽快获得推荐可能喜欢的电影。3.1.2 经济可行性目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。并且一旦系统成功开发完成并应用于实践可能会给在线电影提供商带来更大的经济效益,因此,从经济角度考虑,此系统开发也是可行的。3.1.3 运行可行性本系统所耗费的资源非常的小,一般的电脑无论是硬件还是软件都能够满足条件。现在的电脑均配置了级别较高的计算机,因此,本系统在运行上是可行的。3.1.4 用户使用可行性该系统相关界面友好、操作简洁、界面导航功能丰富

40、,查询方便、存储容量大、检索速度快以及具有良好的保密性,因此,用户使用可行性在技术上来讲是不存在任何问题的。3.2 系统需求分析 基于信任的电影推荐者系统的实现的第一步是进行需求分析。需求分析的好坏直接决定着该系统是否能真正的满足用户的实际需求。3.2.1 业务流程分析基于信任的电影推荐者系统根据在线电影提供商的需要来进行的设计和开发的。基于信任的电影推荐者系统要实现的最基本的功能是对于没注册或已经注册但没登录的用户推荐最新的电影信息,对于已注册并且进行登录的用户根据用户以前对电影的评分来向该用户推荐他可能感兴趣或喜欢的电影,这是最主要的功能。还用一些辅助功能,如电影信息的分类显示、所有电影的

41、显示、页面的保护、电影新闻的显示等。业务流程分析是对业务功能分析的进一步细化。业务流程分析的目的是:形成合理、科学的业务流程。通过分析现有业务流程的基础上进行业务流程重组(BPR),产生新的更为合理的业务流程。业务流程图(transaction flow diagram,简称TFD),就是用一些规定的符号及连线来表示某个具体业务处理过程。下面是网络随行秘书系统的业务流程分析。通过对电影推荐业务的实际调查分析,弄清推荐的业务流程和功能,业务流程如下。对于注册用户,如图3-1所示。对于登录用户,如图3-2所示。3.2.2 数据流程分析数据流图(Data Function Diagram):又名数据

42、功能图表,简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。如图3-3所示。图3-1 注册用户的业务流程图3-2 登录用户的业务流程图3-3 wonderful电影推荐统的顶级数据流图3.2.3 系统功能分析根据需求的理解归纳。如图3-4所示。图3-4 wonderful电影推荐系统功能图(1)用户注册:用户根据注册所需基本信息进行个人信息的注册,以方便登陆进行操作。(2)用户登录:根据用户的注册信息,用户输入正确的信息后登录。(3)热搜电影显示:在系统显示主页面上,根据以往的用户搜索记

43、录显示最近一段时间内热搜电影的图片列表(4)最新电影显示:在系统显示主页面上,根据最新的上映日期,将最近最新的电影不分类显示。(5)所有影片显示:当用户注册,或者登录后,在系统主页上,单击所有影片,分页显示出当前所有的影片。(6)分类影片显示:当用户注册,或者登录后,在系统主页上,单击分类影片,按照类别,分页显示出所属类别的影片。(7)影片查找:用户进入主页面以后,可以通过输入影片的名字,进行模糊查找。(8)影片推荐:当用户登录以后,在系统的显示页面上,根据用户以前的信息,对当前用户推荐其可能喜欢的电影。(8)影片详细信息查看:当用户登录以后,根据系统为用户推荐的电影,用户点击所喜欢的影片,查

44、看电影的详细信息。(10)影片观看:当用户登录以后,根据系统为用户推荐的电影,用户点击所喜欢的影片,单击播放,已观看影片(11)影片评分:当用户登录以后,进入单个影片页面,根据观看后的喜好度,用户对影片作出评分。(12)其他系统功能:系统可以自动提供一些新闻,并且有些业务或者公告提醒用户。用户若出现问题,可以通过系统提供的联系我们,来进行及时反馈。3.3 本章小结本章对系统的可行性进行了分析,详细了解了系统需求,确定了系统必须完成的工作。为了方便用户快速的观看自己感兴趣的电影,设计了电影推荐系统,能够帮助用户快速并且高效的得到感兴趣的电影。电影推荐系统,必须完成的工作有对用户的登录和注册,所有

45、影片,分类影片的显示,以及对用户推荐的电影,用户可以进行观看、查看详细信息和评分等操作。另外根据当前访问网站的数量,系统显示出当前时间段内热搜的电影,并且按照时间的,将最近最新的电影按照时间排序,显示给用户。电影推荐系统,能够帮助用户更好的更快的观看所需电影。第4章 系统总体设计第4章 系统总体设计系统总体设计通常由两个主要阶段组成:系统设计阶段,确定系统的具体实施方案;结构设计阶段,确定软件结构。4.1 系统设计系统设计主要确定系统所采用的具体解决方案。本电影推荐系统采用Visual Studio2010旗舰版,SqlServer2008数据库管理系统进行开发,系统运行的底层操作系统是微软的

46、Windows 7旗舰版,电影推荐系统运行的服务器是Visual Studio2010自带的ASP.Net测试服务器。4.2 系统功能结构基于信任模型的电影推荐系统的最根本功能是对于没有注册或已经注册但没有登录的用户向其推荐一些最新的电影信息,对于已经注册过并且进行了登录的用户根据用户以前对电影的评分数据记录来向该用户推荐他可能感兴趣或喜欢的一些电影。本系统还有一些辅助的功能,如电影信息的分类显示、分页查看所有的电影、对页面的保护、登录时使用验证码方式来避免发生暴力破解、对电影的模糊查找功能、显示一些影视快讯等。可以将本电影推荐系统分为用户管理模块,用来实现对用户注册、登录的管理;后台数据处理

47、模块、用来分析用户的评分数据,更新用户的某些属性,产生用户的最近邻居;推荐模块,根据后台数据处理模块提供的数据来向用户推荐其可能喜欢的电影等主要的模块。4.3 系统流程设计1、在服务器上运行电影推荐系统,系统自动进入主页面。2、用户单击“所有影片”,进入所有影片的显示,可以根据按时间排序或按电影的评分排序来按序显示系统内部的所有影片。3、用户单击上面的某个类别时,进入分类查看电影的页面,用户选择所要看影片的类别,链接进入进行浏览所有该类型的电影。4、用户在查找框内输入查询条件,进入电影查找结果的页面,根据用户要查找影片的名字或者影片中的某些关键字,显示查找到的相关的电影列表,登录过的用户可以浏

48、览影片的详细信息。5、当用户登录系统后,左下侧的最新电影列表便会替换为系统向该用户推荐的一些电影列表,用户可以查看系统推荐影片的一些信息,包括电影的名称、所属的类型、影片的主演、影片导演、影片的上映时间、影片的点击量以及影片的详细内容介绍;当用户点击播放按钮时,是一个模仿电影播放的过程,用户可以在观看完电影后,用户可以根据观看电影后的感受与推荐的预期进行比较,来对所观看的电影进行评分,有五种评分选项可供用户选择分别对应的1,2,3,4,5分 。6、退出系统,当用户点击用上方的退出按钮时,系统清除存在会话中的一些用户信息。而此时用户也只能浏览影片的简要信息,不能查看用片的详细能容了。系统功能如图

49、4-1所示。图4-1 系统流程图4.4 数据库设计数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。数据库系统需要操作系统的支持。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。4.4.1 数据库设计数据库是

50、信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库的设计包括概念设计,对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等;逻辑设计,主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应

51、的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”;物理设计,据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。在本文中省略了数据库的概念设计,直接把概念设计转换成了和具体数据库相关的逻辑设计。4.4.2 数据库表设计根据对数据库实体关系分析确定的系统中所有表及其字段,创建数据表。在电影推荐系统的基本功能实现上,创建了下面的6张表。用户表(t_user):用户表。电影信息表(t_film):记录电

52、影信息的表。电影类别表(t_type):电影类别表。电影评分表(t_score):用户对电影的评分表。电影提供商表(t_company):公司简介表。电影新闻表(t_filmnews):电影新闻表。这几张数据表的字段说明如表4-14-6所示。表4-1 用户表(t_user)字段名称中文描述字段类型可否为空说明uid用户编号int否name用户名nvarchar(20)否password密码nvarchar(20)否email注册邮箱varchar(30)否expertise专家级别decimal(4,2)可trust可信度decimal(4,2)可表4-2 电影信息表(t_film)字段名称中

53、文描述字段类型可否为空说明fid电影编号int否name电影名称nvarchar(50)否actor主演nvarchar(50)可director导演nvarchar(50)可maincontent主要内容text可hitnumbers点击量int可showtimes上映时间yarchar(20)可avgscore平均得分float可imageurl图片路径nvarchar(50)可type电影类型nvarchar(50)可表4-3 电影类别表(t_type)字段名称中文描述字段类型可否为空说明tid日程编号int否pid用户名int否type日程助手标题nvarchar(50)否表4-4 电

54、影评分表(t_score)字段名称中文描述字段类型可否为空说明uid用户编号int否fid电影编号int否score电影的评分decimal(4,2)可remark用户评论text可表4-5 电影提供商表(t_company)字段名称中文描述字段类型可否为空说明name供应商名字nvarchar(50)否address公司地址nvarchar(50)可introduction公司简介text可telphone电话nvarchar(50)可manager经理nvarchar(20)可表4-6 电影新闻表(t_filmnews)字段名称中文描述字段类型可否为空说明nid编号int否title标题n

55、varchar(50)否content内容nvarchar(300)可addtime添加时间varchar(50)可4.5 数据库的实现数据库的具体实现是指根据逻辑设计阶段的产物如有几个数据表以及各个数据表之间的约束关系,在具体的数据库管理系统上实现数据库的创建,表以及约束的创建的活动来完成数据库的设计。本系统的数据库实现是在SqlServer2008数据库管理系统上进行具体实现的。4.6 本章小结总体设计阶段的定义即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。它包括:计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。总

56、体设计阶段的基本目的是用比较抽象的、概括的方式确定要实现的系统如何完成预定的任务,也就是说,应该确定基于信任模型的电影推荐系统的物理配置方案,并且进而确定组成该系统的每个程序模块以及各个模块之间的关系以及如何实现这种关系。本章对基于信任模型的电影推荐系统进行了总体设计。首先介绍了系统设计所选择的方案,然后对该电影推荐系统的具体操作流程进行了详细的介绍;接着又讲述了数据库的设计过程中的一些问题,最后根据各实体的关系以及数据库的逻辑设计进行了数据表在SqlServer2008数据库管理系统上进行具体实现的。第5章 系统详细设计与实现第5章 系统详细设计与实现详细设计阶段的任务还不是具体的编写程序,

57、而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。详细设计阶段的根本目标是确定应该具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。5.1 系统准备准备工作在安装好Visual Studio2010后打开软件,新建一个filmrecommendation解决方案,在该解决方案下新建dal,bil和entity三个类库来用于实现三层架构时使用,在建一个Web应用程序用来呈现该电影推荐系统。下面是三个类库的具体作用。在dal类库中封装了所有与数据库操作相关的接口和包含计算

58、某用户专家级别,可信度,以及用户间相似度计算方法的类。在bil类库中封装的是和业务相关的一些类,该部分类库中类的作用主要是用来联系aspx页面和后台数据处理的程序。在entity类库中封装的是整个项目中用到的所有实体类。实体类的主要是用来作为数据传输时的载体。5.2 设计及实现5.2.1 注册页面设计及实现用户想要查看电影推荐,首先要创建自己的账号,以方便登陆进行操作。根据系统设计,设置所需的注册信息。注册页面如图5-1所示。5.2.2 登录页面设计及实现用户要进入系统管理,就要拥有自己的登录入口。根据系统设计,用户信息存放在数据库user里,根据用户的注册信息,登录界面的程序流程如图5-2所

59、示。图5-1 注册页面图5-2 登录界面程序流程图在登录界面中,也包括在用户名和密码的输入文本框,还要包括提交按钮。登录界面如图5-3所示。图5-3 登录页面登录界面中,用户输入用户名、密码和验证码。Login.aspx界面的后台处理程序会调用后台的数据验证方法来查询该用户是否已经在该网站进行过注册,而验证码的应用可以防止某些暴力破解软件恶意破坏用户的密码。5.2.3 主页面的设计及实现主界面的设计如下图所示,登录时默认会打开主界面,主界面上最上面的是登录、查询、退出、导航栏等,中间有电影的分类显示,以及搜索人数最多的热门搜索电影,下部分显示的内容根据用户的登录与否显示的是不一样的,若用户没有

60、登录则显示的是最新的电影信息,若用户已经登录则显示的是系统根据用户评分推荐出来的电影,主界面的右侧显示的是最新的一些影视资讯。整体的主界面采用的是div + css的布局,主要分为上、中、下三个部分,中间的用分为左右两个部分。如图5-4所示。图5-4 主界面5.2.4 热搜影片和最新电影显示设计及实现热搜影片和最新影片两部分主要是针对于没有登录的用户,由于用户没有进行登录操作,因此系统无法得知该用户的评分数据以及该用户的喜好,所以此种情况下系统只能将一些搜索量较高的或最新的电影推荐给该用户。5.2.5 所有影片和分类影片的设计与实现系统的所有影片选项用来实现查看所有电影,通过它可以查看目前的所有电影,分类查看是为了方便用户查看某一类别的电影。(1)所有影片显示 在图5-4中,当点击所有影片显示时,进入影片显示页面,用户可根据时间和评分两种方式,排序显示所有影片。如图5-5所示。图5-5 显示所有影片(2)分类影片显示在图5-4中,当点击所有影片显示时,进入分类影片显示页面,用户也可根据页面显示的各种电影类别,选择所需,单击进入显示页面,根据用户的选择显示影片。如图5-6所示。图5-6 分类显示影片5.2.6 影片推荐的设计与实现(1)推荐影片显示用户u的专家级别的计算公式:用来反映某个用户u对电影评分准确的准确程度。如公式(5-1)所示。 (5-1)用户u对电影i评分正确

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!