您的当前位置:首页正文

电子商务网上商店网上电子产品网站的设计与实现

2020-11-05 来源:步旅网


潍坊科技学院

专科毕业设计(论文)

题 目 网上电子产品网站的设计与实现

院(系) 中印计算机软件学院计算机应用技术 学 号 学生姓名 指导教师

起讫日期 2014.12.12-2015.5.27 设计地点

I

潍坊科技学院毕业设计(论文)指导记录 姓名 年级 论文题目 院系 计算机软件学院 专业 指导教师 计算机应用技术 2012级 学号 网上电子产品网站的设计与实现 指导记录:

II

指导教师意见: 指导教师: 年 月 日 院系意见: (系部盖章) 年 月 日 教务处审核意见: (盖章) 年 月 日 论文成绩 (优秀、良好、中等、及格、不及格)

III

摘要

摘要

毕业设计(论文)是阐述了基于ASP的电子商务网站的开发,并对该系统的需求分析及系统需要实现的设计方法作了介绍。 该系统将数据库技术和Web技术很好的融合在一起,使数据库成为Web的重要组成部分,实现了数据库技术和网络技术的有机结合。

当今世界网络、通信技术快速发展、因特网(Internet)在全球迅速普及,使得现代商业具有不断增长的供货能力、不断增长的客户需求和不粉白眉黛黑增长的全球竞争三大简授画戎筹,使得任何一个商业组织都必须改变自己的组织结构和运行方式来适应这种全球性的发展和变化。随着信息技术的国际贸易和商业领域的广泛应用,利用计算机技术、网络通信技术和Internet实现商务活动的国际化、信息化和无纸化,已成为各国商务发展的一大趋势。电子商务正是为了适应这种以全球为市场的变化而出现和发展起来的。从形式上来说,电子商务主要指利用Web提供的通信手段在网上进行交易活动,包括通Internet

买卖产品和提供服务。是一种依托现代信息技术和网络技术,集金融电子化、管理信息化、商贸信息网络化为一体,旨在实现物流、资金流与信息流和谐统一的新型贸易方式。本文作者以一个小型销售型公司的业务为模型,对此公司业务进行详细调研,结合目前跨平台的JAVA开发语言,采用JSP + JAVABEAN+AJAX技术,然后为该公司定制开发一个小型电子商务网站为主题。

关键字: 电子商务、网上商城、JAV、JSP 、JavaScript 、系统设计

IV

Abstract

Abstract

21 centuries is resources that information that society, social most in conduct and actions in information, will become the strategy resources cause the extensive concern in people.How to obtain the information?Books is work that the way that we obtain the information bestly, but collect and keep to have great capacity the big increment because of the library books, make traditional books' managing person increasingly heavy to get up.Forcing people rises to manage the books with the new management method, howing to set free out the books the managing person from the heavy work?

The books administrative system is an indispensable part of some units, the books are mankinds indispensable nourishment for the mind, it is especially important for some schools. So the books administrative system can offer sufficient information and swift inquiry means to users.

The advance of the science technique continuous changes and improvements, let mankind the life took place the enormous variety, the calculator flies technically to develop soon,making the every trade get the extensive universality with use in the aspects of calculator technique applying.The information turns the ages comes the current that become can't resist, human civilization enter a brand-new ages.Therefore, books management system too with the convenience, fast, low advantage in expenses is entering people life slowly, manage the traditional books to way to set free out thoroughly, lift high-efficiency, alleviate worker's personnel former busy work, let up to come amiss all rate, can make the reader spend more time at choose the book with read the in the book.From but make that people have more time to obtain the information, understand the information and control the information.

Key words: books management ,system design ,information

目录

目录

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

1.1 课题背景.................................................... 1 1.2 研究目标.................................................... 1 1.3 论文各部分的内容............................................ 1

第2章 系统设计 ......................................... 2

2.1 需求分析................................................... 2 2.2.小型电子商务网站开发目的和意义.............................. 2

2.1.2选择网上购物的原因 ............................................ 3 2.1.3 国内网上电子商务网站现状 ...................................... 4 2.1.4小型电子商务网站应该的功能 .................................... 4

2.2 系统架构.................................................... 6

2.2.1逻辑架构JSP + JAVABEAN +DATABASE .............................. 6 2.2.2物理架构 ...................................................... 7 2.2.3技术解决方案 .................................................. 7

2.3 系统数据库设计............................................. 10

2.3.1管理系统的数据流图 ........................................... 10

2.4 系统模块组成............................................... 12

2.4.1系统组成模块及其特点 ......................................... 13 2.4.2业务逻辑分析 ................................................. 14 2.4.3业务逻辑设计 ................................................. 14

2.5 小结....................................................... 16

第三章 系统实现 ......................................... 18

3.1 用户注册模块实现........................................... 18 3.2 类别模块实现............................................... 20 3.3 系统实现结果............................................... 23

3.3.1产品分类管理设计 ............................................. 24

I

目录

3.3.2产品管理设计 ................................................. 24 3.3.3订单管理设计 ................................................. 24 3.3.4用户管理模块 ................................................. 24

3.4 小结....................................................... 24

第四章 总结 ............................................ 26

4.1 收获和体会................................................. 26 4.2 改进意见................................................... 26

第五章 参考文献 ........................................ 27 第六章 致谢 ............................................ 27

II

第一章 引言

第一章 引言

1.1 课题背景

电子商务网站改变了了人们的生活方式,是当今e时代便捷人们生活的一项伟大创举。在生活节奏越来越快的今天,人们对购物便捷的需求也越来越强烈,而网上购物正是给人们带来一种轻松,让每个人享受购物的快乐和冲浪的乐趣一个网络电子网站可以实现的功能非常强大,例如:淘宝集市除了基本的产品信息发布和交易功能之外,还可分析客户购买行为,列出相关商品,购买后的评价系统,以及便捷的交易支付系统,还有跟后台服务系统及后台物流系统的集成。当然也可以做的功能很简单,例如:现在很多的公司只做到商品目录介绍,连采购车的系统都没有,下订单还要通过电子邮件来完成。当然我觉得做的电子商务网站分为两部分:一是前端的购物系统,二是后端的管理系统。在整个系统中的核心技术为购物和结帐系统,但最为难的技术为安全技术,在整个系统中我们需要进行SSL加密,数据库加密,和网页间数据传递加密以及用户和密码加密。

1.2 研究目标

从企业以往的服务管理模式提供的一些服务的方式来看,有些传统的方法已经落伍且非常耗费人力和时间,为了提高员工工作效率,加速资金周转、降低各项成本及改善服务质量,必须开发一个在线电子商务系统。这是本网站设计的核心部分。

1.3 论文各部分的内容

论文共分为两大部分:第一部分需求分析:本文作者通过目前的时代背景下、从企业的需求出发,阐述电子商务的必要性和必然性、电子商务对目前企业和人们生活的影响;然后通过现有技术手段,来如何实现这样一个电子商务:从系统架构 、数据库的设计 、整体界面及模块的设计。以及设计过程上的思路及应用技术做出介绍。第二部分是对目前已完成的系统做一些展示,并挑出2-3个模块来列举模块的实现过程及实现方法,以及实现过程中的设计思路。

1

第2章 系统设计

第2章 系统设计

2.1 需求分析

需求分析是一种软件工程活动,它在系统级需求工程和软件设计间起到桥梁的作用。需求分析需要开发人员准确理解用户的要求,进行细致的调查分析,将客户非形式的需求陈述转化为完整的需求定义,再由定义转换到相应的形式功能规约(需求规格说明)的过程。它通过详细调查现实世界要处理的对象(组织、部门、企业等)、充分了解原系统(手工系统或计算机系统)的概况和发展前景、明确客户的各种需求、收集支持系统目标的基础数据及其处理方法、确定新系统的功能和边界来实现。电子商务由用户使用商家或企业提供的平台、选购产品、生成订单、以及最后通过物流到达用户手中的过程在对电子商务网站进行调研分析时,首先对电子商务所涉及的领域作了总体的了解,为在后面的调研分析做好充足的准备。通过对其各个主要流程模块详细深入的调查后,发现作为一个网站系统,各个部门最基本的功能都是通过网络对外宣传,使得有兴趣的客户可以及时获得他们想要的信息,以此来吸引更多的客户加入。从企业以往的服务管理模式提供的一些服务的方式来看,有些传统的方法已经落伍且非常耗费人力和时间,为了提高员工工作效率,加速资金周转、降低各项成本及改善服务质量,必须开发一个在线电子商务系统。这是本网站设计的核心部分。

2.2.小型电子商务网站开发目的和意义

我国目前网上购物分析以下是根据CNNIC(中国互联网络信息中心)公布的中国B2C电子商务发展报告来进一步分析目前的网上购物的现状。(主要引用其中的分析图表)

图2-1 国内网上购物的原因

2

第2章 系统设计

2.1.2选择网上购物的原因

从上面的图可以看出网上购物选择节约时间和操作方便的分别占46.7%和44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。由此可见,电子商务网络有着很大的市场。

21世纪是网络时代。网络技术的飞速发展极大地影响了商业交易中传统的交易方式和流通方式。企业随着业务的不断扩大,企业的规模也不断扩大,迫切需要建立相应的电子商务网络。利用电子商务的优势同现有销售模式和流通渠道相结合扩大消费市场为企业的再发展带来新的商机也为各地消费者提供便利,而且降低商业成本。相对于中小企业来讲,由于不涉及到大型的数据库和保密安全等,网站的技术要求是被降低了,但建站的指导思想是不变的,网站便要以营销为目的,宣传其产品,让客户更直观的了解产品的功能和特性。

目前所讲的网络营销在职能上可分为两类事情。

如何营销网络产品或服务。例如,如何销售电子信箱、电子小组、网站会员登记等等,这里所要作的网络营销,网络本身是产品,目标顾客是网民,即如何来营销网络的事情。

如何使用网络来辅助传统企业来做好营销工作。在这一类的网络营销中,产品还是企业所生产的产品,目标顾客的其中一部分或大部分是网民,即网络只是企业营销的一种工具。两类网络营销的很多方法相同或类似,但却不可完全等同。对于企业来说,企业网站是用来配合传统企业进行第二类网络营销的重要工具,网络是技术,营销才是关键。

3

第2章 系统设计

2.1.3 国内网上电子商务网站现状

综合性购物网站:卓越网、当当网是以图书起家,至今已经成为中国网上零售的领先者。当当网是全球最大的综合性中文网上购物商城,成立以来,当当网每年均保持100%高速成长,2009年成长率高达120%。有数据显示:2008年当当网年销售额达到16亿元。并且李国庆强调,三年内将持续保持三位数增长,并终将占领市场近三成份额。IT数码购物网站:自2004年创立至2008年,京东商城的年销售额每年都在大幅度的增长中。2008年销售额接近14亿元,年复增长率高达340%,市场份额从2007年的8.1%飙升至2008年的18%一下子将当当、卓越亚马逊甩在后面,登上B2C行业头把交椅。2009年月,京东单月销售额超过2亿元;4月9日,京东单日订单量突破了1.6万份,销售额 过千万。2009年京东的销售额达到40亿元。

服装服饰:PPG的迅猛崛起,唤醒了人们对于服装B2C的野性呼唤。在2007年-2008年初,曾有40多家男装B2C相继推出,此次混战不仅包括原卓越的陈年等一批B2C干将,也包括报喜鸟等知名传统品牌,更包括大量小规模的厂家力量等。直到2008年中,vancl凡客诚品不仅在声势、品牌、销售上全方位超越PPG。VANCL正式成立于2007年10月18日,2007年的营业收入为112万元,2008年飙升至3亿元,预计2009年能达到100%的增长。VANCL目前每天有2万订单,销售服装5万件左右。

亚洲最大网络零售商圈:淘宝网——亚洲最大、最安全的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充等等,与人们生活所需息息相关商品、服务。淘宝网现在业务跨越C2C(个人对个人)、B2C(商家对个人)两大部分。截止2008年12月31日,淘宝网注册会员超9800万人,覆盖了中国绝大部分网购人群;2008年交易额为999.6亿元,占中国网购市场80%的份额。淘宝网8月20日公布了截至2009年6月30日的上半年业绩报告。报告显示,2009年上半年淘宝实现交易额809亿元,逼近去年全年999.6亿成交。对比国家统计局公布的上半年社会消费品零售总额58711亿元。综上可知,我国的网购产业在较短的十几年间得到了较大幅度的发展,这种归属于电子商务类的产业随着科技的发展进步逐渐深入人心。目前我国互联网上网人数已达5亿,目前全球网购用户数量已经超过1.37亿。网购,正在展现出巨大的市场增长潜力,正在迅速成长成为一种消费时中国时尚。是强大的市场需求,驱动并成就了“网购消费时尚”。

2.1.4小型电子商务网站应该的功能

一个电子商务网站应该提供以下功能:

4

第2章 系统设计

产品分类的增加,查询和修改功能。产品需按照一定的方式实现分类; 分类中产品的增加、修改、删除、查询功能;

产品展示功能。当管理员建好产品的分类和各个分类中的产品后,可以将产品在前台按照一定的方式展示给用户。

购物车功能。当用户选定一种产品后,就可以把这种产品放置到购物车中。需要注意的是,在购物车中的产品并不是用户最终会得到的产品,只是一个购物的意向。

订单的生成、查询功能。当用户挑选好产品之后,可以把购物车中的产品形成一张订单提交给系统。同时应该提交用户的电话和送货地点。用户提交订单后。通过订单查询程序来查询自己订单的处理情况。

订单处理功能。电子商务网站一般采用网上付款和快递的方法进行交易,当管理员得到一个订单并收到汇款后,可以开始处理订单。首先,管理员要看用户订购的产品是否有货,就可以把这个订单的实际交付数量修改为用户的订购数量。如果不能够满足用户的要求,应该输入相关的原因,并将订单处理置于“作废”状态。接下来是物流,送货多采用快递方式,当用户订购的产品快递出以后,就可以把订单的状态改为“已成功”。当然本系统简化了这一系列属于物流管理方面的操作过程,而直接由管理员统一进行这些状态的修改设置将功能详细表述如下

普通用户可以通过系统浏览商品(按类别)

普通用户可以通过系统搜索商品(按类型、价格、日期竺) 普通用户可以通过系统下订单(享受市场价) 普通用户可以注册成为系统会员(免费注册) 会员可以浏览和检索商品 会员可以下订单(享受会员价) 会员可以浏览自己下过的订单

会员可以管理自己的信息(自服务系统) 1.修改密码 2.修改送货地址 3.修改联系方式 会员可以分级别

不同级别会员享受不同等级的优惠 通过购物的金额确定级别 管理员通过后台进行会员管理 1.会员浏览

5

第2章 系统设计

2.会员历史订单浏览 3.会员删除 4.指定会员级别

管理员通过后台进行产品分类的管理 1.浏览产品分类 2.添加产品分类 3.修改产品分类 4.删除产品分类

管理员通过后台进行产品管理 1.新增产品 2.产品线架 3.产品下架 4.产品销量统计 5.产品搜索 6.产品删除 7.产品修改

管理员通过后台进行订单的管理 1.订单查询 2.修改订单状态 3.订单搜索 4.订单跟踪 5.订单提醒

2.2 系统架构

2.2.1逻辑架构JSP + JAVABEAN +DATABASE

使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

6

第2章 系统设计

2.2.2物理架构

服务器一台(32bit)配置:CPU Core 2 2.93G,:Windows 2003专业版DataBase服务器一台配置:CPU Core 2 3.9G,硬盘1T,内存8G,OS:Windows 2003专业版

2.2.3技术解决方案

程序开发工具(Eclipse):

Eclipse 是一个开放源代码的,基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。

WER SERVER:Tomcat5.5

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

数据库MySQL

MySQL是一个小型关系型数据库管理系统。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

7

第2章 系统设计

图2.2.3-1数据处理流程图

配置管理SCM(Software Configuration Management)CVS:CVS是多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护JSP 。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

8

第2章 系统设计

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能

AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web 应程序的技术。通过AJAX,您的JavaScript 可使用JavaScript 的XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的JavaScript 可在不重载页面的情况与Web 服务器交换数据。AJAX 在浏览器与Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面,可使因特网应用程序更小、更快,更友好。

使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

B/S结构的软件是相对传统的C/S结构而言的。C/S结构将程序分为两部分,一部分是由多个用户共享的信息与功能,这部分称为服务器端;另一部分是为每一个用户所专用,称为客户端。C/S结构应该具有这样的特征:客户端、服务器端都安装相应的软件,客户端、服务器端各完成相应的计算工作,服务器端保存数据库。而B/S结构应该具有如下特征:服务器端都安装相应的软件,客户端不安装任何软件(不需要维护)。客户端运行程序是靠浏览器软件(如IE ,Netscape等)登陆服务器进行的。客户端在浏览器里完成一定的计算任务。

Web 数据库的访问方式在Internet上服务器访问数据库的访问方式有多种、如公共网关接口CGI, Web服务器专用API, Java语言的数据库访问接口JDBC。CGI是一个用于定义Web服务器与外部程序之间通讯方式的标准。CGI的主要优点是能运行在各种平台上,可以用任何语言编程,主要缺点是当浏览器向CGI程序发出请求时,CGI执行的是另一种独立于Web服务器的系统进程,占用了CPU的资源,当大量用户向服务器请求文件时,会严重消耗服务器的系统资源。Web服务器专用API是各Web服务器生产厂家为扩展自己的Web服务器功能而设置的接口。由于它和Web服务器紧密结合,使得它的运行速度更快、效率更高,但它不具备跨平台性。本系统采用的是微软的Web服务器

IIS(Internet Information Server),它的专用API是ISAPI 。JDBC是JAVA语言的数据库访问接口,将Java Applet嵌入在网页中,当客户浏览器向Web服务器发出请求时,Applet被下载到客户浏览器中运行,然后该Applet通过JDBC访问数据库。JDBC的数据库访问方式提供了高度的可扩充性和可移植性,但复杂的电子商务应用会导致Applet下载过大,从而影响了下载速度。

9

第2章 系统设计

2.3 系统数据库设计

2.3.1管理系统的数据流图

数据流图(DFD)是描述信息流和数据从输入移动到输出时被运用的变换的图形化技术,它反映系统必须完成的逻辑功能,是一种功能模型。它是组织中信息运动的抽象,是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。首先,分析系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体从而得出系统的顶层数据流程图。把整个网站系统看成一个整体,分析这个整体与外界的联系。通过分析得出系统有管理员和客户这两个实体,系统的输入有两个来源,即管理员在对系统的维护更新过程中对系统所进行添加、删除或修改的数据和用户在与系统交互时输入的订单资料数据。系统的输出也有两个去向:一个是管理员在对系统录入信息后系统返回给管理员的信息和用户提交的订单;另一个是管理员对系统录入信息后,由浏览器输出到客户端的信息。其中管理员输入的信息和从客户浏览器上或管理员端显示的信息包括首页、关于我们、管理资讯、服务项目、招商代理、管理文库、资料下载、在线服务、管理论坛、人才招聘等,而订单信息是由客户端输入然后返回给客户端并提交给管理员的。系统的顶层流图如下:

图2.3.1 顶层数据流图

10

第2章 系统设计

在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。电子商务网站的主要对象是用户,所以必需建立用户表,包括用户的基本信息情况;用户的主要活动是对产品的购买,所以必需建立产品信息表;用户对产品的购买,选择所要的产品,首先得对产品进行搜索,所以我们把商品进行分类,建立产品类别表;最后用户提交订单,建立订单表;管理员是后台操作的用户,在此建立了管理员信息表。

一般会员管理

网络电子商店前台的基本功能。

会员系统:基本会员注册、会员登录认证。

商品陈列系统:商品模糊查询、商品详细数据介绍。 添加商品到采购车、采购车内容的删除修改。

订单查询系统:根据会员的登录查出会员历史订单及订单的详细信息。 实现网络电子商店的程序运行的基本结构就是所谓的三层式结构,此种结构最主要的是将前台接口、商业对象及数据库独立分开,将此三者分开,程序运行起来有更大的灵活性,前台接口只负责数据的表现,至于商业对象就是负责将一些商业逻辑运算封装到对象,对象中运算方法则最主要是当作后台数据库与前台接口的桥梁,JSP也提供很简单的方法让您建立、修改及布置商业对象。至于数据库,最主要的功能就是存储数据,就像微软的产品来说最有名的前台数据库就是了MySQL,在此网络电子商务网站系统选择的数据库是MySQL。

2.3.2User用户表、字段设计 字段名 Id Username Password Phone Addr Rdate

User(用户) 字段类型 说明 Int 序号/自动递增 Varchar 用户名 Varchar 密码 Varchar 电话 Varchar 地址 datetime 注册日期 主键 主键 11

第2章 系统设计

2.3.3Product产品表、字段设计 字段名 ID Name Descry Normalprice Memberprice Pdate categoryID Product(产品) 字段类型 说明 Int 序号/自动递增 Varchar 产品名 Varchar 描述 Varchar 市场价 Varchar 会员价 datetime 上架日期 Int 类别ID/引用 Category 表的ID 2.3.4Cagegory产品类型表、字段设计 主键 主键 字段名 Id Name Descry pid Cagegary(产品类别) 字段类型 说明 Int 序号/自动递增 Varchar 分类名 Varchar 描述 Varchar 父ID 2.3.5SalesOrder订单抬头表、字段设计 主键 主键 SalesOrder(订单抬头) 字段名 字段类型 说明 ID Int 序号/自动递增 Userd Int 用户ID Addr Varchar 送货地址 Data Datamate 下单时间 Starst Int 订单状态为/0未处理1处理中2处理成功3作废 2.3.6SalesItem订单行项目表、字段设计 主键 主键 SalesItem(订单行项目) 字段名 字段类型 说明 Id Int 序号/自动递增 Producted Int 产品Id Unitprice Varcher 单价 Prount Datetime 数量 Ordend Int 订单Id/引用salesorder的Id 主键 主键 2.4 系统模块组成

系统分为前端的客户信息浏览及查询和后台管理两大部分:前台销售管理系

12

第2章 系统设计

统的用户通过Internet访问网站的客户,后台管理系统的用户是通过Internet访问的后台管理员

前台管理系统功能

前台的客户信息浏览及查询功能:

可直接登录上主页浏览电子商务网站对外发布的所有信息,包括企业本身的资料、对外服务部门的介绍、企业文化的宣传和特色及为客户介绍其它相关领域如其他服务业的相关信息。

可直接从主页上即时浏览企业发布的最新新闻,以增进和客户的交流,提高工作的效率。

通过点击主页上的链接,输入个人信息资料和必要的产品信息在线提交订单来订购产品。

后台管理系统功能

后台管理系统的页面将以加密的形式出现,只能由管理员及其赋予权限的用户登录,登录必须输入密码方可进入,以实现对本站点的全面维护及更新。进入后,页面会以网页的方式罗列出所有查询及处理客户填写的信息。管理员可从网页点击进入该信息处理页面,可以在这里对前台网站的内容进行更新,并支持对客户填写的信息增加、删除、修改以及对客户所发布信息的更新等操作,以使站点保持良好的运作状态,同时还可以根据客户的提交时间和IP地址进行索引与分析。在对酒店内部进行管理时,可通过为各个部门均分配具有一定权限的管理员来实现,此管理员分为一般用户和超级用户,使各个部门均能自主的对本部门的信息进行更新及发布本部门的最新通告等。因此,此管理系统是对整个网站的管理。

2.4.1系统组成模块及其特点

综上所述,整个网站系统包括了以下功能模块:首页、产品分类、用户自助服务、购物车、订单管理。其中有的模块需以管理员的身份通过后台管理系统进行更新其功能特点包括:

易用性好:操作简单、界面友好,控件式的页面布局,使得信息的查询更简便;使用的流程更清晰。

即时可见:对订单的处理(包括购买产品的添加、修改、删除)将立即在页面中显示出来,达到\"即时发布.即时见效\"的功能。

功能完善:流程和业务能按照设计简单明了的走下去,同时对客户网上消费进行过程有可能出现的情况都要有处理方案

方便移植:针对不同的企业,只需要稍作修改就可以开发出适合本企业特

13

第2章 系统设计

点的电子商务系统。

2.4.2业务逻辑分析

会员类,包装系统会员与订单类有一对多的关系 管理员类,包装系统管理员

产品类包装,产品的信息与订单是多对一的关系 包装产品的类别树状结构与产品是一对多的关系

订单类包装订单的信息与产品是多对多的关系与会员是多对一的关系 购物车类包装财物车的信息与产品是一对多的关系

2.4.3业务逻辑设计

User(用户管理属性、方法设计) Properties 1.Id 2.Username 3Password 4.Phone 5.Addr 6.Rdate Methods

1.Getorders() 2.Save() 3.Change() 4.Delete

5.Static search()

Administrator(后台用户管理属性、方法设计) 1.Properties 1.Username 2.Password 2.Methods 1.Login()

Product(产品管理属性、方法设计) 1.Properties

14

第2章 系统设计

1.Id 2.Name 3.Descry 4.Normalprice 5.memberPrice 6.pdate 7.category methods

1.getCategory() 2.getSalesCount() 3.save() 4.change() 5.search()

Categroy(类别管理属性、方法设计) 1.progerties 1.id 2.name 3.descry

4.pid(parent:categroy) 2.mathods

1.getProductCounts() 2.save() 3.change()

SalesOrder&SaleItem(订单抬头属性、方法设计) 1.properties 1.id 2.userid 3.addr 4.SalesItem[] 5.Odate 2.Methods 1.getTotalPrice() 2.save() 3.change()

15

第2章 系统设计

4.getSalesItem() 5.SalesOrder&

SaleItem(订单行项目属性、方法设计) 1.Properties 1.Id 2.productID 3.unitPrice 4.pCount 2.methods 1.getTotalPrice() 2.save() 3.change() 4.getCartItems()

ShoppingCart&CartIte(购物车抬头属性、方法设计) 1.properties 1.userid 2.CartItem[] 2.Methods 1.getTotalPrice() 2.save() 3.change() 4.getCartItems()

ShoppingCart&CartIte(购物车行项目属性、方法设计) 1.properties 1.productID 2.unitPrice 3.pCount 2.Methods 1.getTotalPrice()

2.5 小结

目前的时代背景下、从企业的需求出发,阐述电子商务的必要性和必然性、电子商务对目前企业和人们生活的影响;然后通过现有技术手段,来如何实现这样一个电子商务:从系统的架构、数据库的设计、整体界面及模块的设计。以及

16

第2章 系统设计

设计过程上的思路及应用技术做出介绍。通过需求分析和概要设计、详细设计,对编码过程和项目进度时间表的控制有着进程碑的指导意义。

17

第三章 系统实现

第三章 系统实现

3.1 用户注册模块实现

用户注册页面有以下页面:注册页面register.jsp;注册成功

registok.jsp;注册失败registerr.jsp 注册执行及转换远过程:用户在首页login.jsp中注册链接.链接到register.jsp页面,同时装载自身,

同时通过脚本执行代码

将光标定位到username上,当一点击提交时,是提交到自身,同时执行register.jsp中的save()函数,下面来看此提交的程序:

request.setCharacterEncoding(\"gb2312\");//编码选择gb2312 String action = request.getParameter(\"action\");//此说明自身页面提交过来

if(action != null && action.trim().equals(\"register\")) { String username = request.getParameter(\"username\");//接收用户名

String password = request.getParameter(\"password\");//接收密码String phone = request.getParameter(\"phone\");//接收电话String addr = request.getParameter(\"addr\");//接收地址

User u = new User();/*new一个user对象,这个user是通过register页面中import=\"com.cmnc.shopping.user.*\"引用进来的,因为本文作者将所有user所有方法都封装在user.java中,在下方详细讲解user对象中sava()方法的执行过程*/

u.setUsername(username); u.setPassword(password); u.setPhone(phone); u.setAddr(addr); u.setRdate(new Date());

u.save();//调用com.cmnc.shopping.user.*中的save方法保存到数据库out.println(\"注册成功!恭喜!\");

user.java页面包含register.jsp中引用com.cmnc.shopping.user.*中的

18

第三章 系统实现

save方法,此方法是将自身保存到内存

public void save() { Connection conn = DB.getConn();//save方法首先链接上数据库

String sql = \"insert into user values (null, ?, ?, ?, ?, ?)\";/*然后将自身插入到数据库中*/

PreparedStatement pstmt = DB.prepare(conn, sql); try { pstmt.setString(1, username);//set 用户名的值

pstmt.setString(2, password); //set 密码的值pstmt.setString(3, phone);// set 电话的值pstmt.setString(4, addr);// set 地址的值

pstmt.setTimestamp(5, new Timestamp(rdate.getTime()));//时间处理pstmt.executeUpdate();//执行更新方法

} catch (SQLException e) {//如果有异常,执行异常处理方法e.printStackTrace();

} finally { DB.close(pstmt); DB.close(conn); }

通过register.jsp,user.java设计体现了三层架构的思想,即jsp页面只做前台显示作用,这样避免了jsp页面直接与数据库交互,这样一个是为了数据安全性考虑,同时分层也为项目的扩展和可移植有着巨大的好处,每一次都可独立的发展:jsp页面不用和数据库交互、显得简洁明了,如果客户需要对项目自主扩展,只需要将中间的业务逻辑层基础上生成API文档,对业务逻辑进行说明,即可进行,不用公布数据库及其结构,

如图3.1-1所示

19

第三章 系统实现

图3.1-1用户注册三层架构数据交互流程图

3.2 类别模块实现

类别管理分前台和后台,前台只是做展现,后台做数据处理,主要包含以下页面:类别显示categorylist.jsp、类别添加categoryadd.jsp、类别删除

categorydelete.jsp、类别修改categorychange.jsp 类型添加在admin目录,需通过管理员登录后才能执行,数据及页面转换执行过程,管理员通过login.jsp页面登录到后台,点击添加类别链接到categoryadd.jsp页面,通过categoryadd.jsp页面中的代码提交信息给自身(即categoryadd.jsp页面)

onSubmit=\"this.regsubmit.disabled=true;\"> request.setCharacterEncoding(\"gb2312\");

20

第三章 系统实现

String action = request.getParameter(\"action\");//此说明自身页面提交过来

if(action != null && action.trim().equals(\"add\")) { String name = request.get Parameter(\"name\");//接收name值String descr = request.get Parameter(\"descr\");//得到描述值

Category c = new Category();

c.setPid(0);//因为是最根节点,所以为0 c.setName(name); c.setDescr(descr);

c.setGrade(1);//设定级别

CategoryService service = CategoryService.getInstance(); /*拿到 CategoryService内部的对象,单利模式*/ service.add(c);//调用add方法 out.println(\"类别添加成功!恭喜!\"); return; }

封装的时候有很多种方法,在注册模块的时候是将所有的方法全部封装在user.java中,但是类别的封装与user.java有所区别,本文作者装产品类别方法分别封装成3个文件,Category.java(类别)、CategoryService.java(类管理)、GradeOutOfBoundsException.java(级别越界),在此,我们利用单利模式,使用静态工场方法,正文是添加类别过程中方法的详细代码过程

private static CategoryService service; private CategoryService() {}

public static CategoryService getInstance() { if(service == null) {

service = new CategoryService(); }

return service; }

/** * 拿到所有的根类别* @return */

public List getTopCategories() {

List categories = new ArrayList(); Connection conn = DB.getConn();

21

第三章 系统实现

Statement stmt = DB.getStatement(conn);

ResultSet rs = DB.getResultSet(stmt, \"select * from category where grade = 1\");

try {

while (rs.next()) {

Category c = this.getCategoryFromRs(rs); categories.add(c); }

} catch (SQLException e) { e.printStackTrace(); } finally { DB.close(conn); }

return categories; }

public void add(Category c) {//接收Category Connection conn = DB.getConn(); try {

conn.setAutoCommit(false);

/*先将conn自动提交设置成false,因为数据不能被中断,必须整体提交,如果提交过程中有错误,需要退回,不能只插入一半*/

} catch (SQLException e1) { e1.printStackTrace(); }

String sql = \"insert into category values (null, ?, ?, ?, ?, ?)\";//插入数据

PreparedStatement pstmt = DB.prepare(conn, sql); try {

int cno = getNextCno(conn, c);

pstmt.setInt(1, c.getPid());//得到根目录ID

pstmt.setString(2, c.getName());//得到类别名称

22

第三章 系统实现

pstmt.setString(3, c.getDescr());//得到描述 pstmt.setInt(4, cno); //得到类别NUMBER pstmt.setInt(5, c.getGrade());//得到类别级别 pstmt.executeUpdate();//执行更新方法 conn.commit();//整体完成后提交 } catch (SQLException e) { try {

conn.rollback();

/*如果提交时出现异常,则执行回滚,让数据插入不成功*/ } catch (SQLException e1) { e1.printStackTrace(); }

e.printStackTrace(); } finally { try {

conn.setAutoCommit(true); } catch (SQLException e) { e.printStackTrace(); }

DB.close(pstmt); DB.close(conn); } }

3.3 系统实现结果

网站的管理界面只有管理员才能进入,在打开管理员界面前,首先将进入登录界面,当管理员提交数据后,将执行admin/login.asp,把用户的信息保存在Session变量中管理员对后台管理的登录成功后的界面如图所示。在此界面中,管理员可以查看已经处理后的订单,也可以处理用户新下的订单。还可以发布新产品、添加产品的类别(也可以在添加新产品时添加类别),此外还有管理员管理和会员信息管理的功能。

23

第三章 系统实现

3.3.1产品分类管理设计

在产品分类管理中,主要实现了产品类别的添加、修改、删除。

CategoryList.jsp是产品分类管理的主页面,每行显示一种类别,并在每行后面显示修改按钮和删除按钮,最下方为添加产品类别。处理添加、修改和删除操作的页面是CategoryAdd.jsp、CategoryModify.jsp。对于当前处理的产品类别,只显示类别名称,其他类别则需要显示超级链接,链接地址为categorylist。

3.3.2产品管理设计

Productlis.list页面是产品管理的主页,它的功能是按产品类别分页显示产品列表,并提供产品管理的界面。界面如图3.3-3所示:在这个模块中,主要包括了功能:1.添加产品;2.修改产品信息3.删除产品4.产品发布;前台产品展示页面如图3.3-4所示,

3.3.3订单管理设计

在订单管理中主要实现了查看订单功能和处理订单的功能订单处理是由orderlist.jsp实现的,管理员每处理一次订单,产品的库存量会相应的减少。当用户订购的产品数量超过库存数量时,系统会提出库存不足的警告,此时管理员可暂停对订单的处理,当货源补充上时,可通过修改产品信息的界面修改产品的库存数量,然后在对订单进行处理。

3.3.4用户管理模块

这个模块主要实现登录网站用户的管理,在此页面中可以查看用户的基本信息,修改删除非法用户,还可以查看用户的交易记录,订单状态。在订单状态中,管理员可以查看用户的订单信息、送货地址等信息,方便管理员管理订单和产品销售的情况。

3.4 小结

经过四个多月的设计和开发,电子商务系统基本开发完毕。系统具备了前台销售管理系统和后台管理系统的功能,购物车子系统结构,将前台销售管理系统的各个子系统紧密联系在一起,完成客户从网上购物的整个过程,后台管理系统主要负责维护和管理数据库的产品信息、用户信息、订单信息,以及保证数据库

24

第三章 系统实现

中数据的一致性。

25

第四章 总结

第四章 总结

4.1 收获和体会

在系统的设计开发过程中,注重了科学的软件设计思路。首先在总体设计上,采用了模块化和分层的设计思想,使整个系统流程清晰、逻辑合理,为系统的实现创造了良好的条件。其次,在各功能模块的实现上,采用了在技术上非常流行的B/S架构。作为一个简单的通用电子商务系统,具备的功能还很不完善,有很多可以扩展的地方。例如:可以加入物流功能、付款功能等。在实际中,可以根据企业的具体要求进行扩展。有条件的话,还可以尝试在网上购物车子系统和后台权限控制中采用了分布式三层的B/S设计模型,通过COM组件技术来实现中间层商务逻辑的开发,这样可以进一步提高应用程序的性能。

4.2 改进意见

由于本系统的设计是建立在设计基本要求的基础上的,还有很多需要完善的地方,总结出来有如下几点

1. 网上订单数据安全客户从网上正式提交订单、处理过程中,用户不能对订单做修改或删除,保证实际信息与数据库记录信息的一致性。

2. 网上支付及支付安全由于该系统目前没有和银行的网上支付业务本系统并没有实现网上支付(信用卡结帐)。如果要实现网上支付,可以对客户信息的加密来保证客户信息的安全。

26

第五章 参考文献

第五章 参考文献

[1]张润彤主编《电子商务概论》电子工业出版社2008年

[2]孙鑫、谢茂强等译. Java Servlet编程,北京:中国电力出版社2002 [3]冯英健著《网络营销基础与实践》清华大学出版社,2004.10第2版。 [4]李辛铭《网页编程实例解析》清华大学出版社

[5]姜同强计算机信息系统开发-理论、方法与实践,北京:科学出版社,1999 [6]清宏计算机工作室等. JSP编程技巧,北京:机械工业出版社,2002 [7]邓劲生译. Java编程艺术,北京:清华大学出版社,2004

[8]张云涛、龚玲等编著Eclipse精要与高级开发技术,北京:电子工业出版社,2005 [9]徐小青、路晓村等译MySQL 完全手册,北京:电子工业出版社,2004 [10]王永刚译. Java编程,山东:济南大学出版社,2004

[11] 张广彬,孟红蕊,张永宝.Java课程设计案例精编[M].北京:清华大学出版社,2007 [12] 黄明,梁旭,曹利超.Java信息系统设计与开发实例[M]..北京:机械工业出版社,2005

[13] 虞益诚.Java程序设计及应用开发教程[M].北京:科学出版社,2007 [14] 明日科技.Java数据库系统开发案例精选[M].北京:人民邮电出版社,2007 [15] 柳西玲.Java语言应用开发基础[M].北京:清华大学出版社,2006

[16] 李佳,范俊第.邓剑民.Access2003数据库应用[M].北京:人民邮电出版社,2006 [17] 李禹生.数据库技术-Access及其应用系统开发[M].北京:中国水利水电出版社,2007 [18] Y Danicl Liang Java语言程序设计[M].北京:机械工业出版社,2006 [19] H M Ditel.Java大学基础教程(第六版)[M].北京:电子工业出版社,2007 [20] 齐治昌,谭庆平.软件工程(第2版)[M].北京:高等教育出版社,2004.4 [21] 季文浩,周明龙.学生信息管理系统的分析与设计[J/OL].民营科技,2008第11期[2009-04-26].

27

第六章 致谢

第六章 致谢

此次毕业论文的写作,让我受益匪浅。通过此次毕业论文的写作,我懂得了如何去收集资料,如何进行数据处理,如何撰写论文等。在本次毕业论文设计过程中,老师对该论文从选题,构思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成论文。借此论文完成之际,谨向~·老师致以诚挚的谢意。

毕业论文是我们学习生涯中的一项重大工程,也是检验所学知识的一个良好的方法。本论文的顺利完成,离不开我的父母,各位老师,同学和朋友的关心和帮助,对于论文小组同学在我写此论文期间所给予的关心,支持和帮助,在此表示感谢。

同时,我还要感谢大学这四年中众多关心支持、帮助我的老师和同学。在此,谨向他们致以衷心的感谢。

最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢。

28

因篇幅问题不能全部显示,请点此查看更多更全内容