1、河南城建学院课程设计报告书专 业:信息管理与信息系统 课程设计名称:Web技术与开发课程设计题 目:网上书店班 级:设 计 者:同 组 人 员:指 导 老 师完 成 时 间:2023-6-17摘要 我们对Internet可以说是在熟悉但是的了,它最早在美国出现,如今,世界各国纷纷加入到这个行列,使Internet成为全球化的网际网络。随着用户的不断增长,其规模迅速扩大,它的领域也走向多元化。Internet的普及是一种必然的趋势,现在的很多家庭有很多都拥有了PC机,所以人们上网看新闻、查资料、聊天、玩游戏、购物已成为许多人平常生活不可缺少的一部分,特别是网上购物,更以它的超远距离、方便和快捷吸
2、引了无数的目光。因此,所以 Internet 的网上购物在如今是越来越多、很实用的。并且发展前景非常之好。书籍交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离同样。随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快,人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习。21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种因素没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间信息交
3、流上的阻碍成为“网上书店”网站发展的原动力。网上书店网站的建立可以更好的解决这方面的问题,我们向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁,我们的目的是节省您的时间、方便您的购书,使您永远走在时代的前沿。目录第一章 开发环境和开发工具.11.1ASP.NET简介.11.2 开发背景11.3 开发环境.2第二章 网上书店的分析与设计.22.1 系统需求分析.32.2 系统总体设计.32.2.1 系统设计目的.32.2.2 开发设计思想.42.2.3 系统功能模块设计.4第三章 数据库设计.73.1 引入背景73.2 数据库需求分析73.3 数据
4、库概念结构设计.83.4 数据库逻辑结构设计13第三章 系统具体设计与实现.16 4.1 公共模块编写164.1.1 数据库连接编写.17 4.1.2数据库操作类的编写204.1.3界面头尾设计21 4.2 管理员用户操作设计224.2.1会员信息和图书信息管理操.22 4.2.2订单管理.23 4.2.3会员积分管理.244.3 用户界面264.3.1图书信息的查询和购买.294.3.2购物车管理.314.3.3个人中心管理.32结论和心得体会.33参考文献.34 第一章 开发环境和开发工具1.1 ASP.NET简介ASP.NET是微软公司于2023年推出的一种Internet编程技术,是.
5、NET框架的组成部分。它采用效率较高的、面向对象的方法来创建动态Web应用程序。ASP.NET彻底抛弃了脚本语言,而代之于编译式语言(如VB、C#等),为开发者提供了更加强有力的编程资源;允许用服务器端控件取代传统的HTML元素并充足支持事件驱动机制。也为开发者提供了强力的集成开发工具Visual Studio.NET ASP.NET是一种独立于浏览器的编程模型。它可以在使用广泛的最新版本浏览器(例如IE、Netscape)上运营,还可以在低版本的浏览器上运营。这也就是说,在使用ASP.NET编写Web应用程序时,不需要编写浏览器特定的代码,Internet的很大一部分用户就可以使用这些Web
6、应用程序。ASP.NET作为新一代互联软件和服务战略,将使微软现有的软件在网络时代不仅合用于传统的个人计算机,并且可以满足呈现强劲增长的新设备的需要。到底什么是.NET呢?微软总裁兼首席执行官SteveBallmer把它定义为:.NET代表一个集合,一个环境,一个可以作为平台支持下一代Internet的可编程结构。ASP.NET的最终目的就是让用户在任何地方、任何时间,以及运用任何设备都能访问所需的信息、文献和程序。用户不需要知道这些文献放在什么地方,只需要发出请求,然后只管接受就可以了。而所有后台的复杂性是完全屏蔽起来的。借助于.NET平台,可以创建和使用基于XML的应用程序、进程和Web站
7、点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。1.2 开发背景 随着全球经济一体化的逐步发展和进一步,网上书店已成为传统书店必不可少的经营策略之一.目前,网上书店在国际互联网上可以实现的商务已经多样化,可以完毕从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线网站管理功能等,可以说,传统书店所具有的功能几乎都可以在互联网上进行电子化的高效动作。虽然传统书店规模有所不同,随着网上交易的开展,都将有力地改变公司的发展空间,会对公司的竞争力产生不可忽视的影响。1.3 开发环境本文所采用的开发环境重要是基于数据库系统的SQL
8、 Server 2023 和ASP.NET开发平台。运用SQL Server 2023创建公司中的网上书店表,运用VS 2023创建网上书店解决方案。开发一套网上书店购书系统,可以让顾客通过浏览器浏览网站售书目录,从而挑选自己满意的图书,并下订单购买。而网站后台人员需要维护网站会员信息、书籍信息以及订单信息。本系统的目的就是要开发一套既方便客户网上购书,又方便网站维护人员维护的网站。第二章 网上书店的分析与设计 明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完毕后续设计与开发工作。随着Internet的迅速
9、发展,当今电子商务已接被广大的互联网用户所接受,网上书店系统作为其中的一部分也有了迅速的发展。网上书店系统通过网上开店的方式向读者出售书本。国内著名的两大书店,当当网与卓越网,他们售书的理念很简朴,读者可以自己寻找自己爱慕的书。读者无需为寻找一本自己想要的书好奔波于城市的各个角落,无需由于时间问题而错过了新书的首发式,或者由于时间问题而去不了书店,网上书店系统,只需你有一台可以连上互联网的电脑,就可以按照自己的爱好检索到自己想要的书本。2.1 系统需求分析(1)简洁易懂美观的界面设计。(2)涉及搜索查询的选项、会员注册的功能、精美书籍的展示等。(3)各种界面服务如订购图书、论坛、修改用户信息
10、购物车等等。(4)强大书籍的查询搜索引擎,浏览用户可根据书籍名或作者进行书籍的搜索。2.2 系统总体设计2.2.1 系统设计目的 本文研究开发的网上书店系统用于支持公司完毕网上书店管理工作,有如下两个方面的目的: 前台实现功能:1 新客户注册2 书籍分类搜索3 畅销书排行榜4 新书上架5 购物车功能模块6 订单查询7 网上银行支付功能后台管理实现功能:1.用户注册信息管理2.订单添加/删除/修改管理功能3.书籍信息管理功能4.客户权限管理5.订阅系统管理2.2.2 开发设计思想 基于以上系统设计目的,本文在开发网上书店系统时遵循了以下开发设计思想: 采用现有的软硬件环境及先进的管理系统开发方案
11、,从而达成充足运用现有资源,提高系统开发水平和应用效果的目的。尽量达成操作过程中的直观、方便、实用、安全等规定。系统采用B/S体系结构,浏览器(浏览器端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。系统应具有数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。2.2.3 系统功能模块设计 本系统分为两个模块:管理员模块、用户模块。得到如图3-1所示的系统功能模块图。 下图为系统功能模块图第三章 数据库设计3.1 引入背景
12、数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接相应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。数据库一般分为三级模式:外模式、概念模式和内模式。外模式也就是不同用户所对的数据视图,它将数据库内部抽象的数据及其互相之间的关系表达为简朴、直观的应用界面。概念模式是数据库中所有数据的逻辑结构和特性描述,通常以某种数据模型为基础。内模式是对数据的物理结构和存储方式的描述。 3.2 数据库需求分析 数据库需求分析是数据库结构设计的第一个阶段,也是非常重要的一个阶段。在这个阶段重要工作是收集基本数据以及数据解决的流程,为以
13、后进一步设计一打下基础。需求分析重要解决两个问题::. 内容规定。调查应用系统用户所需要操作的数据,决定在数据库中存储什么数据。 解决规定。调查应用系统用户规定对数据库进行什么样的解决,理清数据库中各种数据之间的关系。在数据库需求分析后,得到一个数据字典文档,涉及3方面内容。.数据项。涉及名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。.数据结构。若干个数据项的故意义的集合,涉及名称、含义以及组成数据结构的数据项。.数据流。指数据中数据的解决过程,涉及输入、解决和输出。3.3 数据库概念结构设计 数据库概念结构设计是在需求分析的基础上,设计出可以满足用户需求的各种实体,以及它们
14、之间的关系,为后面的逻辑结构设计打下基础。用E-R图是描述数据实体关系的一种直观描述工具,所以本系统采用了E-R图的方法进行数据库概念结构设计。管理员实体E-R图图书实体E-R图入库图书E-R图订单E-R图购物车E-R图公告E-R图图书类型E-R图用户E-R图实体之间关系E-R图 3.4 数据库逻辑结构设计 概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才干进行数据库应用的设计。也就是要将概念上的结构转化为BP数据库系统所支持的实际数据模型。 网上书店系统数据库中各个表格的设计结果如下面的八个表所示。每个表表达数据库中的一个表。 Bo_Admin表字段名字段类型长度主/外键字
15、段值约束相应中文名AdminIDInt8Pnot null管理员编号AdminNamevarchar50null管理员姓名AdminPwdvarchar50null管理员密码Bo_Book表字段名字段类型长度主/外键字段值约束相应中文名BookIDInt8not null图书编号BookTypevarchar50not null图书类型BookNamevarchar50Pnot null图书名称Bookauthorvarchar50Not null图书作者BookPubvarchar50Not null图书出版社BookPointvarchar50Not null图书积分BookPriceDe
16、cimal(18,0)Not null图书价格BookCovervarchar50 null图书封面BookDesTextNot null图书描述BookSalesIntNull图书销售BookTimedatatimeNot null图书时间BookDiscountDecimal(18,0)Not null图书折扣BO_In表字段名字段类型长度主/外键字段值约束相应中文名INIDIntPnot null入库图书编号INTypevarchar50not null入库图书类型INBookvarchar50not null入库图书名称INNumIntInt null入库图书数量INTimeDatat
17、imeNot null入库时间字段名字段类型长度主/外键字段值约束相应中文名OderIDIntPnot null订单编号OderNumbervarchar50Not null发货单编号OderNamevarchar50Not null订单名称OderBookvarchar50Not null订单图书OderShuvarchar50Not null订单数量OderPriceDecimal(18,0)Not null订单价格OderAddvarchar50Not null订单地址OderYoubianvarchar50Not null订单邮编OderTellvarchar50Not null联系电
18、话OderTimevarchar50Not null订单时间StateIntNot null是否批准0不批准,1批准Bo_Shop表字段名字段类型长度主/外键字段值约束相应中文名ShopIDIntPnot null购物车编号ShopNamevarchar50not null购物车名称ShopTitlevarchar50not null图书名ShopBIDIntNot null图书编号ShopPointIntNot null积分ShopPriceDecimal(18,0)Not null价格ShopNumIntNot null订购数量Bo_Ti表字段名字段类型长度主/外键字段值约束相应中文名TI
19、DIntPnot null公告编号TIndexTextNot null公告内容TtimeDatatime Not null公告时间Bo_Type表字段名字段类型长度主/外键字段值约束相应中文名TIDIntnot null图书类型编号BookTypeVarchar50PNot null图书类型TdesDtext null入库图书描述BO_UserInfo表字段名字段类型长度主/外键字段值约束相应中文名UserIDIntnot null用户编号UserNamevarchar50PNot null用户名UserPasswordvarchar50Not null用户密码UserPointIntnull
20、用户积分UserLevelIntnull用户等级UserMailVarchar50null用户邮箱在此基础上输入数据完毕表的创建。第三章 系统具体设计与实现4.1 公共模块编写4.1.1 数据库连接编写为了使应用程序方便移植,为版本控制提供更好的支持,可以在应用程序配置文献Web.config中设立数据库连接信息。添加如下语句: 注意:数据库身份验证使用的是SQL 2023中的Window 身份验证进行连接的。4.1.2数据库操作类的编写 该类的编写的重要功能是对数据库进行操作,实现对数据库中表的增删改查操作,可减少代码的重用率,提高代码编写效率,该类代码如下:public class Db
21、public static SqlConnection MyCon() /配置连接字符串 return new SqlConnection(ConfigurationManager.AppSettingsMyRee); / 判断SQL语句,成功则返回为True,错误则返回Flase。 public static bool ChkSql(string Chkstr) SqlConnection con = Db.MyCon(); con.Open();/打开数据库连接 SqlCommand cmd=new SqlCommand(Chkstr,con); try cmd.ExecuteNonQue
22、ry(); return true; catch(Exception e) return false; finally con.Dispose();/释放连接对象资源 / 返回DataSet结果集 public static DataSet ReSet(string Restr) SqlConnection con = Db.MyCon(); con.Open();/打开数据库连接 SqlDataAdapter da = new SqlDataAdapter(Restr, con); DataSet set = new DataSet(); da.Fill(set); return set;/
23、返回DataSet对象 con.Close(); public static string GenerateRandom(int Length)/随机生成订单号 System.Text.StringBuilder newRandom = new System.Text.StringBuilder(62); Random rd = new Random(); for (int i = 0; i Length; i+) newRandom.Append(constantrd.Next(36); return newRandom.ToString(); 4.1.3界面头尾设计后台登陆系统界面:提供管
24、理员登陆后天操作系统。前台购物网首页:实现网站图书的浏览,以及普通会员登陆和购买图书。会员登陆时验证代码:if (Page.IsValid) string str = select * from Bo_UserInfo where UserName= + this.txtuser.Text + and UserPassword= + this.txtpassword.Text + ;/查找管理员 SqlConnection con = Db.MyCon(); SqlCommand mycmd = new SqlCommand(str, con); con.Open(); SqlDataRead
25、er dr = mycmd.ExecuteReader(); if (dr.HasRows) while (dr.Read() SessionID = (int)drUserID;/保存ID SessionName = (string)drUserName;/保存用户名 HttpCookie cookie = new HttpCookie(ID); cookie.Value = SessionID.ToString(); Response.Cookies.Add(cookie); cookie.Expires = System.DateTime.Now.AddDays(1); con.Clos
26、e(); if (Request.CookiesID != null) Response.Redirect(Default.aspx); else Response.Write(alert(对不起!用户名或密码有误!); txtuser.Text = ; txtpassword.Text = ; 解决方案结构:网站在Visusl Studio 2023的解决方案中的布局如下“ 4.2 管理员用户操作设计4.2.1会员信息和图书信息管理操添加会员,会员信息的查询和修改。 图书信息的添加:图书类型的添加和新书入库:操作代码:protected void ImageButton1_Click(obj
27、ect sender, ImageClickEventArgs e) if (Page.IsValid) string str = select * from Bo_Type where BookType= + this.txttype.Text + ; SqlConnection con = Db.MyCon(); SqlCommand mycmd = new SqlCommand(str, con); con.Open(); SqlDataReader dr = mycmd.ExecuteReader(); if (dr.HasRows) Response.Write(alert(该类型已
28、存在!);); txttype.Text = ;txtdes.Text = ; con.Close(); else bool bool_insert = Db.ChkSql(insert into Bo_Type(BookType,Tdes) values( + this.txttype.Text + , + this.txtdes.Text + ); if (!bool_insert) Response.Write(alert(操作失败,请重试!);); else Response.Write(alert(类型添加成功!);); txttype.Text = ;txtdes.Text = ;
29、 con.Close(); protected void ImageButton2_Click(object sender, ImageClickEventArgs e) bool bool_ckin = Db.ChkSql(insert into Bo_In(INType,INBook,INNum,INTime) values( + this.drotype.SelectedItem.Value.ToString() + , + this.txtbookname.Text+ , + this.txtnum.Text + , + DateTime.Now + ); if (!bool_ckin
30、) Response.Write(alert(操作失败,请重试!);); else Response.Write(alert(图书添加成功!);); txtbookname.Text = ;txtnum.Text = ; 4.2.2订单管理当会员在购物车中进行结算后,购书订单会传递给后台管理员的订单表,后台管理员根据订单下单情况,可对订单进行管理,当批准订单时,会在出货单中显示出货信息,便可以发货。 当批准订单后在出货管理中会自动生成出货单,便可以发货:4.2.3会员积分管理实现会员积分的查询和修改:积分管理设计代码:protected void ImageButton1_Click(obje
31、ct sender, ImageClickEventArgs e) string str = select * from Bo_UserInfo where UserID=+txtorder.Text.Trim()+; SqlConnection con = Db.MyCon(); SqlCommand cmd = new SqlCommand(str, con); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) DataSet ds = Db.ReSet(str); TextBox1.Text = ds.
32、Tables0.Rows01.ToString(); TextBox2.Text = ds.Tables0.Rows03.ToString(); TextBox3.Text = ds.Tables0.Rows04.ToString(); else Response.Write(alert(此用户不存在,请重新输入);); txtorder.Text=; TextBox3.Text=; TextBox2.Text=; TextBox1.Text=; protected void ImageButton2_Click(object sender, ImageClickEventArgs e) st
33、ring st = update Bo_UserInfo set UserPoint=+TextBox2.Text+,UserLevel=+TextBox3.Text+; bool upda = Db.ChkSql(st); if (!upda) Response.Write(alert(更新失败,请重试);); else Response.Write(alert(更新成功!);); txtorder.Text = ; TextBox3.Text = ; TextBox2.Text = ; TextBox1.Text = ; 4.3 用户界面4.3.1图书信息的查询和购买:protected void searchlist_ItemCommand(object source, DataListCommandEventArgs e) if (e.CommandName = describe) str