网上花店系统的设计与实现毕业论文.docx
《网上花店系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《网上花店系统的设计与实现毕业论文.docx(40页珍藏版)》请在冰豆网上搜索。
网上花店系统的设计与实现毕业论文
网上花店系统的设计与实现毕业论文
目 录
1绪论
1.1研究背景
电子商务,就是在网上开展商务活动。
电子商务有两种模式,一种是B2C模式,一种是B2B模式,传统的电子商务一般是B2C模式,就是用户直接在上进行购物,这种模式便于对进行管理,开发起来更加的简便,便于维护。
B2B模式不仅仅使用户能够在网上进行交易,而且用户还能够在网上开店,实现网上电子交易,大大降低了开实体店的成本。
目前我国最流行的B2B有淘宝网,当当网,京东商城等。
但是,由于现实生活中B2B的开发比较复杂,而且对于小型的网上花店而言只需要B2C模式便可,所以我选择了B2C模式。
电子商务的出现,给千万的家庭带来了不可忽略的影响,它使我们的生活发生了巨大的变化。
随着信息化时代的到来,信息技术的飞速发展,许多的人越来越意识到电子商务对一个国家经济方面、企业管理和个人生活所带来的巨大影响。
它满足企业、商人和消费者对产品的高质量和高服务、降低成本等方面的需求,也帮助企业和个人通过网络查询和信息检索为企业下一步的发展方向提供支持。
借助电子商务,企业和个人,企业和企业可以通过网络进行交易和全过程的服务。
面对中国加入WTO,参与国际竞争及中国鲜花业传统落后,独立分散的营销方式,我们在经营中将网络技术与鲜花传统销售市场之间,进行完美的结合;从而减少了流通环节,降低了交易成本,突破了时空限制,节省了订购,支付和配送时间,因此我们可以介入电子商务网络鲜花快速市场。
争取建立一个可采用无人工座席交易系统及互联网交易平台。
而且本系统采用了MVC模式进行开发,它的好处就是:
一、低耦合性,二、快速的部署,三、可维护性,四、有利于软件工程化管理。
1.2MVC的发展现状
MVC(Model-View-Controller,模型-视图-控制器)模式是国外用的较多的一种设计模式,它源于传统的面向对象语言SmallTalk-80。
它是设计交互式应用时广泛采用的一种设计模式,也是J2EE蓝图推荐的在开发Web应用时使用的方法。
利用MVC设计模式开发Web应用,可以将表现逻辑和业务逻辑分离,分为表现层和业务层,构建可复用的软件系统框架,同时简化了软件开发,大大减少了开发时间,缩短了维护周期,提高了软件的性能和可维护性,达到提高软件质量的目的,成为基于Web应用和服务的首选。
MVC(Model-View-Controller,模型-视图-控制器)是目前广泛流行的软件设计模式。
早在70年代,IBM就推出了著名的Sanfronscisico项目计划,即MVC设计模式的研究。
最初,MVC只是一种软件设计界面模式,微软的MFC基础类库也遵循了MVC的思想。
近年来,随着J2EE的成熟,MVC正在成为J2EE平台上推荐的一种设计模式。
随着网络Web应用的快速增加,MVC在系统设计框架中大量采用,如Struts。
采用MVC设计,由CraigR.McClanahan于2000年创建,2001年7月Struts1.0发布,现最高版本为1.2。
其他的如Spring、WebWork、JSF等都是基于MVC模式的Web应用框架。
可见MVC模式无疑是Web应用设计框架中广泛采用的一种非常先进的思想,它为理解分析应用模型时提供最基本的分析方法,为构造产品提供清晰的设计框架,为软件工程提供规的依据。
1.3研究的目的和意义
21世纪是个信息高速发达的时代,尤其以网络的高速发展为代表。
鲜花的买卖业务与我们的日常生活密切相关,长辈的生日,节日的祝福及问候,对心爱的人表达爱意,探望病患等的时候。
越来越多的人们选择用鲜花来表达自己的情谊!
本系统正是利用了网络这个很好的平台为顾客提供方便,不用出门,只需打开电脑上网就可以很方便的完成鲜花的选购,做到足不出户就可以完成一切。
基于JSP+JavaBean的网上花店的总体设计目标是为注册用户提供方便的网上订购鲜花的功能。
本系统分为前台和后台管理两部分,注册用户登录前台后,可以浏览或购买网上花店中的所有商品,可以把喜欢的商品添加到购物车中,对商品进行一系列的操作,管理员登陆到后台,可以对商品以及商品的一切信息,包括商品的类型,商品节日,商品颜色等进行一系列的操作,还可以对用户进行一系列的操作。
1.4本文研究容及可行性分析
伴随着互联网日益发展的今天,网络购物已经非常的普及了,许多大型的每年都会有上亿的成交量,其中比较出名的网络购物有:
易趣,淘宝,京东商城等,这些电子商务大多是综合的商场,网络电子商品种类繁多,包罗万象。
购物只销售单一商品,例如,华储网只销售图书。
本文中的网上花店系统只负责对鲜花的销售,可用于鲜花产品的实时发布以及企业产品数据管理,前台用户可通过页面浏览,查询和订购商品,后台管理员可以管理产品价格,简介,图片等多类信息。
其主要共能有:
商品浏览、查询、购买、户注册和登录以及后台管理等。
另外,可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间确定系统是否可行。
(1)技术可行性分析
网上花店系统的开发是一项复杂的系统工程。
为了保证系统开发成功,必须采用结构化的系统开发方法,并研究出一些符合结构化标准的开发方法。
这些方法主要用于指导开发者运用结构化的发放对系统进行全面化的分析,以便更好的开发出此系统。
(2)运行可行性分析
随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。
随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情。
(3)经济可行性分析
网上花店系统给人们的生活带来了极大的方便,成为现代人们生活中一种不可或缺的商业模式。
基于以上的分析,网上花店系统在经济上是完全可行的。
就本系统而言,随着电脑的普及,为消费者在网络上进行购物提供有利的条件。
而一个网上花店系统可以为消费者提供软件条件,这样消费者便可以足不出户的买商品了。
商家也可从中获得利润,两全其美。
2系统总体分析
过去人们喜欢到当地的实体店去购买鲜花,因为受时间和地点的限制,因此很多人并不一定能够买到符合自己心意的鲜花。
这时候,网上花店系统的开发就具备了充分的必要性,它能够解决人们因为时间和地点二不能够满意的购物这样额问题。
它的出现给人们的生活带来了极大的方便,使人们足不出户,呆在自己的家里便可以享受购物的舒畅,而且还享受送货上门的方便,所以网上花店的出现是应世而生,应运而生。
2.1系统概述
我们建立一个网上花店系统的目标是为了更加有效率的进行鲜花的采购,使顾客可以在网上花店中更加轻松的选择自己喜欢的鲜花,并完成鲜花交易。
此系统与易趣,淘宝网络商城不同,易趣和淘宝主要的销售模式是B2B模式,主要由网上开店形成的,因此,商品的拍卖竞价形式来实现的,商品也是由商场中其他注册用户维护的。
而此系统中的商品是由系统管理员进行维护,而且商品都标有标价,注册用户不用竞价,就如同在实体的商城中购物一样,用户只要喜欢该产品而又有购买意愿的话都可以通过本系统来实现网上购物。
本系统以为用户服务的宗旨为目标,突出自己的特色,主要以鲜花销售为主。
一个典型的网上购物系统主要包括用户注册,用户登录,商品浏览,商品搜索,下定单和后台管理等几个模块。
2.2系统分析与设计原则
通过对网上花店系统的分析,为了达到预期目标,在进行开发和设计的过程中需要遵循以下几个原则:
(1)实用性原则。
真正为网上购物系统的实际工作服务,按照需求的轻重缓急,合理设计网上花店系统。
(2)可靠性原则。
要求数据库设置合理安全。
防止出现用户信息泄露,账号被盗的现象,防止SQL注入式攻击,利用服务器验证控件要求客户必须输入合法的字符,不要使用SQL字符串来判断,要具有一定的防黑功能。
(3)友好性原则。
使用网上花店系统的用户相当一部分对计算机知识了解很少,所以系统操作上要求简单方便,便于用户掌握。
(4)可扩展性原则。
采用具有开放的标准和接口,便于系统向更大的规模和功能扩展。
(5)优化处理原则。
使页面下载速度尽可能的快,防止用户因等待时间过长而关掉。
2.3系统需求分析
需求分析的任务是通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变。
在这里我们需要了解用户有什么样的具体要求和对系统性能的要求。
首先对现有系统进行分析,现有系统是信息的重要来源。
分析已有系统的功能和实现,从而确定新系统的设计目标和模型。
由于条件有限,调研主要是在网上进行。
即通过在网上已有的商品注册成会员来了解其具备的功能。
(1)从用户角度来看
用户通过在线注册成为的用户,可以获得以下功能:
商品浏览,购买商品,查看订单,查看商品简介、购物等。
(2)从的角度看
商品搜索功能:
按商品名(模糊)查询;
订单处理功能:
查看订单
管理员管理:
查看用户信息,并根据用户信息和用户订单对商品进行派发,对的所有信息进行维护。
商品浏览:
商品名、数量、价格和图片等。
(3)系统性能分析
对数据的安全性、完整性要求是用户信息,只有管理员可见(可查),但不能任意修改。
确保网上支付安全。
商品信息、用户信息必须保证其完整性。
防止恶意删改。
对系统性能需求主要是准确性和可靠性高系统便于维护和升级,数据库访问效率高。
2.3.1系统数据流图分析
数据流图(DataFlowDiagram):
简称DFD,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法,它以图形的方式描绘数据在系统中流动和处理的过程,是描绘信息流和数据从输入移动到输出的过程中所经受的变换。
数据流程图包括:
(1)指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;
(2)指明对数据执行的处理符号,这些符号也可指明该处理所用到的机器功能;
(3)指明几个处理和(或)数据媒体之间的数据流的流线符号;
(4)便于读、写数据流程图的特殊符号。
在本文中,通过对系统基本功能的数据流动进行分析,得到系统的顶层数据流图如图2-1所示:
图2-1系统顶层数据流图
系统第一层数据流图如图2-2所示:
图2-2系统第一层数据流图
2.3.2系统E-R图
对于一个大型的复杂的数据库系统,为描述和理清数据之间的关系采用E-R图,在此基础上通过规化得到关系模型。
根据对网上花店系统的分析,该系统E-R关系图如图2-3所示:
图2-3E-R关系图
通过图2-3可以看到:
用户信息实体与网友评论实体是一对多的关系,因为一个用户可以发表多条评论,用户信息实体与定单实体也是一对多的关系,一个用户可以下多个定单,当然也可以查询多个产品。
定单和定单明细也是一对多的关系。
3系统设计
3.1系统基本结构
由于B/S结构具有较好的独立性、可伸缩性和安全性,所以本系统采用B/S进行开发。
利用IIS架构Web服务器,用于连接客户端和数据库服务器。
对于客户端发出的需要对数据库进行访问的请求,Web服务器负责客户端与数据库服务器的网络通信,并将相关数据嵌入返回给客户端的Web页面;对于客户端发出的不需要对数据库进行访问的请求,Web服务器将直接处理这些请求,并将最终生成的Web页面发往客户端浏览器。
3.2系统体系结构设计
对网上花店系统进行分析后,确定该系统分为两个主要功能模块:
前台管理模块和后台管理模块。
前台管理模块的主要功能包括用户注册,用户登录,购物车,定单查询,花的分类搜索等几个模块。
后台主要包括用户账号管理、商品信息管理、商品分类管理,订单管理,系统信息管理等几个部分。
系统功能模块图如图3-1所示:
图3-1系统功能模块图
前台显示的主要模块介绍如下:
(1)商品显示:
用于显示本所有的花的商品,供用户选择。
(2)购物车:
购物车用于保存当前登录用户在该保存的商品,以便用户结账。
(3)商品定单:
管理员根据用户订单的信息向用户发货。
(4)商品搜索:
通过输入用户名,快速查找所需要的产品。
(5)用户注册:
该模块提供用户管理个人信息以及为后续操作提供便利入口。
后台管理主要模块介绍如下:
(1)用户管理:
对用户的信息进行管理。
(2)商品信息管理:
对商品的详细信息提供不定时的维护。
(3)用户管理:
包括对用户的管理和管理员自身的信息管理。
(4)订单管理:
对用户下的订单进行管理,根据订单信息给用户发货。
(5)系统信息管理:
对系统的信息进行维护。
为了更具体说明系统整个实现过程的细节,可以使用流程图作以补充。
本文给出了用户完成一次购物交易的整个流程如图3-2所示:
图3-2网上花店系统购物流程图
3.3系统数据库设计
数据库设计与实现是系统开发中的一个重要的环节,一个结构合理的数据库可以提高系统的整体的运作效率,同时可以缩短系统的开发时间。
3.3.1数据库的设计原则
在数据库的设计中,本系统按照以下原则进行设计,以尽量满足系统的要求。
(1)数据库中数据的可操作性
数据库设计时注意保证在整个系统运行和业务操作过程中,数据库都能便于访问和查询,同时还需要考虑到要尽量节省数据库操作时的响应时间,尽可能的提高数据库对程序和业务请求的响应速度。
(2)数据库设计的准确性和完整性
数据库中数据的设计要满足程序设计的要求,对于程序中使用的数据和存储的数据容,都有严格的数据和准确的数据类型与之对应,同时在数据库设计时要对关键数据进行详细的说明,以方便系统设计人员的开发工作。
(3)数据库冗余性
过多的冗余数据会大大增加数据库的工作量,降低数据库的响应时间和准确性。
因此改善数据库性能的一个非常重要的方面就是减少或消除数据库中的冗余信息,要通过规化处理使冗余数据减少。
3.3.2数据库连接设计
为了方便连接数据库,并且对数据库进行很好的管理,在设计数据库是采用了数据库连接池技术,在数据库连接中创建一个。
创建的数据库连接池封装成一个JavaBean类DBPoolUtil.java,部分代码如下:
privatestaticStringdbJdbc="jdbc:
oracle:
thin:
localhost:
1521:
orcl";
privatestaticStringdbUser="lwkj";
privatestaticStringdbPwd="123456";
SuppressWarnings("rawtypes")
privatestaticClassdriverClass=null;
privatestaticObjectPoolconnectionPool=null;
publicDBPoolUtil(){
}
/**
*初始化数据源
*/
privatestaticsynchronizedvoidinitDataSource(){
//驱动数据源
if(driverClass==null){
try{
driverClass=Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
}
}
创建完数据库之后,需要在Java中创建一个数据库连接类才能和数据库进行连接,如下所示:
publicstaticConnectiongetConnection()throwsSQLException{
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
DBPoolUtildb=newDBPoolUtil();
Connectionconn=db.getDbConnection();
returnconn;
3.3.3数据库表格设计
数据字典是系统中各类数据描述的集合,其中规定了每个字段的字段名称,数据类型,长度,主键等基本信息。
对与本系统中出现的数据,用以下数据字典做详细描述。
1.表名:
TUSER
TUSER表为用户基本信息表,用于存储用户的基本信息,包括用户编号id,用户名,密码,,性别,出生日期,号,手机号,住址。
表结构如表3-1所示。
表3-1用户基本信息表结构
数据库编号:
f1
基表编号:
1001
基表英文名称:
tuser
基表中文名称:
用户基本信息
字段编号
英文字段名
中文字段名
字段类型
备注
T1
user_id
用户编号
NUMBER(6)
primarykey
T2
user_name
用户名
VARCHAR2(20)
T3
user_pass
密码
VARCHAR2(20)
T4
realname
VARCHAR2(20)
T5
user_sex
性别
CHAR
(2)
T6
user_birth
出生日期
DATE
T7
realid
号
CHAR(18)
T8
user_tel
手机号
CHAR(11)
T9
user_addr
住址
VARCHAR2(20)
说明:
2.表名:
ADMIN
ADMIN表为管理员信息表,用于管理用户、商品等所有相关信息,包括编号id,用户名、密码,表的结构如表3-2所示。
表3-2管理员信息表结构
数据库编号:
f2
基表编号:
1002
基表英文名称:
admin
基表中文名称:
管理员信息
字段编号
英文字段名
中文字段名
字段类型
备注
A1
a_id
管理员编号
NUMBER(6)
primarykey
A2
a_name
用户名
VARCHAR2(20)
A3
a_pass
密码
VARCHAR2(20)
说明:
3.表名:
GETINFO
GETINFO表为收货人信息表,用于存储收货人信息,包括收货人id、用户id、收货人、收货人手机号、收货住址等;表结构如表3-3所示。
收货人信息表
表3-3收货人信息表结构
数据库编号:
f3
基表编号:
1003
基表英文名称:
getinfo
基表中文名称:
收货人信息表
字段编号
英文字段名
中文字段名
字段类型
备注
G1
getinfo_id
收货信息编号
NUMBER(5)
primarykey
G2
user_id
用户编号
NUMBER(6)
Notnull
G3
getinfo_name
收货人
VARCHAR2(20)
G4
getinfo_tel
收货人手机号
CHAR(20)
G5
getinfo_addr
收货人地址
VARCHAR2()
G6
getinfo_post
邮编
CHAR(6)
说明:
4.表名:
BOOKLIST
BOOKLIST表为授权表,用于存储订单信息,包括订单的id,用户id、收货人id等,表结构如表3-4所示。
表3-4订单信息表结构
数据库编号:
f4
基表编号:
1004
基表英文名称:
booklist
基表中文名称:
订单信息表
字段编号
英文字段名
中文字段名
字段类型
备注
B1
book_id
订单编号
NUMBER(5)
primarykey
B2
user_id
用户编号
NUMBER(6)
Notnull
B3
getinfo_id
收货信息编号
NUMBER(5)
B4
book_time
购买时间
DATE
B5
send_time
发货时间
DATE
B6
get_time
收货时间
DATE
说明:
5.表名:
MINGXI
MINGXI表为订单明细表,用于存储订单明细,商品id、订单编号id等,表结构如表3-5所示。
表3-5订单明细表结构
数据库编号:
f5
基表编号:
1005
基表英文名称:
mingxi
基表中文名称:
订单明细表
字段编号
英文字段名
中文字段名
字段类型
备注
M1
mx_id
订单明细编号
NUMBER(5)
primarykey
M2
goods_id
购买商品编号
NUMBER(5)
Notnull
M3
user_id
订单编号
NUMBER(6)
Notnull
M4
good_num
商品数量
NUMBER(6)
说明:
6.表名:
COMMENTS
COMMENTS表为用户评论表,用于存储用户评论,包括评论的id,用户编号、商品编号等,表结构如表3-6所示。
表3-6用户评论表结构
数据库编号:
f6
基表编号:
1006
基表英文名称:
comments
基表中文名称:
评论表
字段编号
英文字段名
中文字段名
字段类型
备注
C1
comments_id
评论编号
NUMBER(5)
primarykey
C2
user_id
用户编号
NUMBER(5)
Notnull
C3
goods_id
商品编号
NUMBER(6)
Notnull
C4
comments_info
评论信息
VARCHAR2()
C5
comments_time
评论时间
date
说明:
7.表名:
STOREGOODS
STOREGOODS表为收藏商品信息表,用于存储收藏商品信息,包括收藏商品信息id,商品编号、用户编号、收藏时间等,表结构如表3-7所示。
表3-7收藏商品信息表结构
数据库编号:
f7
基表编号:
1007
基表英文名称:
storegoods
基表中文名称:
收藏商品信息表
字段编号
英文字段名
中文字段名
字段类型
备注
S1
mx_id
收藏编号
NUMBER(6)
primarykey
S2
goods_id
商品编号
NUMBER(5)
Notnull
S3
user_id
用户编号
NUMBER(6)
Notnull
S4
good_num
收藏时间
DATA
说明:
8.表名:
GOODS
GOODS表为商品信息表,用于存储商品信息,包括ID,名称、价格,描述,库存,图片等,表结构如表3-8所示。
表3-8商品详细信息表结构
数据库编号:
f8
基表编号:
1008
基表英文名称:
goods
基表中文名称:
商品详细信息表
字段编号
英文字段名
中文字段名
字段类型
备注
G1
goods_id
商品编号
NUMBER(5)
primarykey
G2
goods_name
名称
VARCHAR2(20)
G3
goods_price
价格
NUMBER(5)
G4
goods_desc
描述
VARCHAR2(400)
G5
goods_allnum
库存
NUMBER(5)
G6