基于jsp的网上书店大学本科方案设计书方案设计书.docx
- 文档编号:10231847
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:26
- 大小:538.31KB
基于jsp的网上书店大学本科方案设计书方案设计书.docx
《基于jsp的网上书店大学本科方案设计书方案设计书.docx》由会员分享,可在线阅读,更多相关《基于jsp的网上书店大学本科方案设计书方案设计书.docx(26页珍藏版)》请在冰豆网上搜索。
基于jsp的网上书店大学本科方案设计书方案设计书
网上书店是电子商务的一部分,电子商务应有的功能、网上书店也应该具有。
由于商家软件设计不大一样,因此网上书店的功能也不完全一致,有的多,有的少。
作者本人认为,网上书店是一种无店铺,人不出门,在计算机联网的网络上作业,就可进行远距离的图书销售与订购。
一般应具有如下功能:
(1)向上网顾客提供图书期刊在线电子版(虚拟版),供顾客订购、下载;
(2)提供新书目、新书内容介绍、书评等,供顾客选择图书时参考;(3)提供书店存货书目,供顾客挑选或补全、补缺;(4)提供网上书店的有关资料,如营业执照等,让顾客了解网上书店的可信程度;(5)开辟网上论坛,供顾客在网上讨论有关图书内容与网上发行中的有关问题;(6)通过网络收集顾客采访图书的计划与要求,顾客的阅读爱好、兴趣、阅读历史和对网上书店的建议与要求;(7)网上订购图书、期刊;(8)安全认证、数字签名、网上结算和支付,并提供正式发票;(9)图书配送;(10)退货处理;(11)质量监控。
但是由于时间及本人能力方面的一些条件所限,本次设计的网上书店系统主要是以实现购书和定单的功能作为设计的重点,实现了网络书店的一些最基本和必须的功能,其他的详细复杂的功能并没有涉及。
2.系统需求分析及设计
2.1业务及用户需求分析
要设计一个实用的网络书店销售管理系统,就必须首先明确应用环境对系统的要求。
本系统开发的总体设计目标为开发一个在线系统,实现图书的在线查找、销售,以及在线管理等功能。
系统以Windows操作系统为平台,网络联接以TCP/IP协议为基础,使用Web服务器提供信息的浏览和查询,采用流行的B/S三层体系结构。
因此,该系统需主要满足以下几方面需求:
1.用户的管理,含注册、检验及修改等功能。
2.在线图书销售,包括查找、购物车及定单等功能。
3.图书在线管理,如浏览、修改、添加和删除图书等。
2.2系统可行性分析
本节从技术的可行性,经济的可行性以及操作的可行性三个方面来说明本网站的可行性。
2.2.1技术可行性
1.硬件:
计算机的存储量大,运算速度快,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都可以满足要求。
2.系统软件:
(1)操作系统WindowsXP/2000接口能力强,数据库管理系统的功能足够。
(2)Java语言是一种优秀的编程语言。
它最大的优点就是与平台无关,在Windows、Linux以及其它平台上,都可以使用相同的代码。
“一次编写,到处运行”的特点,使其在互联网上广泛采用。
JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译。
除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。
3.有专用的开发应用软件:
(1)MicrosoftOfficeAccess,主要针对数据库的建立。
(2)Dreamweaver,主要针对网页的制作。
工欲善其事,必先利其器。
Dreamweaver是Macromedia公司推出的可视化网页制作工具,制作出来的网页兼容性比较好,制作效率也很高。
可以控制和删除冗余代码,使网页文件的结构更加合理,从而能够快速下载。
与其他软件不同,Deamweaver采用的是浮动面版的设计风格,而Dreamweaver的直观性与高效性是其他软件所无法比拟的。
2.2.2经济可行性
从经济角度看,书店对系统的投资要小于系统对书店的回报,书店决策者才会实施系统计划。
从本系统开发的角度出发,系统开发成功会减低人员费用的支出,办公用品的支出,同时,大量的用户增加会给书店无法量化的估计,会使书店获得更大的收益。
2.2.3操作可行性
本系统大概需要四个月的时间完成。
前三个星期主要是以看书以及收集有关系统方面的资料为主,接下来就是对系统的分析,到做数据库,界面,以及中间的连接。
系统对于熟悉JSP编程的作者来说是可行的。
2.3系统开发技术及其关系图
本网上书店系统开发应包括以下技术:
1.通信平台技术
2.接口技术
3.程序设计代码技术
4.数据库存储技术
它们的关系可以用图2.1来表示:
图2.1网上书店系统开发技术基础及其关系图
2.5系统数据流程分析
2.5.1顶层数据流图
说明:
未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。
系统顶层数据流图如下图2.2所示。
图2.2系统顶层数据流图
2.5.2第二层数据流图——前台购书和后台管理
根据顶层数据流图,对前台购书和后台管理模块作进一步分解,得到第二层数据流图,分别如图2.3和图2.4。
1.前台购书
用户登录后进行书籍浏览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交定单,等待定单的处理结果。
系统第二层数据流图(前台购书)如下图2.3所示。
图2.3系统第二层数据流图(前台购书)
2.后台管理
管理员可以登陆到后台,查看相关的定单信息,然后修改定单的信息,主要是审核定单的有效性。
系统第二层数据流图(后台管理)如下图2.4所示:
图2.4系统第二层数据流图(后台管理)
2.5.3第三层数据流图——用户登陆处理
为保证数据的有效和客户的管理,系统必须登陆后才能进行购买图书的相关操作,登陆是系统安全和数据有效性验证的第一部分。
系统第三层数据流图(用户登陆)如下图2.5所示:
图2.5系统第三层数据流图(用户登陆)
2.6数据字典(DD)
数据字典是在系统数据流程图的基础上。
进一步定义和描述所有的数据项、数据结构、数据存储、处理过程和外部实体的详细逻辑内容与特征的工具。
数据字典的任务是对于数据流程图中出现的元素的名字都有一个确切的解释。
因此,建立数据字典的工作量很大,相当烦琐。
但这是一项必不可少的工作。
数据字典在系统开发中具有十分重要的意义,不仅在系统分析阶段要使用它,在系统的整个研制过程中以及系统运行中都要使用它提供帮助。
用户数据字典如下表2.1所示。
文件名:
用户表
编号:
1
组成:
用户ID+用户名+用户密码+用户邮箱+用户地址+用户类型+邮递区号+用户电话
备注:
这是所有的用户信息表
表2.1数据文件“用户表”的字典条目
管理员数据字典如下表2.2所示。
文件名:
管理员表
编号:
2
组成:
管理员ID+管理员名+管理员密码
备注:
这是管理员信息表
表2.2数据文件“管理员表”的字典条目
购书车数据字典如下表2.3所示。
文件名:
购书车表
编号:
3
组成:
购书车ID+图书ID+用户名+购物数量+购书时间+购书审查+定单号+管理员审查+图书名称+图书价格
备注:
这里有所有购书的信息
表2.3数据文件“购书车表”的字典条目
图书数据字典如下表2.4所示。
文件名:
图书表
编号:
4
组成:
图书ID+图书名+图书价格+图书简介+图书数量+图书日期+图书照片+出版社+代理价格+批发价格+用户状态+作者+图书页数+开本+图书编号+推荐
备注:
这里有所有书籍的信息
表2.4数据文件“图书表”的字典条目
友情链接数据字典如下表2.5所示。
文件名:
友情链接表
编号:
5
组成:
ID+链接地址+地址名称
备注:
这里有所有友情链接的信息
表2.5数据文件“友情链接表”的字典条目
公告栏数据字典如下表2.6所示。
文件名:
公告栏表
编号:
6
组成:
ID+标题+内容+公告时间
备注:
这里有所有公告的信息
表2.6数据文件“公告栏表”的字典条目
图书类别数据字典如下表2.7所示。
文件名:
图书类别表
编号:
7
组成:
ID+名称
备注:
这里有所有图书分类的信息
表2.7数据文件“图书类别表”的字典条目
定单信息数据字典如下表2.8所示。
文件名:
定单信息表
编号:
8
组成:
定单ID+购书车ID+用户名+定单时间+定单号+定单审查+下定单用户名+下定者邮箱+下定者电话+下定者地址+下定者邮编+付款方式
备注:
这里有所有定单的信息
表2.8数据文件“定单信息表”的字典条目
3系统设计
3.1系统结构图
根据需求分析和方案设计,可得到系统结构图如图3.1所示:
图3.1系统结构图
3.2系统功能具体分析
当用户登陆到本系统时,可以直接以点击的形式进入如下的版块:
用户登陆、用户注册、图书查询、购书车、提交定单、图书信息维护、定单信息处理,以及辅助功能。
Ø用户登陆
普通用户通过网络和浏览器,可以访问到网上书店,如果用户想在网上购买图书,必须先登陆,如果用户没有登陆账号可以先免费注册。
Ø用户注册
没有账号的用户,网站提供免费注册的功能,用户只需要在注册页面填写相关的内容,如果信息通过验证,用户则注册成功,如果用户输入的信息有诸如密码不能为空等类似的错误,则会显示出错误信息,让用户重新输入登陆信息。
Ø图书查询
用户可以浏览图书信息,但是图书信息比较多,想找到合适自己的图书,有一定的难度,因此,用户可以通过查询功能,输入想找的图书的关键字,系统会模糊查询,显示出相关的图书信息,提供给用户选择,如果用户选择的图书数据库中找不到合适的匹配,则会提示没有相关图书的信息。
Ø购物车
用户选择自己喜欢或者需要的图书后,可以把图书存放到购物车中,方便自己的二次查询,如果用户真的需要图书,可以付款购买图书。
如果用户不需要图书,可以从购书车中删除图书信息。
Ø提交定单
用户查看购书车中的信息,确认要购买的图书,可以直接提交定单,在定单中填写自己的相关信息,填写信息必须正确,填写完只要付款后,经过管理员的确认便可以得到邮购的图书。
Ø图书信息维护
网站管理员登陆到管理员界面后,可以对图书数据进行添加,修改,删除操作,管理图书信息,方便管理员和用户浏览图书信息,管理员可以添加需要上架的新书以不断的补充书店的图书,让书店的图书更加丰富,对于已经明显显示出下滑趋势的图书,管理员可以进行删除处理,之后用户便不能再看到该书的信息。
Ø定单处理
用户通过定单提交,确定自己的定单。
管理员在后台维护界面可以查看所有的定单,定单和汇款单统一,如果用户汇款,管理员则处理定单,邮发图书到指定用户。
Ø辅助功能
本系统还有一些其他辅助功能,比如:
用户数据管理,公告管理,图书分类等。
在用户数据管理中,管理员可以对用户的详细信息进行管理,如修改和删除用户信息,还可以给用户升级为VIP,以便让用户能享受到VIP会员价格。
在公告管理中,管理员可以及时的添加新的公告,以便让用户更及时的知道该网络书店的最新动态,删除已经不再需要的信息。
图书分类中,管理员可以进行图书分类的添加,比如管理员添加了一本新书在先有的图书分类中没有该类别,则管理员通过添加新的类别,可以把已经添加的图书并归到该类别中。
3.3数据库的设计
3.3.1逻辑结构设计
系统实体及其属性描述如下:
1.用户{用户ID,用户名,用户密码,用户邮箱,用户地址,用户类型,邮递区号,用户电话}
2.管理员{管理员ID,管理员名,管理员密码}
3.购物车{购书车ID,图书ID,用户名,购书数量,购物时间,购书审查,定单号,管理员审查,图书名称,图书价格}
4.图书{图书ID,图书名,图书价格,图书简介,图书数量,图书日期,图书照片,出版社,代理价格,批发价格,用户状态,作者,图书页数,开本,图书编号,推荐}
5.友情链接{ID,链接地址,地址名称}
6.公告栏{ID,标题,内容,公告时间}
7.图书类别{ID,名称}
8.定单信息{定单ID,购书车ID,用户名,定单时间,定单号,定单审查,下定单用户名,下定者邮箱,下定者电话,下定者地址,下定者邮编,付款方式}
利用MicrosoftOfficeAccess建立一个新的空的数据库名为bookshop.mdb,其中包括以下表。
1.用户表如下表3.3.1所示。
列名
类型
主码
可为空值
描述
user_id
自动编号
Y
N
由数据库自动生成的顺序编号,作为用户的标示
user_name
文本
N
N
用户的名称
user_pass
文本
N
Y
用户的密码
user_mail
文本
N
Y
用户邮箱
user_adds
文本
N
Y
用户地址
user_tel
文本
N
Y
用户电话
user_regtime
日期/时间
N
Y
用户登录时间
user_regip
文本
N
Y
用户登录
user_lasttime
日期/时间
N
Y
用户最后登录时间
user_lastip
文本
N
Y
user_buymoney
文本
N
Y
用户买书的钱
user_postcode
文本
N
Y
用户邮递区号
user_namec
文本
N
Y
user_type
文本
N
Y
用户类型
表3.3.1用户表
2.管理员表如下表3.3.2所示。
列名
类型
主码
可为空值
描述
admin_id
自动编号
Y
N
由数据库自动生成的顺序编号,作为管理员的标示
admin_name
文本
N
N
管理员名称
admin_pass
文本
N
Y
管理员密码
表3.3.2管理员表
3.购书车表如下表3.3.3所示。
列名
类型
主码
可为空值
描述
basket_id
自动编号
Y
N
由数据库自动生成的顺序编号,作为购书车的标示
hw_id
文本
N
N
购书车的ID
user_name
文本
N
Y
用户名称
basket_count
文本
N
Y
购书数量
basket_date
日期/时间
N
Y
购书日期
basket_check
是/否
N
Y
购书审查
basket_admincheck
是/否
N
Y
管理员审查
hw_name
文本
N
Y
图书名称
hw_cash
文本
N
Y
图书价格
sub_number
文本
N
Y
定单号
Daili
文本
N
Y
代理价格
表3.3.3购书车表
4.图书表如下表3.3.4所示。
列名
类型
主码
可为空值
描述
hw_id
自动编号
Y
N
由数据库自动生成的顺序编号,作为图书的标示
sort_id
数字
N
N
nsort_id
数字
N
Y
hw_name
文本
N
Y
图书名称
hw_cash
数字
N
Y
图书价格
hw_content
备注
N
Y
图书简介
hw_date
日期/时间
N
Y
图书日期
hw_pic
文本
N
Y
图书照片
Chubsh
文本
N
Y
出版社
Daili
数字
N
Y
代理价格
Pifa
数字
N
Y
批发价格
Zhuang
文本
N
Y
用户状态
hw_sn
文本
N
Y
图书作者
Yeshu
文本
N
Y
图书页数
Kaiben
文本
N
Y
开本
Isbn
文本
N
Y
图书编号
Tuijian
是/否
N
Y
推荐
Jia
是/否
N
Y
表3.3.4图书表
5.友情链接表如下表3.3.5所示。
列名
类型
主码
可为空值
描述
id
自动编号
Y
N
由数据库自动生成的顺序编号,作为链接的标示。
url
文本
N
N
地址链接
wordlink
文本
N
Y
地址名称(中文显示)
bs
数字
N
Y
表3.3.5友情链接表
6.公告栏表如下表3.3.6所示。
列名
类型
主码
可为空值
描述
ID
自动编号
Y
N
由数据库自动生成的顺序编号,作为公告的标示
am_uid
文本
N
N
Title
文本
N
Y
公告标题
Msg
文本
N
Y
公告信息
Date
日期/时间
N
Y
公告日期
Time
日期/时间
N
Y
公告时间
表3.3.6公告栏表
7.图书类别表如下表3.3.7所示。
列名
类型
主码
可为空值
描述
sort_id
自动编号
Y
N
由数据库自动生成的顺序编号,作为图书类别的标示
sort_name
文本
N
N
分类名称
表3.3.7图书类别表
8.定单信息表如下表3.3.8所示。
列名
类型
主码
可为空值
描述
sub_id
自动编号
Y
N
由数据库自动生成的顺序编号,作为定单的标示
basket_id
文本
N
N
购物ID
user_name
文本
N
Y
用户名
sub_date
日期/时间
N
Y
定单日期
sub_number
文本
N
Y
定单数量
sub_check
是/否
N
Y
定单审查
sub_to
文本
N
Y
下定单用户名
sub_mail
文本
N
Y
下定者邮箱
sub_tel
文本
N
Y
下定者电话
sub_adds
文本
N
Y
下定者地址
sub_post
文本
N
Y
下定者邮编
qian
文本
N
Y
付款方式
other
文本
N
Y
其他
表3.3.8定单信息表
4.系统功能模块实现
4.1用户登录模块
这里介绍用户登录的程序设计思路,数据库中存放有用户的基本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性,下面是登录程序流程图如下图4.1所示:
图4.1登陆程序流程图
登陆模块中的主要程序:
user_name=request.getParameter("user_name");//获得用户名
user_pass=request.getParameter("user_pass");//获得用户密码
Stringsql="select*frommemberwhereuser_name='"+user_name+"'";
ResultSetrs;//建立相关的记录集
rs=mdb.executeQuery(sql);
下面只需要查看记录集是不是为空,如果为空,则说明登录失败;否则,登录成功。
登陆界面截图如下:
登陆后信息如下:
4.2用户注册模块
注册模块,会出现在很多程序中,这里借鉴了其他注册程序的流程。
注册模块的核心思想是向数据库中输入数据,并且数据要不能重复,下面是注册模块的程序流程图如下图4.2所示:
图4.2注册程序流程图
注册模块中的主要程序介绍:
Stringsql1;sql1="Insertinto
member(user_name,user_pass,user_adds,user_mail,user_tel,user_regip,user_postcode,user_namec,user_type)values('"+user_name+"','"+user_pass+"','"+user_adds+"','"+user_mail+"','"+user_tel+"','"+request.getRemoteHost()+"','"+user_postcode+"','"+getStr(request.getParameter("user_namec"))+"','会员')";
mdb.executeInsert(sql1);
数据通过验证后,向数据库输入数据,数据库会保存相关的注册信息。
注册页面如下:
4.3管理员功能模块
网站管理员登陆到管理员界面后,可以对图书数据进行添加,修改,删除操作,管理图书信息,方便管理员和用户浏览图书信息,管理员可以添加需要上架的新书以不断的补充书店的图书,让书店的图书更加丰富,对于已经明显显示出下滑趋势的图书,管理员可以进行删除处理,之后用户便不能再看到该书的信息。
管理员可以添加公告信息等。
进入管理员登陆模块:
管理员的具体职能如图:
管理员的查看与修改功能部分代码如下:
Stringaction=request.getParameter("action");
if(action!
=null)
{action=action.trim();
if(action.equals("del"))
{intn=0;
sql="delete*fromhwwherehw_id="+Cint(request.getParameter("hw_id"));
mdb.executeDelete(sql);
out.print("图书删除成功");
out.print("
");
out.print("
}
4.4定单处理模块
网上书店建立的目的之一就是为了经济利益,定单处理是和经济利益有直接关系的模块,有效定单都是预付书款的定单,会增加书店的营业收入,可以说本模块是系统的核心模块,是系统的心脏,数据转存的中心。
下面会详细介绍本模块。
定单处理模块的设计思路:
用户提交定单后,管理员通过后台数据处理,可以查看全部的定单信息,由于定单编号是按照时间来命名的,管理员很容易查看到最新的定单信息。
同时,本模块还和其他两个系统有间接的关系,一个是付款系统,另外一个是物流系统。
定单的有效性和付款系统有直接关系,管理员处理的定单,通过审核的条件必须是付过书款的。
另外,如果是有效定单,必须通过物流给用户寄发图书。
定单处理程序流程图如下图4.4所示:
图4.4定单处理程序流程图
主要代码实现:
try
{
Class.forName(sDBDriver);
}
//处理异常
catch(java.lang.ClassNotFoundExceptione)
{
System.err.println("数据库连接:
"+e.getMessage());
}//数据库的连接
conn=DriverManager.getConnection(sConnStr);
stmt=conn.createStatement();
for(inti=0;i intmyUpdate=stmt.executeUpdate("updatesubsetsub_check=truewheresub_number='"+id[i]+"'"); intmUpdate=stmt.executeUpdate("updatebasketsetbasket_admincheck=truewheresub_number='"+id[i]+"'"); //对定单数据进行具体到更新操作,更新两张表中的信息。 本模块是系统的核心,主要负责定单的审查,是定单的流程最后一个环节,也是最重要的一个环节。 书店的任何数据都和定单数据有直接或者间接的关系,有效的定单和书店的经济利益有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 jsp 网上 书店 大学本科 方案设计