毕业设计论文.docx
- 文档编号:13229719
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:40
- 大小:1.02MB
毕业设计论文.docx
《毕业设计论文.docx》由会员分享,可在线阅读,更多相关《毕业设计论文.docx(40页珍藏版)》请在冰点文库上搜索。
毕业设计论文
毕业设计论文
--网上书店系统设计
院系名称________________________________
姓名________________________________
学号________________________________
专业________________________________
指导老师________________________________
1、系统概述
1.1电子商务发展概述
随着信息技术的广泛应用,利用计算机技术、网络通信技术和Internet实现商务活动的国际化、信息化和无纸化,已经成为各国商务发展的一大趋势。
电子商务作为企业在商场上不断取得发展的重要技术,会赢得越来越多的客户,开辟出商务新时代。
各商家意识到这一巨大商机,纷纷加入到开办网上商店的行业中去。
此时,网上书店也就应运而生了。
网上书店可以利用覆盖全球的Internet连接无数的企业的内部网络,其触角可以伸展到买书客户的家中,在买方、卖方和供应商之间架起一座桥梁,以先进的技术渗透于订货、送货、支付、甚至意见反馈等整个商务过程。
为什么基于互联网的电子商务对企业具有如此大的吸引力呢?
这是因为它具有以一下一些明显的优势。
1、费用低廉。
由于互联网使国际的开放性网络,使用费用很便宜。
这一优势使得许多企业尤其是中小企业对其非常感兴趣。
2、覆盖面广。
互联网几乎遍及全球的各个角落,用户可以很方便的与贸易伙伴传递商业信息和文件。
3、功能更全面。
互联网可以全面支持不同类型的用户实现不同层次的商务目标,如发布电子商情、在线洽谈、建立虚拟商场或网上银行等。
4、使用更灵活。
基于互联网的电子商务可以不受特殊数据交换协议的限制,任何商业文件或单证可以直接通过填写与现行的纸面单证格式一致的屏幕单证来完成,而不再需要进行翻译,任何人都能看懂或直接使用。
1.2国内外网上书店发展现状
西方发达国家的网络书店发展处于世界领先地位。
仅在美国,目前与图书相关的网站就有7700多个。
其中包括成立于1995年的世界上最大的网上书店----亚马逊公司。
此外,美国的很多大报都办有自己的网上书店,如《纽约时报》的书评版“NewYorkReviewofBooks”.在欧洲,最大的网上书店是“InternetBookshop”,其可供图书达到140万种,它也因此一直被英国书业界传为网络时代的成功范例。
此外,在亚洲及我国香港,台湾地区,网络书店也蓬勃发展。
发达国家的网络书店其特点主要表现在以下几个方面:
1、完善的网络基础设施与广泛的用户。
目前占世界人口16%的发达国家拥有全球90%的网络主机,仅纽约拥有的网络主机就比整个非洲的还要多。
目前仅在美国的网络用户数量已经超过了1.5亿。
2、技术先进。
以亚马逊为例,他的雇员中最多的不是门市部店员,而是软件工程师。
它的应用软件经常不断的开发创新,使企图抄袭都难以得逞。
例如协调过滤技术,它能分析顾客的历史购买情况,由此向他们长期推荐相关的图书,这种个性化的服务充分发挥了网络营销的优势,使它拥有了几百万稳定的客户数量。
3、折扣低。
由于网络书店消除了传统书店的许多中间环节,使图书的成本大大降低,因此网络书店的图书都打了很低的折扣。
我国的网络书店也是如火如荼。
许多书商、出版社和IT公司都进入了图书电子商务市场,从1997年初杭州新华书店开办国内第一家网上书店迄今,短短几年,中文网上书店已经不下数百家。
其中不少都受到了亚马逊的影响。
总结起来,国内网络书店有以下几个方面的特点:
1、多数网站热衷于树立网站品牌,追求点击率,继而融资,上市,忽略了网络书店的商业本质,走向了一个误区。
2、网络基础设施不完善,配送体系严重落后。
网络用户数量少,分布极不均匀。
网上购书的用户普遍集中在北京、上海等区域。
3、网络购书过程还存在诸多方面的问题,人们对这种新的购书方式和观念尚存疑虑。
2、开发工具及相关技术
2.1、开发工具
本系统采用JSP技术来开发,选择的开发工具是Eclipse。
Eclipse最初是由IBM公司开发的著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是通过插件技术,也可使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
2.2、系统相关技术
整个系统走的是java的技术路线,应用服务器采用tomcat。
技术框架采用当下流行的SSH框架,后台数据库采用Mysql。
采用的版本分别是:
struts1.29、spring3.0.5、hibernate3.6.0。
2.2.1、tomcat
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
2.2.2、SSH框架
SSH是指Struts+Spring+Hibernate的组合框架模式,也是MVC软件开发模式,Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。
Struts对Model,View和Controller都提供了对应的组件。
ActionServlet这个类是Struts的核心控制器,负责拦截来自用户的请求。
Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。
Model部分:
由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。
JavaBean则封装了底层的业务逻辑,包括数据库访问等。
View部分:
该部分采用JSP(或HTML、PHP……)实现。
Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。
Controller组件
Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。
系统核心控制器为ActionServlet。
该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。
该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。
业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。
对应Action部分。
Spring
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
目的:
解决企业应用开发的复杂性功能:
使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:
任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
轻量——从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:
典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑——仅此而已。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架——Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。
它们也为Spring中的各种模块提供了基础支持。
Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:
Session、SessionFactory、Transaction、Query和Configuration。
这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
下面对这五个核心接口分别加以介绍。
·Session接口:
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。
)。
但需要注意的是Session对象是非线程安全的。
同时,Hibernate的session不同于JSP应用中的HttpSession。
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
·SessionFactory接口:
SessionFactory接口负责初始化Hibernate。
它充当数据存储源的代理,并负责创建Session对象。
这里用到了工厂模式。
需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
·Configuration接口:
Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。
在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
·Transaction接口:
Transaction接口负责事务相关的操作。
它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
·Query和Criteria接口:
Query和Criteria接口负责执行各种数据库查询。
它可以使用HQL语言或SQL语句两种表达方式。
框架概述:
在Struts+Spring+Hibernate的组合框架模式中,Struts的MVC设计模式可以使我们的逻辑变得很清晰。
Spring的IOC和AOP可以使我们的产品在最大限度上解藕。
hibernate的当然就是实体对象的持久化了
典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。
三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。
客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。
中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。
Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。
Service层(就是业务逻辑层),负责实现业务逻辑。
业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。
DAO层,负责与持久化对象交互。
该层封装了数据的增、删、查、改的操作。
PO,持久化对象。
通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。
Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。
一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。
框架通常能很好的解决一个问题。
2.2.3、MySql
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
3、系统分析
3.1、系统需求分析
本系统是针对一个电子商务网站的实际需求,通过具体的需求分析、设计,开发出来的本系统采用SSH(Struts+Spring+Hibernate)架构进行设计和开发建设了B/S模式的三层结构体系。
采用了Eclipse作为开发工具,后台数据库为Mysql,Tomcat作为Web服务器。
前端页面采用了Jsp和javascript。
用户可以通过该系统完成注册、浏览查找商品、购买商品、留言提问功能,系统管理员可以通过该系统来管理会员、管理商品、管理订单等功能。
3.2、系统功能分析
本系统的功能可以按照不同的用户分成两大类:
一类用户是系统管理员,完成后台的管理功能,另一类的普通的用户,完成一个正常的电子商务网站的购物功能;具体的功能分析如下:
系统管理员功能:
1、商品分类
当商品数量比较多时,就要对商品进行一下分类,有了商品分类,即可以对商品进行有序的管理,也可以成为顾客在前台访问时进行筛选的依据之一。
2、商品型号
商品规格一般适用于属性的值有多个时的情况,可以全部展示出来供顾客进行选择。
商品型号一般适用于属性的值有多个时的情况,可以全部展示出来供顾客进行选择。
3、商品增减
在配置好商品分类、商品类型、商品规格与商品品牌,并且全都关联后,就可以正式添加商品了。
在添加商品前,需要准备好商品的各方面文字资料及图片资料,供添加时使用。
4、订单管理
订单是顾客在商店购买商品后的表现,也是连接店主与顾客之间的纽带之一。
作为线上销售的重要环节,唯有高效率地处理好订单,才能完成销售的整个流程,才会给予顾客更好的体验。
并且订单与其他环节关系紧密,商品、物流、会员等都缺少不了订单的流程。
因此,快速、高效的订单处理是对线上业务的强力支持。
消费者在前台网店拍下商品,通过购物车进行结算后并进行相关资料的确认后,提交订单即会在系统中生成一笔新的订单。
订单生成后,消费者可以为所下的订单进行支付。
同时在后台系统生成的订单,操作员便可以对新生成的订单进行各种后续操作。
如果顾客是用其它方式进行购物,比如电话购物,此时也可以在后台由操作员生成订单。
无需消费者操作,操作管理员或者客服手动为顾客添加订单,并补全订单信息,包括商品、优惠规则、购买人信息、物流信息等等。
后台生成的订单与前台消费者生成的相同,会员也会在会员中心看到新生成的订单,并能对订单进行支付。
如果非会员,也可以通过线下或者其他支付方式,并由操作员手动对订单状态进行修改。
在订单生成后到该笔订单生效并发货,这段时间,可以对订单进行更改或编辑,相应订单状态也会随着操作而发生变化。
5、会员等级与权限
一个成功的B2C网店,需要保持较高的访问量、长期稳定的销售业绩。
而达成这样的目标,除了质量有保证的商品及优质的服务外,良好的顾客基础也是至关重要的。
所谓良好的顾客基础,就是需要有持续的固定的客户来源,这些只靠外来顾客一次性消费是无法达成的。
可以通过考虑周全的会员制度、清晰的会员管理让商家把握好客户资源,服务好客户,灵活的调整营销方式,从而使网站保持稳定的销售业绩。
本系统为会员设置了等级制度,管理员可以自定义设置会员等级数、等级名称、不同等级的优惠折扣、以及等级提升所需要的条件。
6、留言管理
针对会员的留言或问题,管理员可以回答,或者控制显示或不显示。
普通用户功能:
1、用户注册
用户可以通过一个唯一的账号,在完成必须的基本信息(登录密码、联系地址、联系方式等)的填写后,注册成为网站的会员,成为会员后,可以参与购物、享有相应级别的折扣优惠。
2、会员登录
凭注册的唯一账号和密码,登录电子商务网站,享受会员的功能。
3、个人资料
会员登录后,可以随时维护自己的个人资料,如联系方式的变动等。
4、商品搜索
当电子商务网站提供了很多不同类别的书籍后,为了快速的找到自己想要的书籍,可以使用此功能,输入书名关键字,查找图书,
5、商品查看
点击书籍,查看详细信息,如书籍的详细介绍、出版社、出版时间、销售价格等。
6、购物车管理
可以将想购买的书籍放到购物车中,也可以查看购物车,将不需要的书籍删除,确定购买之后,可以结算购物车,生成订单。
7、评论留言
会员可以发表自己的看法、或者提出问题,将由系统管理员给予回复。
8、退出
完成购物后,退出系统。
3.3、系统功能模块结构图
4、数据库设计
1、管理员表:
保存管理员的类型以及密码信息。
字段名称
字段
数据类型
长度
是否主键
备注
唯一ID
ID
INT
4
是
自动增长
管理员类型
AdminType
INT
4
管理员名称
AdminName
CHAR
12
登录名
LoginName
CHAR
12
登录密码
LoginPwd
CHAR
12
2、会员表:
保存会员的信息,如等级、密码、联系方式等。
字段名称
字段
数据类型
长度
是否主键
备注
唯一ID
ID
INT
4
是
自动增长
会员等级
MemberLevel
INT
4
登录名
LoginName
CHAR
12
登录密码
LoginPwd
CHAR
12
会员名称
MemberName
CHAR
20
电话
Phone
CHAR
15
地址
Address
VARCHAR
100
邮编
Zip
CHAR
10
注册时间
RegDate
DATETIME
0
最后登录时间
LastDate
DATETIME
0
登录次数
LoginTimes
INT
4
电子邮箱
VARCHAR
100
3、会员等级表,用户定义会员的等级,与会员表关联使用
字段名称
字段
数据类型
长度
是否主键
备注
唯一ID
ID
INT
4
是
自动增长
等级名称
LevelName
CHAR
20
折扣比例
favourable
INT
4
4、留言表,记录会员的留言、问题、留言时间、处理的管理员等信息
字段名称
字段
数据类型
长度
是否主键
备注
唯一ID
ID
INT
4
是
自动增长
留言会员ID
Member
INT
4
处理管理员
Admin
INT
4
标题
Title
CHAR
60
内容
Content
TEXT
留言时间
LeaveDate
DATETIME
问题内容
AnswerContent
TEXT
提问时间
AnswerDate
DATETIME
5、商品的类别定义,保存商品种类名称及编码,与商品表关联使用
字段名称
字段
数据类型
长度
是否主键
备注
唯一ID
ID
INT
4
是
自动增长
分类名称
CateName
CHAR
40
详细描述
CateDesc
TEXT
6、商品表,保存网上出售的商品的信息,如价格、详细描述等。
字段名称
字段
数据类型
长度
是否主键
备注
唯一ID
ID
INT
4
是
自动增长
商品分类
Category
INT
4
非空
商品名称
MerName
CHAR
40
市场价
Price
DECIMAL
8,2
特价
SPri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文