网上书店系统的设计与实现1.docx
- 文档编号:29572545
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:27
- 大小:296.26KB
网上书店系统的设计与实现1.docx
《网上书店系统的设计与实现1.docx》由会员分享,可在线阅读,更多相关《网上书店系统的设计与实现1.docx(27页珍藏版)》请在冰豆网上搜索。
网上书店系统的设计与实现1
摘要
随着互联网络的发展,网上书店越来越为人们所关注。
网上书店是根据公司的实际需求、应用动态网页技术开发而成。
该系统可以克服传统图书销售中地域、广告宣传、人力资源不足等限制,能很好地适应网上销售需求。
而其主要功能包括:
书籍展示、用户注册、图书搜索、购物车及结账。
通过网上书店,人们可以足不出户就选购自己所需的图书。
本文介绍了网上书店系统的开发模式和环境,并具体阐述了系统分析、概要设计及系统详细设计过程。
是一个符合现代人生活的系统。
关键词:
网上书店JSP数据库设计实用性
目录
第一章系统开发环境1
1.1开发工具1
第二章 系统需求分析2
2.1需求分析2
2.2可行性分析3
第三章 系统总体设计5
3.1系统功能模块的设计5
3.2数据库设计9
第四章 系统详细设计与实现15
4.1用户注册系统15
4.2验证17
4.3验证失败后的处理19
第五章系统测试20
结论21
参考文献22
第一章系统开发环境
1.1开发工具
JSP是Sun公司推出的一种网站开发技术,Sun公司借助自己在Java上的不凡造诣,又把人们引进JSP时代,JSP即JavaServerPage,它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。
所以,在我小组的设计中,采用了JSP作为开发工具,与Access相结合,构建了一个能实现基本的电子商务的小型动态商务网站——网上书店系统。
1.2应用程序
随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。
基于Internet的信息服务,商务服务已经成为现代企业一项不可缺少的内容。
很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。
现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。
同时人们的生活方式也在随着发生改变,传统的购物方式已不能满足人们的需求。
该系统能实现用户的注册、登录功能;能够实现商品的查询,订购等功能。
该系统基本上具备一个网上商品销售系统应该具备的常用功能,该设计项目基本上体现了构建一个动态商务网站所需要的技术,可以说,目前的大型商务网站也就是我们这个小型网站在内容上的扩充和完善。
第二章 系统需求分析
2.1需求分析
网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。
一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等模块。
枫叶网上书店根据需求实现以下功能:
1.书籍的展示
(1)把书店里的书籍按类别进行分类,使顾客可以按类别浏览书籍。
(2)单击每种书的种类链接,将出现该类书籍列表。
(3)可查看书籍的详细资料,单击每种书名,将出现相应书籍的详细信息。
2.用户注册
普通顾客只能浏览一般图书信息,但通过用户注册后可以浏览全部图书信息。
而且在本书地点拥有唯一一个账号,用户也可以用这个账号实现网上购书、图书搜索、书籍评价、将好书链接发给朋友的功能。
3.图书搜索
用户可以在本网上书店利用关键字进行搜索。
本系统支持模糊搜索、按书名搜索、按书号搜索、按书类搜索、按作者名搜索、按国别搜索。
按出版社搜索等,如果搜索结果不唯一,可对搜索结果进行按条件排序。
4.购物车
(1)找到满意书籍后,可放入“购物车”中。
(2)选择“继续购书”可回到上级书籍列表中,否则可以结账,进入填写“填写订单”的界面。
(3)在浏览书籍过程中,可“单击查看购物车”按钮,查看已选中书籍。
(4)在查看“购物车”时,可删除不想要的书籍。
5.结账
顾客选购好书籍后,可单击“购买”按钮,系统会反馈给顾客一个页面,显示所购买的图书号码、数量和所需要付款的金额。
基本流程:
已经注册过的用户可以直接输入帐号和密码进入系统,通过身份验证后,用户会进入系统主界面,在该界面中用户可以进行查找图书、购买图书、提交购物车等操作。
而非会员只有浏览图书的权限,没有购书的权限,如果要进行购书则系统会提示用户进行注册,只有成为会员后才可以购书,这也是对于系统安全性的一种考虑。
系统用例图如图2.1所示。
枫叶网上书店
注册
登录
查询
购买
游客
书店会员
注销
会员修改个人信息
留言
图2.1系统用例图
2.2可行性分析
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
本系统采用了MicrosoftAccess数据库管理系统。
MicrosoftAccess是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理。
第三章 系统总体设计
3.1系统功能模块的设计
1.系统框架
本系统有一个部分,5个完整的功能模块。
分别是:
书籍展示模块;搜索书籍;用户注册模块;购物车模块;结账模块。
结构如图3.1所示。
图3.1功能结构图
由上图可设计出游客数据流图如图3.2所示,会员数据流图如图3.3所示。
图3.2游客数据流图
图3.3会员数据流图
2.注册系统流程
顾客进入本系统后,可以进行一般的图书信息查询操作;如果顾客要使用本系统其
它功能,必须进行注册。
当顾客选择注册时,将进入用户注册系统。
注册分两种情况:
成功与失败。
当顾客填入注册信息,成功注册后,便可进入本系统进行购书等操作;相反,如若失败则必须重新操作。
注册系统流程图如图3.4所示。
图3.4注册系统流程图
3.登录系统流程
在登录系统模块中,用户在登录界面输入用户名和密码后,系统回到数据库中进行验证,如果验证通过,将进入系统;失败的话,则须重新登录,否则必须先在注册系统中进行注册,然后再登陆。
成功登陆后,用户可以进行购书、修改个人资料、注销等操作。
登录系统程序流程图如图3.5所示。
用户登录
login.html
登录失败loginfail.jsp
login.jsp
登录成功loginsucc.jsp
图3.5登录系统程序流程图
4.查询系统流程
在查询系统模块中,用户可以查询自己想要的图书资料,用户只需按照查询页面中的要求,输入查询信息即可。
查询系统流程图如图3.6所示。
图3.6查询系统程序流程图
5.购书系统流程
在购书系统模块中,用户可以购买想要的图书,为此系统提供了购物车,该购物车模拟现实生活中人们在超市时所使用的购物车的功能,当用户选择想要买的书籍后,可以进入“购物车”进行添加、删除和修改等操作。
购书系统流程图如图3.7所示。
图3.7购书系统程序流程图
3.2数据库设计
1.概念设计
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库的设计通常是以一个已经存在的数据库管理系统为基础的。
下面就给出各个实体的E-R图,如图3.8-3.11所示。
图3.8会员E-R图
图3.9图书E-R图
图3.10订单E-R图
图3.11书籍分类E-R图
2.物理设计
本系统使用的数据库是Access,包括以下5个表。
下面将分别介绍:
表1图书信息(book表)的字段
字段名称
数据类型
Id
自动编号
ISBN
文本
统一书号
Bname
文本
图书名称
Bname1
文本
图书附加名称
Bclass
文本
图书类别
Ptime
日期/时间
出版时间
Publisher
文本
出版社
Intime
日期/时间
上架时间(以此来确定是否为新货)
Author
文本
作者笔名
Tauthor
文本
作者原名
Country
文本
国家
Lanaguage
文本
此书语言
Tpeople
文本
译者
Oldrmb
数字
原价
Todayrmb
数字
现价
Rmb
数字
会员价
Pack
文本
包装(1:
精装,0:
简装)
Pnum
数字
页数
Scale
文本
开本
Cd
数字
书中是否有光盘(0:
有,1:
无)
Cdnum
数字
有几张光盘
Info
备注
简介
Pingjia
备注
评价
Counter
数字
点击次数、人气
Bcounter
数字
购买次数、成交量
Leftnum
数字
剩余书量
Img
文本
图的缩略图路径
Status
数字
书的状态(0:
正常销售,1:
缺货,2:
停售)
Dazhedu
数字
打折度(0~9.9:
打折,10:
不打折)
Tuijiandu
数字
商家推荐度
Chengben
数字
成本价
Ifyuding
数字
是否能预定(0:
可以,1:
不可以)
List
备注
目录
Forbook
备注
前言
Backbook
备注
后续
Fenshu
数字
读者打分
表2cart表的字段
字段名称
数据类型
Userid
文本
用户ID
Bookid
文本
书籍ID
Num
数字
用户购买数量
Isbn
文本
书号
Bname
文本
书号
Rmb
数字
会员价
表3订单orders的字段
字段名称
数据类型
Id
自动编号
Userid
本文
用户ID
Book
本文
数的ID和数量。
例如4,1:
2,1
Rmb
数字
此次订单总钱数
Shijian
本文
订单提交的日期
Status
数字
订单是否被处理(0:
未处理,1:
处理过)
Goods_price
数字
书籍的原价
表4记录用户留言信息的数据库表talk的字段
字段名称
数据类型
Tid
自动编号
Ttalker
文本
发言人
Ttime
文本
发言时间
Tname
文本
发言主题
Tcontent
备注
发言内容
Twho
数字
哪本书的意见
Tstatus
数字
此意见的状态(0:
可见,1:
不可见)
表5用户注册信息的数据库表userinfo的字段
字段名称
数据类型
Id
自动编号
Netname
文本
网名
Password
文本
密码
Question
文本
问题
Answer
文本
答案
Name
文本
真名
文本
邮箱
Sex
文本
性别
Birthyear
文本
出生年
Birthmonth
文本
出生月
Birthday
文本
出生日
Edu
文本
教育程度
Hangye
文本
行业
Levels
文本
职位
Salary
文本
月薪
Marry
文本
婚否
Workkind
文本
职业
Province
文本
省份
City
文本
城市
Addrroom
文本
家庭住址
Address
文本
通信地址
Zone
文本
邮编
Tel
文本
电话
Cardkind
文本
证件类型
Cardnum
文本
证件号码
Rights
数字
用户权限
Xinyu
数字
信誉度
Ordernum
数字
提交的订单份数
Refusenum
数字
拒绝购买次数
Successnum
数字
成功购买次数
Reason
数字
拒绝付款原因
Iftrust
数字
是否信任此用户。
0:
信任,1:
不信任
第四章 系统详细设计与实现
详细设计阶段就是把解决方法具体化,设计出详细规格说明,包含必要的细节,程序员可以根据它们写出实际的程序代码,详细设计也称模块设计,在这个阶段将详细地设计每个模块,具体的实现功能。
在详细设计过程中,具体的功能实现过程可以按照软件工程中的方法描述中的交互模型具体描述,力求完全符合客户的真实需求。
该系统的设计基于以下几个原则:
1.标准化;2.模块化;3.先进性;4.安全性;5.交互性。
首先实现对数据库的连接,主要代码如下:
publicConn()
{
_dburl="jdbc:
odbc:
bookstore";
_username="huahua";
_password="binbin";
_driver="sun.jdbc.odbc.JdbcOdbcDriver";
}
publicConn(Stringdriver,Stringdburl,Stringusername,Stringpassword)
{
_driver=driver;
_dburl=dburl;
_username=username;
_password=password;
}
4.1用户注册系统
1.实现目标:
用户进入注册页面,如图4.1.1所示。
图4.1.1用户注册界面
2.实现方法
(1)图4.1.1显示了用户注册时需要填的信息,按照提示填入。
(2)如注册失败会有相应提示,如图4.1.2
图4.1.2注册失败界面
(3)登陆界面,如图4.1.3
图4.1.3登陆界面
(4)登陆成功,失败分别如图4.1.4,图4.1.5
图4.1.4登陆成功界面图4.1.5登陆失败界面
4.2验证
当用户提交注册申请后,将由adduser.jsp页面来验证用户输入信息,文件reg/adduser.jsp的主要代码如下:
<%@pagecontentType="text/html;charset=gb2312"%>
useBeanid="mycheck"scope="session"class="dbms.check"/> useBeanid="trans"scope="session"class="dbms.charConvert"/> useBeanid="sqlbean"scope="session"class="dbms.Conn"/> <%@pagelanguage="Java"import="java.sql.*"%> <%! Stringnetname,password1,password2,question,answer,name,mail,sex,birthyear,birthmonth,birthday,edu,hangye,levels,salary,marry,workkind,province,city,addrroom,addrems,zone,tel,cardkind,cardnum;%> <%! intrights;%> <%! Stringpresn;intxinyu,ordernum,refusenum,successnum,iftrust;%> <%! Stringreason;%> <% intpos=sex.indexOf('/'); Stringfirst=sex.substring(0,pos); Stringsql="insertintouserinfo(netname,password,question,answer,name,mail,sex,birthyear,birthmonth,birthday,edu,hangye,levels,salary,marry,workkind,province,city,addrroom,addrems,zone,tel,cardkind,cardnum)values('"+netname+"','"+password1+"','"+question+"','"+answer+"','"+name+"','"+mail+"','"+sex+"','"+birthyear+"','"+birthmonth+"','"+birthday+"','"+edu+"','"+hangye+"','"+levels+"','"+salary+"','"+marry+"','"+workkind+"','"+province+"','"+city+"','"+addrroom+"','"+addrems+"','"+zone+"','"+tel+"','"+cardkind+"','"+cardnum+"')"; sqlbean.updateDb(sql); %> 您已注册成功!
4.3验证失败后的处理
如用户输入注册信息不符合要求,页面将会导向fail.jsp页面。
文件fail.jsp主要代码如下:
<%@pagecontentType="text/html;charset=gb2312"%>
useBeanid="mycheck"scope="session"class="dbms.check"/> useBeanid="trans"scope="session"class="dbms.charConvert"/> useBeanid="sqlbean"scope="session"class="dbms.Conn"/> <%@pagelanguage="Java"import="java.sql.*"%> <%! Stringnetname,password1,password2,question,answer,name,mail,sex,birthyear,birthmonth,birthday,edu,hangye,levels,salary,marry,workkind,province,city,addrroom,addrems,zone,tel,cardkind,cardnum;%> <%! intrights;%> <%! Stringpresn;intxinyu,ordernum,refusenum,successnum,iftrust;%> <%! Stringreason;%> 第五章系统测试 通过测试,可以发现测试对象的缺点,这对进一步完善自己的系统中的错误起着很大作用。 分为以下几个步骤: 模块测试,模块测试通常又称为单元测试。 在这个测试步骤中所发现的往往都是编码和详细设计的错误;子系统测试,子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。 这个步骤着重测试模块的接口;系统测试,系统测试是把经过测试的子系统装配成一个完整的系统来测试。 在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能。 在这个测试步骤中发现的往往是软件设计中的错误;验收测试,它的主要目的是验证系统确实能够满足用户的需要。 图5.1用户错误图 进行测试的过程中,在对该系统进行测试的过程中,重点对该子系统的错误处理功能进行了检验,主要进行了系统模块出错的处理测试,在测试时使用了比较合理的测试用例,不仅仅是对键盘的操作进行测试,对一些链接,查看也进行了测试,也通过测试寻找到一些问题,对这些问题做出了及时有效的改正。 测试的结果还是令人乐观和满意的。 结论 本文论述了一个基于WEB的网上图书销售系统,基本上体现了电子商务各方面的优点。 我所设计的网上书店,主要是熟悉和掌握JSP的技术以及对电子商务进行初步的探讨和设计。 在几周的设计过程中,我初步了解了JSP的优点和先进之处,也看到了JSP技术在电子商务应用上的光明前途。 通过这次设计,我设计的网上书店基本完成了要求的诸项基本功能,实现了一个简单的不同部分以数据为中心的模型,方案的各部分在实际运作中能够解决相应的问题。 在设计和制作网上书店这一个整体项目的过程中,也培养了自己的综合能力和从全局考虑的思想。 将复杂的问题简单化,作为电子商务应用的一个缩影,我所涉及的模块项目完成了其后台具有的基本功能,使自己对于电子商务的了解更加深入和明了。 当然,其中也遗留下了一些待解决的问题,但出于自己水平有限,作为一个网上书店系统,该项目上有一些不完善和函待改进之处,特别是在网站信息的安全性上需要进一步加强。 通过这次的软件实践设计,我了解了目前流行的动态商务网站的构成和运作原理,掌握了用JSP构建动态网站的相关知识和技术原理,锻炼了自己的动手实践能力。 更重要的是,通过这次的软件实践设计,我培养出了刻苦钻研的学习精神和严肃认真的学习态度,这对我以后的学习和工作有很大的益处。 在这次软件实践设计过程中,我得到了老师的悉心指导和其他同学的帮助。 在此,我对他们表示衷心的感谢! 参考文献 [1]汪孝宜主编.JSP数据库开发实例精粹[M].电子工业出版社,2005. [2]林上杰,林康司编著.JSP2.0技术手册[M].电子工业出版社,2004. [3]万峰科技编著.JSP网站开发四“酷”全书[M].电子工业出版社,2006. [4]BruceEckel著,陈昊鹏饶若楠等译.JAVA编程思想[M].机械工业出版社,2005. [5]耿祥义编著.JSP基础编程[M].清华大学出版社,20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 书店 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)