网上商城经营管理规划Word文档格式.docx
《网上商城经营管理规划Word文档格式.docx》由会员分享,可在线阅读,更多相关《网上商城经营管理规划Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
因此,安全、快捷、方便的电子支付手段将是今后网上商店健康发展的主要决定性要素。
以下是CNNIC(中国互联网络信息中心)发布的B2C电子商务发展报告,进一步分析了目前我国网上购物的现状。
90%选择网上购物的人都认为网上购物可以节约时间和精力,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。
随着消费者对消费者的需求增加,使网上购物商城必须经过精心的打算,提供专业的产品和服务,差异化的市场。
以卓越网和铛铛网为例,最近根据不同的消费者和消费者的需求,开通了计算机、外语、文学和艺术四个专业商城,这不仅体现了卓越网“以客户为中心”的经营理念,相信这也是中国在线购物中心的未来发展趋势。
尽管网络版权、阅读习惯仍是制约未来网络出版、网上商城发展的障碍,但网络环境给出版业带来了深刻的革命,已成大势所趋。
网上购物与传统商店都在努力保持商品发布新的利润空间。
目前的情况是,大部分商城对网上商城的了解是不足够的,只是初步参与电子商务和网站建设,网络上的其他产品,一对一,跨越时间,空间和其他特性,并没有充分利用,可以预计,随着网络深入到人们的生活中,以及网络技术的快速发展,相信以技术、服务为品牌支撑的网上商城在不远的未来会成为市场的宠儿和业态创新的引领者。
1.3课题研究方法
通过在网上查找相关资料,了解了设计的思路,熟悉了开发的环境之后,通过分析网上商城的开发流程与具体业务,为本次毕业设计打下了坚实的基础。
结合自身对Java语言的掌握情况,本设计决定采用Java语言进行编程实现。
在决定了使用何种语言进行开发后,我想通过这次的设计与开发提高自身的水平和能力,在架构体系上就大胆的尝试了SSH框架,并结合MVC的思想进行本次系统的开发。
而网页的部分布局,是从网上下载的成熟模版,并结合本毕业设计的需求,进行了部分UI界面的设计及实现。
1.4研究设想及预期结果
本系统预期实现的功能及结果主要包括:
1)管理员可以进行对商品信息的添加,修改,删除;
2)管理员可以进行的商品目录添加,修改,删除,再对商品信息的添加时,动态加载目前存在数据库中的目录,在删除的时候,如果此目录下存在商品将不能删除此目录,在修改的时候,如果目录名称发生变化,在商品表中的目录也必须变;
5)管理员实现对会员信息的管理。
6)管理员可以同过商品的销量,以及商品的数量来设置商品的下架,是否热卖。
7)管理员要对物流信息进行管理;
8)管理员可以对订单进行查看,会员也可以看到自身的订单;
9)管理员可以对首页的广告进行管理,实现广告的添加,修改,删除等;
10)管理员在后台可以对帖子进行审核,删除;
11)会员可以进行对商品信息的搜索
12)会员可以进行商品的购买,添加到购物车,购物车查看;
13)会员登陆到后台可以对自己的订单进行查看
14)用户可以进行会员的注册以及会员自身的信息修改;
15)会员登录后可以进行有关本系统的帖子的一个发布供能,但发布后,需通过管理员的审核,同时也可以对已审核通过的帖子进行回复,可以查看帖子的回复内容;
2相关技术介绍
2.1关于JavaWeb的介绍
JavaWeb,是用Java技术来解决相关web互联网领域的技术总和。
Javaweb开发的web项目通常包括两个部分:
Web服务器和客户端。
Java在客户端的应用有javaapplet不过在JavaApplet现在已很少使用在客户端应用程序,Java客户端在服务器中的应用是非常丰富的,如servlert,JSP和第三方架等。
Javaweb发展目前俨然成为一个强大的驱动力,推动着Web领域的快速发展。
2.2关于Struts2的介绍
Struts2是Struts1的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构差别巨大。
Struts1结构简单、小巧,是由Apache推出。
但其与Jsp/Servlet耦合紧密,制约了发展。
而Struts2以WebWork为核心,采用拦截器的机制来处理客户端发的请求,这样的设计来自于WebWork的开发理念,使业务逻辑控制器能够与ServlertAPI完全分离出来,所以在某种程度上可以认为Struts2为WebWork的升级版本。
尽管从Struts1到Struts2有着很多的变化,然而相对WebWork,Struts2的变化很小。
当Web服务器收到客户端的请求(HttpServletRequest),这就意味客户端初始化了一个指向servlert容器的请求,servlert容器将请求进过一些过滤链,包括(ActionContextCleanUp)过滤器,然后经过Otherfilters(SiteMesh,etc),接下来需要调用FilterDispatcher核心控制器,然后它询问ActionMapper来决定这个请求是否调用某个Action,如果要调用Action,此时ActionMapper返回一个收集Action详细信息的ActionMaping对象,来决定调用哪个Action。
在决定调用那个Action后,接下来FilterDispatcher将请求委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager)从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation实例,ActionInvocation实例使用命名模式来调用,在调用Action之前会依次的调用所用配置拦截器(InterceptorN),一旦执行结果返回结果字符串,ActionInvocation负责查找结果字符串对应的(Result),然后执行这个Result,Result会调用一些模版(JSP)来呈现页面,之后通过递归的做法,前面的拦截器(InterceptorN)会再被执行(顺序和Action执行之前相反),最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。
2.3关于SSH的介绍
集成SSH框架的系统,从架构上分为四层:
展现层、业务逻辑处理层、数据持久层和实体模型层,可以使开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。
具体做法是:
用面向对象的分析方法,根据业务需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccessObjects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
系统的基本业务流程是:
在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
这样无论前端如何变化,模型层只需做很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。
而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高开发效率。
2.4关于JavaScript和Jquery的介绍
JavaScript:
Javascript是一种网页编程技术,用来向HTML页面添加交互的行为,是一种基于事件驱动的解释性脚本语言。
它是由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
当服务器需要验证数据,由于网络速度很慢,只有28.8Kbps,太多的验证步骤,浪费时间对服务器高效工作造成了一定的干扰。
因而Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
Jquery:
Jquery是继prototype以后又一个优良的Javascript框架。
它是轻量级的js库,它兼容CSS3,还兼容各类浏览器。
Jquery的设计思想是将原始的dom对象封装成一个Jquery对象,通过调用Jquery对象的方法来实现对原始的dom对象的操作。
jQuery使用户能更方便地处理HTML、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时随着客户端技术的发展,Jquery提供很多成熟的插件来供我们选择,比如本系统使用的Jquery.msgbox.js等。
jQuery能够使用户的html页面保持代码和html内容分离,有利用代码的重用性。
其操作也很简洁,不用再在html里面插入一堆js来调用命令了,只需定义id便能实现以往JS所实现的功能。
2.5关于数据库连接池的介绍
在JavaWeb中,数据库连接是一种很耗时、有限的资源,这一点在并发高的网页应用程序中体现得尤为突出。
在高并发的情况下,如果没有采用连接池技术,就意味着每个用户的操作,程序本身就要对这个用户提供一条数据库的连接。
如此的话,数据库的链接的个数将是无法统计的,同时对于一个数据库它的链接数是有限制的。
如果超过这个临界点就会导致数据库的奔溃,从而导致程序本身运行不下去。
所以对数据库连接的管理显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。
数据库连接池正是为了解决这个问题而提出来的。
数据库连接池负责分配、管理和释放数据库连接,它可以使应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;
释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
这项技术能明显提高对数据库操作的性能,提高了程序本身的伸缩性和健壮性。
2.6关于MySQL的介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
3系统需求分析
3.1系统目标功能分析
信息化飞速发展的时代,由于网络技术的发展及相关硬件设施性能的提高,秉承“时间就是金钱的理念”,为了满足人们在网上能够方便、快捷的进行购物,以及当前无店零售模式的兴起,导致越来越多的商家打算将自己的商品进行在线销售的计划,因此,拟设计并实现本系统。
该系统的目标在于,帮助一些小规模的商铺进行商品的在线销售及管理功能。
通过对京东商城,天猫等网上购物网站的了解,再对小规模商铺商品在线销售功能的分析,本系统需实现的基本功能主要包括:
1)会员的注册:
能对会员的用户名以及密码,邮箱进行简单的验证。
在填写用户名的同时验证是否存在相同的用户名,如果存在则提示用户名已存在,取消注册。
反之注册成功
2)会员的管理:
能够对会员的信息的进行修改,删除功能。
3)商品的浏览:
能进行商品的模糊搜索,在未登录的情况下也可以进行此操作。
4)商品的购买:
如果用户没用登录则提示用户没有登录,并提示用户去登录。
此时用户可以选择不登录,或者去登录。
只用用户在进行登录后,才能进行商品的购买。
在用户登录后,分为两种购买方式:
直接购买和加入购物车。
直接购买:
则直接进入订单的编辑页面;
加入购物车:
可以将某个商品加入到用户自己的购物车。
5)购物车:
在购物车中用户可以对自己所有添加到购物车的中商品进行编辑。
例如:
商品的数量的编辑,以及对购物车的商品进行删除。
在提交到订单的时候,可以进行选择性的购买。
6)订单编辑页面:
此时,用户可以对自已所要购买的商品的数量进行修改。
注意,在修改商品的数量的时候,交易金额的总计要随着商品的数量发生相应的变化。
在订单编辑完成后提交时要对一些信息进行验证,比如收货人,联系电话是否填写等。
7)会员后台:
会员能够对自身的某些信息进行修改,比如密码等。
能够对自己交易的订单进行查询。
8)论坛:
用户登录后,可以对商铺以及某些商品的信息的评论,可以发帖。
但发贴后需要管理员后台的审核。
通过管理员审核后,会员可以通过帖子主题的搜索看到自己的帖子,同时用户也可以对他人的帖子进行回复。
9)商品信息的添加:
管理员可以进行商品的信息的添加,商品图片的上传等。
在添加商品的时候,要根据商品的目录以及品牌来验证是否已存在此商品。
如果存在则提示管理员无需重复添加;
10)商品信息的管理:
管理员可以对所有的商品进行查询,可以利用商品的名称,目录,品牌等信息进行商品的查询。
同时也可以商品信息进行上架下架操作,是否热卖以及删除的操作。
11)商品目录管理:
管理员可以对商品的目录进行添加和删除以及修改,在修改的时候,其所有在目录下的所有的商品也必须进行修改。
在删除时,如果此目录下有商品则不能进行目录的删除。
12)物流的管理:
管理员可以新增物流,修改物流的名称,删除物流等功能。
在添加的时候,要根据物流名称验证是否存在相同的物流,如果有则无需再添加。
在订单编辑页面,填写物流时,都需要从物流表中动态获取。
13)广告管理:
管理员可以进行广告的添加,删除,修改广告的链接。
管理可以设置其优先显示某个广告。
14)帖子的审核:
管理员可以在后台进行帖子的审核,删除。
3.2技术可行性分析
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
3.3系统开发设备需求
1.硬件环境:
1)一台安装了windowXP或者window7的电脑;
2.软件环境:
1)Myeclipse软件;
2)JDK1.6;
3)chrom浏览器;
4)MySQL数据库;
3.4项目实现途径
1.前期调研,了解相关技术及实现方案;
2.明确设计目标,了解设计要求;
3.比较分析并确定实现方案,并进行可行性分析;
采用Java语言等相关技术进行设计、实现,在体系架构上以MVC为指导思想,利用SSH框架进来开发,数据库采用MySQL数据库。
4.搭建开发环境;
5.根据设计思想及方案进行开发与实现;
6.系统排错及调优;
7.总结。
3.5数据存储的实现
本系统采用了MySQL数据库,数据库名称为:
netshop。
在建立表时,没有采用主外键的联系来建立表,因为本系统中用到最多的操作是查询,为了提高查询的效率,本系统在建表的时候采用了冗余数据来提高系统的查询效率。
4数据库设计
4.1数据库整体设计
本系统数据库采用MySql数据库,系统数据库名称为netshop,共包含9张表,其中包括:
用户信息表、广告管理表、购物车、商品目录表、帖子管理表、物流表、商品表、回复表、订单表等。
4.2数据库表设计
1)tb_user(用户信息表)用户信息表中保存会员的信息以及管理员的信息如表4.1所示:
表4.1用户信息表
字段名
数据类型
长度
是否主键
描述
Id
Varchar
200
是
类别Id
passWord
30
否
密码
userName
用户名
userType
3
用户类型
identy
18
身份证
realName
真是姓名
email
邮箱
image
图片URL
birthday
date
生日
sex
1
性别
state
状态
2)tb_advertisement(广告管理表)广告管理表中保存管理员增加的广告。
如表4.2所示:
表4.2广告管理表
Id
类别主键
imageUrl
图片链接
isRight
是否为右广告
isLeft
是否为左广告
Url
Varchar
广告链接地址
3)tb_cart(购物车)购物车中保存用户的在购物车中保存的商品,为了使系统的性能得到提高,采用了冗余数据,如表4.3所示:
表4.3购物车表
字段名称
类型
Mid
用户Id
pName
商品名称
pPrice
商品单价
pStockName
商品目录名称
pBrandName
商品品牌名称
pCount
20
商品数量
pImageUrl
否
商品图片路径
pid
商品Id
4)tb_drectory(商品目录表)商品目录表中保存着店铺的所有商品目录,如表4.4所示:
表4.4商品目录表
类别id
pDirectory
目录名称
pState
Varchar
目录状态
5)tb_forum(帖子管理表)在帖子管理表中保存着用户发表的帖子,如表:
4.5所示:
表4.5帖子管理表
Ti