Web课程设计网上售书系统报告_第1页
Web课程设计网上售书系统报告_第2页
Web课程设计网上售书系统报告_第3页
Web课程设计网上售书系统报告_第4页
Web课程设计网上售书系统报告_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、洛 阳 理 工 学 院课 程 设 计 报 告 课程名称 Web程序设计课程设计 设计题目 图书销售管理系统 专 业 计算机科学与技术 班 级 B110501 学 号 B11050113 姓 名 吴雨昕 完成日期 2021.6.27 课 程 设 计 任 务 书设计题目: 图书销售管理系统 设计内容与要求:1数据库设计要符合范式要求。2能对图书如图书名称、出版社、作者、ISBN号、单价、图书编号、库存数量等、客户名称、联系 、通信地址、邮件地址等、销售图书情况图书编号、数量、支付状态、备注信息、订单编号、销售日期等等信息进行添加、删除、修改操作。3提供必要查询功能,例如输入图书名称,能查找出该图书

2、的相关信息,并展示图书信息。4提供简单统计功能,可以完成按照时间段进行图书销售量统计。 指导教师: 张文学 2021年 6 月 19 日课 程 设 计 评 语 成绩: 指导教师: 年 月 日目录第1章 需求分析21.1系统需求分析21.2用户需求分析2第2章 数据库设计42.1 数据库简介42.1.1 SQL Server数据库技术概述42.1.2 数据库设计介绍42.2 系统数据库设计52.2.1 数据库概念设计52.2.2 数据库逻辑结构72.2.3 数据库表之间的关系设计9第3章 概要设计103.1总体结构设计103.2功能模块清单11第4章 详细设计与实现124.1 主页设计124.2

3、 管理员模块154.2.1 用户管理154.2.2 图书管理164.2.3 定单管理184.3 会员模块194.3.1 会员登录194.3.2 会员注册214.3.3 在线购物224.3.4 分类查找234.3.5 高级搜索244.3.6 我的购物车254.3.7 修改密码264.3.8 修改资料27第5章 总结28 第1章 需求分析1.1系统需求分析随着Internet国际互联网的开展,越来越多的企业开始建造自己的网站。基于Internet的信息效劳、商务效劳已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提

4、供完善的电子商务效劳的动态商务网站。同时人们的生活方式也在随着发生改变,传统的购物方式已不能满足人们的需求。 本系统用Microsoft Visual Studio 2021作为开发工具,应用SQL Server数据库构建了一个能实现根本的电子商务的小型动态商务网站网上图书销售系统。该系统能实现用户的注册、登录功能;能够实现商品的查询,订购等功能。该系统根本上具备一个网上商品销售系统应该具备的常用功能。信息时代的到来,使得信息技术、Internet/Intranet技术、数据库技术不断开展完善,网络进程加快,传统的购物方式也越来越不能满足人们快节奏的生活需求,企业的IT部门已经认识到Inter

5、net的优势,电子商务就是在这样一个背景下产生开展起来的。伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购置到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。本次课程设计内容正是一个电子商务系统的开发:网上图书销售系统。1.2用户需求分析本系统是一个由管理员及普通会员共同参与的系统,要求系统能够完成在线购物功能,同时还可完成与此相关的其他辅助功能。首先,参加在线购物,身份验证非常重要,与此相关的系统管理模块须完成不同身份用户的身份验证。并对不同用户给予不同的权限。系统管理员不但具有添加删除用户角色及修改其信息的权限,还有用户所有的权限;用户

6、身份可以登陆、查看和修改局部个人信息、进行在线购书、查看图书信息、查看及修改购物车中的商品等功能;(1) 注册功能。顾客首先要注册为网上图书商城的用户。注册时需要填写登录用户名、密码等信息即可。注册后,用户可继续如实填写详细个人信息及收货人信息。(2) 修改功能。用户可以修改个人资料。(3) 选择产品功能。顾客浏览网上图书商城,将自己需求的产品放入到购物车中,可连续添加商品。(4) 管理购物车。顾客选择完商品后可进入购物车页面,查看自己要购置的商品,可修改某一商品数量、取消购置某商品和清空整个购物车。(5) 订单功能。顾客确定购物车中的商品后提交订单,那么显示相应表单请其填写,系统记录顾客提交

7、的收货人信息。(6) 查询功能。可以更快地查找到需要购置的图书的信息;按图书分类及图书编号和名称进行模糊查询。第2章 数据库设计2.1 数据库简介 2.1.1 SQL Server数据库技术概述SQL Server数据库是美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/效劳器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Syba

8、se,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将S

9、QL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 那么较专注于SQL Server在UNIX 操作系统上的应用。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的效劳器等多种平台使用。 数据库

10、设计介绍在ASP中一般使用SQL Server或Access数据库。SQL Server运行稳定、效率高、速度快,但配置起来较困难,移植也较复杂,适合大型网站使用;Access配置简单、移植方便,但效率低,适合小型网站。SQL Server数据库的主要特点是:1高性能设计,可充分利用WindowsNT的优势。2系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。3强壮的事务处理功能,采用各种方法保证数据的完整性。4支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成

11、和开放的系统结构为广阔的用户、开发人员和系统集成商提供了一个出众的数据库平台。 2.2 系统数据库设计2.2.1 数据库概念设计根据以上各节对系统所做的需求分析和系统设计,规划本系统中使用的数据库实体分别为图书实体、用户实体、购物车实体、定单实体。下面分别介绍几个关键实体的E-R图。图书图书编号图书单价作者图书分类图书名称出版社出版日期图2-1 图书信息实体图E-R图用户用户名用户编号联系 真实姓名性别 用户密码用户邮箱图2-2 用户信息实体图E-R图购物车图书名称图书数量图书编号图书价格图2-3 购物车信息实体图E-R图联系 定单定单编号下单时间电子邮箱 图书名称图书数量收货人图书编号图书价

12、格图2-4 定单信息实体图E-R图2.2.2 数据库逻辑结构为了实现不同用户的登录、图书的管理、用户的管理、购物车的管理、定单的管理等功能,本系统建立了一个名为“tsxs的数据库,其中包含了多个数据表, 各个表的具体结构设计如下:表2-1 admin表字段名称数据类型字段大小user_id自动编号长整型user_num文本50user_pass文本50user_mail文本50user_namec文本50user_sex文本50user_tel文本50user_adds文本50user_mail文本50说明:本表用来存储用户角色的信息,供用户角色登陆时验证使用。user_id是用户序号,也是唯

13、一的,是本表的主键;user_name是帐号,对于注册会员而言就是注册时的会员输入的会员名称,输入的字符至少是四位且只能是字母和数字。user_namec是用户的真实姓名,不可以是空;user_pass是用户登陆时所用的密码,输入的字符不能少于2大于20;user_sex表示用户的性别; user_adds表示用户的地址,不可为空;user_mail用来存储用户的邮箱地址不可为空;user_tel用来存储用户的 号码,不可为空。表2-2 book表字段名称数据类型字段大小Id自动编号长整型book_id文本50book_name文本50book_content文本50book_cash数字长整

14、型Author文本50book_date日期chubsh文本50说明:该表用来存储图书的信息。id:用来记录编号,表示编号,也确定了记录的唯一性,是主键;book_id:用来记录图书编号,表示图书的编号;book_name:用来存储图书名称;book_content:用来存储图书类型,表示该图书所属的种类。book_cash :用来存储图书的价格,表示该图书的单价;author:用来存储图书的作者,表示该图书的作者;book_date:用来存储图书的出版日期,表示该图书的出版时间;chubsh:用来存储图书的出版社,表示该图书的出版社;整个表用来存储图书的信息。表2-3 basket表字段名称

15、数据类型字段大小id自动编号长整型book_id文本50book_name文本50book_cash文本50book_count数字长整型说明:本表用来存储当前用户购物车中的信息。Book_id:购物车中图书的编号,是本表的主键;book_name:购物车中图书的名称,book_cash:购物车中图书的价格;book_count用来存储购物车中图书的数目;用来存储购物车中图书信息。表2-4 user_order表字段名称数据类型字段大小id自动编号长整型order_id文本50user_namec文本50user_mail文本50user_tel文本50user_adds文本50submit_

16、date日期说明:该表用来存储定单与用户之间的信息。order_id:表示定单编号,是本表的主键;user_namec:表示收获人的真实姓名,不可为空;user_mail:收货人的电子邮箱; user_tel:收货人的联系 ,不可为空;user_adds 收货人的地址,不可为空,便于发货;submit_date 下定单的日期。表 2-5 ordershop表字段名称数据类型字段大小id自动编号长整型order_id文本50book_id文本50book_name文本50book_count文本50book_cash货币说明:该表用来存储定单与用户购置的图书的信息。order_id表示的是定单编

17、号;book_id:表示购置的图书的编号;book_name:表示购置的图书的名称;book_count:表示购置的数量;book_cash:表示购置图书的价格。2.2.3 数据库表之间的关系设计为了更好地表示各表之间的关系,绘制了表间关系图;如图2-5所示。图2-5 test数据库中各表之间的关系 第3章 概要设计3.1总体结构设计 图3-1 系统模块结构图后台管理子系统功能:主要是管理人员和业务人员。业务人员主要是对图书的整理、分类和维护图书目录信息,增添新书入库,库存管理,客户管理以及订单管理,管理人员负责查看图书销售记录,录入新注册人员信息,修改业务人员信息并赋予相应权限。前台购书子系

18、统功能:主要是用户信息注册,身份验证,新书查询,图书分类查询,可以了解相关图书的信息,还可以实现用户购置图书,注销登录等功能。3.2功能模块清单表3-1 功能模块清单模 块 编 号模块名称 模块功能描述 M1登陆用于管理员登陆管理系统M2管理图书用于管理员对用户和书本的管理M3注册主要实现用户信息注册M4登陆和注销用于用户登陆和注销M5查询图书图书查询M6购物车针对每一个网上购物的用户提供一个虚拟的购物车,用户可随时查看,添加,删除,修改所选中的图书M7确认订单用户可以选择并修改订单中的相关订购信息,并提交订单,得到确认信息M8个人账户用于修改个人信息,查看订单历史和订单状态第4章 详细设计与

19、实现4.1 主页设计主页,是网站的招牌,其设计的好坏及美观特别重要。首先,进入网站的第一印象是清楚的导航。本网站的主题是在线图书销售系统,当然在首页应该让用户尽量浏览到更多的图书信息,所以在主页图书信息显示时,只显示一些简要的信息,同时设置了一个“详情的链接,当点击“详情链接时,可以显示当前图书的详细信息,以便用户更好地了解图书的相关信息。主要代码如下。 protected void btn_login_Click(object sender, EventArgs e) string username = tbx_user.Text; string password = tbx_pwd.Tex

20、t; if (username = "") lbl_msg1.Visible = true; lbl_msg1.Text = "请输入用户名" else if (password = "") lbl_msg2.Visible = true; lbl_msg2.Text = "请输入密码" else /读取数据库连接字符串 string settings = ConfigurationManager.ConnectionStrings"connectionString".ConnectionStr

21、ing; /创立数据库连接对象 SqlConnection myconn = new SqlConnection(settings); /翻开数据库连接 myconn.Open(); /读取用户信息 string mysql = "select * from users Where UserName=" + "'" + username + "'" + "And Password=" + "'" + password + "'" /Respon

22、se.Write(mysql); /Response.End(); /创立命令对象 SqlCommand mycmd = new SqlCommand(mysql, myconn); /创立适配器并执行命令 SqlDataReader mydr = mycmd.ExecuteReader(); try if (mydr.Read() /把用户名写入session对象 Session"UserName" = mydr1; /把权限编号写入session对象 Session"Level" = mydr"Level".ToString();

23、 /隐藏登录信息 P_Login.Visible = false; /显示用户信息 P_SuccessLogin.Visible = true; lbl_user.Text = Session"UserName".ToString(); lbl_rank.Text = Session"Level".ToString(); string userid = mydr"UserID".ToString(); Session"UserID" = userid; /把用户名称添加到身份认证凭据中 /FormsAuthenti

24、cation.RedirectFromLoginPage(userid, true); /FormsAuthentication. BookStore LoginDB = new BookStore(); string tempCartID = LoginDB.GetShoppingCartId(); LoginDB.TransplantShoppingCart(tempCartID, userid); else /显示错误信息 lbl_msg2.Visible = true; lbl_msg2.Text = "用户名或密码错误" /关闭操作 mydr.Close(); m

25、yconn.Close(); 其设计效果如图4-1所示。图4-1 主页界面设计图4.2 管理员模块 管理员模块主要是管理员对整个系统进行管理与维护的局部,管理员具有最大的权利,不但拥有会员的权利,还有删除与管理用户的权限,会员用户只能查看或是修改一些根本的个人信息。当然管理员也可查看修改个人的信息。下面就来具体分析管理员模块的具体功能。 用户管理此模块主要用来管理会员的信息,以及对所有用户的管理,可以删除和修改一些用户的信息。为了方便对用户信息的管理,设置了通过帐号查找快速定位的功能。其主要代码如下: protected void btn_login_Click(object sender,

26、EventArgs e) string username = tbx_user.Text; string password = tbx_pwd.Text; string settings = ConfigurationManager.ConnectionStrings"connectionString".ConnectionString; SqlConnection myconn = new SqlConnection(settings); myconn.Open(); string mysql = "select * from users Where UserN

27、ame=" + "'" + username + "'" + "And Password=" + "'" + password + "'" /Response.Write(mysql); /Response.End(); SqlCommand mycmd = new SqlCommand(mysql, myconn); SqlDataReader mydr = mycmd.ExecuteReader(); try if (mydr.Read() Sess

28、ion"UserName" = mydr1 Session"Level" = mydr"Level".ToString(); string userid = mydr"UserID".ToString(); Session"UserID" = userid; FormsAuthentication.RedirectFromLoginPage(userid, true); BookStore LoginDB = new BookStore(); string tempCartID = LoginD

29、B.GetShoppingCartId(); /*调用TransplantShoppingCart*/ LoginDB.TransplantShoppingCart(tempCartID, userid); /string url = Request.QueryString"url".ToString(); /Response.Redirect(url); else lbl_msg.Visible = true; lbl_msg.Text = "用户名或密码错误" finally mydr.Close(); myconn.Close();页面效果图如图4

30、-2所示图4-2 用户信息管理页面图 图书管理该模块是用来管理当前图书的所有信息,如果想要修改当前记录的信息内容,点击后面的编辑,即可对该记录进行修改,修改完成后点击更新即可完成修改;点击取消即可取消更新的内容。如果想要删除某条记录,点击删除即可删除当前记录。点击上面的插入记录即可添加新的图书。同时为了方便于查询某项记录,设置了按书名查找图书信息的功能。实现更新、删除的功能,分别SQL语言中的Update、Delete语句。查找功能实现采用的是Select语句。其主要代码:protected void Page_Load(object sender, EventArgs e) int cate

31、goryId = Convert.ToInt32(Request.Params"CatID"); string settings = ConfigurationManager.ConnectionStrings"connectionString".ConnectionString; SqlConnection myconn = new SqlConnection(settings); myconn.Open(); SqlCommandmyCommand=new SqlCommand("BookByCategory", myconn);

32、 myCommand.CommandType = CommandType.StoredProcedure; SqlParameter parameterCategoryID = new SqlParameter("CatID", SqlDbType.Int, 4); parameterCategoryID.Value = categoryId; myCommand.Parameters.Add(parameterCategoryID); SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseC

33、onnection); MyList.DataSource = result; MyList.DataBind();页面效果图如图4-3所示:图4-3 图书管理页面图4.2.3 定单管理定单管理主要是用来管理定单的,其中包含的有图书编号,图书名称,市场单格,数量,共计价格等信息。会员员可以做的操作是删除订单和确认付款。其设计效果如图4-5所示。图4-5 定单管理页面4.3 会员模块会员模块主要实现会员登录、会员注册、在线购物、分类查询、高级搜索、我的购物车、下订单等功能。各个功能的具体设计实现介绍如下。 会员登录会员登录是防止非法用户登录的第一道防线,通过它可以保护后台数据库的平安性,当会员要

34、进行购物时,首先要进入的就是身份验证界面,会员在成功登陆后进入系统的主界面。主要代码: protected void btn_login_Click(object sender, EventArgs e) string username = tbx_user.Text; string password = tbx_pwd.Text;string settings = ConfigurationManager.ConnectionStrings"connectionString".ConnectionString; SqlConnection myconn = new Sql

35、Connection(settings); myconn.Open(); string mysql = "select * from users Where UserName=" + "'" + username + "'" + "And Password=" + "'" + password + "'" /Response.Write(mysql); /Response.End(); /创立命令对象 SqlCommand mycmd = ne

36、w SqlCommand(mysql, myconn); SqlDataReader mydr = mycmd.ExecuteReader(); try if (mydr.Read() Session"UserName" = mydr1; Session"Level" = mydr"Level".ToString(); string userid = mydr"UserID".ToString(); Session"UserID" = userid; /把用户名称添加到身份认证凭据中 Forms

37、Authentication.RedirectFromLoginPage(userid, true); BookStore LoginDB = new BookStore(); string tempCartID = LoginDB.GetShoppingCartId(); LoginDB.TransplantShoppingCart(tempCartID, userid); /string url = Request.QueryString"url".ToString(); /Response.Redirect(url); else lbl_msg.Visible = t

38、rue; lbl_msg.Text = "用户名或密码错误" finally mydr.Close(); myconn.Close();页面效果图如图4-6所示:图4-6 会员登录页面4.3.2 会员注册会员注册页面的实现的关键是如何将文本框中的数据提取出来并存储在数据库中,以及如何防止用户名出现重名的情况。主要代码为:protected void btn_reg_Click(object sender, EventArgs e) if (Page.IsValid) if (IsUsed() && UserNameLength() && Pw

39、dLength() string settings = ConfigurationManager.ConnectionStrings"connectionString".ConnectionString; SqlConnection myconn = new SqlConnection(settings); myconn.Open(); SqlCommand mycmd = new SqlCommand("AddUser", myconn); mycmd.CommandType = CommandType.StoredProcedure; SqlPara

40、meter accountparameter = mycmd.Parameters.Add("UserAccount", SqlDbType.NVarChar, 50); accountparameter.Value = tbx_user.Text; SqlParameter Emailparameter = mycmd.Parameters.Add("Email", SqlDbType.NVarChar, 50); Emailparameter.Value = tbx_email.Text; SqlParameter userpwd = mycmd.P

41、arameters.Add("UserPwd", SqlDbType.NVarChar, 50); userpwd.Value = tbx_pwd.Text; SqlParameter userid = mycmd.Parameters.Add("UserID", SqlDbType.Int); userid.Direction = ParameterDirection.Output; mycmd.ExecuteNonQuery(); myconn.Close(); Session"Level" = '1' Sessi

42、on"UserID" = userid.Value; Response.Redirect("UserCenter/Default.aspx") public bool IsUsed() string settings = ConfigurationManager.ConnectionStrings"connectionString".ConnectionString; SqlConnection myconn = new SqlConnection(settings); myconn.Open(); SqlCommand mycmd

43、= new SqlCommand("CheckUser", myconn); mycmd.CommandType = CommandType.StoredProcedure; SqlParameter accountparameter = mycmd.Parameters.Add("UserAccount", SqlDbType.NVarChar, 50); accountparameter.Value = tbx_user.Text.Trim(); SqlDataReader mydr = mycmd.ExecuteReader(); try if (

44、mydr.Read() lbl_msg.Text = "该用户名已经被使用" lbl_msg.Visible = true; return false; else return true; finally mydr.Close(); myconn.Close(); public bool UserNameLength() int length = tbx_user.Text.Length; if (length < 4) lbl_msg.Text = "用户名长度太短" lbl_msg.Visible = true; return false; e

45、lse if (length > 16) lbl_msg.Text = "用户名长度太长" lbl_msg.Visible = true; return false; else return true; public bool PwdLength() int length = tbx_pwd.Text.Length; if (length < 4) lbl_msg.Text = "密码太短" lbl_msg.Visible = true; return false; else if (length > 12) lbl_msg.Text

46、= "密码太长" lbl_msg.Visible = true; return false; else return true; protected void btn_clear_Click(object sender, EventArgs e) tbx_user.Text = "" tbx_email.Text = ""会员填写完毕,且没有格式问题时,单击“提交按钮时系统会自动将当前输入的信息记录。页面效果图如图4-7所示。图4-7 会员注册页面4.3.3 在线购物会员通过身份验证后进入主页,就可以开始进行购物,当你想要查看图书详细信息时,点击图书下的“详情链接,即可查看当前图书的详细信息,输入你想购置的数量,单击“参加购物车就可以把当前商品添加至“我的购物车中。图4-8 图书详情页面点击“参加购物车后即可添加至“我的购物车中。4.3.4 分类查找为了方便用

温馨提示

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

评论

0/150

提交评论