数据库课程设计网上购物系统.docx
《数据库课程设计网上购物系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计网上购物系统.docx(21页珍藏版)》请在冰豆网上搜索。
![数据库课程设计网上购物系统.docx](https://file1.bdocx.com/fileroot1/2023-1/26/715d99ec-4969-4d58-9de6-4d28ab0406cc/715d99ec-4969-4d58-9de6-4d28ab0406cc1.gif)
数据库课程设计网上购物系统
学号:
课程设计
题目
网上购物系统
教学院
信息工程学院
专业
计算机科学与技术
班级
XXXXX
姓名
XXX
指导教师
XXXX
20年月日
数据库系统课程设计任务书
一、设计题目:
网上购物系统
二、设计目的
1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养学生综合运用所学知识独立完成课题的能力。
3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
三、设计要求
1.可组成设计小组,小组成员分工协作完成。
要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。
2.查阅相关资料,自学具体课题中涉及到的新知识。
3.采用结构化、模块化程序设计方法,功能要完善,界面要美观。
4.所设计的系统原则上要能够运行无误,结果准确。
5.按要求写出课程设计报告,并于设计结束后1周内提交。
其主要内容包括:
封皮;课程设计任务书;指导教师评语与成绩;目录、概述、软件总体设计、详细设计、软件的调试、总结、致谢、参考文献、附录:
带中文注释的程序清单。
报告一律用A4纸打印,中文字体为宋体,西文字体用TimeNewRoma,一律用小四号字,行距采用“固定值”20磅,首行缩进2字符。
总体设计应配合软件总体模块结构图来说明软件应具有的功能。
详细设计应用传统或N-S流程图和屏幕抓图说明,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。
四、设计内容
1.注册和登录:
实现用户的注册、登录等功能。
2.用户和角色管理:
实现用户、角色的管理。
3.浏览、购物及订单:
实现用户浏览、购买、定购、评论商品等功能。
4.商品查询:
实现商品的简单查询功能和高级查询功能。
5.用户信息中心:
为用户提供各种各样的操作。
6.商品及订单管理模块:
实现商品种类、商品、订单、评论的管理等功能。
7.商城前台模块:
为用户浏览、购买商品担供一个完整的商城。
五、课程设计工作量
由于是设计小组团结协作完成设计任务,一般每人的程序量在1000行有效程序行左右,不得抄袭。
六、课程设计工作计划
2010年12月15日,指导教师讲课,学生根据题目准备资料;
2010年12月16日,设计小组进行总体方案设计和任务分工;
2010年12月18日~2010年12月23日,每人完成自己承担的程序模块的设计、编码、测试;
2010年12月25日~2010年12月25日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;
2010年12月25日~2010年12月25日,验收、撰写报告;
2010年12月25日~2010年12月25日,答辩及总结。
教研室主任签字:
年月日
1概述
1.1系统的研究背景
在科学技术日新月异的今天,计算机已逐步渗入各个领域,无论是学习,工作,还是娱乐都普及了计算机的使用,而随着网络的开通、并与Internet连接更让我们社会成为信息化的时代,人们不再需要浪费太多的时间去手工的获得信息,只要做在家中轻点几下鼠标不但能轻松获得各种信息,而且能够购买到自己需要的商品,既摆脱了时间和空间的限制又节约了大量的时间,因此熟练使用计算机及网络,已成为人们进入现代社会的必备技能。
网上购物系统正是在这种情况下诞生并逐渐发展起来的,它已成为我们进行商品交易中不可缺少的部分。
网上购物系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求应用程序功能完备,操作简单等。
本系统是在分析了现行网上购物中存在的问题的基础上,结合数据库系统开发的概念、结构及系统开发的基本原理和方法,开发的一套网上购物系统。
根据实际情况,由目前各功能需求和公司里的情况而设计的这套系统。
全文共分为课题研究的意义、开发环境、系统的实现、性能测试与分析以及结束语等章节,详细地阐述了本系统开发的目的、过程。
商品销售管理系统是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。
商品销售管理系统利用计算机的硬件和软件,手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存、维护和使用。
因此商品销售管理系统是一个信息处理系统。
商品销售管理系统作为各项业务、技术、工作自动化及高水平管理的方法和模式,正在得到越来越广泛的应用。
早期的商品销售管理系统通常是以各单位为主体,独自进行开发和应用。
从技术上看,大体是以局域网或客户机/服务器模式组成应用系统平台,在操作系统和数据库管理系统的平台上开发应用软件系统。
但是,由于技术的发展和进步以及应用、管理和数据共享的需要等诸多原因,把分散开发且分布在各个地域的独立的管理信息系统互相连接起来,实现系统硬件、系统软件、应用软件及数据的共享,已经成为越来越迫切的任务。
1.2计算机在商品销售管理中的地位
商品销售行业的系列竞争使得争取顾客资源,增加业绩,提高销售数量,制定正确的营销策略已经成为一项重要的任务,而借助于当前蓬勃发展的IT工具来拓展销售能力,创作客观的经济效益已经成为许多公司企业的首选。
作为一有效的统计分析手段,计算机管理系统具有明显的优势,它在数据保存、数据交换等方面均能够做到快速可靠,是手工操作所不能完成的。
1.3系统的主要内容
1.4设计环境
1.软件环境:
1)MicrosoftSQLServer2000
2)VisulaStudio2008
3)WindowsXP操作系统
2.硬件环境:
普通PC机
2数据库设计
2.1需求分析
1)数据需求
管理员:
管理员,管理员密码;
会员:
会员号,会员名,会员密码,会员年龄,会员邮箱,会员地址,电话号码;
商品:
商品号,商品类别号,商品名称,商品价格,商品信息;
商品类别:
类别号,类别名;
订单:
会员号,会员名,订单号,商品名称,商品价格;
评价:
会员号,商品号,评价内容;
购物车:
会员号,商品号,商品名称,商品价格。
2)系统功能需求分析
首先,我们这次设计的事网上服装店,它是将ASP.NET和数据库综合应用到电子商务上的应用,所以要求用户可以通过浏览器访问系统、订购商品,对系统的管理也是通过浏览器来完成的。
其次,网店必须有以下基本的功能:
1 用户注册
用户必须在网上购物系统的主界面进行注册,才能进行商品的购置。
在注册时用户需填会员的大致信息(会员号,会员名,会员密码,会员年龄,会员邮箱,会员地址,电话号码等),对客户的相关信息的信息(允许项)可以进行修改。
2 网上购物
用户进行注册后,可以查看网上服装店中服饰的供应,并有自己的需求就行订购图商城里的商品,可以反复订购。
3 查看以前用户订单
注册用户登陆系统后,可以自由的查看、修改用户信息,也可以查看以前在网上商城中选购的商品。
4 购物车
用户在选择自己如意的商品进行订购后,还可以查看当前所订购的商品,有会员自己独立的购物车。
5 系统的管理与维护
这里系统管理员可以进行登陆商品,会员,订单,商品类别(可以进行商品的删除、商品的修改、商品类别添加和删除等工作)。
3)系统开发的意义
Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:
利用Internet的技术和协议,建立各种企业内部网Internet,企业外部网,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。
而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:
电子商务。
当今比较流行的网上购物系统国外有“淘宝()”,国内有“当当()”。
它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。
设计中可以学习参考他们的思想,以及当初设计的初衷,还有现在在网上购物这个板块中成熟的典例和了解和其中的代码原理,如何巧妙的将他们结合到一起去,充分发挥他们的最大益处。
熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。
设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:
动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。
2.2数据库概念结构设计
2.3数据库逻辑结构设计
表2-1会员表(vip)
字段名
字段号
类型
是否主键
是否为空
会员号
vipID
char(16)
PM
会员名
vipName
char(16)
M
会员密码
vipPwd
char(16)
M
会员年龄
vipAge
char
(2)
会员邮箱
vipMail
char(16)
会员地址
vipAddress
char(30)
电话号码
vipTel
char(11)
表2-2商品表(goods)
字段名
字段号
类型
是否主键
是否为空
商品号
goodsID
char(8)
PM
商品类别号
goodsTypeID
varchar(8)
商品名称
goodsName
char(20)
M
商品价格
goodsPrice
char(4)
商品信息
goodsInfo
text
表2-3商品类别(goodsType)
字段名
字段号
类型
是否主键是否为空
商品类别号
goodsTypeID
varchar(8)
PM
商品类别名
goodsTypeName
char(10)
表2-4管理员表(admin)
字段名
字段号
类型
是否主键
是否为空
管理员名
admin
char(16)
PM
管理员密码
adminPwd
char(16)
M
表2-5评价表(apprise)
字段名
字段号
类型
是否主键
是否为空
会员名
vipID
char(16)
PM
商品号
goodsID
char(8)
PM
评价信息
appriseInfo
text
表2-6订单表(orders)
字段名
字段号
类型
是否主键
是否为空
会员名
vipID
char(16)
PM
商品号
goodsID
char(8)
PM
订单号
orderID
char(15)
商品名称
goodsName
char(20)
商品价格
goodsPrice
char(4)
表2-7购物车表(goodsbag)
字段名
字段号
类型
是否主键
是否为空
会员名
vipID
char(16)
PM
商品号
goodsID
char(8)
PM
商品名称
goodsName
char(20)
商品价格
goodsPrice
char(4)
2.4数据库物理结构设计
2.5数据库实施
以下为数据库建立的代码
/*==============================================================*/
/*Table:
vip*/
/*==============================================================*/
createtablevip(
vipIDchar(16)notnull,
vipNamechar(16)notnull,
vipPwdchar(16)notnull,
vipAgechar
(2)null,
vipMailchar(16)null,
vipAddresschar(30)null,
vipTelchar(11)null,
constraintPK_VIPprimarykeynonclustered(vipID)
)
3系统功能设计
3.1数据流程
3.2实现功能
4、系统实施和测试
4.1界面设计及程序设计
系统登录模块设计
登录功能就是用户在打开登录界面时输入“用户号”和“密码”并选择角色后对用户的信息进行验证,然后根据判断语句判断用户角色以跳转到不同的界面。
这里有管理员和会员两种登录选项。
图4-1登录界面
代码设计部分:
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringuserName=UserName.Text;
stringuserPwd=UserPwd.Text;
stringselectStr="";
switch(userRole.Text)
{
case"管理员":
selectStr="select*fromadminwhereadminName='"+userName+"'";
//Label1.Text="sdfs";
break;
case"会员":
selectStr="select*fromvipwherevipID='"+userName+"'";
break;
default:
break;
}
SqlConnectionconn=newSqlConnection(ConfigurationManager.AppSettings["DATABASEPATH"]);
SqlCommandcmd=newSqlCommand(selectStr,conn);
try
{
conn.Open();
SqlDataReadersdr=cmd.ExecuteReader();
if(sdr.Read())//
{
if(userPwd==sdr.GetString
(1).ToString().Trim())//userPwd==sdr.GetString
(1)
{
Session["userName"]=userName;
Session["Role"]=userRole.Text;
conn.Close();
switch(userRole.Text)
{
case"管理员":
Response.Redirect("admin1.aspx");//管理员界面
break;
case"会员":
Response.Redirect("consumer.aspx");//会员界面
break;
}
}
else
{
Label1.Text="您输入的密码有误,请检查后重新输入!
";
Session["userName"]=null;
}
}
else
{
Label1.Text="该用户不存在或用户名输入错误,请检查后重新输入!
";
//Session["userName"]=null;
}
}
catch(Exceptionee)
{
Response.Write("alert('"+ee.Message.ToString()+"')");
}
finally
{
conn.Close();
}
}
protectedvoidButton2_Click1(objectsender,EventArgse)
{
Response.Redirect("login.aspx");
}
protectedvoidButton3_Click(objectsender,EventArgse)
{
Response.Redirect("register.aspx");
}
}
商品添加模块设计
每增加一种商品,我们就需要将其添加到数据库中并通过应用程序显示给会员,商品添加的内容包括,商品编号、类别号、商品名称、价格等等。
具体如下图所示:
图4-2商品添加模块设计
实现的过程如图4-3:
图4-3商品添加实现过程
商品购买模块
此模块为系统的核心模块,它包括了直接购买、加入购物车、查看其他会员对此商品的评价的功能,以及在此界面可以直接查看购物车里的商品,在购物车里的商品可以确认购买,也可以从购物车中删除,如图4-4所示。
图4-4商城界面
商城实现的源代码:
publicpartialclassbuy:
System.Web.UI.Page
{
SqlConnectionsqlcon;
stringstrCon=ConfigurationManager.AppSettings["DATABASEPATH"];
protectedvoidButton1_Click(objectsender,EventArgse)
{
Session["goodsTypeName"]=DropDownList2.Text;
}
protectedvoidButton3_Click(objectsender,EventArgse)
{
sqlcon=newSqlConnection(strCon);
SqlCommandsqlcom;
for(inti=0;i<=GridView1.Rows.Count-1;i++)
{
CheckBoxcbox=(CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if(cbox.Checked==true)
{
stringsqlstr="insertintoorders(vipID,goodsID,goodsName,goodsPrice)selectvipID,goodsID,goodsName,goodsPricefromgoodsviewwheregoodsID='"+GridView1.DataKeys[i].Value+"'andvipID='"+Session["userName"]+"'";
sqlcom=newSqlCommand(sqlstr,sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
}
}
protectedvoidButton4_Click(objectsender,EventArgse)
{
sqlcon=newSqlConnection(strCon);
SqlCommandsqlcom;
for(inti=0;i<=GridView1.Rows.Count-1;i++)
{
CheckBoxcbox=(CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if(cbox.Checked==true)
{
stringsqlstr="insertintogoodsbag(vipID,goodsID,goodsName,goodsPrice)selectvipID,goodsID,goodsName,goodsPricefromgoodsviewwheregoodsID='"+GridView1.DataKeys[i].Value+"'andvipID='"+Session["userName"]+"'";
sqlcom=newSqlCommand(sqlstr,sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
}
}
protectedvoidButton5_Click(objectsender,EventArgse)
{
Response.Redirect("goodsbag.aspx");
}
protectedvoidGridView1_SelectedIndexChanging(objectsender,GridViewSelectEventArgse)
{
Session["goods"]=GridView1.DataKeys[e.NewSelectedIndex].Value;
Response.Redirect("goodsapprise.aspx");
}
}
密码修改模块设计
此界面为管理员密码修改界面,修改密码时要求输入原始密码,如果输入错误,会出现提示信息。
再就是要求两次输入新密码,如果两次输入的不一致,则也会提示输入错误。
全部输入正确后,点击确认会弹出“修改成功“提示信息,如图4-6所示。
图4-6密码修改模块图
密码修改模块代码实现:
protectedvoidButton1_Click(objectsender,EventArgse)
{
Label1.Text="";
Label2.Text="";
Label3.Text="";
stringstrselect="";
switch(Session["Role"].ToString())
{
case"管理员":
strselect="select*fromadminwhereadminName='"+Session["userName"]+"'andadminPwd='"+TextBox1.Text+"'";
break;
case"会员":
strselect="select*fromvipwherevipID='"+Session["userName"]+"'andvipPwd='"+TextBox1.Text+"'";
break;
}