基于Web的网上书城系统设计最终版.docx
- 文档编号:10745632
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:29
- 大小:1.27MB
基于Web的网上书城系统设计最终版.docx
《基于Web的网上书城系统设计最终版.docx》由会员分享,可在线阅读,更多相关《基于Web的网上书城系统设计最终版.docx(29页珍藏版)》请在冰豆网上搜索。
基于Web的网上书城系统设计最终版
基于Web的网上书城系统设计(最终版)
广州中医药大学医学信息工程学院
实验报告
课程名称:
网络数据库编程
专业班级:
计算机科学与技术(12)级第十组
学生学号:
2012081076/2012081080
2012081018/2012081007
学生姓名:
张鹏燕/薛丽梅/杨晓珠/翁浩彬
实验名称:
基于Web的网上书城系统设计
实验成绩:
课程类别:
限选☑公选□其它□必修□
基于Web的网上书城系统设计
一、需求分析
1.1背景分析
伴随着互联网快速发展的大潮流,电子商务将成为21世纪主流的商业模式。
它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现各个领域的网上营销。
网上书城与传统实体书店相比,网上书城的经营方式和销售渠道是全新的。
另外一方面,网上书城可以及时的向在线网民提供最新的书籍信息,提供的服务也是相当完善。
小组成员经过讨论决定设计开发“基于Web的网上书城系统”,希望可以为同学们提供一个销售平台并进一步拓展市场。
1.2可行性分析
1.2.1技术可行性
此网上购书系统可以运用于windowsxp,windows7,windowsserver2000/2003操作系统。
对计算机的硬件配置没有太高要求,现在的个人电脑基本完全可以满足条件。
对于浏览器的要求也没有特定的版本限制。
1.2.2经济可行性
本系统可以运用于现在市场上所出售的各种个人电脑,成本主要集中在系统的开发上,而且当系统投入运营后,可以逐渐发展成为一个B2C的网上销售系统。
其所带来的经济效益远远大于系统软件的开发成本。
在另外的角度考虑,若可以结合当下的网络营销环境以及网上购书系统存在的弊端进一步进行优势性的发展,很有可能可以占据一片属于自己的市场。
1.2.3操作可行性
界面设计充分考虑到用户的习惯,图书信息浏览、会员注册登录、购书等功能操作方便。
页面设计简洁、合理,不会让用户感到视觉疲劳。
由于界面以及功能的专一性,不会令用户产生厌烦的情绪,换言之,开发人员与测试人员积极沟通,大大提升了系统的可操作性。
1.2.4用户体验性
用户体验当前各类网站、软件、APP开发所必须考虑的首要条件,本系统在考虑用户的体验性时刻意将系统简化,功能突出,网站的核心突出。
希望老师同学在测试过程中可以体验到不一样的舒适。
1.3功能需求
对书店的图书信息和用户信信息的进行有效的管理;对图书的添加、存储、销售、订单的管理等环节进行信息化管理;实现读者网上浏览图书,网上购书的便捷性功能。
1.4性能需求
数据库的录入;图书检索;用户信息查询;图书信息查询;网上购书;订单查询;订单管理。
1.5安全与保密性
书店中所有的图书能够供用户随时查阅;用户的个人信息可以由用户自己修改、添加;书店图书的信息只能由书店管理人员添加、修改;所有注册用户信息只能由书店管理人员查询。
系统设计的安全性、便于管理等各个方面均十分重要。
本系统一方面给以用户一定的权限,另一方面又限制用户的权限保障用户信息的安全。
二、功能模块
设计系统过程中对于各个模块的设计以及对象与各个模块的操作关系至关重要。
2.1系统功能概述
2.1.1前台设计
(1)用户注册
(2)用户登录
(3)图书选购,购物车功能(订单管理、查看购物车)
(4)查看图书的详细情况(图书详情、图书信息摘要)
(5)查看用户的订单信息
(6)修改用户个人信息(登录密码修改、用户信息修改)
2.1.2后台数据库设计
后台数据库设计行营的数据表对系统内需要记录、修改、整合的信息进行记录,便于系统的管理运营。
(1)书城图书管理:
添加,修改,删除,查看
(2)用户信息管理:
查看,修改,删除
(3)订单信息管理:
查看信息详情,更新订单付款,出货状态,删除订单。
2.2功能模块图
网上书店
注
册
登
录
浏览图书
查询图书
购物车
订单预览
确认订单
查询订单
图书摘要
修改密码
修改信息
退出系统
2.3用户与主要模块关系图
三、总体设计
3.1文件路径设计
设置项目文件夹bookshop在ApacheTomcat的相应服务目录下,所有的jsp文件直接存放在该文件夹下,bookshop\image存放项目开发用到的所有图片,bookshop\WEB-INF\tags存放项目开发的所有tag文件。
服务器IP地址为http:
//10.6.183.107,开放端口为8080。
3.2前台设计理念
通过简约的设计理念完成一个多功能的系统使我们的开发核心。
作为一个购书平台,考虑到用户需要及时了解书籍的更新情况、书籍的详细资料、实现下单功能、查看个人用户的购物车及订单信息,开发人员将这些基本功能整合完成一个简单的基于Web的网上书城系统,最大可能的为用户提供简易平台完成购书、了解书籍的情况的实现操作。
3.3数据库设计理念
采用SQLServer2005数据库开发后台数据管理平台,建立相应的数据库bookshop,并建立用户表、图书信息表、订单信息表进行数据管理。
方便管理员对用户数据维护。
同时运用纯Java的数据连接方式实现JSP界面与数据库中数据的通信。
设计数据库过程中需要注意启用TCP/IP协议、NamedPipes协议,如下图所示:
3.4用户体验值评估
基于考虑以上内容,我们小组内认识到本系统以简约赢得较多用户的支持,然而存在功能的不完善从而导致用户评价值低的结果,但小组成员已尽最大努力完善系统,并会继续吸纳用户及专业人士的建议优化系统。
四、数据库设计
4.1概述
由于本系统需要对所学的专业知识有所巩固,而且对数据库有一定的要求,因此采用SQLServer2005数据库作为数据库设计工具。
系统的所有数据都存于bookshop数据库中,该数据库共有三个表。
4.2数据表
4.2.1用户表users
BookISBN:
图书的ISBN(字符型)
bookName:
图书的名称(字符型)
bookAuthor:
图书的作者(字符型)
bookPrice:
图书的价格(单精度浮点型)
bookPublish:
图书的出版商(字符型)
bookAbstract:
图书的摘要(字符型)
说明:
如下是将测试图书信息提前写入数据表bookForm的截图:
4.2.3订单信息表orderForm
(1)结构:
如图所示:
(2)用途:
存储订单信息。
orderForm表的主键是orderNumber,各字段值的说明如下:
orderNumber:
存储订单号(int型)
Logname:
存储注册的用户名(字符型)
orderMess:
订单信息(字符型)
Sum:
所定图书的价格总和(单精度浮点型)
说明:
如下是将测试订单信息提前写入数据表orderForm的截图:
五、详细设计
5.1概述
本系统使用的Web服务目录是bookshop,是在Tomcat安装目录的webapps目录下建立的服务目录。
需要在当前服务目录下建立如下的目录结构:
Bookshop:
webapps\ROOT\bookshop,其中存放着开发系统所需要的所有的JSP界面和图片。
WEB-INF:
webapps\ROOT\WEB-INF\tags,其中存放着开发中调用的所有tag文件。
附加说明:
head.txt:
该文件涵盖的内容所有界面必须存在的导航条,为便于对系统进行维护,其他JSP界面通过<%@include…%>标记将导航条内的内容嵌入到自己的页面。
head.txt存放在webapps\ROOT\bookshop中。
5.2网站首页
index.jsp
主页index.jsp由导航条、欢迎语句以及首页图片welcome.jpg组成,该图片保存在Apachetomcat指定目录下的bookshop中。
用户可以通过在浏览器的地址栏键入http:
//10.6.183.107:
8080/访问。
运行界面如图所示:
5.3用户注册界面
该模块要求用户必须输入用户名、密码信息,否则不允许注册。
用户的注册信息被存入数据库的users表中。
该模块由一个JSP页面Register.jsp和一个Tag文件Register.tag构成。
页面负责提交用户的注册信息到本页面,然后调用Register.tag文件。
Register.tag文件负责将用户提交的信息写入数据库的users表中。
5.3.1Register.jsp
Register.jsp负责提供输入注册信息界面,并显示注册反馈信息。
该页面将用户提奖的注册信息交给Register.tag文件,并显示Tag文件返回的有关注册信息是否成功的信息。
Register.jsp页面效果如图所示。
5.3.2Register.tag
Tag文件的名字是Register.tag,负责连接数据库,将用户提交的信息写入到users表,并返回有关注册是否成功的信息给Register.jsp页面。
5.4用户登录界面
用户在该模块输入曾注册的用户名和密码,该模块将对用户名和密码进行验证,如果输入的用户名和密码有错误,将提示用户输入的用户名或密码不正确。
该模块由一个JSP页面Login.jsp和一个Tag文件Login.tag构成。
Login.jsp负责提交用户的登录信息到本页面,然后页面调用Login.tag文件。
Login.tag负责验证用户名和密码是否正确,并返回登陆是否成功的消息给Login.jsp页面。
5.4.1Login.jsp
JSP页面Login.jsp负责提交用户的登录信息到本页面,然后页面调用Login.tag文件,并负责显示Login.tag文件的反馈信息,比如登录是否成功等,Login.jsp页面效果如图所示。
5.4.2Login.tag
Login.tag文件负责连接数据库,查询users表中的注册信息,以便验证用户名和密码是否正确。
并返回登录是否成功的信息给JSP页面Login.jsp。
5.5浏览图书信息界面
该模块由一个JSP页面LookBook.jsp和一个Tag文件ShowBookByPage.tag构成。
LookBook.jsp页面负责调用ShowBookByPage.tag文件,ShowBookByPage.tag文件负责显示图书信息。
5.5.1LookBook.jsp
LookBook.jsp负责调用文件,并将有关数据源、表的名称以及需要显示的页码等信息传递给Tag文件,然后显示Tag文件返回的有关信息。
LookBook.jsp页面的效果如图所示。
5.5.2ShowBookByPage.tag
ShowBookByPage.tag负责连接数据库,查询bookForm表,并将查询到的图书信息反馈给JSP页面LookBook.jsp。
5.6查询图书信息界面
该模块由一个JSP页面FindBook.jsp和一个Tag文件FindBook.tag构成。
FindBook.jsp页面负责调用FindBook.tag文件,FindBook.tag文件负责显示图书信息。
5.6.1FindBook.jsp
FindBook.jsp页面负责调用FindBook.tag文件,并将有关数据源、表的名称以及ISBN、作者名或图书名称等信息传递给该Tag文件,然后显示Tag文件返回的有关信息。
FindBook.jsp页面效果如图所示。
5.6.2FindBook.tag
FindBook.tag文件负责连接数据库,查询bookForm表,并将查询到的图书信息反馈给JSP页面FindBook.jsp。
5.7查看购物车界面
该模块由一个JSP页面LookPurchase.jsp和一Tag文件LookPurchase.tag构成。
LookPurchase.jsp页面负责调用LookPurchase.tag文件,LookPurchase.tag文件负责显示用户购物车(session对象)中的图书。
5.7.1LookPurchase.jsp(显示当前的订单)
LookPurchase.jsp负责将用户购买的图书添加到用户的购物车(session对象),并可以根据用户的选择从购物车中删除曾添加到购物车中的图书。
LookPurchase.jsp页面负责调用LookPurchase.tag文件,并显示Tag文件返回的相关信息。
用户在LookPurchase.jsp页面可以确定是否生成订单。
LookPurchase.jsp页面效果如图所示。
5.7.2LookPurchase.tag
LookPurchase.tag文件负责显示用户购物车(session对象)中的图书,并计算出购物车中图书的总价,然后将这些信息返回给LookPurchase.jsp页面。
5.8订单预览界面
该模块由一个JSP页面PreviewOederFrom.jsp和一个Tag文件PreviewOederFrom.tag构成。
PreviewOederFrom.jsp页面负责调用PreviewOederFrom.tag文件,并显示PreviewOederFrom.tag文件返回的待确定订单。
5.8.1PreviewOrderForm.jsp
PreviewOederFrom.jsp页面负责调用LookPurchase.tag文件,并显示其返回的订单。
用户在PreviewOederFrom.jsp页面可以选择是否确定订单。
PreviewOederFrom.jsp页面的效果如图所示。
5.8.2PreviewOrderForm.tag
PreviewOederFrom.tag文件根据用户购物车中的图书生成订单,然后将订单返回给PreviewOederFrom.jsp页面。
5.9确认订单界面
该模块由一个JSP页面MakeOrderForm.jsp和一个Tag文件MakeOrderForm.tag构成。
MakeOrderForm.jsp负责调用MakeOrderForm.tag文件,并显示MakeOrderForm.tag返回的确认的订单。
5.9.1MakeOrderForm.jsp
MakeOrderForm.jsp页面负责调用MakeOrderForm.tag文件,并将订购图书的有关信息传递给Tag文件。
MakeOrderForm.jsp页面效果如图所示。
5.9.2MakeOrderForm.tag
MakeOrderForm.tag文件负责连接数据库,将订单写入到数据库中的orderFrom表,达到确定订单的目的,然后将订单信息返回给MakeOrderForm.jsp页面。
5.10查询订单界面
该模块由一个JSP页面QueryOrderForm.jsp和一个Tag文件QueryOrderForm.tag构成。
QueryOrderForm.jsp负责调用QueryOrderForm.tag文件,并显示Tag文件返回的订单信息。
5.10.1QueryOrderForm.jsp
QueryOrderForm.jsp页面负责调用QueryOrderForm.tag文件,并将用户登录的用户名传递给该Tag文件。
QueryOrderForm.jsp页面的效果如图所示。
5.10.2QueryOrderForm.tag
QueryOrderForm.tag文件负责连接数据库,查询orderFrom表,然后将订单信息返回给QueryOrderForm.jsp页面。
5.11修改密码界面
该模块由一个JSP页面ModifyPassword.jsp和一个Tag文件ModifyPassword.tag构成。
ModifyPassword.jsp负责调用ModifyPassword.tag文件,并显示ModifyPassword.tag文件返回的有关修改密码是否成功的信息。
5.11.1ModifyPassword.jsp
ModifyPassword.jsp页面负责调用ModifyPassword.tag文件,并将用户名、当前密码和新密码传递给该Tag文件。
ModifyPassword.jsp页面的效果如图所示。
5.11.2ModifyPassword.tag
ModifyPassword.tag文件负责连接数据库,查询、更新user表,然后将密码是否更新成功的信息返回给ModifyPassword.jsp页面。
5.12修改登录信息界面
该模块由一个JSP页面ModifyRegister.jsp和两个Tag文件ModifyRegister.tag和GetRegister.tag构成。
ModifyRegister.jsp页面负责调用GetRegister.tag文件,并显示GetRegister.tag文件返回的用户曾注册的有关信息;ModifyRegister.jsp页面调用Tag文件ModifyRegister.tag文件,并显示ModifyRegister.tag文件返回的有关修改注册信息是否成功的信息。
5.12.1ModifyRegister.jsp
ModifyRegister.jsp页面负责调用GetRegister.tag文件,并显示GetRegister.tag文件返回的用户曾注册的有关信息;ModifyRegister.jsp页面调用Tag文件ModifyRegister.tag文件,并将用户名的新信息传递给Tag文件。
ModifyRegister.jsp页面的效果如图所示。
5.12.2GetRegister.tag
GetRegister.tag文件负责连接数据库,从user表查询用户曾注册的信息。
5.12.3ModifyRegister.tag
ModifyRegister.tag文件负责连接数据库,更新user表,以改变用户的注册信息。
5.13退出登录界面
ExitLogin.jsp
该模块只有一个名字为ExitLogin.jsp的页面,负责销毁用户的session对象,导致登录失效。
ExitLogin.jsp页面的效果如图所示。
六、关键技术
6.1前期设计技术
(1)Excel表格整理数据表;
(2)UML绘制功能模块图;
(3)RationalRose绘制对象与功能模块的关系图;
6.2开发技术
(1)本系统是在Win7下;
(2)以SQLServer2005为数据库开发平台;
(3)ApacheTomcat6.0网络信息服务作为应用服务器;
(4)采用JSP(JavaServerPages)技术;
(5)基于Web的开发模式选用JSP+tag(B/S模式);
6.3测试技术
采用JMETER测试工具。
七、系统测试
7.1Web网站测试的概述
随着网络的普及和Web应用技术的成熟,基于Web服务器的应用系统逐渐进入视野;然而当Web应用的数据量和访问用户量日益增加,系统不得不面临性能和可靠性方面的挑战。
因此,无论是开发商或是最终用户,都要求在上线前对系统进行科学的性能评价,从而降低系统上线后的性能风险。
针对不同的性能指标,采用如下不同的测试方法:
(1)负载测试:
找到系统的处理极限,为系统调优提供数据;
(2)压力测试:
测试系统在CPU、内存等饱和状态下可以处理的会话能力,以及系统是否会出现错误.StressTesting;
(3)并发测试:
模拟用户的并发访问,测试多用户访问同一应用,同一模块或者数据记录时是否存在死锁或者其他性能问题。
7.2JMETER测试
下载地址:
(1)JDK:
(2)JMeter:
http:
//jmeter.apache.org/download_jmeter.cgi
(3)JMeter插件:
http:
//jmeter-plugins.org/downloads/all/
7.2.1JDK的环境配置(依个人配置)
(1)安装jdk:
我的安装地址为D:
\Java\jdk1.8.0_40;
(2)设置环境变量Vista、Win7、Win8系统,使用鼠标右击“计算机”->属性->左侧高级系统设置->高级->环境变量->系统变量->新建->变量名:
JAVA_HOME变量值:
D:
\Java\jdk1.8.0_40
系统变量->新建->变量名:
CLASSPATH变量值:
.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
系统变量->编辑->变量名:
Path在变量值的最前面加上:
%JAVA_HOME%\bin;CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思;
(3)测试JDK安装点击‘开始-运行’输入cmd命令打开DOS窗口再输入java-version,如有详细信息返回,安装成功。
7.2.2JMETER的环境配置及安装(依个人配置)
(1)安装Jmeter解压“apache-jmeter-2.12.zip”到E盘根目录下:
“E:
\apache-jmeter-2.12”
(2)设置环境变量:
在用户变量中,新建变量名“JMETER_HOME”,变量值为:
“D:
\apache-jmeter-2.12;”ii修改“CLASSPATH”,添加“%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;”
JMeter插件安装插件下载解压后,找JMeterPlugins-Extras.jar,把JMeterPlugins-Extras.jar加apache-jmeter-2.12\lib\ext目录。
(3)测试JMeter安装
直接打开D:
\apache-jmeter-2.13\bin\jmeter.bat即可。
如果能够启动,则安装成功;如果不能启动查看jdk版本或者jdk是否安装正确。
7.2.3JMETER的使用
安装好jdk及其环境配置,并安装好Apachejmeter的文件后,启动apache-jmeter-2.13\bin\jmeter.bat即可。
7.3用户测试
项目设计及开发工作完成后,小组成员讨论决定对系统进行多用户测试,采用多浏览器测试,以发现网站存在的不同问题,优化该系统。
(1)多用户测试
针对于本网站的基本功能及其属于电子商务网站的本质,我们将http:
//10.6.183.107:
8080/bookshop推广到班级内部进行测试,避免其因用户过多而出现系统崩溃的问题。
(2)多浏览器测试(部分错误见截图)
不同的浏览器及不同版本均可能导致网站页面呈现不同的结果,以下为我们小组在测试中出现的不同问题:
(a)用户可注册成功,但无法登录;
(b)注册成功用户无需密码即可登录;
(c)低版本(IE、360)浏览器无法显示网站选用的背景图;
(d)低版本(IE、360等)浏览器中打开本网站,个别界面出现文字乱码的情况;
(e)搜狗浏览器测试正常,Google浏览器测试正常;
错误批注1:
低版本IE浏览器无
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web 网上 系统 设计 最终版