基于NET美食点评与推荐系统设计与实现.docx
- 文档编号:4026641
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:25
- 大小:1.60MB
基于NET美食点评与推荐系统设计与实现.docx
《基于NET美食点评与推荐系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于NET美食点评与推荐系统设计与实现.docx(25页珍藏版)》请在冰豆网上搜索。
基于NET美食点评与推荐系统设计与实现
基于.NET美食点评与推荐系统设计与实现
摘要:
日新月异的互联网发展使得人们的生活更加便利,已经影响到我们生活的方方面面,网络交流拥有高效便捷的优势,迅速渗透到各种各样的传统领域,因此根据二师大校园美食现状,开发一个美食点评与推荐系统,可以清楚地介绍各种美食,同时为美食爱好提供一个交流的平台。
美食点评与推荐系统的实现流程。
主要实现了会员的注册、登录,查看、搜索、点评、收藏美食、美食论坛、会员后台等功能。
通过后台管理模块可以实现管理员对会员、美食类别、美食、美食点评、论坛帖子的管理等功能。
以MicrosoftVisual2010作为搭建环境,采取ASP.NET技术,使用MicrosoftSQLServer2005数据库协调工作开发,做出来的整个网站操作十分简单,界面清楚,灵活,实用。
关键词:
美食点评与推荐系统;ASP;NET;SQLServer2005
Abstract:
RapiddevelopmentoftheInternetmakespeople'slifemoreconvenientandhasaffectedeveryaspectofourlives,theadvantageofnetworkcommunicationhaveefficient,rapidinfiltrateintoallkindsoftraditionalfield,soaccordingtothenormaluniversitycampusfoodsituation,todevelopafoodreviewandrecommendationsystem,canclearlyintroduceallkindsoffood,atthesametimeprovideacommunicationplatformfortabledelicaciesfans.
Theimplementationprocessoffoodreviewandrecommendationsystem.Mainlyrealizedmembers'registration,login,view,search,review,collectfood,cateBBS,memberbackgroundandotherfunctions.Throughthebackgroundmanagementmodule,theadministratorcanrealizethemanagementfunctionsofmembers,foodcategories,food,foodreviewsandBBSposts.In2010asthebuiltenvironment,MicrosoftVisualASP.NETtechnology,usingMicrosoftSQLServer2005databasewithcoordinationdevelopment,maketheentiresiteoperationisverysimple,clearinterface,flexibleandpractical.
Keywords:
FoodreviewAandRecommendationSystem;ASP;NET;SQLServer2005
1绪论
1.1课题开发背景
随着现在科技技术的不断创新,移动终端的硬件、软件不断发展,智能移动终端开始畅想九州。
随着网络在中国的大面积的使用,互联网信息的资源日益增多,大数据的问题简直大海捞针似的,人们花大量的时间去搜索、浏览自己需要的信息。
为节约时间,早已出现网上购物,人们在网上购物基础上改变到网上订餐,中国人就是喜欢随波逐流,越来越多的中国人逐渐习惯于网上订餐,习惯于鼠标点击下订单,送货上门的懒人的购物方式正在迅速发展。
“金杯·银杯抵不过老百姓的口碑”这种观念在逐渐的淡化,然而取而代之的是网上的美食点评,美食点评可以实现的功能已经越来越多,从最开始单一的美食信息发布,到如今的在线美食显示、在线美食评价、在线美食推荐功能等等,几乎美食点评的这些操作差不多都能在互联网上灵活的运行,所以,结合二师大校园周边美食餐饮现状,我选择美食点评与推荐系统这个课题。
1.2课题开发意义
现如今,是移动互联网的时代,日新月异的互联网发展使得人们的生活更加便利,点评网就是其中的代表之一。
基于口碑相传的生活消费的点评网站,如今正处于互联网时代,层出不穷的花样比比皆是,但正真能高效,精准指引给众多的网友方便快捷的美食消费的生活平台并没有哪个网站成为美食网站的龙头老大。
所以广大用户可以获得信息的途径很少,想要快速找到自己需求的美食需要花很长的时间,为了解决这种类似的问题,加快发展二师大校园美食文化的传播力度,我们有必要设计一个的美食点评与推荐系统。
针对网站为用户提供了美食展示、点评、搜索、收藏,美食推荐,美食论坛交流,会员注册登陆等基本功能。
用户可以浏览到每样菜的详细介绍,为用户提供方便的交流平台。
2系统开发工具及环境
2.1系统开发环境
硬件平台:
硬盘空间:
80G以上;
内存:
4G;
CPU:
Intel(R)Core(TM)i5-3230M@2.6GHz2.6GHz
操作系统:
Windows7
2.2开发环境的选择
开发前,第一个问题是,首先决定,有什么开发环境编写的系统?
目前常见的网络编程语言,主要是JSP,ASP,PHP,.NET几种。
有VisualStudio,Eclipse,JBuilder,这些都不是编程语言,但是当编程语言程序“集成开发工具”的建设,但他们也发挥在设计过程中一个非常重要的角色,因为正确的选择综合这可以加速编程,测试和调试,从而开发工具对整体进度产生决定性的影响。
2.3ADO.NET简介
ADO.NET可以实现不同的数据库调用同一个统一的数据库访问接口,ADO.NET是与C#和.NETFramework一起使用的类集的名称,用于以关系型的,面向表的格式访问数据,ADO.NET被集成到.NETFramework中,可以用于任何.NET语言,尤其是C#语言。
图2-1ADO.NET架体结构图
ADO.NET的构架分析。
ADO.NET构架的两个主要组件是DataProvider(数据库提供程序)和DataSet(数据集)。
数据库提供程序:
它能和数据库保持链接并且执行SQL命令,操纵数据集。
数据集:
能与数据库在断开链接的情况下进行数据库的操作。
2.4SqlServer简介
SQL语言,是结构化查询语言(StructuredQueryLanguage)的简称。
SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。
SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
很多数据库SQL语句重建及扩建计划,但包括选择,插入,更新,删除,创建,删除,其中包括标准的SQL命令仍然可以用来完成几乎所有的数据库操作。
3需求分析
3.1执行性分析
在系统研究和项目的实现过程中,撰写一份有条理而又清楚的需求文档是有一定的困难程度在里面。
因为很多小细节需要设计实现,一不小心就会产生错误,使接下来无法进行下一步的研究,因此很容易做出不明确的需求分析。
但是在开发过程中,必须要足以解决这种不明确的思想构思,然而客户给出明确的系统功能恰好是我们解决前面问题的重要信息,不然,就只有靠开发人员去揣摩的猜测,相当困难又特别花时间的一项脑力劳动。
其次,进行技术、经济和社会方面的分析,也是很有必要的!
项目研发必定会产生经济成本。
3.1.1技术可行性
整个项目以MicrosoftVisual2010作为搭建环境,采取ASP.NET技术,使用MicrosoftSQLServer2005数据库与MicrosoftVisual2010协调工作开发,做出来的整个网站操作十分简单,界面清楚,灵活,实用。
3.1.2经济可行性
其次,被开发的应用程序在开发过程中必然会经济成本。
那么成本与效益的分析,是我们开发前期分析的一部分。
该项目开发成功是否会很快受到用户们的热捧,也是我们考虑的一个因素。
由于该项目在技术上不是很复杂,需要开发者小,极短的开发周期,成本并不算高,所以推进了该项目的可开发性。
3.1.3操作可行性
目前,网络遍及千家万户,上网对人们来说再简单不过了,电子商务已经越来越发达,网上购物也变得越来越普遍,网上订餐也自然成了生活中的一个重要环节。
3.2项目的目标
美食点评与推荐系统的实现流程。
主要实现了会员的注册、登录,查看、搜索、点评、收藏美食,美食论坛,会员后台等功能。
通过后台管理模块可以实现管理员对会员、美食类别、美食、美食点评、论坛帖子的管理等功能。
3.3功能结构图
通过需求分析的一系列规划和研究,如下图所示:
图3-1总功能结构图
3.4功能需求具体描述:
具体功能描述如下:
前台会员模块:
会员注册登录:
实现会员的注册并且登录。
美食浏览:
提供美食列表,点击可以查看美食信息。
美食搜索:
提供美食按类型模糊搜索。
美食点评:
会员登录享用后,可以对美食进行点评。
美食收藏:
会员登录以后,看到自己喜欢的菜系可以收藏。
美食评分排名:
实现美食按用户的综合评分排名。
推荐美食:
实现推荐美食的列表显示,点击可以查看美食详情。
美食论坛:
设计论坛帖子显示窗口,可以自主发表论坛和回复帖子。
会员后台:
会员登录后可以进入会员中心,在会员中心可以查看并修改个人信息及个人登录密码,浏览收藏的美食等。
后台管理模块:
会员管理:
管理员可以通过此模块添加、查询、修改、删除会员信息。
美食类别管理:
管理员可以通过此模块添加、修改、删除美食类别信息。
美食管理:
管理员可以通过此模块添加、查询、修改、删除美食信息。
美食点评管理:
管理员可以通过此模块查看、删除美食点评。
帖子管理:
管理员可以通过此模块查看、删除会员发表的帖子。
系统管理:
管理员可以通过此模块修改个人登录密码。
4系统的总体设计与实现
软件需求分析完成后,软件设计就正式开始进行。
在软件开发过程中,设计阶段是最有创意空间。
当然,我们是在能实现的基础之上进行创意。
这个系统都是在需求分析阶段所产生的描述和恰当的方法能表达出来的设计方案。
该设计阶段是在需求分析的基础之上,设计符合条件的各种实体,还有他们本身之间的联系,为后面的逻辑结构设计做铺垫。
根据上面的设计规划出的实体有管理员实体、会员实体、美食类别实体、美食实体、美食点评实体、美食收藏实体、帖子实体、帖子回复实体。
4.1数据库实体设计
管理员实体包括管理员编号、登录名、密码三者,其实体属性图4-1所示:
图4-1管理员实体属性图
会员实体包括管理员登录名、登录密码、姓名、性别、注册时间、头像、联系方式、联系地址,其实体属性如图4-2所示:
图4-2会员实体属性图
美食类别实体包括类别编号、类别名称二者,其实体属性图4-3所示:
图4-3美食类别实体属性图
美食实体包括美食编号、美食名称、美食类别、美食图片、美食介绍、价格、是否推荐、发布时间,其实体属性图4-4所示:
图4-4美食实体属性图
美食点评实体包括编号、点评人、美食编号、星级、分数、内容、点评时间,其实体属性如图4-5所示:
图4-5美食点评实体属性图
美食收藏实体包括其中编号、收藏人、美食编号、收藏时间,其实体属性图4-6所示:
图4-6美食收藏实体属性图
帖子实体包括编号、主题、内容、浏览次数、发帖人、发布时间,其实体属性图4-7所示:
图4-7帖子实体属性图
帖子回复实体帖子实体包括编号、已评论帖子、回复内容、回复人、回复时间,其实体属性图4-8所示:
图4-8帖子回复实体属性图
4.2数据表设计
由前面的数据实体分析可建立管几张表,各表详细信息描述如下:
表3.1Admin表
列名
数据类型
长度
注释
adi
int
4
管理员编号
lname
varchar
50
登录名
pwd
varchar
50
密码
flag
int
4
标识
表3.2Members表
列名
数据类型
长度
注释
lname
varchar
50
登录名
pass
varchar
50
密码
mname
varchar
50
姓名
sex
varchar
10
性别
tel
varchar
50
联系方式
pic
varchar
50
照片
address
varchar
100
联系地址
regtime
datetime
8
注册时间
表3.3productType表
列名
数据类型
长度
注释
tid
int
4
类别编号
tname
varchar
50
类别名称
表3.4products表
列名
数据类型
长度
注释
pid
int
4
编号
pname
varchar
50
美食名称
tid
int
4
所属类别
pic
varchar
50
美食图片
price
decimal
9
价格
memo
ntext
16
美食介绍
flag
varchar
20
是否推荐
atime
datetime
8
发布时间
表3.5productReview表
列名
数据类型
长度
注释
id
int
4
编号
lname
varchar
50
点评人
pid
int
4
美食编号
star
varchar
50
星级
points
int
4
分数
memo
ntext
16
点评内容
atime
datetime
8
点评时间
表3.6Collect表
列名
数据类型
长度
注释
id
int
4
编号
lname
varchar
50
收藏人
pid
int
4
美食编号
atime
datetime
8
收藏时间
表3.7Reply表
列名
数据类型
长度
注释
aid
int
4
编号
title
varchar
150
主题
memo
ntext
16
内容
total1
int
4
浏览次数
lname
varchar
20
发贴人
atime
datetime
8
发布时间
表3.8Article表
列名
数据类型
长度
注释
rid
int
4
编号
aid
int
4
所属帖子
memo
ntext
16
回复内容
lname
varchar
50
回复人
atime
datetime
8
回复时间
5系统的详细设计
美食点评与推荐系统的实现流程。
主要实现了会员的注册、登录,查看、搜索、点评、收藏美食,美食论坛,会员后台等功能。
通过后台管理模块可以实现管理员对会员、美食类别、美食、美食点评、论坛帖子的管理等功能。
用户只要登录上去,就可以浏览到每样菜的详细介绍,为用户提供方便的交流平台。
5.1会员注册模块
此模块实现会员的注册,会员必须注册后才能登录会员后台,登录名不允许重复。
图5-1会员注册图
主要实现代码如下:
///
///注册
///
protectedvoidbtnSave_Click(objectsender,EventArgse)
{
//验证登录名是否已经存在
if(DbHelperSQL.Exists("selectcount(*)frommemberswherelname='"+txt_lname.Text+"'"))
{
MessageBox.Show(this,"该用户名已存在,请重新输入!
");
return;
}
if(txt_pass2.Text!
=txt_pass.Text)
{
MessageBox.Show(this,"两次密码不一致,请确认!
");
return;
}
//设置Sql
StringBuilderstrSql=newStringBuilder();
strSql.Append(@"insertintomembers(lname,pass,mname,sex,tel,pic,address)");
strSql.Append(@"values(@lname,@pass,@mname,@sex,@tel,@pic,@address)");
//设置参数
SqlParameter[]parameters=newSqlParameter[]{
newSqlParameter("@lname",SqlDbType.VarChar,50),
newSqlParameter("@pass",SqlDbType.VarChar,50),
newSqlParameter("@mname",SqlDbType.VarChar,50),
newSqlParameter("@sex",SqlDbType.VarChar,20),
newSqlParameter("@tel",SqlDbType.VarChar,50),
newSqlParameter("@pic",SqlDbType.VarChar,50),
newSqlParameter("@address",SqlDbType.VarChar,100)};
parameters[0].Value=txt_lname.Text;
parameters[1].Value=txt_pass.Text;
parameters[2].Value=txt_mname.Text;
parameters[3].Value=rtsex.SelectedValue;
parameters[4].Value=txt_tel.Text;
stringaddrpic="";
if(fppic.HasFile)
{
stringname=this.fppic.PostedFile.FileName;
inti=name.LastIndexOf('.');
stringextname=name.Substring(i);
stringfilename=DateTime.Now.ToString("yyyyMMddhhmmssfff");
stringpath=filename+extname;
stringsavePath=Server.MapPath(@"uploads\"+filename+extname);
fppic.PostedFile.SaveAs(savePath);
addrpic=path;
}
parameters[5].Value=addrpic;
parameters[6].Value=txt_address.Text;
//提交到数据库
DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
MessageBox.ShowAndRedirect(this,"恭喜您注册成功!
","default.aspx");
}
5.2美食列表模块
此模块显示美食列表,美食列表显示采用Repeater数据控件,数据填充代码放在bind方法中,默认每页显示20条信息,如果超出将会自动显示出分页。
图5-2美食列表图
主要实现代码如下:
///
///绑定数据
///
protectedvoidbind()
{
DataPagedp=newDataPage();
stringwhere="1=1";
if(Request.QueryString["tid"]!
=null)
{
where+="andtid="+Request.QueryString["tid"];
}
if(Request.QueryString["k"]!
=null)
{
where+="andpnamelike'%"+Request.QueryString["k"]+"%'";
}
intrecordcount;
intpagesize=this.AspNetPager1.PageSize;
intpageindex=this.AspNetPager1.CurrentPageIndex;
Repeater1.DataSource=dp.pagelist(pagesize,pageindex,"products","*","pid",where,"piddesc",outrecordcount);
Repeater1.DataBind();
}
5.3美食详情模块
此模块显示美食详情和美食评论列表,会员登录后还可以收藏美食,发表评论。
图5-3美食详情图
发表点评代码如下:
///
///发表
///
///
///
protectedvoidbtnMess_Click(objectsender,EventArgse)
{
if(Session["lname"]==null)
{
MessageBox.Show(this,"必须登录后才能进行此操作!
");
return;
}
//设置Sql
StringBuilderstrSql=newStringBuilder();
strSql.Append(@"insertintoProductReview(lname,pid,star,points,memo,atime)");
strSql.Append(@"values(@lname,@pid,@star,@points,@memo,@atime)");
//设置参数
SqlParameter[]parameters=newSqlParameter[]{
newSqlParameter("@lname",SqlDbTyp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 NET 美食 点评 推荐 系统 设计 实现