1、网上购书系统的设计与实现242020年4月19日文档仅供参考xx大学实 验 报 告课程名称:网络数据库编程专业班级:学生学号:(组号)学生姓名:实验名称:实验成绩:课程类别:必修 限选 公选 其它目录错误!未找到目录项。一、菩提书城网上购书系统概述1.系统开发背景随着互联网的高速发展,电子商务将成为21世纪主流的商业模式。它经过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现图书销售。与传统的实体书店相比,网上书店的经营方式和销售渠道是全新的。2.系统开发方法本系统是在Windows XP下,以MicroSoft Access 为数据库开发平台,Tomcat网络信息服务作为应用服
2、务器,采用JSP(Java Server Pages)技术,(jsp+javabean+Access)B/S模式开发的网上书店系统。二、系统的需求分析2.1需求分析(1)技术可行性此网上购书系统能够运用于windows xp ,windows 7 ,windows server / 操作系统。对计算机的硬件配置没有太高要求,现在的个人电脑基本完全能够满足条件。(2)经济可行性这个系统能够运用于现在市场上所出售的各种个人电脑,系统成本主要集中在系统的开发上。而且当系统投入运行后,能够实现在网上卖书的功能。系统所带来的效益远远大于系统软件的开发成本。因此在经济上是完全可行的。(3)操作可行性界面设
3、计充分考虑到浏览用户的习惯,图书信息浏览、会员注册登录、购书等功能操作方便。而且所有页面设计简洁、合理,不会让用户感到视觉疲劳。可操作性非常强。2.2功能需求对书店的图书信息和用户信信息的进行有效的管理;对图书的进存销等环节进行信息化管理;实现读者网上浏览图书,网上购书的可能。 2.3性能需求数据库的录入;图书检索;用户信息查询;图书信息查询;网上购书;2.4安全与保密要求书店中所有的图书能够供用户随时查阅;用户的个人信息能够由用户自己修改,添加;书店图书的信息只能由书店管理人员添加,修改;所有注册用户信息只能由书店管理人员查询。三、系统功能概述前台:(1)用户注册(2)用户登录(3)图书选购
4、购物车功能(4)查看图书的详细情况(5)查看用户的订单信息(6)修改用户个人信息后台:(1)书城图书管理:添加,修改,删除,查看(2)用户信息管理:查看,修改,删除(3)订单信息管理:查看信息详情,更新订单付款,出货状态,删除订单。 四、网站功能模块图网上书店注册登录浏览图书查询图书购物车订单预览确认订单查询订单图书摘要修改密码修改信息退出系统系统主要模块图用户与主要模块的关系: 用户与主要模块的关系图五、数据库设计由于本系统需要对所学的专业知识有所巩固,而且对数据库有一定的要求,因此采用Access数据库作为数据库设计工具。系统的所有数据都存于shop.mdb数据库中,该库共有三个表,以下
5、是数据库中数据表:(1) user表 结构:如图所示用途:存储用户的注册信息,即会员的注册信息存入user表中,user表的主键是logname,个字段值的说明如下:Logname:存储注册的用户名(字符型)Password:存储登陆密码(字符型)Phone:存储电话(字符型)Email:电子邮件(字符型)Address:存储通信地址(字符型)Realname:存储真实姓名(字符型)(2) Bookform数据表:结构如图所示用途:存储图书信息,bookform表的主键是bookISBN,各字段值得说明如下:bookPic:存储于图书相关的一副图像文件的名字(字符型)BookISBN:图书的I
6、SBN(字符型)bookName:图书的名称(字符型)bookAuthor:图书的作者(字符型)bookPrice:图书的价格(单精度浮点型)bookPublish:图书的出版商(字符型)bookAbstract:图书的摘要(字符型)(3) orderForm表 结构:如下图所示用途:存储订单信息,orderForm表的主键是orderNumber,各字段值的说明如下:orderNumber:存储订单号(int型)Logname:存储注册的用户名(字符型)orderMess:订单信息(字符型)Sum:所定图书的价格总和(单精度浮点型)六、详细设计主界面主要功能及代码1. 网站主页主页运行效果如
7、图所示。2.用户注册该模块要求用户必须输入用户名、密码信息,否则不允许注册。用户的注册信息被存入数据库的user表中。该模块由一个JSP页面Register.jsp和一个Tag文件Register.tag构成。页面负责提交用户的注册信息到本页面,然后调用Register.tag文件。Register.tag文件负责将用户提交的信息写入数据库的user表中。(1)JSP页面Register.jsp负责提供输入注册信息界面,并显示注册反馈信息。该页面将用户提奖的注册信息交给Register.tag文件,并显示Tag文件返回的有关注册信息是否成功的信息。Register.jsp页面效果如图所示。(2
8、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
9、页面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文件负
10、责显示图书信息。(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页
11、面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.
12、tag文件负责显示用户购物车(session对象)中的图书。(1)JSP页面LookPurchase.jsp负责将用户购买的图书添加到用户的购物车(session对象),并能够根据用户的选择从购物车中删除曾添加到购物车中的图书。LookPurchase.jsp页面负责调用LookPurchase.tag文件,并显示Tag文件返回的相关信息。用户在LookPurchase.jsp页面能够确定是否生成订单。LookPurchase.jsp页面效果如图所示。(2)Tag文件LookPurchase.tag文件负责显示用户购物车(session对象)中的图书,并计算出购物车中图书的总价,然后将这些信息
13、返回给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页面的效果如图所
14、示。(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页
15、面效果如图所示。(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文件
16、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文件
17、并将图书的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
18、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文件,并显示 Get
19、Register.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)T
20、ag文件GetRegister.tag文件负责连接数据库,从user表查询用户曾注册的信息,ModifyRegister.tag文件负责连接数据库,更新user表,以改变用户的注册信息。13.退出登录该模块只有一个名字为ExitLogin.jsp的页面,负责销毁用户的session对象,导致登录失效。ExitLogin.jsp页面的效果如图所示。七系统测试7.1软件测试概念软件测试的目标是为了发现软件中隐藏的错误。在开发软件的过程中,开发者的工作难免会出现差错,这些工作上的差错有可能在软件中遗留下错误或缺陷,并有可能影响软件今后的正常使用。软件错误是多方面的。软件测试是针对开发软件的分析、设计
21、与编码的最后一次复审,以获得对软件质量的再一次验证与确认。软件工程要求在软件交付用户使用之前应该对软件进行严格的全面的测试,尽可能地将软件中存在的错误发现出来,以确保软件质量。7.2用户登录界面的测试设置用户名和密码为必填信息,确保没有正确的输入相应的用户名、密码时会给出错误提示,并要求重新输入,否则不能进行购书操作和其它的订单确认操作,只能浏览图书。八、测试总结1.在测试过程中对于调试好的程序多做备份,以免在后面改动后再调试时不能恢复。2.对于因为改动程序而出现的错误,多半问题出现在新增加的代码中,可试着从那些代码开始查找。3.对于页面执行,出现错误,连界面都显示不了的,能够先检查表单提交的
22、页面是否出错。4.出现界面,没有结果的,我们能够先试着把相应的查询语句,变量输出来,这样能够查看到底是哪里出了问题,还能够找出,程序执行到了哪一步。对于查询语句,可把它复制到查询分析器内执行一次,看是否出错。还有查看所获取的列值是否与数据表里面相对应。5.对于验证的,就看提交表单时,是否调用了相应的函数,或写错。九性能分析(优缺点)9.1主要功能即能对图书进行多种方试的浏览,大大加快了用户及管理员的查找速度。使用数据库中的约束关系,触发器的建立,实现了数据表中数据的级联更新。用户能方便的查找自已的订单,以便确定,或取消。方便的修改个人信息资料,及时的寻求帮助。管理员能方便的实现对用户,订单,书籍的管理。9.2有待改进购物车要进一步完善,以便实现,没有登录的用户也能购买书籍。而对于登录的用户,则根据积分的多少,享有不同的折扣。购物车中的数据最好不要存放在数据库中,能够用一个数组保存在session中,或在书目订单表中增加一个字段,根据选择的时间,与系统时间相比较,建立存储过程,或事务以达到在一定的期限后自动删除。界面的处理,很多地方没有实现统一。大多都是系统中的按扭,图片用得比较少。书籍的封面图片最好采用上传的方式,保存二进制数据流。十.实验心得及收获。十一:分工*同学:*、*模块*同学:*、*模块*同学:*、*模块*同学:*、*模块*同学:总体设计,数据库设计
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818