计算机网上花店毕业设计 - 图文

更新时间:2024-05-16 21:30:01 阅读量: 综合文库 文档下载

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

摘 要

随着电子商务,网上商店的普及,商品的网上展示与订购逐渐成为时尚,网上商店的技术实现也成为了一个比较常见的课题。本文就网上花店的实现做了一些探索。

本系统设计《基于WEB的网上花店系统》,主要采用JSP开发技术和SQL SERVER 2000数据库技术来开发,实现了客户购买的前台管理功能和管理员管理的后台管理功能。普通客户在浏览页面的时候可以进行商品的浏览、购买、下定单、注册成为会员,查看和修改用户信息等操作。管理员可以进入系统的后台进行管理,可以进行花品的添加、修改、删除,用户订单的处理、客户信息的查询以及其他基本信息的录入和修改等操作。本文详细阐述了整个应用系统的设计思路,并对各部分设计进行了详尽的分析,最终形成了一个完整的设计方案。

关键词:JSP;SQL Server 2000;花店;Web.

Abstract

With the popularization of the e-commerce and online shop, the goods showed on the line, ordered through web site are becoming more fashionable gradually, so the technology of the online-shop has become a more familiar subject too. This text has done some exploration on the realization of the online florist shop.

This system is \the online system of florist shop based on WEB \adopting JSP technology and SQL SERVER 2000 database technology to develop, the front-desk page for customers buying and back-desk for administrator’s management . The ordinary customer browsing the site can make purchase , make order form , register , revise user’s information and so on. The administrator can enter the systematic back-stage to manage , adding , modifying , deleting the product , to deal with the user’s order , to inquiry other basic information and so on . This text explaining the mentality of designing of the whole application system in detail , designing exhaustive analysis to every part, has formed an intact design plan finally.

Keywords: JSP;SQL Server 2000;flower shop;Web.

目 录

第一章 引言 .................................................................................................................................... 1

1.1 课题内容简介 ..................................................................................................................... 1 1.2 课题的研究背景与意义 ....................................................................................................... 1

1.2.1 课题的研究背景 ........................................................................................................ 1 1.2.2 课题的研究意义 ........................................................................................................ 2 1.3 课题的调研 ........................................................................................................................ 2 1.4 可行性分析 ........................................................................................................................ 2

1.4.1 技术可行性 ............................................................................................................... 2

1.4.2 经济可行性 ............................................................................................................... 3 1.4.3 法律可行性 ............................................................................................................... 3

1.4.4 操作可行性 ............................................................................................................... 3

第二章 需求分析............................................................................................................................... 4

2.1 功能需求分析 ..................................................................................................................... 4 2.2 业务流程分析 ..................................................................................................................... 4

2.3 数据流分析 ........................................................................................................................ 6 2.4 数据字典 ............................................................................................................................ 8 第三章 系统设计 ............................................................................................................................15

3.1 系统总体功能结构 .............................................................................................................15 3.2 系统数据模型设计 .............................................................................................................16

3.2.1 系统概念结构设计——E-R图 ..................................................................................16 3.2.2 系统逻辑结构设计——关系模式 ..............................................................................18 3.2.3 系统逻辑结构设计——关系表 ..................................................................................19 3.2.4 数据表详细说明 .......................................................................................................20

第四章 详细设计 ............................................................................................................................23

4.1 数据库操作及中文字符处理JavaBean设计 .........................................................................23

4.1.1 数据库操作JavaBean设计........................................................................................23 4.1.2 中文字符处理的JavaBean的设计 .............................................................................24 4.2 用户主界面设计 ................................................................................................................25 4.3 用户信息管理模块设计 ......................................................................................................26

4.3.1 会员登录模块设计 ...................................................................................................26

4.3.2 用户注册模块设计 ...................................................................................................28 4.3.3 用户信息的查看与修改模块设计 ..............................................................................29 4.4 购物车模块和前台订单处理模块的设计 .............................................................................30

4.4.1购物车添加花品设计 ..................................................................................................31 4.4.2修改购买数量设计 ......................................................................................................32 4.4.3订单的提交的设计 ......................................................................................................33

4.5 后台用户管理模块设计 ......................................................................................................35 第五章 操作指南 ............................................................................................................................37

5.1 系统功能与运行环境 ...........................................................................................................37

5.2 系统开发工具安装与环境配置 .............................................................................................37

5.2.1 JDK和Tomcat的安装 ................................................................................................37

5.2.2 配置JDK和Tomcat的环境变量.................................................................................37 5.3 系统运行与操作指南 ...........................................................................................................38 5.3.1 数据库配置................................................................................................................38

第六章 系统测试..............................................................................................................................41

6.1 测试内容.............................................................................................................................41

6.1.1 单元测试 ...................................................................................................................41

6.1.2 集成测试 ...................................................................................................................41 6.1.3 确认测试 ...................................................................................................................41 6.1.4 系统测试 ...................................................................................................................41 6.2 测试用例及结果分析 ...........................................................................................................42

6.2.1登录模块测试 .............................................................................................................42

6.2.3验收测试 ....................................................................................................................44 7.1 系统的特点和优点...............................................................................................................45 7.2 系统存在的不足和改进方案.................................................................................................45

7.2.1 系统存在的不足 .......................................................................................................45

7.2.2 改进方案 .................................................................................................................46 7.3 设计收获和心得 ................................................................................................................46 结 论 .............................................................................................................................................47 致 谢 .............................................................................................................................................48 参 考 文 献.....................................................................................................................................49

江西理工大学2012届本科生毕业设计(论文)

第一章 引言

网上花店系统提供一套完整的花卉产品购买系统,系统将在线显示产品介绍信息,产品的实际价格以及优惠价格,可让用户直接网上购花,使用户达到足不出户,便可随意购物的目的。商家的产品利用这套系统进行网上交易,而不需要在商店里等待顾客来购买鲜花商品。坐在电脑前就可以轻松卖出自己的鲜花商品。

1.1 课题内容简介

本系统是一个基于Web的在线鲜花商店,客户可以在网上访问本商店并预订鲜花。系统主要是实现一个网上花店的销售部分,以及相应的库存,基础信息管理。

系统主要由两部分组成,一部分是后台管理部分,商家管理相关信息发布,商品管理,订单管理,客户管理等;另一部分是前台销售部分,客户通过浏览器访问登录,浏览本店订购鲜花。

信息发布主要是鲜花商品信息的发布,有按不同方式的商品分类,特价商品信息发布,新品的展示;以及花店公告的管理,包括添加,更新,删除等操作。

商品管理是指鲜花商品的录入,更新,删除等操作。 订单管理是指订单的确认与发送等操作。

客户管理是对客户进行一些相关操作,如冻结,解冻等。

前台部分,客户可以申请加入会员,进行花品的选购,自助订花,提交订单等操作。 本网站同时提供一些花卉常识、鲜花礼仪、节日知识等相关知识、风俗等的介绍和客户交流。

本课题采用JSP技术和SQL Server 2000作为后台数据库管理系统进行开发。

1.2 课题的研究背景与意义

1.2.1 课题的研究背景

信息技术的不断发展,给世界带来了翻天覆地的变化,尤其是Internet的出现让世界变得更小,人们的距离更近。Internet最早是由美国人创造出的,之后,随着世界各国纷纷加入到这个行列,使Internet成为全球化的国际网络。随着用户的不断增加,其规模迅速扩大,它的领域也走向多元化。除了原先的科学技术和教育外,Internet已进入了文化﹑经济﹑政治﹑新闻﹑体育﹑娱乐﹑商业和服务业。电子商务作为一种新的基于Internet的交易方式已经为广大的网民所接受,其巨大的潜力被众多商界人士所看好。

电子商务是一个发展潜力巨大的市场,极具有发展前景。电子商务双向信息沟通、灵活的交易手段和快速的交货方式的特点,将给社会带来巨大的经济效益,促进整个社会的生产力的提高。电子商务的广泛推广,打破了时空限制,改变了贸易形态,大大加速了整个社会的商品流通,有助于降低企业成本,提高企业竞争力,尤其能够使中小型企业直接进入国际市场参与国际市场竞争。电子商务给消费者提供了更多的选择,提供了更好的便利性。它是商务领域的一场信息革命,它对我们的思维方式、对人类的经济活动、对人类

1

江西理工大学2012届本科生毕业设计(论文)

的工作方式和生活方式都将产生根本性的影响。 1.2.2 课题的研究意义

电子商务随着互联网的发展得到了迅猛的发展,B2B、B2C的各种模式的电子商务网站如雨后春笋般相继出现,各式各样的网上商店在互联网这个大平台纷纷开张。上世纪90年代,一个在纽约街头买花的女孩突发奇想将她的花店搬到了因特网上并且获得了巨大的成功,网上花店开始成为网上商店的一员。

我国的经济飞速发展,人民的生活水平有了很大的提高,同时由于工作的需要流动人口数目越来越大。每逢佳节倍思亲,用什么排解亲人、情人或朋友心中的思念之情呢?送上一束鲜花。然而,鲜花是一种比较特殊的商品,不是一种容易邮递的物品。网上花店可以解决以上问题。在要送达人所在地的城市的网上花店选中一束花,然后付款,其余的事就由花店处理。在这之前有过电话订花的业务,但从它出现之初就必然带着一些缺点:

首先,其成本比较高。电话费在以前是很贵的,就算是现在也不能算便宜,比起网络就贵多了。顾客可以在家里,或找一家网吧就可以上网浏览购买鲜花,成本低。

其次,电话订购不直观。花店有什么花,长什么样,电话里面是看不见的,只有靠用户点了。网上花店可以让顾客随时浏览鲜花商品信息,直观,清晰。

再次,商家的营销难,成本高。商家必须让顾客知道有这个号码,而号码又不好记。花店有什么促销,很难让潜在顾客知道,必须打广告,发传单。在节日期间,由于订花量比较大,一部电话肯定不够用,商家必须配备多台电话,但到了淡季这些电话只好睡大觉,但又不好停机,成本自然增加。网上花店的公告系统可以登出各种促销信息。商家只需要一台电脑主机,申请一个域名就可以开店营业。

网上花店比电话订购更直观,更容易操作,且成本低,销路广。所以网上花店的需求会越来越大,它必将成为人们生活的一部分。

1.3 课题的调研

在本系统开发之初,为了做好系统需求分析工作,我们做了充分的调研,从而认识到完成本系统需做到以下几点:

(1)了解花店销售工作流程和具体事务。

(2)研究花店销售方案的优缺点,以及信息化条件下花店销售管理方案。

(3)建立一套简易的客户购买操作流程,使客户在网上购花时,能够很轻松,自在,操作很顺手,而且充分展示花店的鲜花商品,促销信息,及花店的实力,让顾客有一种安全,放心的感觉。

(4)遇到具体问题再做详细调查研究并与指导老师商讨。

在充分了解、调查了网上花店系统具体事务管理和工作流程的基础上,开发教学过程管理系统。

1.4 可行性分析

1.4.1 技术可行性

本系统是基于Web的网上系统,由于C/S架构的局限性,B/S架构已成为基于Web

2

江西理工大学2012届本科生毕业设计(论文)

应用的最佳选择。

现在基于B/S架构的程序设计语言已非常成熟,从刚开始的CGI,到现在的ASP,JSP,PHP的百花齐放,再到微软刚推出不久ASP.NET为基于B/S程序设计提供了强大的技术支持。使用其中任何一门语言开发都可以满足要求。WEB服务器软件也很多,其中任意一个都可以胜任,但是选择JSP作为服务器端实现语言是因为:JSP是一种新的动态Web应用技术标准。JSP Web页是由传统Web页的HTML文档加入Java程序片段和JSP标记构成的。HTML代码用来描述信息的显示格式,而Java.程序段则负责描述处理逻辑,根据需要可以是数据库操作、Web页重新定向等。Web服务器在接到访问JSP Web页的请求时,首先执行嵌入在其中的程序段,然后将执行结果重新嵌入HTML代码,一起发送给客户端。作为新一代的站点开发语言,JSP克服了ASP脚本级执行的不足,可以在Serverlet和JavaBean的支持下开发出功能强大的web应用。

另外JSP作为一种Web实现技术,它的效率是很高的。这一点正好符合了本系统所要求的实时性。除此之外,作为Java平台的一部分,JSP拥有Java语言“一次编写,各处运行”的特点。又随着越来越多的服务器供应商将JSP支持添加到他们的产品中,这样一来用JSP做成的这套系统可以轻松移植到其它平台来运行。所以JSP是实现本系统的最佳技术,它是完全可行的。

系统采用SQL Server 2000做为后台数据库,SQL Server 2000提供了以Web标准为基础的扩展数据库编程功能。可以通过Web轻松访问数据,还有强大而灵活的基于Web的分析功能,SQL Server 2000的分析服务功能被扩展到了Internet。以SQL Server 2000的稳定性,以及强大分析查询,存储功能完全可以满足网上花店系统在后台数据处理方面的需求。

1.4.2 经济可行性

目标系统开发经济需求的比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。系统的设计开发和分析都是在学校提供的专用机房中进行,硬件的投资基本没有,最后的调试也是在机房局域网中进行,开发成本,运行成本和调试成本都是比较低的。

系统开发完成投入使用后,可以为花店增加销售收入,减少销售成本。在初期投入开发,及运营成本后,只需要简单的日常维护即可,成本比较低。总体来说,系统的开发与使用绝对是有益无害。 1.4.3 法律可行性

此系统由本人开发研制而成,在法律上并未侵害他人权利,无须承担任何法律责任,所以在法律方面开发此系统是完全可行的。 1.4.4 操作可行性

此系统具备友好的用户界面,使用方便,易于维护,操作简单易于被用户接受,用户只需熟练操作计算机,和对此系统使用做简单的了解即可方便使用,而且使用此系统可以大大减少管理人员的负担。因此从使用操作方面看,此系统的开发是可行的。

3

江西理工大学2012届本科生毕业设计(论文)

第二章 需求分析

需求分析就是分析用户的需求,是软件定义时期的最后一个阶段,它的基本任务是准确回答“系统必须做什么?“这个问题。需求分析也是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。

需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。

调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:信息要求、处理要求、安全性与完整性要求。

2.1 功能需求分析

系统主要由两部分组成,一部分是后台管理部分,商家管理相关信息发布,商品管理,订单管理,客户管理等;另一部分是前台销售部分,客户通过浏览器访问登录,浏览本店订购鲜花。

信息发布主要是鲜花商品信息的发布,有按不同方式的商品分类,特价商品的确定,新品的展示;以及花店公告的管理,包括添加,更新,删除等操作。

商品管理是指鲜花商品的录入,更新,删除等操作。 订单管理是指订单的查看,确认与发送等操作。

客户管理是对客户进行一些相关操作,如冻结,解冻等。

前台部分,客户可以申请加入会员,客户信息的管理,客户的登录,修改密码,找回密码,进行花品的选购,自助订花,提交订单,订单的查看,公告的查看,花卉知识的查询等操作。

2.2 业务流程分析

系统是由前台和后台两部分组成。前台即客户端,在前台客户进入首页,在首页用户可以查看特价花品信息,新品信息,可以根据分类查看其它花品信息,以及公告和花卉知识。在客户看中某一花品时,可以先登录,或注册,然后可以随心选购花品,也可以自助订花。

客户端流程如(图2-1)

4

江西理工大学2012届本科生毕业设计(论文)

开始 网上花店 选购鲜花 购买鲜花 是否会员 会员登录 否 注册 加入购物车 继续购物 是 否 运输方式 提交订单 订单生成 结束

图2-1 客户端流程图

后台管理部分,管理员从网站首页用户登录界面登录进入后台管理首页即可进行管理操作。在后台管理员可以进行用户管理,花品管理,鲜花管理,订单管理,公告信息管理。

后台管理端流程如(图2-2)

5

江西理工大学2012届本科生毕业设计(论文)

图2-2 后台管理端流程图

2.3 数据流分析

数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。

对于本系统而言,管理员用户将花店的各种信息录入数据库,也可以对数据库信息进行修改,更新。会员用户录入注册信息,提交登录信息、订单发送信息、选择的花品信息、鲜花材料信息,查看个人信息、花品信息、鲜花材料信息。在整个过程中又涉及到,用户信息的管理,查询处理,前台订单处理,自助订花,购物车,后台订单处理,花品管理等相关的处理。还有数据文件有用户信息表,公告花卉知识信息表,鲜花材料信息表,花品信息表,订单信息表等。

系统数据流顶层图如图2-3

6

江西理工大学2012届本科生毕业设计(论文)

图2-3 系统数据流顶层图

系统数据流1层图如下:

用户信息管理数据流1层图如图2-4

图2-4 用户信息管理数据流1层图

花品管理数据流1层图如图2-5

7

江西理工大学2012届本科生毕业设计(论文)

如图2-5 花品管理数据流1层图

后台订单管理数据流1层图如图2-

图2-6 后台订单管理数据流1层图

2.4 数据字典

数据字典是系统分析阶段的重要文档,也就是对数据流图中包含的所有元素的定义的集合。数据字典是为了数据流图中的每个数据流、文件、加工,以及组成数据流或文件的数据项作出说明。任何字典最主要的用途是在软件分析和设计的过程中给人提供关于数据的描述信息。

数据字典中包含的每个数据元素的控制信息时很有价值的。因为列出了使用一个给定的数据元素的所有程序,所以很容易估计改变一个数据将产生的影响,并且能对所有受影

8

江西理工大学2012届本科生毕业设计(论文)

响的程序或模块做出相应的改变。数据流图表达了数据和处理的关系,数据字典则是系统中关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用正是在软件分析和设计过程中给人提供关于数据的描述信息。一般说来,数据字典应该由下列4类元素的定义组成:数据流、数据流分量、数据存储、处理 。

下面为本系统的数据字典: (1)数据流

数据流名称:用户登录信息 别名:无

简述:用户登录时填写的信息 来源:用户 去向:用户登录 数据流量:500份/天 组成:用户名+密码

数据流名称:用户注册信息 别名:无

简述:用户注册时填写的信息 来源:用户 去向:用户注册 数据流量:10份/天

组成:用户名+用户真实姓名+密码+电邮+联系电话+性别+(联系地址)+(邮编)

数据流名称:用户信息 别名:无

简述:用户查看和修改用户信息时显示或填写的信息 来源:用户或用户信息的修改与查询 去向:用户信息的修改与查询或用户 数据流量:30份/天

组成:用户编号+用户注册信息

数据流名称:添加的花品信息 别名:无

简述:管理员添加花品时填写的信息 来源:管理员

去向:花品信息的添加 数据流量:50份/天

组成:花品的一般信息+花品组成明细

9

江西理工大学2012届本科生毕业设计(论文)

数据流名称:花品的一般信息 别名:无

简述:管理员添加花品时填写的信息 来源:花品信息的添加 去向:花品信息表文件 数据流量:50份/天

组成:花品名称+花品简介+花品类别+价格+图片名称

数据流名称:花品组成明细 别名:无

简述:管理员添加花品时填写的信息 来源:花品信息的添加 去向:花品组成明细添加 数据流量:50份/天 组成:鲜花材料名称+数量

数据流名称:添加的花品类别信息 别名:无

简述:管理员添加花品时填写的信息 来源:花品信息的添加 去向:花品类别的添加 数据流量:50份/天

组成:花品名称+花品简介+花品类别+价格+图片名称

数据流名称:花品信息 别名:无

简述:管理员添加花品时填写的信息 来源:花品信息的修改 去向:管理员 数据流量:10份/天

组成:花品编号+花品的一般信息+花品组成明细

数据流名称:确认订单信息,待确认订单信息,待发送订单信息,发送订单信息 别名:无

简述:管理员确认订单有效后填入的信息,管理员发送订单的信息 来源:管理员

10

江西理工大学2012届本科生毕业设计(论文)

去向:订单确认,订单的查询 数据流量:30份/天 组成:订单编号

数据流名称:订单信息 别名:无

简述:管理员查看订单,用户查看,提交订单的信息 来源:用户或订单的查询 去向:前台订单处理或用户 数据流量:100份/天

组成:订单编号+订单的发送信息+订单明细

数据流名称:订单明细 别名:无

简述:从购物车用户选购商品明细在订单生成时转变过来 来源:购物车模块 去向:前台订单处理 数据流量:100份/天

组成:订单编号+订单的发送信息+订单明细

数据流名称:各种相关信息 别名:无

简述:管理员录入数据或读取数据是的信息 来源:录入 去向:数据文件 数据流量:10份/天 组成:各类信息

(2)数据流分量

名称:用户名 别名:无 描述:用户信息中惟一标识某一用户的关键域 定义:用户名=6{字符或数字}16 位置:用户信息表 用户注册信息 用户登录信息

11

江西理工大学2012届本科生毕业设计(论文)

名称:密码 别名:无 描述:对用户登录进行验证的关键域 定义:密码=6{字符或数字}16 位置:用户信息表 用户登录信息 用户注册信息

名称:花品名称 别名:无 描述:花品信息中惟一标识某一花品的关键域 定义:花品名称=1{字符或数字}20 位置:花品信息表 花品一般信息 订单明细信息

名称:鲜花材料名称 别名:无 描述:鲜花材料信息中惟一标识某一鲜花材料的关键域 定义:鲜花材料名称=1{字符或数字}20 位置:鲜花材料信息表 花品组成明细 自助订花信息

名称:订单编号 别名:无 描述:订单信息中惟一标识某一订单的关键域 定义:用户名=用户编号+时间 位置:订单信息表 订单明细信息 待确认订单信息 待发送订单信息 发送订单信息

12

江西理工大学2012届本科生毕业设计(论文)

名称:订单编号 别名:无 描述:订单信息中惟一标识某一订单的关键域 定义:用户名=用户编号+时间 位置:订单信息表 订单明细信息 待确认订单信息 待发送订单信息 发送订单信息

(3)数据存储

数据存储的名称: 数据库信息

简述: 存放的用户信息、花品信息、订单信息、鲜花材料信息等 数据存储的组成: 各类信息 关键字: 编号

相关联的处理: P1(对信息表进行录入) P2(对信息表进行查询) P3(对信息表进行修改删除)

(4)处理

处理逻辑编号: P03-01 处理逻辑名称: 信息录入 简述: 对基本信息进行录入. 输入的数据流:管理员、用户 处理过程: 进行分类录入 输出的数据流: 各类数据表

处理逻辑编号: P03-02 处理逻辑名称: 查询各类信息 简述: 根据条件查询所需的信息. 输入的数据流:信息来源于数据库

处理过程: 输入查询条件查询,得到符合条件的信息 输出的数据流: 查询得到的信息

13

江西理工大学2012届本科生毕业设计(论文)

处理逻辑编号: P03-03

处理逻辑名称: 修改、删除信息

简述: 对信息做需要的修改后存入数据库中. 输入的数据流:数据库信息

处理过程: 对需要修改的信息做修改 输出的数据流: 修改或删除后得到的信息

14

江西理工大学2012届本科生毕业设计(论文)

第三章 系统设计

3.1 系统总体功能结构

通过对网上花店的需求分析,以及结合花店的实际情况考虑,得出整个系统功能结构:系统由前台客户端和后台管理端两大部分组成,其中前台客户端由花品公告等信息浏览,订单管理,购物车模块,用户自助订花和用户信息管理组成;后台管理端由订单管理,鲜花商品管理,鲜花材料管理,公告花卉知识管理,用户管理组成。具体结构如图3-1:

图3-1 系统功能结构图 系统主要模块及其功能如下: 1、用户信息管理:

此模块用于用户对帐户信息的相关操作,有用户注册,登录,信息校对,信息修正,密码管理等功能。

2、鲜花品种信息及相关公告浏览:

15

江西理工大学2012届本科生毕业设计(论文)

主要包括鲜花列表、具体内容、类别的浏览,公告信息查看,特价花品列表及具体内容的查看。 3、自助订花:

用户根据自己的需要随意选择各种鲜花以及包装。 4、购物车模块:

将鲜花放入购物车,查看购物车,购物车中鲜花商品取消购买,修改购物车中的鲜花数目,清空购物车。 5、前台订单处理:

用户查阅订单状态(是否发货),生成新的订单。 6、用户管理:

查看用户信息,冻结或解冻用户。 7、公告花卉知识管理:

查看公告花卉知识列表及内容,添加、删除、编辑公告信息。 8、鲜花商品管理:

查看鲜花商品列表,浏览鲜花商品详细信息,添加、修改、删除鲜花商品信息。 9、鲜花材料管理:

查阅鲜花材料列表及详细信息,添加、删除鲜花材料,编辑特价鲜花材料信息。 10、后台订单管理:

订单列表,查阅订单详细内容,设置订单确认,订单发送。

3.2 系统数据模型设计

3.2.1 系统概念结构设计——E-R图

根据系统流程及功能分析得出简化的实体关系模型图,如图3-2

16

江西理工大学2012届本科生毕业设计(论文)

内容 创建时间 编号 标题 公告信息 产地 查看公告信息 鲜花信息 编号 用户名 简介 管理员 密码 是否特价 是否特价 处理订单信息 证件号码 电话 订单信息 提交 密码 邮编 管理商品 用户名 用户 查看商品 名称 类型 图片 是否新品 查看公告 从属 编号 数量 订购商品 数量 订单详细信息 订单编号

图3-2 系统总体E-R图

17

商品编号 价格 江西理工大学2012届本科生毕业设计(论文)

具体属性如下:

? 用户:用户ID,登录名,用户姓名,密码,性别,电话,电子邮箱,地址,邮编,

注册时间,用户状态,用户级别。(管理员属性同上。)

? 鲜花:商品ID,类别,名称,鲜花简介,是否优惠,普通价格,优惠价格,图片,

库储量,是否有效。

? 订单:订单号,用户ID,产生日期,是否确认,确认时间,发送状态,接收人姓

名,接收地址,接收地址邮编,要求送达时间,总价。 ? 订单包含鲜花联系属性:数量,单项价格,总价。

? 鲜花材料:编号ID,名称,进货价,出货价,图片名称,类别,出货价。 ? 鲜花成品包含联系属性:数量。

? 公告:编号,标题,内容,添加日期,浏览量,是否有效。 ? 管理员管理用户属性:时间。

? 浏览属性:用户ID,商品ID,最新时间,累计次数。 ? 管理员处理订单属性:订单确认人,确认时间。 ? 公告管理属性:更新日期。

3.2.2 系统逻辑结构设计——关系模式

根据数据库原理的数据依赖及规范化分析处理,作出如下处理: ? 根据E-R图向关系模型的转换原则进行转换。

? 由于用户关系模式与管理员关系模式除了在权限和类别上有不同以外,其他属性

都可共用,所以可以将用户关系模式和管理员关系模式合二为一,并加入用户类别属性用以区分用户和管理员,从而实现操作权限的控制。

? 管理员管理用户关系模式主要是系统管理员可以对普通管理员进行冻结,解冻操

作。用户关系模式和管理员关系模式合并后此关系模式可以取消,添加时间可以用用户关系模式属性中的注册时间体现。

? 由于只是修改添加操作,公告管理关系模式可以和公告关系模式合并。 ? 管理员管理订单关系模式只是记录订单处理人,及时间,可以和订单关系模式合

并。

? 浏览关系模式由于与系统功能要求基本无关,因此将其舍弃。

? 考虑到鲜花成品分类在系统中需要多次详细调用,所以将其单独作为一个关系模

式。

经过以上分析处理,最终得到以下关系模式:

用户(用户ID,登录名,用户姓名,密码,用户类别,性别,电话,电子邮箱,地址,

邮编,注册时间,用户状态,用户级别)

鲜花成品(商品ID,类别ID,名称,鲜花简介,是否优惠,普通价格,会员价格,

图片,是否新品,添加时间,是否有效)

18

江西理工大学2012届本科生毕业设计(论文)

鲜花材料(编号,名称,图片名称,库存量,进货价,出货价,类别) 成品组成(鲜花成品编号,鲜花材料编号,数量)

订单(订单号,用户ID,产生时间,是否确认,确认时间,订单确认人,发送状态,

接收人姓名,接收地址,接受人联系电话,要求送达时间,总价,用户留言,付款方式,备注要求)

订单包含鲜花(订单号,商品ID,商品名称,数量,单项价格,总价) 公告(编号,标题,内容,更新日期,类别,是否有效) 成品类别(类别ID,类别名称) 3.2.3 系统逻辑结构设计——关系表

根据以上关系模式,可以得出相应的关系表,数据关系表一览如表

19

江西理工大学2012届本科生毕业设计(论文)

表3-1 数据关系表一览表

编号 表3-2 表3-3 表3-4 表3-5 表3-6 表3-7 表3-8 表3-9 名称 userInfo_table goodsTypes_table goods_table flowers_table goodsContent_table userOrder_table lineItem_table bbs_table 说明 用户信息表 成品类别表 鲜花成品表 鲜花材料表 成品组成表 订单信息表 订单明细表 公告花卉知识表

3.2.4 数据表详细说明

用户信息表(userInfo_table)主要记录用户相关信息,其具体如表3-2。

表3-2 用户信息表

字段名 userID loginName userName userPwd userType userSex userPhone userEmail userZip createTime userStatus userLevel 数据类型 int varchar(20) varchar(20) varchar(10) int varchar(2) varchar(20) varchar(40) varchar(10) dateTime int int 是否为空 否 否 否 否 否 可以 可以 否 可以 可以 否 否 否 描述说明 用户编号,主键 注册名 真实姓名 密码 用户类别 性别 联系电话 电邮 地址 邮编 加入时间(默认getdate()) 用户状态(默认为1,表激活,0,冻结) 用户级别(备系统升级用) userAddress varchar(200)

成品类别表(goodsTypes_table)记录鲜花成品的分类,在系统中需要根据分类来分别显示鲜花成品,以便于客户查看需要的鲜花成品,如表3-3

表3-3 成品类别表

字段名 gtID 数据类型 是否为空 int 否 否 描述说明 成品类别编号 成品类别名称 gtName Varchar(20)

鲜花成品表(goods_table),主要记录有花店自己创造或学习来的各种花卉组合而成的鲜花成品的具体信息,如表3-4

20

江西理工大学2012届本科生毕业设计(论文)

表3-4 鲜花成品表

字段名 goodsID goodsDesc gtID listPrice unitPrice pictureUrl inTime sale newGoods isValid 数据类型 是否为空 int text(16) int money money varchar(50) dateTime int int int 否 否 可以 否 否 否 可以 否 否 否 否 描述说明 成品编号,主键 成品名称 成品简介 类别编号 普通价 会员价 图片名称 添加时间(getdate()) 是否特价(默认0,不是特价,1,特价) 是否新品(默认1,新品,0,不是新品) 成品状态(默认1,有效,0,无效) goodsName vatchar(20)

鲜花材料表(flowers_table)。由于鲜花行业的特殊性,其成品有一定数量的鲜花及包装组合而成,所以必然需要一个记录鲜花材料的数据表,鲜花材料表正是解决以上问题而建。具体如表3-5

表3-5 鲜花材料表

字段名 flowerID flowerName inPrice outPrice flowerCount pictureUrl isFlower 数据类型 int vatchar(20) money money int vatchar(100) int 是否为空 否 否 否 否 否 可以 否 描述说明 编号,主键 名称 进货价 出货价 库存量 图片名称 类别(默认1,主花;2,辅花;0,包装)

成品组成表(goodsContent_table)。鲜花材料表并没有记录成品的组成明细,但这又不可缺少,成品组成表正是记录了成品的组成明细。如表3-6

表3-6 成品组成表

字段名 goodsID flowerID flowerQuantity 数据类型 是否为空 int int int 否 否 否 描述说明 成品编号,主键 鲜花材料编号,主键 数量

订单信息表(userOrder_table)。记录用户订单的主要信息,如表3-7

21

江西理工大学2012届本科生毕业设计(论文)

表3-7 订单信息表

字段名 orderID userID orderTime orderStatus orderPassID orderPassTime orderSendState orderRecName orderRecAddr orderTotalPrice orderNotes orderPhone payType sendNotes 数据类型 vatchar(20) int dateTime int int vatchar(10) int vatchar(20) vatchar(200) money vatchar(200) vatchar(20) vatchar(20) vatchar(100) 是否为空 否 否 否 否 可以 可以 否 可以 可以 否 可以 可以 可以 否 可以 描述说明 订单号(用户ID+订购日期),主键 订购人编号 订购时间(getdate()) 订单状态(默认0,未确认;1,已确认) 确认人编号 确认时间 发送状态(默认0,未发送;1,已发送) 订单接收人姓名 订单接收地址 订单总价 订单留言 送货时间 接收人联系电话 付款方式 备注,要求 orderSendTime vatchar(20)

订单明细表(lineItem_table)。记录订单所选花品的名称,数量等详细信息。如表3-8

表3-8 订单明细表

字段名 orderID goodsID number unitPrice 数据类型 vatchar(20) int int money 是否为空 否 否 否 否 否 描述说明 订单号,主键 成品编号,主键 成品名称,主键 数量 单项价格 goodsName vatchar(1000)

公告花卉知识表(bbs_table)。该表主要记录公告信息和花卉知识信息。由于公告信息和花卉知识信息之间存在很多的共性,且需要记录的属性基本一样,所以将其合为一个表里存储。具体如表3-9

表3-9 公告花卉知识表

字段名 bbsID bbsTitle addTime status bbsType 数据类型 int vatchar(50) smalldatetime int int 是否为空 否 否 可以 否 否 否

22

描述说明 编号 标题 内容 添加修改时间 是否有效(默认0,无效;1,有效) 类别(0,花卉知识;1,公告) bbsContext vatchar(2000) 江西理工大学2012届本科生毕业设计(论文)

第四章 详细设计

4.1 数据库操作及中文字符处理JavaBean设计

4.1.1 数据库操作JavaBean设计

数据库操作的JavaBean是一个公共类,通常包括连接数据库的方法getConnection、执行查询语句的方法executeQuery、执行更新操作的方法executeUpdate、关闭数据库连接的方法close。下面将给出数据库操作的JavaBean“connDB”的具体信息。

(1)使用JDBC访问数据库

在Java语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁,即Java语言通过JDBC技术访问数据库。JDBC是一种“开放”的方案,它为数据库应用开发人员﹑数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。JDBC提供两种API,分别是面向开发人员的API和面向底层的JDBC驱动程序API,底层主要通过直接的JDBC驱动和JDBC-ODBC桥驱动实现与数据库的连接。

一般来说,Java应用程序访问数据库的过程(如图4-3-1所示),是:

①装载数据库驱动程序;②通过JDBC建立数据库连接;③访问数据库,执行SQL语句;④断开数据库连接。

图4-1 Java应用程序访问数据库的过程

(2)在JavaBean“connDB”中实现数据库访问的具体方法:

在connDB中使用方法getConnection()建立与数据库的连接。首先是加载数据库驱动程序:Class.forName(\用到java.lang包中的类Class,调用方法forName(),newInstance()方法同new。之后通过指定的帐户连接数据库,获取数据库连接Connection:

DriverManager.getConnection(\owershop\第一个参数是连接数据库URL,第二,三个参数为帐户名和密码。然后通过Connection的createStatement()方法获取Statement对象。最后调用Statement的executeQuery(),executeUpdate()或execute()方法完成对数据库的访问。

23

江西理工大学2012届本科生毕业设计(论文)

(3)connDB类的成员及说明表4-1:

表4-1 connDB类成员表

成员名 conn stmt rs getConnection() executeQuery(String sql) executeUpdate(String sql) executeUpdate_id(String sql) close() 返回值 Connection ResultSet int int void 类别 Connection Statement ResultSet 作用域 public public public public static public public public public 功能 记录数据库连接 向数据库发送SQL语句 装载查询结果 建立数据库连接 进行查询操作 更新操作,返回更新行数 更新操作,返回更新记录id 关闭数据库连接 4.1.2 中文字符处理的JavaBean的设计

字符串处理的JavaBean是解决程序中经常出现的有关字符串处理问题的方法的类。包括将数据库中及页面中有中文问题的字符串进行正确的显示和存储的方法chStr和将字符串中的回车换行、空格及HTML标记符正确显示的方法convertStr两个方法。

(1)编写解决输出中文乱码问题的方法chStr。chStr方法的代码如下: public String chStr(String str){ if(str==null){ str=\ }else{

try{

str=(new

String(str.getBytes(\转换字符集

}catch(Exception e){

e.printStackTrace(System.err); } }

return str; }

其中getBytes()方法根据指定的字符集将字符串转换为字节并保存在一个字节数组中。 (2)编写显示文本中的回车换行、空格及保证HTML标记的正常输出的方法convertStr。convertStr方法的代码如下:

public String convertStr(String str1){ if(str1==null){ str1=\ }else{ try{

str1=str1.replaceAll(\ str1=str1.replaceAll(\

24

江西理工大学2012届本科生毕业设计(论文)

str1=str1.replaceAll(\ str1=str1.replaceAll(\ }catch(Exception e){

e.printStackTrace(System.err); } }

return str1; }

4.2 用户主界面设计

用户主界面是用户了解花店的重要窗口,其上必须有用户在花店够花所需的重要信息和相关入口。在首页用户可以通过选择“用户注册”选项进行注册,选择“会员登录”进入系统购买页面并可以执行相关操作。用户还可以选择相应的菜单进行购花向导查看,公告信息,花卉知识,及不同分类的花品信息浏览,还有常见问题,配送范围的说明,以及联系方式。

25

江西理工大学2012届本科生毕业设计(论文)

图4-2主界面

整个主界面有四部分组成:最上面的header.jsp,左边的为left.jsp,最下面的为copyright.jsp,中间偏右的为特价花品和最新花品展示。header.jsp包含了用户注册,会员登录,购花向导,首页,自助订花,花卉知识,商品公告等菜单。在登陆后,菜单会有相应的改变。其中菜单的实现主要使用超链接实现。

增加了修改用户资料,订单查询,退出三个菜单,少了用户注册和会员登录菜单。主界面调用header.jsp,header.jsp首先访问session看用户名loginName是否存在或为空,来判断所要显示的菜单。

Left.jsp主要实现花品的分类显示菜单,和购物车菜单。分类显示菜单是通过访问数据库,从数据库表goodsTypes_table和flowers_table中提取相应信息动态生成菜单。当用户点击菜单时,通过超链接实现参数的传递和页面的跳转。

copyright.jsp包含常见问题,配送范围,联系我们三个菜单,以及花店的相关信息。 以上三个JSP文件都是通过jsp:include动作引入。

4.3 用户信息管理模块设计

4.3.1 会员登录模块设计

此模块的主要功能是对使用本系统的用户进行用户名、密码、用户身份的验证,只有合法的用户才能使用本系统购买鲜花和管理。对于初次使用本系统的用户需要先通过注册才能登录用户界面。在首页界面中左上角有一个用户注册菜单。用户填写的所有信息由

26

江西理工大学2012届本科生毕业设计(论文)

Form提交,使用post方法。通过getParameter函数获得用户提交的信息,并与数据库中的相应信息进行比较做出判断。在用户登录时,要使用setAttribute 函数将用户名和用户编码保存在session对象中,方便其它界面使用getAttribute函数获取session对象中的用户名和用户编码。此外,该界面还提供出错处理,如用户登录时用户信息填写不正确等异常。本系统会员与管理员登录系统用的都是这个界面。在用户登录是系统会自动根据当前用户的类别确定登录后的界面。在此界面中还添加了一个忘记密码的按钮,用以帮助用户取回密码。

用户登录界面如图4-3

图4-3 用户登录界面

具体流程图如图4-4

图4-4 登录流程图

用户退出页面把网页中的session对象清空,然后显示注销成功信息。这里结束session使用了一个session.invalidate()调用。这一处理有两个原因。首先,如果用户没有注销就离开了,下一个用户就有可能使用前一个用户未过期的session对象,这样会严重影响到安全性。另外,如果所有用户都不注销,则session对象会继续占用有效的资源直到过期。当用

27

江西理工大学2012届本科生毕业设计(论文)

户数量很多的时候,就会造成网络资源的浪费。

在次界面还使用了JavaScript脚本对输入框进行验证,使用的函数为check.jsp中的checkU()。

4.3.2 用户注册模块设计

本系统约定只有花店的会员才有购买资格,才能操作购物车,生成订单。非会员只能进行鲜花商品的浏览,公告信息,花卉知识的查看。

在首页的左上角有一个用户注册菜单,用户通过此菜单进入注册页面,可以进行注册操作。在此界面,用户需要填写自己的信息:申请注册名,真实姓名,密码,性别,电邮,联系电话,联系地址和邮编。

注册界面如图4-5

图4-5 用户注册界面

在此模块中用到了两个JavaBean,一个是与用户信息的相对应的数据存储Bean:user_info。其具体属性对应数据库表用户信息表(userInfo_table)的所有字段。其作用主要是存储注册页的表单中的数据。具体Jsp代码如下:

通过上面的三条代码将注册页面中表单里面的信息对应的赋值到user_info类对象userInfo属性中。赋值后就可以调用另一个数据逻辑Bean:userInfoDaoImpl。其作用是调

28

江西理工大学2012届本科生毕业设计(论文)

用user_info类对象对数据库表用户信息表(userInfo_table)进行访问操作。其具体类成员如表4-6

成员名 conn insert(user_info u) update(user_info u) updatePwd(user_info u) delete(user_info u) 返回值 int int int int 类别 作用域 public public public public 功能 数据库访问类 数据库插入操作 数据库更新操作 修改密码操作 进行删除记录操作 connDB private 图4-6 userInfoDaoImpl类成员表 在用户名后跟的“检测用户名”菜单使用了JavaScript脚本函数openwin(UID)。在此函数中调用了checkUserName.jsp,用以访问数据库确认此用户名是否已被使用。在表单提交之前使用JavaScript脚本函数check()进行填写格式的验证。

注册流程图如图4-7

图4-7 注册流程图

注册成功后,系统将新用户的用户注册名,用户编号储存到session里面,以便之后用户操作时进行用户验证。在用户登录时也会作同样的操作。

4.3.3 用户信息的查看与修改模块设计

用户可以在此模块里查看自己注册时填写的信息,同时也可以修改相关的信息,如真实姓名,电话,Email,联系地址,联系邮编,性别,还可以根据需要更改密码。

29

江西理工大学2012届本科生毕业设计(论文)

用户信息查看与修改界面如图4-8

图4-8 用户信息查看与修改界面

在整个界面中,用户名输入框是只读属性,其余的都可以更改。当选择修改密码按钮是就可以进入密码修改界面,进行修改密码。密码修改界面如图4-9

图4-9 密码修改界面

4.4 购物车模块和前台订单处理模块的设计

购物车通常为网上商店的核心模块之一,在网上花店系统里面也是如此。购物车模块一般包括添加花品即花品放入购物车,删除花品,改变花品数量,清空购物车,购物车信息查看五个功能。

前台订单处理主要是根据用户提交的信息和购物车内的信息生成用户订单即用户订单的查看功能。

由于以上两个模块的联系比较紧,所以在此处一起设计。 整个购物车和订单信息填写界面如图4-10

30

江西理工大学2012届本科生毕业设计(论文)

图4-10购物车部分界面

4.4.1购物车添加花品设计

购物车添加花品流程图如图4-11

用户在花品详细信息页面选择购买,即可触发购物车添加花品行为,并跳转到购物车信息界面。只有会员登录后才可以继续购买操作,即触发此行为。

31

江西理工大学2012届本科生毕业设计(论文)

图4-11 购物车添加花品流程图

4.4.2修改购买数量设计

在图4-12界面中购物车信息表中填入购买的数量,然后单击更改数量按钮即可以更改购买数量。当填入负数或0是表示从购物车内删除对应花品。

32

江西理工大学2012届本科生毕业设计(论文)

图4-12更改数量后的购物车信息

更改购物车中花品数量的实现根自助订花后台实现逻辑比较相似。 4.4.3订单的提交的设计

当用户选择玩需要的商品,填写好订单一般信息如留言,发送日期,接受人信息等后就可以单击完成订购按钮生成新的订单并保存到数据库中。其具体实现核心代码如下:

<%

??//

Vector cart=(Vector)session.getAttribute(\获取购物车 if(cart==null || cart.size()==0)

out.println(\language='javascript'>alert('您还没有选购商品!');window.location.href='index.jsp';\

goodselement gs=new goodselement(); int userID=0;

userID=((Integer)session.getAttribute(\alue(); String orderID=\

if(((String)session.getAttribute(\ if(userID==0) out.println(\用户登录错误!请重新登录');window.location.href='exit.jsp';\

or.setUserID(userID);

or.setOrderNotes(orderNotes);

//获取当前时间

Calendar cal=new GregorianCalendar(TimeZone.getDefault()); int year=cal.get(Calendar.YEAR);

int month=cal.get(Calendar.MONTH)+1; int date=cal.get(Calendar.DATE);

33

江西理工大学2012届本科生毕业设计(论文)

int hour=cal.get(Calendar.HOUR_OF_DAY); int minute=cal.get(Calendar.MINUTE); minute=(int)(minute/10);

orderID=Integer.toString(userID)+Integer.toString(year)+Integer.toString(month)+Integer.toString(date)+Integer.toString(hour)+Integer.toString(minute);//用户ID家时间组成订单号,时间是

//精确到分钟的十位数。 or.setOrderID(orderID); int ret=0;

orderDaoImpl oral=new orderDaoImpl();//orderDaoImpl为订单数据库访问操作

//实现类

ret=oral.insert(or);//插入订单一般信息 if(ret==0){

out.println(\订单提交失败!两个订单提交间隔请保持10分钟以上。');window.location.href='OrderDetail.jsp';\ }

conn=new connDB(); int i=0;

//以下为订单明细插入数据库

for(i=0;i

gs=(goodselement)cart.elementAt(i); ret=conn.executeUpdate(\into lineItem_table values('\orderID+\me()+\

if(ret==0){ break; } }

conn.close();

if(i!=cart.size()){//插入失败代码实现回滚 ret=oral.delete(or);//删除订单一般信息 conn=new connDB();

ret=conn.executeUpdate(\from orderID='\删除订单明细 conn.close();

out.println(\language='javascript'>alert('订单提交失败!请重新提交。');window.location.href='OrderDetail.jsp';\

34

lineItem_table where

江西理工大学2012届本科生毕业设计(论文)

}else{

cart.clear();

session.setAttribute(\

session.setAttribute(\

out.println(\language='javascript'>alert('订单提交成功!订单号为:\

} }else{

out.println(\language='javascript'>alert('订单已经提交过了!');window.location.href='index.jsp';\

} %>

4.5 后台用户管理模块设计

后台用户管理模块主要是实现管理员查看会员用户一般信息,对会员用户进行冻结和解冻操作。当会员用户的诚信比较差时,管理员可以对该会员实行帐户冻结操作,也可以根据实际情况将已冻结的会员帐户进行解冻操作。在次模块中实现了分页显示。

图4-13 用户管理第一页

当显示页为第一页时只需显示“下一页”和“最后一页”选项。

在次界面中,管理员可以单击用户注册名称查看用户的一般信息,点击用户状态可以改变用户的状态,即点击“已激活”可以将用户帐户冻结,点击一“已冻结”可以将该用户帐户解冻。

该模块的核心代码如下: <%

int pages=1;

String pg=request.getParameter(\获取传递的页面参数 if(pg!=null&&!pg.equals(\ pages=Integer.parseInt(pg);

35

江西理工大学2012届本科生毕业设计(论文)

connDB conn=new connDB(); chStr chstr=new chStr(); int countRows=0; int countPages=1;

int pageSize=5;//设定每页显示的信息条数

ResultSet rs_sale=conn.executeQuery(\读

//取用户信息条数

if(rs_sale.next())

countRows=rs_sale.getInt(1); if(countRows!=0)

countPages=((countRows%pageSize)==0)?(countRows/pageSize):(countRows/pageSize+1);//计 //算显示的页面数

String sql=\top \from userInfo_table where userID not in(select top \from userInfo_table order by userStatus desc,userType desc)and userType=0 order by userStatus desc,userType desc\从数据库中读取第pages页

rs_sale=conn.executeQuery(sql); //要显示的用户信息。 .??%>

36

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

Top