资源描述
河南城建学院
课程设计报告书
专 业:信息管理与信息系统
课程设计名称:《Web技术与开发》课程设计
题 目:网上书店
班 级:
设 计 者:
同 组 人 员:
指 导 老 师
完 成 时 间:2023-6-17
摘要
我们对Internet可以说是在熟悉但是的了,它最早在美国出现,如今,世界各国纷纷加入到这个行列,使Internet成为全球化的网际网络。随着用户的不断增长,其规模迅速扩大,它的领域也走向多元化。Internet的普及是一种必然的趋势,现在的很多家庭有很多都拥有了PC机,所以人们上网看新闻、查资料、聊天、玩游戏、购物已成为许多人平常生活不可缺少的一部分,特别是网上购物,更以它的超远距离、方便和快捷吸引了无数的目光。因此,所以 Internet 的网上购物在如今是越来越多、很实用的。并且发展前景非常之好。
书籍交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离同样。随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快,人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习。21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种因素没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间信息交流上的阻碍成为“网上书店”网站发展的原动力。
网上书店网站的建立可以更好的解决这方面的问题,我们向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁,我们的目的是节省您的时间、方便您的购书,使您永远走在时代的前沿。
目录
第一章 开发环境和开发工具……………………………………………………………..………..1
1.1 ASP.NET简介……………………………….……………………………………………….1
1.2 开发背景………………………………………………………………………………………1
1.3 开发环境………………………………………………………………………………………..2
第二章 网上书店的分析与设计......................................................2
2.1 系统需求分析………………………………………………………………………………….3
2.2 系统总体设计………………………………………………………………………………….3
2.2.1 系统设计目的………………………………………………………………………..3
2.2.2 开发设计思想……………………………………………………………………….4
2.2.3 系统功能模块设计………………………………………………………………….4
第三章 数据库设计...............................................................7
3.1 引入背景………………………………………………………………………………………7
3.2 数据库需求分析………………………………………………………………………………7
3.3 数据库概念结构设计…………………………………………………………………………..8
3.4 数据库逻辑结构设计…………………………………………………………………………13
第三章 系统具体设计与实现......................................................16
4.1 公共模块编写…………………………………………………………………………………16
4.1.1 数据库连接编写……………………………………………………………….………17
4.1.2数据库操作类的编写…………………………………………………………………20
4.1.3界面头尾设计…………………………………………………………………………21
4.2 管理员用户操作设计…………………………………………………………………………22
4.2.1会员信息和图书信息管理操…………………………………………………….…….22
4.2.2订单管理…………………………………………………………………………..……23
4.2.3会员积分管理……………………………………………………………………..….…24
4.3 用户界面………………………………………………………………………………………26
4.3.1图书信息的查询和购买………………………...………………………………………29
4.3.2购物车管理…………………………………..…….……………………………………31
4.3.3个人中心管理…………………………...………………………………………………32
结论和心得体会………………………………………………………………………………………...33
参考文献...........................................34
第一章 开发环境和开发工具
1.1 ASP.NET简介
ASP.NET是微软公司于2023年推出的一种Internet编程技术,是.NET框架的组成部分。它采用效率较高的、面向对象的方法来创建动态Web应用程序。
ASP.NET彻底抛弃了脚本语言,而代之于编译式语言(如VB、C#等),为开发者提供了更加强有力的编程资源;允许用服务器端控件取代传统的HTML元素并充足支持事件驱动机制。也为开发者提供了强力的集成开发工具Visual Studio.NET
ASP.NET是一种独立于浏览器的编程模型。它可以在使用广泛的最新版本浏览器(例如IE、Netscape)上运营,还可以在低版本的浏览器上运营。这也就是说,在使用ASP.NET编写Web应用程序时,不需要编写浏览器特定的代码,Internet的很大一部分用户就可以使用这些Web应用程序。
ASP.NET作为新一代互联软件和服务战略,将使微软现有的软件在网络时代不仅合用于传统的个人计算机,并且可以满足呈现强劲增长的新设备的需要。到底什么是.NET呢?微软总裁兼首席执行官SteveBallmer把它定义为:.NET代表一个集合,一个环境,一个可以作为平台支持下一代Internet的可编程结构。
ASP.NET的最终目的就是让用户在任何地方、任何时间,以及运用任何设备都能访问所需的信息、文献和程序。用户不需要知道这些文献放在什么地方,只需要发出请求,然后只管接受就可以了。而所有后台的复杂性是完全屏蔽起来的。
借助于.NET平台,可以创建和使用基于XML的应用程序、进程和Web站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。"
1.2 开发背景
随着全球经济一体化的逐步发展和进一步,网上书店已成为传统书店必不可少的经营策略之一.目前,网上书店在国际互联网上可以实现的商务已经多样化,可以完毕从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线网站管理功能等,可以说,传统书店所具有的功能几乎都可以在互联网上进行电子化的高效动作。虽然传统书店规模有所不同,随着网上交易的开展,都将有力地改变公司的发展空间,会对公司的竞争力产生不可忽视的影响。
1.3 开发环境
本文所采用的开发环境重要是基于数据库系统的SQL Server 2023 和ASP.NET开发平台。运用SQL Server 2023创建公司中的网上书店表,运用VS 2023创建网上书店解决方案。开发一套网上书店购书系统,可以让顾客通过浏览器浏览网站售书目录,从而挑选自己满意的图书,并下订单购买。而网站后台人员需要维护网站会员信息、书籍信息以及订单信息。本系统的目的就是要开发一套既方便客户网上购书,又方便网站维护人员维护的网站。
第二章 网上书店的分析与设计
明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完毕后续设计与开发工作。随着Internet的迅速发展,当今电子商务已接被广大的互联网用户所接受,网上书店系统作为其中的一部分也有了迅速的发展。网上书店系统通过网上开店的方式向读者出售书本。国内著名的两大书店,当当网与卓越网,他们售书的理念很简朴,读者可以自己寻找自己爱慕的书。读者无需为寻找一本自己想要的书好奔波于城市的各个角落,无需由于时间问题而错过了新书的首发式,或者由于时间问题而去不了书店,网上书店系统,只需你有一台可以连上互联网的电脑,就可以按照自己的爱好检索到自己想要的书本。
2.1 系统需求分析
(1)简洁易懂美观的界面设计。
(2)涉及搜索查询的选项、会员注册的功能、精美书籍的展示等。
(3)各种界面服务如订购图书、论坛、修改用户信息 购物车等等。
(4)强大书籍的查询搜索引擎,浏览用户可根据书籍名或作者进行书籍的搜索。
2.2 系统总体设计
2.2.1 系统设计目的
本文研究开发的网上书店系统用于支持公司完毕网上书店管理工作,有如下两个方面的目的:
●前台实现功能:
1. 新客户注册
2. 书籍分类搜索
3. 畅销书排行榜
4. 新书上架
5. 购物车功能模块
6. 订单查询
7. 网上银行支付功能
●后台管理实现功能:
1.用户注册信息管理
2.订单添加/删除/修改管理功能
3.书籍信息管理功能
4.客户权限管理
5.订阅系统管理
2.2.2 开发设计思想
基于以上系统设计目的,本文在开发网上书店系统时遵循了以下开发设计思想:
●采用现有的软硬件环境及先进的管理系统开发方案,从而达成充足运用现有资源,提高系统开发水平和应用效果的目的。
●尽量达成操作过程中的直观、方便、实用、安全等规定。
●系统采用B/S体系结构,浏览器(浏览器端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。
●系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
●系统应具有数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
2.2.3 系统功能模块设计
本系统分为两个模块:管理员模块、用户模块。得到如图3-1所示的系统功能模块图。
下图为系统功能模块图
第三章 数据库设计
3.1 引入背景
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接相应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
数据库一般分为三级模式:外模式、概念模式和内模式。外模式也就是不同用户所对的数据视图,它将数据库内部抽象的数据及其互相之间的关系表达为简朴、直观的应用界面。概念模式是数据库中所有数据的逻辑结构和特性描述,通常以某种数据模型为基础。内模式是对数据的物理结构和存储方式的描述。
3.2 数据库需求分析
数据库需求分析是数据库结构设计的第一个阶段,也是非常重要的一个阶段。在这个阶段重要工作是收集基本数据以及数据解决的流程,为以后进一步设计一打下基础。需求分析重要解决两个问题::
. ● 内容规定。调查应用系统用户所需要操作的数据,决定在数据库中存储什么数据。
● 解决规定。调查应用系统用户规定对数据库进行什么样的解决,理清数据库中各种数据之间的关系。
在数据库需求分析后,得到一个数据字典文档,涉及3方面内容。
●.数据项。涉及名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。
●.数据结构。若干个数据项的故意义的集合,涉及名称、含义以及组成数据结构的数据项。
●.数据流。指数据中数据的解决过程,涉及输入、解决和输出。
3.3 数据库概念结构设计
数据库概念结构设计是在需求分析的基础上,设计出可以满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。用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表
字段名
字段类型
长度
主/外键
字段值约束
相应中文名
AdminID
Int
8
P
not null
管理员编号
AdminName
varchar
50
null
管理员姓名
AdminPwd
varchar
50
null
管理员密码
Bo_Book表
字段名
字段类型
长度
主/外键
字段值约束
相应中文名
BookID
Int
8
not null
图书编号
BookType
varchar
50
not null
图书类型
BookName
varchar
50
P
not null
图书名称
Bookauthor
varchar
50
Not null
图书作者
BookPub
varchar
50
Not null
图书出版社
BookPoint
varchar
50
Not null
图书积分
BookPrice
Decimal
(18,0)
Not null
图书价格
BookCover
varchar
50
null
图书封面
BookDes
Text
Not null
图书描述
BookSales
Int
Null
图书销售
BookTime
datatime
Not null
图书时间
BookDiscount
Decimal
(18,0)
Not null
图书折扣
BO_In表
字段名
字段类型
长度
主/外键
字段值约束
相应中文名
INID
Int
P
not null
入库图书编号
INType
varchar
50
not null
入库图书类型
INBook
varchar
50
not null
入库图书名称
INNum
Int
Int null
入库图书数量
INTime
Datatime
Not null
入库时间
字段名
字段类型
长度
主/外键
字段值约束
相应中文名
OderID
Int
P
not null
订单编号
OderNumber
varchar
50
Not null
发货单编号
OderName
varchar
50
Not null
订单名称
OderBook
varchar
50
Not null
订单图书
OderShu
varchar
50
Not null
订单数量
OderPrice
Decimal
(18,0)
Not null
订单价格
OderAdd
varchar
50
Not null
订单地址
OderYoubian
varchar
50
Not null
订单邮编
OderTell
varchar
50
Not null
联系电话
OderTime
varchar
50
Not null
订单时间
State
Int
Not null
是否批准
0不批准,1批准
Bo_Shop表
字段名
字段类型
长度
主/外键
字段值约束
相应中文名
ShopID
Int
P
not null
购物车编号
ShopName
varchar
50
not null
购物车名称
ShopTitle
varchar
50
not null
图书名
ShopBID
Int
Not null
图书编号
ShopPoint
Int
Not null
积分
ShopPrice
Decimal
(18,0)
Not null
价格
ShopNum
Int
Not null
订购数量
Bo_Ti表
字段名
字段类型
长度
主/外键
字段值约束
相应中文名
TID
Int
P
not null
公告编号
TIndex
Text
Not null
公告内容
Ttime
Datatime
Not null
公告时间
Bo_Type表
字段名
字段类型
长度
主/外键
字段值约束
相应中文名
TID
Int
not null
图书类型编号
BookType
Varchar
50
P
Not null
图书类型
Tdes
Dtext
null
入库图书描述
BO_UserInfo表
字段名
字段类型
长度
主/外键
字段值约束
相应中文名
UserID
Int
not null
用户编号
UserName
varchar
50
P
Not null
用户名
UserPassword
varchar
50
Not null
用户密码
UserPoint
Int
null
用户积分
UserLevel
Int
null
用户等级
UserMail
Varchar
50
null
用户邮箱
在此基础上输入数据完毕表的创建。
第三章 系统具体设计与实现
4.1 公共模块编写
4.1.1 数据库连接编写
为了使应用程序方便移植,为版本控制提供更好的支持,可以在应用程序配置文献Web.config中设立数据库连接信息。添加如下语句:
<configuration>
<appSettings>
<add key="MyRee" value="Data Source=(local);Initial Catalog=BookSystem;
Integrated Security=True" />
</appSettings>
<configuration>
注意:数据库身份验证使用的是SQL 2023中的Window 身份验证进行连接的。
4.1.2数据库操作类的编写
该类的编写的重要功能是对数据库进行操作,实现对数据库中表的增删改查操作,可减少代码的重用率,提高代码编写效率,该类代码如下:
public class Db
{
public static SqlConnection MyCon()
{///配置连接字符串
return new SqlConnection(ConfigurationManager.AppSettings["MyRee"]);
}
/// 判断SQL语句,成功则返回为True,错误则返回Flase。
public static bool ChkSql(string Chkstr)
{
SqlConnection con = Db.MyCon();
con.Open();///打开数据库连接
SqlCommand cmd=new SqlCommand(Chkstr,con);
try
{
cmd.ExecuteNonQuery();
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;///返回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(constant[rd.Next(36)]);
}
return newRandom.ToString();
}
}
4.1.3界面头尾设计
后台登陆系统界面:提供管理员登陆后天操作系统。
前台购物网首页:实现网站图书的浏览,以及普通会员登陆和购买图书。
会员登陆时验证代码:
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();
SqlDataReader dr = mycmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Session["ID"] = (int)dr["UserID"];///保存ID
Session["Name"] = (string)dr["UserName"];///保存用户名
HttpCookie cookie = new HttpCookie("ID");
cookie.Value = Session["ID"].ToString();
Response.Cookies.Add(cookie);
cookie.Expires = System.DateTime.Now.AddDays(1);
con.Close();
if (Request.Cookies["ID"] != null)
{
Response.Redirect("Default.aspx");
}
}
}
else
{
Response.Write("<script>alert('对不起!用户名或密码有误!')</script>");
txtuser.Text = "";
txtpassword.Text = "";
}
}
解决方案结构:网站在Visusl Studio 2023的解决方案中的布局如下“
4.2 管理员用户操作设计
4.2.1会员信息和图书信息管理操
添加会员,会员信息的查询和修改。
图书信息的添加:
图书类型的添加和新书入库:
操作代码:
protected void ImageButton1_Click(object 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("<script>alert('该类型已存在!');</script>");
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("<script>alert('操作失败,请重试!');</script>");
}
else
{
Response.Write("<script>alert('类型添加成功!');</script>");
txttype.Text = "";txtdes.Text = "";
}
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)
{
Response.Write("<script>alert('操作失败,请重试!');</script>");
}
else
{
Response.Write("<script>alert('图书添加成功!');</script>");
txtbookname.Text = "";txtnum.Text = "";
}
}
4.2.2订单管理
当会员在购物车中进行结算后,购书订单会传递给后台管理员的订单表,后台管理员根据订单下单情况,可对订单进行管理,当批准订单时,会在出货单中显示出货信息,便可以发货。
当批准订单后在出货管理中会自动生成出货单,便可以发货:
4.2.3会员积分管理
实现会员积分的查询和修改:
积分管理设计代码:
protected void ImageButton1_Click(object 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.Tables[0].Rows[0][1].ToString();
TextBox2.Text = ds.Tables[0].Rows[0][3].ToString();
TextBox3.Text = ds.Tables[0].Rows[0][4].ToString();
}
else
{
Response.Write("<script>alert('此用户不存在,请重新输入');</script>");
txtorder.Text=""; TextBox3.Text="";
TextBox2.Text=""; TextBox1.Text="";
}
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
string st = "update Bo_UserInfo set UserPoint='"+TextBox2.Text+"',UserLevel='"+TextBox3.Text+"'";
bool upda = Db.ChkSql(st);
if (!upda)
{
Response.Write("<script>alert('更新失败,请重试');</script>");
}
else
{
Response.Write("<script>alert('更新成功!!');</script>");
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
展开阅读全文