网上书店系统毕业设计论文.doc
《网上书店系统毕业设计论文.doc》由会员分享,可在线阅读,更多相关《网上书店系统毕业设计论文.doc(34页珍藏版)》请在冰豆网上搜索。
WEB技术
课程设计
设计题目:
网上书店系统
学期:
专业班级:
学 号:
姓 名:
成 绩:
目录
1、概述 3
1.1简介..……………………………………………………………………………………...3
1.2网站的建设.………………………………………………………………………………3
2、可行性分析 3
2.1网站建设目标的管理可行性 3
2.2网站建设目标的经济可行性…………………………………………………………..3
2.3网站建设目标的技术可行性……………………………………………………………3
2.4网站建设目标可能存在的问题…………………………………………………………3
3、需求分析 3
3.1目标客户描述 3
3.2网站为用户提供的服务 4
3.3网站的结构组织……………………………………………………………………………4
3.4网站的技术实现方式……………………………………………………………………..4
3.5网站的网页框架结构分析与设计……………………………………………………….
4、网站建设概要设计 4
4.1网站的数据模型分析与设计………………………………………………………………4
4.2网站的功能模型分析与设计………………………………………………………………5
4.3网站的网页框架结构分析与设计…………………………………………………………8
5、网站的建设详细设计 9
5.1网站的数据库设计 9
5.2网站的程序文件设计与编写 11
6.网站的程序调试与运行………………………………30
参考文献…………………………………………………33
题目
1.概述
1.1简介
网络书店时一个基于Internet的网上图书销售程序。
本系统经过测试基本上没有什么大的错误,但是一些功能限于时间问题暂时还未实现,有待进一步开发和改进。
1.2网站建设的目标
用户可以Internet登陆书店,浏览其中的图书信息,可以将书店中感兴趣的书加入到购物车中,可以对要买的书下订单。
系统管理员会处理订单。
通过此系统,采用B2C进行电子商务交易。
2.可行性分析
2.1网站建设目标的管理可行性
开发此网站在于建立一个操作简单的在线售书系统,方便管理人员简单化售书,方便消费者查看自己需要的图书,与网站管理者联系。
及时提出自己的需求。
而管理人员也不必时刻值守于电脑前。
2.2网站建设目标的经济可行性
网站建设只需租用一台服务器,一台电脑,网站管理人员只需一两个即可,程序简单,实现起来花费很少。
服务器的运行维护较简单,维持运行费用较低。
市场推广费用也较少。
2.3网站建设目标的技术可行性
采用的工具:
1、MicrosoftVisualStudio.NET2005,试用C#语言和ASP.NET开发
2、MicrosoftSQLServer2000
2.4网站建设目标可能存在的问题
忽视其中出现意外情况可能带来的风险,忽视了网站宣传需要的费用。
3.需求分析
3.1目标客户描述
本系统操作简单面向全国可在网上消费的客户,目标客户即为需要操作简单的销售系统的网上书店管理人员。
3.2网站为用户提供的服务
根据用户需求,系统设计的主要功能如下:
1、向用户提供图书浏览
2、用户可以根据多种方式查询自己喜爱的图书
3、用户可以把自己想买的书添加到购物车
4、用户可以对图书进行评论
在需求分析中,主要采用业务流程图、数据流程图、数据字典等工具进行描述和分析。
3.3网站的结构组织
系统采用从上到下的结构化系统开发方法,分为三个阶段:
系统分析、系统设计、系统实施。
程序结构为B/S结构。
3.4网站的技术实现方式
系统采用从上到下的结构化系统开发方法,分为三个阶段:
系统分析、系统设计、系统实施。
程序结构为B/S结构。
在 sqlserver 企业管理器中,建立,这个比较简单的,首先在 安全性--〉数据库链接 上点右键 ,在出现的菜单中点 新建数据库链接 ,然后会弹出一个界面,需要我们填写的有:
链接服务器(这是一个名字,自己根据情况自行定义,以后就要通过他进行远程访问了),提供程序名称(这个就是选择数据驱动,根据数据库类型来选择,不能乱选,否则链接不上的),数据源(对于sqlserver就是远程数据库服务器的主机名或者IP,对于oracle 就是在oraclenetconfig中配置的别名),安全上下文用户和口令(也就是远程服务器的用户和口令)。
4.网站建设概要设计
4.1网站的数据模型分析与设计
图书相关信息表Book
字段
说明
数据类型
备注
Id
图书编号
Int(4)
主键
Type
图书类型Id
Int(4)
外键,参考Booktype表
Name
书名
Varchar(100)
不可为空
Author
作者
varchar(30)
不可为空
Translator
译者
varchar(30)
可为空
Publisher
出版商
Varchar(100)
不可为空
Price
价格
Decimal(9)
不可为空
Discount
折扣
Decimal(9)
可为空
Cover
封面
Image(16)
可为空
Discription
图书介绍
Text(16)
不可为空
Hits
点击次数
Int(4)
可为空
Sales
销量
Int(4)
可为空
Status
库存状态
*Bit
(1)
默认值1
4.2网站的功能模型分析与设计
用户管理模块:
图书分类
热门图书
推荐图书
最新图书
图书浏览
(1)图书浏览
(2)图书评论
图书评论
输入标题和内容并提交
输入正确的的E-mail
输入用户名
(3)缺书登记
缺书登记
是否登录
输入信息提交
登录页面
否
(4)购物车和图书订单
购物车
是否登录
添加想要买的书
查看购物车的书
下订单购买
登录页面
否
(5)图书搜索
(6)用户注册
注册用户
用户名是否存在
注册资料是否合法
注册用户资料
不合法
不存在
管理员操作模块:
(1)账号管理
账号管理
是否以管理员身份登录
浏览查看所有账户信息
进行管理
要求以管理员身份登录
否
是
(2)图书管理
图书管理
是否以管理员身份登录
浏览查看所有图书信息
添加图书
要求以管理员身份登录
否
是
删除图书
(3)订单处理
订单处理
是否以管理员身份登录
根据用户订单查找相应图书
组织送货、收款
要求以管理员身份登录
否
是
(3)缺书处理
缺书处理
是否以管理员身份登录
查看用户提交的缺书信息
购进新的图书
要求以管理员身份登录
否
是
4.3网站网页框架结构分析与设计
类图(ClassDiagram)是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。
类图的设计是体现一个系统逐渐成形的标志,也是系统设计中最核心的部分。
5.网站建设详细设计
5.1网站数据库设计
1.图书类型表BookType
字段
说明
数据类型
备注
Id
图书类型编号
Int(4)
主键
Name
类型名
Varchar(50)
不可为空
Memo
备注
varchar(200)
可为空
2.图书评论表Comment
字段
说明
数据类型
备注
Id
评论编号
Int(4)
主键
BookId
图书Id
Int(4)
外键,参考Book表
UserName
评论者用户名
Varchar(50)
可为空
E-mail
评论者E-mail
Varchar(50)
可为空
Caption
评论标题
Varchar(100)
可为空
Content
评论内容
Text(16)
不可为空
PublishDate
评论日期
Datatime(8)
不可为空,默认getdate()
3.用户信息表UserInfo
字段
说明
数据类型
备注
Id
用户编号
Int(4)
主键
Name
用户名
Varchar(30)
不可为空
Password
密码
Varchar(32)
不可为空
Mail
E-mail
varchar(30)
不可为空
4.缺书登记表LackRecord
字段
说明
数据类型
备注
Id
Int(4)
主键
UserId
用户Id
Int(4)
外键,参考UserInfo表
Name
书名
Varchar(50)
不可为空
Publisher
出版商
Varchar(50)
不可为空
Reply
管理员回复信息
varchar(1000)
可为空
5.图书收藏表TempStore
字段
说明
数据类型
备注
BookId
图书Id
Int(4)
主键,外键,参考Book表
UserId
用户Id
Int(4)
主键,外键,参考UserInfo表
6.订单信息表Orders
字段
说明
数据类型
备注
Id
编号
Int(4)
主键
UserId
用户Id
Int(4)
外键,参考UserInfo表
OrderDate
下订单日期
Datetime(8)
默认值getdate()
Status
订单处理状态
Bit
(1)
默认值0
7.订单细目信息表OrderDetails
字段
说明
数据类型
备注
Id
Int(4)
主键
OrderId
订单Id
Int(4)
外键,参考Order表
BookId
图书Id
Int(4)
外键,参考Book表
Quantity
图书数量
Int(4)
默认值1
5.2网站程序文件设计与编写
base.cs(基类:
封装对数据库操作的方法)
publicBase()
{
//TODO:
Addconstructorlogichere
}
protectedstaticintExecuteSql(stringstrSQL)
{
SqlConnectionmyCn=newSqlConnection(strConn);
SqlCommandmyCmd=newSqlCommand(strSQL,myCn);
try
{
myCn.Open();
myCmd.ExecuteNonQuery();
return0;
}
catch(System.Data.SqlClient.SqlExceptione)
{
thrownewException(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
protectedstaticintExecuteSqlEx(stringstrSQL)
{