基于Web的网上书城系统设计(最终版) - 图文

更新时间:2023-09-18 15:25:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

广州中医药大学医学信息工程学院

课程类别:

实 验 报 告

网络数据库编程

计算机科学与技术(12 )级 第十组 2012081076 / 2012081080

2012081018 / 2012081007

张鹏燕 / 薛丽梅 / 杨晓珠 / 翁浩彬 基于Web的网上书城系统设计

限选? 公选□ 其它□ 必修□

- 1 -

课程名称: 专业班级: 学生学号: 学生姓名: 实验名称: 实验成绩:

基于Web的网上书城系统设计 目录

一、需求分析 ................................................................................- 1 -

1.1 背景分析 ........................................................................................................ - 1 - 1.2 可行性分析 .................................................................................................... - 1 - 1.3 功能需求 ........................................................................................................ - 1 - 1.4 性能需求 ........................................................................................................ - 2 - 1.5 安全与保密性 ................................................................................................ - 2 -

二、功能模块 ................................................................................- 2 -

2.1 系统功能概述 ................................................................................................ - 2 - 2.2 功能模块图 .................................................................................................... - 2 - 2.3 用户与主要模块关系图 ................................................................................ - 3 -

三、总体设计 ................................................................................- 3 -

3.1 文件路径设计 ................................................................................................ - 3 - 3.2 前台设计理念 ................................................................................................ - 3 - 3.3 数据库设计理念 ............................................................................................ - 4 - 3.4 用户体验值评估 ............................................................................................ - 4 -

四、数据库设计 ............................................................................- 4 -

4.1 概述 ................................................................................................................ - 4 - 4.2 数据表 ............................................................................................................ - 4 -

五、详细设计 ................................................................................- 7 -

5.1 概述 .............................................................................................................. - 7 - 5.2 网站首页 ...................................................................................................... - 7 - 5.3 用户注册界面 .............................................................................................. - 8 - 5.4 用户登录界面 .............................................................................................. - 9 - 5.5 浏览图书信息界面 ...................................................................................... - 9 - 5.6 查询图书信息界面 .................................................................................... - 10 - 5.7 查看购物车界面 ........................................................................................ - 11 - 5.8 订单预览界面 ............................................................................................ - 12 - 5.9 确认订单界面 ............................................................................................ - 13 - 5.10 查询订单界面 ............................................................................................ - 13 - 5.11 修改密码界面 ............................................................................................ - 14 - 5.12 修改登录信息界面 .................................................................................... - 15 -

- 1 -

5.13 退出登录界面 ............................................................................................ - 16 -

六、关键技术 ............................................................................. - 17 -

6.1 前期设计技术 .............................................................................................. - 17 - 6.2 开发技术 ...................................................................................................... - 17 - 6.3 测试技术 ...................................................................................................... - 17 -

七、系统测试 ............................................................................. - 17 -

7.1 WEB网站测试的概述 ................................................................................. - 17 - 7.2 JMETER测试 .............................................................................................. - 18 - 7.3 用户测试 ...................................................................................................... - 19 -

八、实验结果及分析 ................................................................. - 20 - 九、系统使用说明 ..................................................................... - 21 - 十、性能分析 ............................................................................. - 21 -

10.1 功能优势 .................................................................................................... - 21 - 10.2 待改进 ........................................................................................................ - 21 -

十一、实验心得及分工 ............................................................. - 22 -

11.1 收获与反思 ................................................................................................ - 22 - 11.2 分工 ............................................................................................................ - 23 -

- 2 -

一、需求分析

1.1 背景分析

伴随着互联网快速发展的大潮流,电子商务将成为21世纪主流的商业模式。它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现各个领域的网上营销。

网上书城与传统实体书店相比,网上书城的经营方式和销售渠道是全新的。另外一方面,网上书城可以及时的向在线网民提供最新的书籍信息,提供的服务也是相当完善。小组成员经过讨论决定设计开发“基于Web的网上书城系统”,希望可以为同学们提供一个销售平台并进一步拓展市场。 1.2 可行性分析

1.2.1技术可行性

此网上购书系统可以运用于windows xp ,windows 7 ,windows server 2000/2003 操作系统。对计算机的硬件配置没有太高要求,现在的个人电脑基本完全可以满足条件。对于浏览器的要求也没有特定的版本限制。

1.2.2经济可行性

本系统可以运用于现在市场上所出售的各种个人电脑,成本主要集中在系统的开发上,而且当系统投入运营后,可以逐渐发展成为一个B2C的网上销售系统。其所带来的经济效益远远大于系统软件的开发成本。在另外的角度考虑,若可以结合当下的网络营销环境以及网上购书系统存在的弊端进一步进行优势性的发展,很有可能可以占据一片属于自己的市场。

1.2.3操作可行性

界面设计充分考虑到用户的习惯,图书信息浏览、会员注册登录、购书等功能操作方便。页面设计简洁、合理,不会让用户感到视觉疲劳。由于界面以及功能的专一性,不会令用户产生厌烦的情绪,换言之,开发人员与测试人员积极沟通,大大提升了系统的可操作性。

1.2.4用户体验性

用户体验当前各类网站、软件、APP开发所必须考虑的首要条件,本系统在考虑用户的体验性时刻意将系统简化,功能突出,网站的核心突出。希望老师同学在测试过程中可以体验到不一样的舒适。 1.3 功能需求

对书店的图书信息和用户信信息的进行有效的管理;对图书的添加、存储、

- 1 -

销售、订单的管理等环节进行信息化管理;实现读者网上浏览图书,网上购书的便捷性功能。 1.4 性能需求

数据库的录入;图书检索;用户信息查询;图书信息查询;网上购书;订单查询;订单管理。 1.5 安全与保密性

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

系统设计的安全性、便于管理等各个方面均十分重要。本系统一方面给以用户一定的权限,另一方面又限制用户的权限保障用户信息的安全。

二、功能模块

设计系统过程中对于各个模块的设计以及对象与各个模块的操作关系至关重要。

2.1 系统功能概述 2.1.1 前台设计 (1)用户注册 (2)用户登录

(3)图书选购,购物车功能(订单管理、查看购物车) (4)查看图书的详细情况(图书详情、图书信息摘要) (5)查看用户的订单信息

(6)修改用户个人信息(登录密码修改、用户信息修改) 2.1.2 后台数据库设计

后台数据库设计行营的数据表对系统内需要记录、修改、整合的信息进行记录,便于系统的管理运营。

(1)书城图书管理:添加,修改,删除,查看 (2)用户信息管理:查看,修改,删除

(3)订单信息管理:查看信息详情,更新订单付款,出货状态,删除订单。 2.2 功能模块图

- 2 -

5.3 用户注册界面

该模块要求用户必须输入用户名、密码信息,否则不允许注册。用户的注册信息被存入数据库的users表中。

该模块由一个JSP页面Register.jsp和一个Tag文件Register.tag构成。页面负责提交用户的注册信息到本页面,然后调用Register.tag文件。Register.tag文件负责将用户提交的信息写入数据库的users表中。

5.3.1 Register.jsp

Register.jsp负责提供输入注册信息界面,并显示注册反馈信息。该页面将用户提奖的注册信息交给Register.tag文件,并显示Tag文件返回的有关注册信息是否成功的信息。Register.jsp页面效果如图所示。

- 8 -

5.3.2 Register.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.1 Login.jsp

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

5.4.2 Login.tag

Login.tag文件负责连接数据库,查询users表中的注册信息,以便验证用户名和密码是否正确。并返回登录是否成功的信息给JSP页面Login.jsp。 5.5 浏览图书信息界面

该模块由一个JSP页面LookBook.jsp和一个Tag文件ShowBookByPage.tag构成。LookBook.jsp页面负责调用ShowBookByPage.tag文件,ShowBookByPage.tag文件负责显示图书信息。

5.5.1 LookBook.jsp

- 9 -

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

5.5.2 ShowBookByPage.tag

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

该模块由一个JSP页面FindBook.jsp和一个Tag文件FindBook.tag构成。FindBook.jsp页面负责调用FindBook.tag文件,FindBook.tag文件负责显示图书信息。

5.6.1 FindBook.jsp

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

- 10 -

5.6.2 FindBook.tag

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

该模块由一个JSP页面LookPurchase.jsp和一Tag文件LookPurchase.tag构成。LookPurchase.jsp页面负责调用LookPurchase.tag文件,LookPurchase.tag文件负责显示用户购物车(session对象)中的图书。

5.7.1 LookPurchase.jsp (显示当前的订单)

LookPurchase.jsp负责将用户购买的图书添加到用户的购物车(session对象),并可以根据用户的选择从购物车中删除曾添加到购物车中的图书。LookPurchase.jsp页面负责调用LookPurchase.tag文件,并显示Tag文件返回的相关信息。用户在LookPurchase.jsp页面可以确定是否生成订单。LookPurchase.jsp页面效果如图所示。

- 11 -

5.7.2 LookPurchase.tag

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

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

PreviewOederFrom.tag文件,并显示PreviewOederFrom.tag文件返回的待确定订单。

5.8.1 PreviewOrderForm.jsp

PreviewOederFrom.jsp页面负责调用LookPurchase.tag文件,并显示其返回的订单。用户在PreviewOederFrom.jsp页面可以选择是否确定订单。PreviewOederFrom.jsp页面的效果如图所示。

5.8.2 PreviewOrderForm.tag

- 12 -

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

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

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

5.9.1 MakeOrderForm.jsp

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

5.9.2 MakeOrderForm.tag

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

5.10 查询订单界面

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

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

5.10.1 QueryOrderForm.jsp

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

- 13 -

5.10.2 QueryOrderForm.tag

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

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

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

5.11.1 ModifyPassword.jsp

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

- 14 -

5.11.2 ModifyPassword.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.1 ModifyRegister.jsp

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

- 15 -

5.12.2 GetRegister.tag

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

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

5.13 退出登录界面

ExitLogin.jsp

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

- 16 -

六、关键技术

6.1 前期设计技术

(1)Excel表格整理数据表; (2)UML绘制功能模块图;

(3)Rational Rose绘制对象与功能模块的关系图; 6.2 开发技术

(1)本系统是在Win7下;

(2)以SQL Server 2005为数据库开发平台;

(3)Apache Tomcat6.0网络信息服务作为应用服务器; (4)采用JSP(Java Server Pages)技术;

(5)基于Web的开发模式选用JSP+tag(B/S模式); 6.3 测试技术

采用JMETER测试工具。

七、系统测试

7.1 Web网站测试的概述

随着网络的普及和Web应用技术的成熟,基于Web服务器的应用系统逐渐进入视野;然而当Web应用的数据量和访问用户量日益增加,系统不得不面临性能和可靠性方面的挑战。因此,无论是开发商或是最终用户,都要求在上线前对系统进行科学的性能评价,从而降低系统上线后的性能风险。

针对不同的性能指标,采用如下不同的测试方法:

(1)负载测试:找到系统的处理极限,为系统调优提供数据;

- 17 -

(2)压力测试:测试系统在CPU、内存等饱和状态下可以处理的会话能力,以及系统是否会出现错误.StressTesting;

(3)并发测试:模拟用户的并发访问,测试多用户访问同一应用,同一模块或者数据记录时是否存在死锁或者其他性能问题。 7.2 JMETER测试

下载地址: (1)JDK:

http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html?ssSourceSiteId=ocomen

(2)JMeter:http://jmeter.apache.org/download_jmeter.cgi (3)JMeter插件:http://jmeter-plugins.org/downloads/all/ 7.2.1 JDK的环境配置(依个人配置)

(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.2 JMETER的环境配置及安装(依个人配置)

(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目录。

- 18 -

(3)测试JMeter安装

直接打开D:\\apache-jmeter-2.13\\bin\\jmeter.bat 即可。如果能够启动,则安装成功;如果不能启动查看jdk版本或者jdk是否安装正确。

7.2.3 JMETER的使用

安装好jdk及其环境配置,并安装好Apache jmeter的文件后,启动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浏览器无法显示网页背景图且box控件变形;

错误批注2:选用不同浏览器(IE界面)出现网页文字位置偏移;

- 19 -

错误批注3:注册成功无需登录密码即可登录网站;

(3)修改方法:

(a)(b)通过查看源文件的jsp、tag代码,出现了password关键字的重名,修改即可避免该类错误;针对于不同版本的浏览器则需要用户选择适当版本的浏览器来访问本网站,希望广大用户谅解。

八、实验结果及分析

(1)首先和大家分享实验过程中出现的一大难题:连接数据库。 (2)本次实验最终完成了我们的设计:基于Web的网上书城系统设计;虽然在功能上存在很大进步的空间,但在整体上我们小组的成员付出了各自的努力,达到了我们想要通过大作业锻炼自己动手能力、思考能力、实践能力的目的,收获了各自的成长。

希望大家在今后的学习工作中保持在小组内合作完成大作业的热情,成就属于自己的事业。

- 20 -

九、系统使用说明

(1)新用户需注册个人账户并完善个人信息方可登录系统,进而查看相应的图书信息;同时可在网上书城下单购买书籍,支持货到付款;

(2)用户可直接通过功能导航栏修改个人信息,方便快捷;

(3)数据库管理员可直接通过修改数据表内的额数据内容对数据库中的书籍信息、客户订单作出相应的操作。

(4)请用户遵守网站页面左下角的文字内容:

…………………………………………………………… . 消费须知: . . *本网站仅售正品,强烈打击盗版 . . *暂不支持在线支付,仅限货到付款 . . *本网站仅限于学术交流,如有雷同请见谅 . . 联系方式: . . *联系热线:400-404-4050 . . *联系人:PIG&DOG . . *联系地址:广州中医药大学工科楼JSP实验室 . ……………………………………………………………

十、性能分析

10.1 功能优势

(1)鉴于当前电子商务网站层出不穷,我们小组成员在做认真讨论后决定将网上书城的功能进行简化,即最大程度上直接满足客户的需求,以最为直观的方式告诉我们的用户使用本网站的便捷性。

(2)另一方面,我们小组内部针对于数据库的设计也满足管理员的需求,便于管理书籍信息同时也方便对用户的订单作出相应的操作。网站管理员需要对用户的信息进行安全保障 10.2 待改进

10.2.1 数据库设计

虽然完成了数据库的设计,但是数据库性能方面(查询等)仍可作出优化:对应建立触发器trigger、游标等知识并未能应用到项目的开发中,需要在项目的后期继续改进。

学习数据库需要将衡量不同的数据库之间的优缺点并对数据库作出相应的

- 21 -

选择,而这也是我们小组实验需要在技术设计层面需要反思的:并未能作出不同方面的对比,直接选用SQL Server数据库。

10.2.2 前端设计

考虑到用户对界面设计的高要求,但是在系统设计中未能将这个关键点作出该有的高质量也是我们实验项目的一大缺点;关键是小组内前端及美工人员的缺乏。这一点让我们深刻认识到CSS、HTML等前端切图技术在项目开发过程中的重要性。

10.2.3 功能设计

功能设计虽然符合小组的主题:简约,但是在实际操作过程中用户的需求是多样化的,在这样的前提下需要系统开发人员具有相当高的前瞻性。小组成员未能将这一点重视作出针对不同用户群的功能板块,让我们学习到在今后的项目开发过程中站在用户的角度多思考。

10.2.4 在线支付

我们的网上书城暂时只支持货到付款,并未完成在线支付的功能,降低了用户的体验;同时也增大了网站的运营风险。

10.2.5 整体体验

鉴于上不同层面的设计缺陷,小组成员需要在完后项目后扩大测试用户的范围以达到深刻认识本系统的要求并在发布前做好完善修复工作。这也是我们在项目开发过程中需要多多注意的方面,以免给自己的团队造成不必要的麻烦。

十一、实验心得及分工

11.1 收获与反思

张鹏燕:作为小组长,在系统开发过程中积极与小组成员交流,分配任务,探讨系统开发各个方面需要注意的细节;我从中学到了项目开发中成员相互交流的重要性,以及恰当的分工可以使大家更好地完成任务;但在此次项目开发中未能收获预期的实验效果,也是我个人安排工作、分配项目开发进程不合理的结果。

对于知识点方面,我学习到了纯Java的数据库连接方式是比较简单且容易理解与掌握的,相比较于jdbcodbc的驱动连接更加节省时间,有利于项目整体的推动;另外,让我认识到在界面的代码修改过程中会出现各种不同的问题,考验我们设计人员的耐心,锻炼自己在今后的团队试验中做的更好。SQL Server涉及到TCP/IP的协议修改,这也是我在本次大作业学习到的。

希望自己在今后的项目中多多与队友、老师交流,避免浪费时间。

薛丽梅:在做实验过程中,之前学过的知识相当于都复习了一遍,也知道了

- 22 -

本文来源:https://www.bwwdw.com/article/mpah.html

Top