1、基于NET美食点评与推荐系统设计与实现基于.NET美食点评与推荐系统设计与实现摘 要:日新月异的互联网发展使得人们的生活更加便利,已经影响到我们生活的方方面面,网络交流拥有高效便捷的优势,迅速渗透到各种各样的传统领域,因此根据二师大校园美食现状,开发一个美食点评与推荐系统,可以清楚地介绍各种美食,同时为美食爱好提供一个交流的平台。美食点评与推荐系统的实现流程。主要实现了会员的注册、登录,查看、搜索、点评、收藏美食、美食论坛、会员后台等功能。通过后台管理模块可以实现管理员对会员、美食类别、美食、美食点评、论坛帖子的管理等功能。以Microsoft Visual 2010作为搭建环境,采取ASP.
2、NET技术,使用Microsoft SQL Server 2005数据库协调工作开发,做出来的整个网站操作十分简单,界面清楚,灵活,实用。关键词:美食点评与推荐系统;ASP;NET;SQL Server2005Abstract:Rapid development of the Internet makes peoples life more convenient and has affected every aspect of our lives, the advantage of network communication have efficient, rapid infiltrate i
3、nto all kinds of traditional field, so according to the normal university campus food situation, to develop a food review and recommendation system, can clearly introduce all kinds of food, at the same time provide a communication platform for table delicacies fans.The implementation process of food
4、 review and recommendation system. Mainly realized members registration, login, view, search, review, collect food, cate BBS, member background and other functions. Through the background management module, the administrator can realize the management functions of members, food categories, food, foo
5、d reviews and BBS posts. In 2010 as the built environment, Microsoft Visual ASP.NET technology, using Microsoft SQL Server 2005 database with coordination development, make the entire site operation is very simple, clear interface, flexible and practical.Keywords: Food review Aand Recommendation Sys
6、tem;ASP;NET;SQL Server 2005 1 绪论1.1 课题开发背景随着现在科技技术的不断创新,移动终端的硬件、软件不断发展,智能移动终端开始畅想九州。随着网络在中国的大面积的使用,互联网信息的资源日益增多,大数据的问题简直大海捞针似的,人们花大量的时间去搜索、浏览自己需要的信息。为节约时间,早已出现网上购物,人们在网上购物基础上改变到网上订餐,中国人就是喜欢随波逐流,越来越多的中国人逐渐习惯于网上订餐,习惯于鼠标点击下订单,送货上门的懒人的购物方式正在迅速发展。“金杯银杯抵不过老百姓的口碑”这种观念在逐渐的淡化,然而取而代之的是网上的美食点评,美食点评可以实现的功能已经越来越
7、多,从最开始单一的美食信息发布,到如今的在线美食显示、在线美食评价、在线美食推荐功能等等,几乎美食点评的这些操作差不多都能在互联网上灵活的运行,所以,结合二师大校园周边美食餐饮现状,我选择美食点评与推荐系统这个课题。1.2 课题开发意义现如今,是移动互联网的时代,日新月异的互联网发展使得人们的生活更加便利,点评网就是其中的代表之一。基于口碑相传的生活消费的点评网站,如今正处于互联网时代,层出不穷的花样比比皆是,但正真能高效,精准指引给众多的网友方便快捷的美食消费的生活平台并没有哪个网站成为美食网站的龙头老大。所以广大用户可以获得信息的途径很少,想要快速找到自己需求的美食需要花很长的时间,为了解
8、决这种类似的问题,加快发展二师大校园美食文化的传播力度,我们有必要设计一个的美食点评与推荐系统。针对网站为用户提供了美食展示、点评、搜索、收藏,美食推荐,美食论坛交流,会员注册登陆等基本功能。用户可以浏览到每样菜的详细介绍,为用户提供方便的交流平台。2 系统开发工具及环境2.1 系统开发环境硬件平台:硬盘空间: 80G以上;内存: 4G;CPU: Intel(R) Core(TM) i5-3230M 2.6GHz 2.6GHz操作系统:Windows 72.2 开发环境的选择开发前,第一个问题是,首先决定,有什么开发环境编写的系统?目前常见的网络编程语言,主要是JSP,ASP,PHP,.NET
9、几种。有Visual Studio,Eclipse, JBuilder,这些都不是编程语言,但是当编程语言程序“集成开发工具”的建设,但他们也发挥在设计过程中一个非常重要的角色,因为正确的选择综合这可以加速编程,测试和调试,从而开发工具对整体进度产生决定性的影响。2.3 ADO.NET简介ADO.NET可以实现不同的数据库调用同一个统一的数据库访问接口,ADO.NET 是与C#和.NET Framework一起使用的类集的名称,用于以关系型的,面向表的格式访问数据,ADO.NET被集成到.NET Framework中,可以用于任何.NET语言,尤其是C#语言。图2-1 ADO.NET架体结构图
10、 ADO.NET的构架分析。ADO.NET构架的两个主要组件是DataProvider(数据库提供程序)和DataSet(数据集)。数据库提供程序:它能和数据库保持链接并且执行SQL命令,操纵数据集。数据集:能与数据库在断开链接的情况下进行数据库的操作。2.4 Sql Server简介SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。SQL语言语句可以嵌套,这使他具有极
11、大的灵活性和强大的功能。很多数据库SQL语句重建及扩建计划,但包括选择,插入,更新,删除,创建,删除,其中包括标准的SQL命令仍然可以用来完成几乎所有的数据库操作。3 需求分析3.1 执行性分析在系统研究和项目的实现过程中,撰写一份有条理而又清楚的需求文档是有一定的困难程度在里面。因为很多小细节需要设计实现,一不小心就会产生错误,使接下来无法进行下一步的研究,因此很容易做出不明确的需求分析。但是在开发过程中,必须要足以解决这种不明确的思想构思,然而客户给出明确的系统功能恰好是我们解决前面问题的重要信息,不然,就只有靠开发人员去揣摩的猜测,相当困难又特别花时间的一项脑力劳动。其次,进行技术、经济
12、和社会方面的分析,也是很有必要的!项目研发必定会产生经济成本。3.1.1 技术可行性整个项目以Microsoft Visual 2010 作为搭建环境,采取ASP.NET技术,使用Microsoft SQL Server 2005数据库与Microsoft Visual 2010 协调工作开发,做出来的整个网站操作十分简单,界面清楚,灵活,实用。3.1.2 经济可行性其次,被开发的应用程序在开发过程中必然会经济成本。那么成本与效益的分析,是我们开发前期分析的一部分。该项目开发成功是否会很快受到用户们的热捧,也是我们考虑的一个因素。由于该项目在技术上不是很复杂,需要开发者小,极短的开发周期,成本
13、并不算高,所以推进了该项目的可开发性。3.1.3 操作可行性目前,网络遍及千家万户,上网对人们来说再简单不过了,电子商务已经越来越发达,网上购物也变得越来越普遍,网上订餐也自然成了生活中的一个重要环节。3.2 项目的目标美食点评与推荐系统的实现流程。主要实现了会员的注册、登录,查看、搜索、点评、收藏美食,美食论坛,会员后台等功能。通过后台管理模块可以实现管理员对会员、美食类别、美食、美食点评、论坛帖子的管理等功能。3.3 功能结构图通过需求分析的一系列规划和研究,如下图所示:图3-1 总功能结构图3.4 功能需求具体描述:具体功能描述如下: 前台会员模块:会员注册登录:实现会员的注册并且登录。
14、美食浏览:提供美食列表,点击可以查看美食信息。美食搜索:提供美食按类型模糊搜索。美食点评:会员登录享用后,可以对美食进行点评。美食收藏:会员登录以后,看到自己喜欢的菜系可以收藏。美食评分排名:实现美食按用户的综合评分排名。推荐美食:实现推荐美食的列表显示,点击可以查看美食详情。美食论坛:设计论坛帖子显示窗口,可以自主发表论坛和回复帖子。会员后台:会员登录后可以进入会员中心,在会员中心可以查看并修改个人信息及个人登录密码,浏览收藏的美食等。后台管理模块:会员管理:管理员可以通过此模块添加、查询、修改、删除会员信息。美食类别管理:管理员可以通过此模块添加、修改、删除美食类别信息。美食管理:管理员可
15、以通过此模块添加、查询、修改、删除美食信息。美食点评管理:管理员可以通过此模块查看、删除美食点评。帖子管理:管理员可以通过此模块查看、删除会员发表的帖子。系统管理:管理员可以通过此模块修改个人登录密码。4 系统的总体设计与实现软件需求分析完成后,软件设计就正式开始进行。在软件开发过程中,设计阶段是最有创意空间。当然,我们是在能实现的基础之上进行创意。这个系统都是在需求分析阶段所产生的描述和恰当的方法能表达出来的设计方案。该设计阶段是在需求分析的基础之上,设计符合条件的各种实体,还有他们本身之间的联系,为后面的逻辑结构设计做铺垫。根据上面的设计规划出的实体有管理员实体、会员实体、美食类别实体、美
16、食实体、美食点评实体、美食收藏实体、帖子实体、帖子回复实体。4.1 数据库实体设计管理员实体包括管理员编号、登录名、密码三者,其实体属性图4-1所示:图4-1 管理员实体属性图会员实体包括管理员登录名、登录密码、姓名、性别、注册时间、头像、联系方式、联系地址,其实体属性如图4-2所示:图4-2 会员实体属性图美食类别实体包括类别编号、类别名称二者,其实体属性图4-3所示:图4-3 美食类别实体属性图美食实体包括美食编号、美食名称、美食类别、美食图片、美食介绍、价格、是否推荐、发布时间,其实体属性图4-4所示:图4-4 美食实体属性图美食点评实体包括编号、点评人、美食编号、星级、分数、内容、点评
17、时间,其实体属性如图4-5所示:图4-5 美食点评实体属性图美食收藏实体包括其中编号、收藏人、美食编号、收藏时间,其实体属性图4-6所示:图4-6 美食收藏实体属性图帖子实体包括编号、主题、内容、浏览次数、发帖人、发布时间,其实体属性图4-7所示:图4-7 帖子实体属性图帖子回复实体帖子实体包括编号、已评论帖子、回复内容、回复人、回复时间,其实体属性图4-8所示:图4-8 帖子回复实体属性图4.2 数据表设计由前面的数据实体分析可建立管几张表,各表详细信息描述如下:表3.1 Admin表列名数据类型长度注释adiint4管理员编号lnamevarchar50登录名pwdvarchar50密码f
18、lagint4标识表3.2 Members表列名数据类型长度注释lnamevarchar50登录名passvarchar50密码mnamevarchar50姓名sexvarchar10性别telvarchar50联系方式picvarchar50照片addressvarchar100联系地址regtimedatetime8注册时间表3.3 productType表列名数据类型长度注释tidint4类别编号tnamevarchar50类别名称表3.4 products表列名数据类型长度注释pidint4编号pnamevarchar50美食名称tidint4所属类别picvarchar50美食图片p
19、ricedecimal9价格memontext16美食介绍flagvarchar20是否推荐atimedatetime8发布时间表3.5 productReview表列名数据类型长度注释idint4编号lnamevarchar50点评人pidint4美食编号starvarchar50星级pointsint4分数memontext16点评内容atimedatetime8点评时间表3.6 Collect表列名数据类型长度注释idint4编号lnamevarchar50收藏人pidint4美食编号atimedatetime8收藏时间表3.7 Reply表列名数据类型长度注释aidint4编号titl
20、evarchar150主题memontext16内容total1int4浏览次数lnamevarchar20发贴人atimedatetime8发布时间表3.8 Article表列名数据类型长度注释ridint4编号aidint4所属帖子memontext16回复内容lnamevarchar50回复人atimedatetime8回复时间5 系统的详细设计美食点评与推荐系统的实现流程。主要实现了会员的注册、登录,查看、搜索、点评、收藏美食,美食论坛,会员后台等功能。通过后台管理模块可以实现管理员对会员、美食类别、美食、美食点评、论坛帖子的管理等功能。用户只要登录上去,就可以浏览到每样菜的详细介绍,
21、为用户提供方便的交流平台。5.1 会员注册模块此模块实现会员的注册,会员必须注册后才能登录会员后台,登录名不允许重复。图5-1 会员注册图主要实现代码如下: / / 注册 / protected void btnSave_Click(object sender, EventArgs e) /验证登录名是否已经存在 if (DbHelperSQL.Exists(select count(*) from members where lname = + txt_lname.Text + ) MessageBox.Show(this, 该用户名已存在,请重新输入!); return; if (txt_
22、pass2.Text!=txt_pass.Text) MessageBox.Show(this, 两次密码不一致, 请确认!); return; /设置Sql StringBuilder strSql = new StringBuilder(); strSql.Append(insert into members ( lname,pass,mname,sex,tel,pic,address ) ); strSql.Append( values (lname,pass,mname,sex,tel,pic,address); /设置参数 SqlParameter parameters = new
23、SqlParameter new SqlParameter(lname, SqlDbType.VarChar,50), new SqlParameter(pass, SqlDbType.VarChar,50), new SqlParameter(mname, SqlDbType.VarChar,50), new SqlParameter(sex, SqlDbType.VarChar,20), new SqlParameter(tel, SqlDbType.VarChar,50), new SqlParameter(pic, SqlDbType.VarChar,50), new SqlParam
24、eter(address, SqlDbType.VarChar,100) ; parameters0.Value =txt_lname.Text; parameters1.Value =txt_pass.Text; parameters2.Value =txt_mname.Text; parameters3.Value =rtsex.SelectedValue; parameters4.Value =txt_tel.Text; string addrpic = ; if (fppic.HasFile) string name = this.fppic.PostedFile.FileName;
25、int i = name.LastIndexOf(.); string extname = name.Substring(i); string filename = DateTime.Now.ToString(yyyyMMddhhmmssfff); string path = filename + extname; string savePath = Server.MapPath(uploads + filename + extname); fppic.PostedFile.SaveAs(savePath); addrpic = path; parameters5.Value = addrpi
26、c; parameters6.Value =txt_address.Text; /提交到数据库 DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); MessageBox.ShowAndRedirect(this, 恭喜您注册成功!, default.aspx); 5.2 美食列表模块此模块显示美食列表,美食列表显示采用Repeater数据控件,数据填充代码放在bind方法中,默认每页显示20条信息,如果超出将会自动显示出分页。图5-2 美食列表图主要实现代码如下: / / 绑定数据 / protected void bind() Dat
27、aPage dp = new DataPage(); string where = 1=1 ; if(Request.QueryStringtid!=null) where += and tid= + Request.QueryStringtid; if(Request.QueryStringk!=null) where += and pname like % + Request.QueryStringk + % ; int recordcount; int pagesize = this.AspNetPager1.PageSize; int pageindex =this.AspNetPag
28、er1.CurrentPageIndex; Repeater1.DataSource =dp.pagelist(pagesize, pageindex, products, * , pid, where, pid desc, out recordcount); Repeater1.DataBind();5.3 美食详情模块此模块显示美食详情和美食评论列表,会员登录后还可以收藏美食,发表评论。图5-3 美食详情图发表点评代码如下: / / 发表 / / / protected void btnMess_Click(object sender, EventArgs e) if (Sessionln
29、ame = null) MessageBox.Show(this, 必须登录后才能进行此操作!); return; /设置Sql StringBuilder strSql = new StringBuilder(); strSql.Append(insert into ProductReview ( lname,pid,star,points,memo,atime ) ); strSql.Append( values (lname,pid,star,points,memo,atime); /设置参数 SqlParameter parameters = new SqlParameter new SqlParameter(lname, SqlDbTyp
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1