网上书店系统的设计与实现1.docx

上传人:b****5 文档编号:29572545 上传时间:2023-07-24 格式:DOCX 页数:27 大小:296.26KB
下载 相关 举报
网上书店系统的设计与实现1.docx_第1页
第1页 / 共27页
网上书店系统的设计与实现1.docx_第2页
第2页 / 共27页
网上书店系统的设计与实现1.docx_第3页
第3页 / 共27页
网上书店系统的设计与实现1.docx_第4页
第4页 / 共27页
网上书店系统的设计与实现1.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

网上书店系统的设计与实现1.docx

《网上书店系统的设计与实现1.docx》由会员分享,可在线阅读,更多相关《网上书店系统的设计与实现1.docx(27页珍藏版)》请在冰豆网上搜索。

网上书店系统的设计与实现1.docx

网上书店系统的设计与实现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

文本

真名

Mail

文本

邮箱

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1