商品推荐系统的vb设计.docx
《商品推荐系统的vb设计.docx》由会员分享,可在线阅读,更多相关《商品推荐系统的vb设计.docx(22页珍藏版)》请在冰豆网上搜索。
商品推荐系统的vb设计
中南大学
课程设计报告
题目数据库课程设计
学生姓名
学号
指导教师
学院信息科学与工程学院
专业班级
完成时间
一.目的及要求
培养学生熟练掌握一种大型数据库系统的开发环境如ORACLE9i/10g/11g(或更高版本)或SQLSERVER2005/2008/2010(或更高版本),对其底层的数据库触发器与程序过程有深入的了解,了解并基本掌握面向数据库的C/S模式的通用开发工具如VB、PB或DELPHI或直接用语言C#或Java开发C/S模式的系统;或者采用ASP、JSP、PHP等开发技术来开发B/S模式的系统,熟悉开发一个小型应用系统的过程及主要技术。
其中基于.Net平台与J2EE平台工具套件中同时支持B/S模式与C/S模式的开发。
二.开发任务概述
本次设计主要是开发商品荐购系统。
其业务需求如下:
某大型网购公司已积累了稳定的用户群,为了与用户加强联系、广泛收集商品信息、给用户更好的价格,特推出商品荐购系统,即由用户推荐网上其它门店的商品明细(含价格),系统管理员通过系统获取荐购的商品信息后会通过各种渠道进行核对(主要是人工方法,系统辅助商品比较分析),如果信息属实,系统管理员会给用户(会员)增长积分(标准为1-10分),并根据会员积分的情况进行升级(如原来0分为初级会员,荐购成功积累大于等于10分,升级为1级会员,如积累100分及以上,则为10级会员,其它级别依此类推),再根据会员级别允许会员以级别相应折扣购买推荐的或其它用户推荐的商品,如初级为全价,1级为9折、5级为5折可购买自荐商品或其它用户荐购商品;6级为4折、9级为1折可购买自荐商品;10级及以上直接免费获得自荐商品。
商品荐购系统的功能主要包括
1.用户或会员操作功能:
(1)用户注册、用户登录、用户信息维护等;
(2)商品搜索、比较、排名、推荐等;
2.管理员操作功能:
(1)推荐商品采纳、会员积分、会员升级;
(2)商品类别维护、类似商品信息统一等;
(3)商品搜索、比较、排名;
(4)操作日志记录、查询与维护等。
可采用C/S模式也可以采用B/S模式,还可以采用C/S模式与B/S模式相结合的汇合模式如管理员功能中商品类别维护、类似商品信息统一等;操作日志记录、查询与维护等用C/S模式,其它功能用B/S模式等,混合模式只要实现部分功能其程序部分的成绩将是良好及以上。
三.课程设计要求
(1)提出技术方案,主要包括开发与运行模式选择、开发工具、数据库管理系统及其主要的特性保证。
(课程设计报告中体现)
(2)对系统的功能和数据进行需求分析、总体设计和详细设计,并提交设计报告。
报告中数据库设计部分要包含系统E-R图、数据字典、表、视图、索引、文件组织结构等的定义和描述,还需要包括对象命名法。
(3)程序实现各项功能,在课程设计报告中要反映实现过程中采用的关键技术和主要程序流程以及主要的操作界面。
(4)数据库后台最好有触发器与多个过程,数据结构中最好有主明细结构(即主表与明细表联动)。
4.系统设计
1.总体功能结构
商品荐购系统,包括主要部分:
商品搜索、商品推荐、信息管理。
各业务包括的主要内容有:
①商品搜索:
用户可根据输入商品的一些关键字,对本公司的商品进行搜索查询,该关键字可以是商品的品牌,产商,型号。
②商品推荐:
用户可以推荐本公司的商品,也可以查看其他用户推荐的商品。
③信息管理:
管理员在此管理页面中管理用户,增加用户,设置用户权限、输入和修改管理员基本资料,修改个人的密码。
2.系统概要分析:
3.系统的功能性需求
商品查询根据商品的品牌、产商、型号的关键字搜索商品
商品推荐用户根据个人喜好推荐自己喜欢的商品
信息管理对用户和管理员信息的增加、删除、修改
系统管理包含操作员的增加,删除,权限的分配
4.系统的非功能性分析:
a:
用户界面需求
简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。
B:
软硬件环境需求
软件环境:
microsoftVisualbasic6.0运行环境
microsoftaccess2003数据库
硬件环境:
586以上计算机
C:
软件质量需求
易用、健壮、兼容性好、运行稳定、有一定安全保障
5.系统总体功能模块
商品荐购系统总共划分为:
用户登陆模块、用户注册、用户主界面模块、管理员登陆模块、管理员主界面模块。
如图所示:
6.商品荐购系统数据流图:
系统流程图
7.数据字典
任何字典最主要的用途都是供人查阅条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。
数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,而没有数据流图数据字典也难以发挥作用。
只有两者在一起,才能共同构成系统的规格说明。
绘制dfd之后,只是对数据和彼此之间的联系进行了说明。
为进一步明确数据的详细内容和数据加工过程,应将数据流图中的全部数据流及其组成的数据元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计的进行。
商品荐购系统第一阶段数据字典:
数据流名:
(商品查询)查询请求
来源:
用户输入的数据
输出:
商品信息
组成:
商品的品牌、型号、产商、价
5.数据库设计
1.数据表设计:
2.商品荐购系统数据表
管理员登录表g_20707
列名
字符类型
长度
是否为空
Name
文本
10
Notnull
Pwd
数字
10
Notnull
用户信息表user_20707
列名
字符类型
长度
是否为空
Name
文本
10
Notnull
Pwd
数字
10
Notnull
Sex
文本
2
Age
数字
3
Phone
数字
8
Address
文本
10
Cum
数字
4
Rank
数字
4
ID
数字
18
Notnull
商品信息表shangpin_20707
列名
字符类型
长度
是否为空
Shangpinming
文本
12
Notnull
Jiage
数字
4
Zhonglei
文本
8
Chandi
文本
10
六.软件界面
1.用户登录
2.用户注册界面
3.用户信息界面
4.密码修改
5.用户信息修改
6.商品推荐界面
7.管理员界面
七.部分源代码
以下为已实现功能的源代码
1.用户登录
PrivateSubForm_Load()
Form1.Show
Form2.Hide
Form3.Hide
EndSub
PrivateSubCommand1_Click()
Form1.Hide
Form2.Show
EndSub
PrivateSubCommand2_Click()
OnErrorResumeNext
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:
\Users\Administrator\Desktop\付永军\u_20707.mdb;PersistSecurityInfo=False"
Conn.Open
Ifrs.State=1Thenrs.Close
rs.Open"selectname,pwdfromuser_20707",Conn,adOpenKeyset,adLockPessimistic
Ifuserstyle.Text="会员"Then
Adodc1.RecordSource="select*fromuser_20707wherename='"&Text1.Text&"'"
Adodc1.Refresh
IfAdodc1.Recordset.EOF=TrueThen
MsgBox"没有该用户",,"错误提示"
Else
IfText2.Text=Adodc1.Recordset.Fields("pwd")Then
MsgBox"登陆成功"
UnloadMe'关闭登录对话框
Form1.Hide
Form3.Show
Else
MsgBox"密码错误"
EndIf
EndIf
EndIf
Ifuserstyle.Text="管理员"Then
Adodc1.RecordSource="select*fromg_20707wherename='"&Text1.Text&"'"
Adodc1.Refresh
IfAdodc1.Recordset.EOF=TrueThen
MsgBox"没有该用户",,"错误提示"
Else
IfText2.Text=Adodc1.Recordset.Fields("pwd")Then
MsgBox"登陆成功"
'关闭登录对话框
UnloadMe
Form1.Hide
Form4.Show
Else
MsgBox"密码错误"
EndIf
EndIf
EndIf
EndSub
2.用户注册
DimConnAsNewADODB.Connection
DimconStrAsString
DimSqlAsString
DimrsAsNewADODB.Recordset
PrivateSubCommand1_Click()
'OnErrorResumeNext
conStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:
\Users\Administrator\Desktop\付永军\u_20707.mdb;PersistSecurityInfo=False"
'Conn.Properties("JetOLEDB:
MaxBufferSize")=256
Conn.OpenconStr
Conn.Execute"insertintouser_20707(name,pwd,sex,age,phone,address,cum,rank,ID)values('"&Text1.Text&"','"&Text2.Text&"','"&Text3.Text&"','"&Text4.Text&"','"&Text5.Text&"','"&Text6.Text&"','0','0','"&Text7.Text&"')"
MsgBox"注册成功!
",,"提示信息"
Form1.Show
Form2.Hide
Conn.Close
EndSub
PrivateSubCommand2_Click()
Form1.Show
Form2.Hide
EndSub
PrivateSubForm_Unload(CancelAsInteger)
rs.Close
Conn.Close
Setrs=Nothing
SetConn=Nothing
EndSub
3.用户密码修改
DimConnAsNewADODB.Connection
DimconStrAsString
DimSqlAsString
DimrsAsNewADODB.Recordset
PrivateSubCommand1_Click()
OnErrorResumeNext
conStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:
\Users\Administrator\Desktop\付永军\u_20707.mdb;PersistSecurityInfo=False"
'Conn.Properties("JetOLEDB:
MaxBufferSize")=256
Conn.OpenconStr
Adodc4.RecordSource="select*fromuser_20707wherepwd='"&Text2.Text&"'"
Adodc4.Refresh
IfText1.Text=""Then
MsgBox"请输入用户名!
",,"提示信息"
Else
IfText3=Text4Then
Conn.Execute"updateuser_20707setpwd='"&Text4.Text&"'wherename='"&Text1.Text&"'"
MsgBox"密码修改成功!
",,"提示信息"
Conn.Close
Form4.Hide
Form1.Show
Else
MsgBox"重新输入密码!
",,"提示信息"
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
Form6.Hide
Form3.Show
EndSub
PrivateSubForm_Load()
EndSub
4.用户信息修改
PrivateSubCommand1_Click()
OnErrorResumeNext
conStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:
\Users\Administrator\Desktop\付永军\u_20707.mdb;PersistSecurityInfo=False"
'Conn.Properties("JetOLEDB:
MaxBufferSize")=256
Conn.OpenconStr
IfText1.Text<>""Then
Conn.Execute"updateuser_20707setname='"&Text7.Text&"'wherepwd='"&Text17.Text&"'"
EndIf
IfText8.Text<>""Then
Conn.Execute"updateuser_20707setage='"&Text8.Text&"'wherepwd='"&Text17.Text&"'"
EndIf
IfText9.Text<>""Then
Conn.Execute"updateuser_20707setsex='"&Text9.Text&"'wherepwd='"&Text17.Text&"'"
EndIf
IfText10.Text<>""Then
Conn.Execute"updateuser_20707setaddress='"&Text10.Text&"'wherepwd='"&Text17.Text&"'"
EndIf
IfText11.Text<>""Then
Conn.Execute"updateuser_20707setphone='"&Text11.Text&"'wherepwd='"&Text17.Text&"'"
EndIf
IfText12.Text<>""Then
Conn.Execute"updateuser_20707setID='"&Text12.Text&"'wherepwd='"&Text17.Text&"'"
EndIf
MsgBox"修改成功!
",,"提示信息"
Conn.Close
Form5.Hide
Form3.Show
EndSub
PrivateSubCommand2_Click()
Form5.Hide
Form3.Show
EndSub
PrivateSubForm_Load()
EndSub
八.实验总结
在本次课程设计期间我们学到了许多计算机专业知识,使我们受益匪浅。
通过“商品推荐系统”的设计,进一步掌握了文献检索、资料查询的基本方法以及获取新知识的能力,提高了计算机软、硬件设计、测试、分析和解决实际问题的能力,使我们的创新意识和专业素质得到了较大的提高。
了解到开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,我们实现了数据库的创建及数据的输入、浏览、维护和统计,使得系统具有功能强大,界面友好的特点。
虽然还用些功能没有实现,但我相信随着水平的不断提升,我以后一定会更好的完成这种类型的数据库的设计。