新源书店网站.docx
- 文档编号:8116652
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:19
- 大小:198.14KB
新源书店网站.docx
《新源书店网站.docx》由会员分享,可在线阅读,更多相关《新源书店网站.docx(19页珍藏版)》请在冰豆网上搜索。
新源书店网站
新源书城动态网站
1.课程设计目的
随着网络信息的发展,网络在人们生活中的应用越来越广泛。
人们越来越想在最短的时间内购买到自己所需的图书。
但书目的繁多,给人们在繁忙的工作生活中购书带来了很大的麻烦,于是网上购书便成了人们向往的事情,此系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到自己想要的书,既省时又省力。
在电子商务网站中,网上书店是目前应用最广、最成功的典范之一。
通过它用户可以在网络上通过Internet,突破时间和空间的限制而实现网上购书。
网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。
它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。
本系统以ASP.NET为主要制作工具,实现了用户注册、登陆、验证身份及用户数据的采集、书籍的预览查询、对书籍的购买通过购物车实现、可进入留言本留言从而实现了网站与客户之间的交流和沟通等。
本课程设计的目的是提高综合应用ASP.NET技术的各种编程知识和技巧进行程序设计的能力。
支持运用所学ASP.NET技术的基本理论知识,根据课程设计的要求建立网上书店,运用综合知识,以达到解决实际问题的目的。
并且能够加深对ASP.NET技术与数据库相结合的实践动手能力,提高程序设计语言的理论知识的理解和应用水平,在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高。
为毕业设计和以后工作打下必要基础。
2.设计方案论证
2.1系统应用背景
实践经验让我总结了传统书店几种弊端,书店面积有限,书籍种类不全,而且打说书仅能提供本书店有限的信息,查找检索,订购浪费时间和精力,相比之下我们可一归纳出来网上书店的优势:
信息量大:
与传统书店相比,网上书店能提供海量图书信息
数目信息丰富:
目前大多数网上书店都提供尽可能完整详细的信息。
检索、订购边界:
网上书店提供了各种检索途径,可以从书名、作者主题此等进行检索。
价格低廉:
一般来讲,由于相比传统书店书店运作的服务设施和多重环节,所以价格相对低廉。
个性化服务:
网上书店不仅仅提供销售图书的信息,还充分发挥网络的优势,提供丰富多彩的个性化服务。
2.2功能分析
依据本课程设计的具体要求建立网站管理系统,首先,构思一个设计思路,确定这个网上书店管理系统所要实现的功能,再根据每一个功能,用ASP.NET技术建立图书管理流程,实现的功能有:
进入系统的登陆界面,输入用户名以及密码,进入网上书店;
网上书店管理系统作为一个个人数据交流平台,因该包括以下功能:
用户信息管理
书籍管理
订单信息管理
2.3设计思路
根据此次课程设计的要求,设计网上书店,首先分析网上书店所要实现的功能,再根据设计报告中的系统逻辑模型综合考虑各种约束。
结构化系统设计是指利用一组标准的图表工具和准则,确定系统有哪些模块,用什么方法连接,如何构成良好的系统结构,并进行网站的添加/更新图书模块、订单信息查询模块、用户信息查询模块以及注册用户实体模型等环节的详细设计,这一阶段的重点是设计好系统的总体结构。
该系统采用了当前新兴的ASP.NET技术模式进行开发。
数据库服务器选用MYSOL数据库,能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
2.4E-R图分析
网上书店管理系统主要涉及三个实体类型:
注册用户User、订单Indent和书籍Book。
网上书店管理系统涉及的两个联系类型:
注册用户User同订单Indent是1:
N的关系,定义为U-I;订单和书籍是1:
M的关系,定义为I-B,如图1所示。
图1新源书城书店管理系统E-R图
2.5系统总体功能设计图
图2系统总体功能设计图
2.6网上书店的购物流程
网上购书的基本流程是到商场选择所需要的树,然后下订单,确定数量计算总共的价值去收银台,然后再登录,在这里选择送货方式以便发货,流程图如图3所示:
图3网上书店购物流程图
2.7后台管理员操作
为了保障各种功能的实现,需要设计后台管理系统对数据库进行管理。
管理员通过对书籍信息的统计和整理,获取大量的书籍信息,然后再SQLServer数据库中建立图书信息表。
接着通过对读者的调查,在SQLServer中建立读者信息表。
如图4所示,是对该系统完成的设计目标的刻画,包含了上面提到的几个基本功能:
图4后台管理员操作
2.8详细设计
2.8.1数据库设计
数据库选择,此系统使用的数据库是SQLServer
一个网站的设计必须要将对应的数据库概念结构转化为SQLServer数据库系统所支持的实际数据模型,也就是数据库的逻辑结构设计。
表1用户订单信息表
列名
数据类型
字段长度
可否为空
说明
ID
[int]IDENTITY
—
notnull
ID序列号
IndentNo
Archar(20)
20
notnull
订单编号
UserID
[int]
—
notnull
用户序列号
SubmitTime
datatime
—
notnull
提交订单时间
ConsignmentTime
Varchar(20)
20
—
交货时间
TotalPrice
float
—
—
总金额
Content
varchar(400)
400
—
用户备注
注册用户信息表记录每个注册用户基本信息,见表2
表2注册用户信息表
列名
数据类型
字段长度
可否为空
说明
ID
(int)IDENTITY
—
notnull
ID序列号
UserName
varchar
20
notnull
购物用户名
[PassWord]
varchar
50
notnull
用户密码
Names
varchar
20
—
用户联系
Sex
varchar
2
—
用户性别
Address
varchar
150
—
用户联系地址
Phone
varchar
25
—
用户联系电话
varchar
50
—
用户电子邮件
RegTime
DateTime
—
—
用户注册时间
RegIpAddress
varchar
20
—
用户注册地址
2.8.2模块设计
(1)登陆界面设计
为了限制非用户的随意访问和注入,所以设定登录对话框,以确认用户的身份
publicpartialclassLogin:
System.Web.UI.UserControl
{//该页面为自定义用户登录控件,初始状态显示Panel1界面,如果登录成功,则显示Panel2
//该页面判断Session["用户"]是否存在且,不为空。
如果存在且不为空,就表示登录成功,否则表示为未登录状态
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["用户ID"]!
=null)
{//判断Session["用户ID"]是否存在,
if(Session["用户ID"].ToString()!
="")
{//判断是否为空.如果不为空,执行下面代码
//显示Panel1,并且为其中的控件赋值.
DateTimenow=DateTime.Now;
labTime.Text=now.Year.ToString()+"年"+now.Month.ToString()+"月"+now.Day.ToString()+"日";
this.labName.Text=Session["用户ID"].ToString();
this.Panel1.Visible=false;
this.Panel2.Visible=true;
}
else
{//显示登录界面,隐藏已经登录的界面.
this.Panel1.Visible=true;
this.Panel2.Visible=false;
}
}
else
{//显示登录界面,隐藏已经登录的界面.
this.Panel1.Visible=true;
this.Panel2.Visible=false;
}
图5登录信息界面
图6用户登录的主界面
管理系统首页,登录成功后,就进入了新源网上书店系统的首页,页面会显示开发简单用户登录系统所用到的相关知识与技术,以及开发系统的目的。
在首页中将会得知,新源网上书店系统是一个集ASP.NET、Java、SQLServer数据库技术于一体,并利用ASP.NET工具实现当代办公自动化、利用这一系统,可以实现对SQLServer数据库及其相关的各种数据的操作。
(2)留言登录界面设计
publicpartialclassmessage:
System.Web.UI.UserControl
{//该页面为自定义控件,用来显示留言.
//应用在留言页中.
protectedvoidPage_Load(objectsender,EventArgse)
{//如果是第一次加载.
if(!
this.IsPostBack)
{
show();//显示留言.
}
}
publicvoidshow()
{//显示留言函数,从数据库中读取留言.并且绑定到DataGrid1中,进行显示.
SqlConnectionconn=DB.getConn();
conn.Open();
stringcmdtext="";
cmdtext="select*frommessageORDERBYtimeDESC";
SqlDataAdapteradr=newSqlDataAdapter();
adr.SelectCommand=newSqlCommand(cmdtext,conn);
DataSetdst=newDataSet();
adr.Fill(dst,"message");
this.DataGrid1.DataSource=dst.Tables["message"];
this.DataGrid1.DataBind();
}
图7留言板登陆界面
(3)留言界面设计
protectedvoidbtnSend_Click(objectsender,EventArgse)
{//点击"留言"按钮后引发的事件.
stringname=this.txtName.Text;//留言者的姓名
stringconter=this.txtConter.Text;//留言的内容
DateTimenow=DateTime.Now;//得到系统当前时间.
if(name==""||conter=="")
{//如果为空,进行提示.
this.laberror.Text="错误:
请填写姓名和留言内容!
";
return;
}
SqlConnectionconn=DB.getConn();
conn.Open();
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="insertintomessage(name,message,time)values('"+name+"','"+conter+"','"+now+"')";
cmd.ExecuteNonQuery();//写到数据库.
show();//重新显示留言.
this.txtConter.Text="";
this.txtName.Text="";
this.laberror.Text="留言成功!
";
}
}
图8留言板登陆截图
3.设计结果与分析
主要测试程序的运行环境,以及程序的合理性,及逻辑处理的正性,对系统的每个分子,每种可能性进行测试,充分的论证测试程序的健壮性。
通过测试使系统能够达到要求的标准,圆满完成系统的任务。
进入书店主页,分别进入系统的各个界面,对各个模块进行功能测试,对模块的所有主要处理路径进行测试且与预期的结构进行对照,对所有错误处理路径进行测试。
用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行。
对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,如果测试的结果与需求分析的要求一致,则此系统的开发成功,如果没有达到预期的效果,则对此库存系统进行修改,直到达到预期的功能。
3.1登录页面设计
图9登陆界面
3.2留言登陆页面设计
图10留言板界面
4.设计体会
首先是对项目的需求分析:
以前都是做些小程序,几乎不存在什么需求,只要老师简单交代几句就会明白该干什么。
在这过程中,经常遇到需求不明和存在偏差,结果一些写好的程序必须进行大量修改或者只能删除重来,浪费了大量精力。
由此我进一步体会到了需求分析的重要性。
其次,对于程序设计的学习,我有了进一步认识,以前的学习方法是:
看懂书上所有内容、验证、提高。
但现在发现,其学习效率低下。
现在我的做法是,很快熟悉最基本的语法和编程环境,浏览大量书籍了解“什么功能用什么技术”,然后可以进入实际
工作,分析需要的技术,针对该技术查找书本、网络源程序进行学习。
这样,学好技术的同时也完成了工作。
通过此次课程设计,学会了用ASP.NET开发工具的使用,以及对其运行环境有了进一步的了解,初步完成了本次设计的任务。
5.参考文献
[1]刘韬、骆娟、何旭洪主编.ASP.NET+ACCESS组建动态网站[M].人民邮电出版社,2014
[2]尚俊杰主编.网络程序设计—ASP.NET[M].清华大学出版社,2013
[3]沈炜、杨世锡主编.JAVA编程从基础到实践[M].电子工业出版社,2013
[4]万维多媒体工作室主编.ASP.NET实战锦囊[M].机械工业出版社2014
[5]汪晓平吴勇强张宏林主编.ASP.NET网络开发技术[M].人民邮电出版社2011
[6]胡勇辉,曹倬瑝,兰湘涛.VisualC++实践与提高网络编程篇[J].高等理科教育,2011
[7]龙马工作室.ASP+Access组建动态网站实例精讲[M].北京:
人民邮电出版社.2011
[8]李严,于亚芳,王园辉.ASP.NET数据库开发实例解析[M].北京:
机械工业出版社.2012
[9]张克非.ASP.NET网络程序设计与应用[M].北京:
北京航空航天大学出版社2012
[10](美)微软公司著.NET框架1.1类库参考手册.清华大学出版社,2014.1
[11]陈伟编著《SQLServer2005数据库应用与开发教程》北京:
清华大学出版社,2013
附录
publicpartialclassCenternew:
System.Web.UI.UserControl
{//该页面为自定义用户控件,用来显示最新添加的第二本和第三本书.
//该控件放在主页的中间..
protectedvoidPage_Load(objectsender,EventArgse)
{
SqlConnectionconn=DB.getConn();
conn.Open();
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
//从数据库中查询最近添加的三本书.按添加时间排序.
cmd.CommandText="selecttop3*from书籍表orderby上传日期DESC";
SqlDataReaderread=cmd.ExecuteReader();
if(!
read.Read())
{//判断是否存在.如果不存在就退出
//此次Read将指向第一本书.
conn.Close();
}
else
{
if(read.Read())
{//此次Read将指向第二本书.
this.labBookName1.Text="《"+read["书名"].ToString()+"》";
this.labJiaGe1.Text="¥"+read["价格"].ToString()+".00元";
this.labInfo1.Text=read["介绍"].ToString();
this.Image1.ImageUrl="bookImage/"+read["图片地址"].ToString();
this.labZheKou1.Text=read["折扣"].ToString()+"折";
}
if(read.Read())
{//此次Read将指向第三本书.
this.labBookName2.Text="《"+read["书名"].ToString()+"》";
this.labJiaGe2.Text="¥"+read["价格"].ToString()+".00元";
this.labInfo2.Text=read["介绍"].ToString();
this.Image2.ImageUrl="bookImage/"+read["图片地址"].ToString();
this.labZheKou2.Text=read["折扣"].ToString()+"折";
}
/*this.Image1.Width=90;
this.Image1.Height=110;*/
conn.Close();
<%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="message.ascx.cs"Inherits="message"%>
width="750"> 23px"> 读者留言
center"> DataGridID="DataGrid1"runat="server"AutoGenerateColumns="False"Width="700px"> BoundColumnDataField="id"HeaderText="编号"> BoundColumn> BoundColumnDataField="name"DataFormatString="{0}"HeaderText="留言者"> BoundColumn> BoundColumnDataField="message"DataFormatString="{0}"HeaderText="内容"> BoundColumn> BoundColumnDataField="time"DataFormatString="{0}"HeaderText="时间"> BoundColumn> DataGrid> 14px;width: 254px;"> 姓名: 14px"> TextBoxID="txtName"runat="server"Width="100px"> TextBox> 请输入您的姓名 Label ID="laberror"runat="server"ForeColor="Red"Width="209px"> Label> 254px"> TextBoxID="txtConter"runat="server"Height="100px"MaxLength="100"TextMode="MultiLine" Width="250px"> TextBox>最多100个文字!
254px"> ButtonID="btnSend"runat="server"OnClick="btnSend_Click"Text="留言"/> <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="newbookshow.ASP.NETx.cs"Inherits="newbookshow"%> <%@RegisterSrc="Nbookshow.ascx"TagName="Nbookshow"TagPrefix="uc9"%> <%@RegisterSrc="bottom.ascx"TagName="bottom"TagPrefix="uc8"%> <%@RegisterSrc="adve.ascx"TagName="adve"TagPrefix="uc7"%> <%@RegisterSrc="CenterLine.ascx"TagName="CenterLine"TagPrefix="uc6"%> <%@RegisterSrc="Centernew.ascx"TagName="Centernew"TagPrefix="uc5"%> <%@RegisterSrc="wenxintishi. 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1