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

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

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

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

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

网上购书系统的设计与实现

xx大学

实验报告

课程名称:

网络数据库编程

专业班级:

学生学号:

(组号)

学生姓名:

实验名称:

实验成绩:

课程类别:

必修

□限选☑公选□其它□

错误!

未找到目录项。

一、菩提书城网上购书系统概述

1.系统开发背景

随着互联网的高速发展,电子商务将成为21世纪主流的商业模式。

它通过人和电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现图书销售。

和传统的实体书店相比,网上书店的经营方式和销售渠道是全新的。

2.系统开发方法

本系统是在WindowsXP下,以MicroSoftAccess2003为数据库开发平台,Tomcat网络信息服务作为使用服务器,采用JSP(JavaServerPages)技术,(jsp+javabean+Access)B/S模式开发的网上书店系统。

二、系统的需求分析

2.1需求分析

(1)技术可行性——此网上购书系统可以运用于windowsxp,windows7,windowsserver2000/2003操作系统。

对计算机的硬件配置没有太高要求,现在的个人电脑基本完全可以满足条件。

(2)经济可行性——这个系统可以运用于现在市场上所出售的各种个人电脑,系统成本主要集中在系统的开发上。

而且当系统投入运行后,可以实现在网上卖书的功能。

系统所带来的效益远远大于系统软件的开发成本。

所以在经济上是完全可行的。

(3)操作可行性——界面设计充分考虑到浏览用户的习惯,图书信息浏览、会员注册登录、购书等功能操作方便。

而且所有页面设计简洁、合理,不会让用户感到视觉疲劳。

可操作性非常强。

2.2功能需求

对书店的图书信息和用户信信息的进行有效的管理;对图书的进存销等环节进行信息化管理;实现读者网上浏览图书,网上购书的可能。

2.3性能需求

数据库的录入;图书检索;用户信息查询;图书信息查询;网上购书;

2.4安全和保密要求

书店中所有的图书能够供用户随时查阅;用户的个人信息可以由用户自己修改,添加;书店图书的信息只能由书店管理人员添加,修改;所有注册用户信息只能由书店管理人员查询。

三、系统功能概述

前台:

(1)用户注册

(2)用户登录

(3)图书选购,购物车功能

(4)查看图书的详细情况

(5)查看用户的订单信息

(6)修改用户个人信息

后台:

(1)书城图书管理:

添加,修改,删除,查看

(2)用户信息管理:

查看,修改,删除

(3)订单信息管理:

查看信息详情,更新订单付款,出货状态,删除订单。

四、网站功能模块图

网上书店

浏览图书

查询图书

购物车

订单预览

确认订单

查询订单

图书摘要

修改密码

修改信息

退出系统

系统主要模块图

用户和主要模块的关系:

用户和主要模块的关系图

五、数据库设计

由于本系统需要对所学的专业知识有所巩固,而且对数据库有一定的要求,因此采用Access数据库作为数据库设计工具。

系统的所有数据都存于shop.mdb数据库中,该库共有三个表,以下是数据库中数据表:

(1)user表结构:

如图所示

用途:

存储用户的注册信息,即会员的注册信息存入user表中,user表的主键是logname,个字段值的说明如下:

Logname:

存储注册的用户名(字符型)

Password:

存储登陆密码(字符型)

Phone:

存储电话(字符型)

Email:

电子邮件(字符型)

Address:

存储通信地址(字符型)

Realname:

存储真实姓名(字符型)

(2)Bookform数据表:

结构如图所示

用途:

存储图书信息,bookform表的主键是bookISBN,各字段值得说明如下:

bookPic:

存储于图书相关的一副图像文件的名字(字符型)

BookISBN:

图书的ISBN(字符型)

bookName:

图书的名称(字符型)

bookAuthor:

图书的作者(字符型)

bookPrice:

图书的价格(单精度浮点型)

bookPublish:

图书的出版商(字符型)

bookAbstract:

图书的摘要(字符型)

(3)orderForm表结构:

如下图所示

用途:

存储订单信息,orderForm表的主键是orderNumber,各字段值的说明如下:

orderNumber:

存储订单号(int型)

Logname:

存储注册的用户名(字符型)

orderMess:

订单信息(字符型)

Sum:

所定图书的价格总和(单精度浮点型)

六、详细设计

主界面主要功能及代码

1.网站主页

主页运行效果如图所示。

2.用户注册

该模块要求用户必须输入用户名、密码信息,否则不允许注册。

用户的注册信息被存入数据库的user表中。

该模块由一个JSP页面Register.jsp和一个Tag文件Register.tag构成。

页面负责提交用户的注册信息到本页面,然后调用Register.tag文件。

Register.tag文件负责将用户提交的信息写入数据库的user表中。

(1)JSP页面

Register.jsp负责提供输入注册信息界面,并显示注册反馈信息。

该页面将用户提奖的注册信息交给Register.tag文件,并显示Tag文件返回的有关注册信息是否成功的信息。

Register.jsp页面效果如图所示。

(2)Tag文件

Tag文件的名字是Register.tag,负责连接数据库,将用户提交的信息写入到user表,并返回有关注册是否成功的信息给Register.jsp页面。

3.会员登录

用户在该模块输入曾注册的用户名和密码,该模块将对用户名和密码进行验证,如果输入的用户名和密码有错误,将提示用户输入的用户名或密码不正确。

该模块由一个JSP页面Login.jsp和一个Tag文件Login.tag构成。

Login.jsp负责提交用户的登录信息到本页面,然后页面调用Login.tag文件。

Login.tag负责验证用户名和密码是否正确,并返回登陆是否成功的消息给Login.jsp页面。

(1)JSP页面

JSP页面Login.jsp负责提交用户的登录信息到本页面,然后页面调用Login.tag文件,并负责显示Login.tag文件的反馈信息,比如登录是否成功等,Login.jsp页面效果如图所示。

(1)Tag文件

Login.tag文件负责连接数据库,查询user表中的注册信息,以便验证用户名和密码是否正确。

并返回登录是否成功的信息给JSP页面Login.jsp。

4.浏览图书信息

该模块由一个JSP页面LookBook.jsp和一个Tag文件ShowBookByPage.tag构成。

LookBook.jsp页面负责调用ShowBookByPage.tag文件,ShowBookByPage.tag文件负责显示图书信息。

(1)JSP页面

LookBook.jsp负责调用文件,并将有关数据源、表的名称以及需要显示的页码等信息传递给Tag文件,然后显示Tag文件返回的有关信息。

LookBook.jsp页面的效果如图所示。

(2)Tag文件

ShowBookByPage.tag负责连接数据库,查询bookForm表,并将查询到的图书信息反馈给JSP页面LookBook.jsp。

5.查询图书

该模块由一个JSP页面FindBook.jsp和一个Tag文件FindBook.tag构成。

FindBook.jsp页面负责调用FindBook.tag文件,FindBook.tag文件负责显示图书信息。

(1)JSP页面

FindBook.jsp页面负责调用FindBook.tag文件,并将有关数据源、表的名称以及ISBN、作者名或图书名称等信息传递给该Tag文件,然后显示Tag文件返回的有关信息。

FindBook.jsp页面效果如图所示。

(2)Tag文件

FindBook.tag文件负责连接数据库,查询bookForm表,并将查询到的图书信息反馈给JSP页面FindBook.jsp。

6.查看购物车

该模块由一个JSP页面LookPurchase.jsp和一Tag文件LookPurchase.tag构成。

LookPurchase.jsp页面负责调用LookPurchase.tag文件,LookPurchase.tag文件负责显示用户购物车(session对象)中的图书。

(1)JSP页面

LookPurchase.jsp负责将用户购买的图书添加到用户的购物车(session对象),并可以根据用户的选择从购物车中删除曾添加到购物车中的图书。

LookPurchase.jsp页面负责调用LookPurchase.tag文件,并显示Tag文件返回的相关信息。

用户在LookPurchase.jsp页面可以确定是否生成订单。

LookPurchase.jsp页面效果如图所示。

(2)Tag文件

LookPurchase.tag文件负责显示用户购物车(session对象)中的图书,并计算出购物车中图书的总价,然后将这些信息返回给LookPurchase.jsp页面。

7.订单预览

该模块由一个JSP页面PreviewOederFrom.jsp和一个Tag文件PreviewOederFrom.tag构成。

PreviewOederFrom.jsp页面负责调用PreviewOederFrom.tag文件,并显示PreviewOederFrom.tag文件返回的待确定订单。

(1)JSP页面

PreviewOederFrom.jsp页面负责调用LookPurchase.tag文件,并显示其返回的订单。

用户在PreviewOederFrom.jsp页面可以选择是否确定订单。

PreviewOederFrom.jsp页面的效果如图所示。

(2)Tag文件

PreviewOederFrom.tag文件根据用户购物车中的图书生成订单,然后将订单返回给PreviewOederFrom.jsp页面。

8.确认订单

该模块由一个JSP页面MakeOrderForm.jsp和一个Tag文件MakeOrderForm.tag构成。

MakeOrderForm.jsp负责调用MakeOrderForm.tag文件,并显示MakeOrderForm.tag返回的确认的订单。

(1)JSP页面

MakeOrderForm.jsp页面负责调用MakeOrderForm.tag文件,并将订购图书的有关信息传递给Tag文件。

MakeOrderForm.jsp页面效果如图所示。

(2)Tag文件

MakeOrderForm.tag文件负责连接数据库,将订单写入到数据库中的orderFrom表,达到确定订单的目的,然后将订单信息返回给MakeOrderForm.jsp页面。

9.查询订单

该模块由一个JSP页面QueryOrderForm.jsp和一个Tag文件QueryOrderForm.tag构成。

QueryOrderForm.jsp负责调用QueryOrderForm.tag文件,并显示Tag文件返回的订单信息。

(1)JSP页面

QueryOrderForm.jsp页面负责调用QueryOrderForm.tag文件,并将用户登录的用户名传递给该Tag文件。

QueryOrderForm.jsp页面的效果如图所示。

(2)Tag文件

QueryOrderForm.tag文件负责连接数据库,查询orderFrom表,然后将订单信息返回给QueryOrderForm.jsp页面。

10.查看图书摘要

该模块由一个JSP页面LookBookAbstract.jsp和一个Tag文件BookAbstract.tag构成。

LookBookAbstract.jsp负责调用BookAbstract.tag文件,并显示BookAbstract.tag文件返回的图书摘要。

(1)JSP页面

LookBookAbstract.jsp页面负责调用BookAbstract.tag文件,并将图书的ISBN传递给该Tag文件。

LookBookAbstract.jsp页面的效果如图所示。

(2)Tag文件

BookAbstract.tag文件负责连接数据库,查询orderForm表,然后将图书摘要返回给LookBookAbstract.jsp页面。

11.修改密码

该模块由一个JSP页面ModifyPassword.jsp和一个Tag文件ModifyPassword.tag构成。

ModifyPassword.jsp负责调用ModifyPassword.tag文件,并显示ModifyPassword.tag文件返回的有关修改密码是否成功的信息。

(1)JSP页面

ModifyPassword.jsp页面负责调用ModifyPassword.tag文件,并将用户名、当前密码和新密码传递给该Tag文件。

ModifyPassword.jsp页面的效果如图所示。

(2)Tag文件

ModifyPassword.tag文件负责连接数据库,查询、更新user表,然后将密码是否更新成功的信息返回给ModifyPassword.jsp页面。

12.修改注册信息

该模块由一个JSP页面ModifyRegister.jsp和两个Tag文件ModifyRegister.tag和GetRegister.tag构成。

ModifyRegister.jsp页面负责调用GetRegister.tag文件,并显示GetRegister.tag文件返回的用户曾注册的有关信息;ModifyRegister.jsp页面调用Tag文件ModifyRegister.tag文件,并显示ModifyRegister.tag文件返回的有关修改注册信息是否成功的信息。

(1)JSP页面

ModifyRegister.jsp页面负责调用GetRegister.tag文件,并显示GetRegister.tag文件返回的用户曾注册的有关信息;ModifyRegister.jsp页面调用Tag文件ModifyRegister.tag文件,并将用户名的新信息传递给Tag文件。

ModifyRegister.jsp页面的效果如图所示。

(2)Tag文件

GetRegister.tag文件负责连接数据库,从user表查询用户曾注册的信息,ModifyRegister.tag文件负责连接数据库,更新user表,以改变用户的注册信息。

13.退出登录

该模块只有一个名字为ExitLogin.jsp的页面,负责销毁用户的session对象,导致登录失效。

ExitLogin.jsp页面的效果如图所示。

七.系统测试

7.1软件测试概念

软件测试的目标是为了发现软件中隐藏的错误。

在开发软件的过程中,开发者的工作难免会出现差错,这些工作上的差错有可能在软件中遗留下错误或缺陷,并有可能影响软件今后的正常使用。

软件错误是多方面的。

软件测试是针对开发软件的分析、设计和编码的最后一次复审,以获得对软件质量的再一次验证和确认。

软件工程要求在软件交付用户使用之前应该对软件进行严格的全面的测试,尽可能地将软件中存在的错误发现出来,以确保软件质量。

7.2用户登录界面的测试

设置用户名和密码为必填信息,确保没有正确的输入相应的用户名、密码时会给出错误提示,并要求重新输入,否则不能进行购书操作和其他的订单确认操作,只能浏览图书。

八、测试总结

1.在测试过程中对于调试好的程序多做备份,以免在后面改动后再调试时不能恢复。

2.对于因为改动程序而出现的错误,多半问题出现在新增加的代码中,可试着从那些代码开始查找。

3.对于页面执行,出现错误,连界面都显示不了的,可以先检查表单提交的页面是否出错。

4.出现界面,没有结果的,我们可以先试着把相应的查询语句,变量输出来,这样可以查看到底是哪里出了问题,还可以找出,程序执行到了哪一步。

对于查询语句,可把它复制到查询分析器内执行一次,看是否出错。

还有查看所获取的列值是否和数据表里面相对应。

5.对于验证的,就看提交表单时,是否调用了相应的函数,或写错。

九.性能分析(优缺点)

9.1主要功能

即能对图书进行多种方试的浏览,大大加快了用户及管理员的查找速度。

使用数据库中的约束关系,触发器的建立,实现了数据表中数据的级联更新。

用户能方便的查找自已的订单,以便确定,

或取消。

方便的修改个人信息资料,及时的寻求帮助。

管理员能方便的实现对用户,订单,书籍的管理。

9.2有待改进

购物车要进一步完善,以便实现,没有登录的用户也能购买书籍。

而对于登录的用户,则根据积分的多少,享有不同的折扣。

购物车中的数据最好不要存放在数据库中,可以用一个数组保存在session中,或在书目订单表中增加一个字段,根据选择的时间,和系统时间相比较,建立存储过程,或事务以达到在一定的期限后自动删除。

界面的处理,很多地方没有实现统一。

大多都是系统中的按扭,图片用得比较少。

书籍的封面图片最好采用上传的方式,保存二进制数据流。

十.实验心得及收获

十一:

分工

**同学:

**、**模块

**同学:

**、**模块

**同学:

**、**模块

**同学:

**、**模块

**同学:

总体设计,数据库设计

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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