【拓展文本】
对于典型的数据库管理系统,尤其是像电子商务网站这样的数据流量特别大的网络管理系统,必须满足使用方便、操作灵活等设计需求,同时数据库设计尽量满足三大范式。
电子商务网站具有以下系统目标。
(1)展示网站最新商品信息,不断更新商品,使用户了解最新的市场动态。
(2)提供信息搜索与查询功能,可以使客户在电子商务数据库中轻松而快捷地找到需要的信息。
(3)用户可以在网站上修改个人资料、修改个人进入网站密码、查询提交的订单以及查询个人消费情况。
(4)实现购物车的功能,用户选择所需商品后,可以在线提交商品订单。
(5)对商品信息进行管理,将商品具体信息储存到数据库中,并可以修改或者删除商品信息。
(6)可以查看用户详细信息、用户消费信息。
(7)对用户提交的订单,根据情况进行阶段处理。
(8)对管理员信息、网站公告信息进行维护。
(9)系统运行稳定、安全可靠。
本系统共分为前台和后台两个部分。
(1)前台是面向用户的部分,包括会员登录和注册、商品查询、商品展示、购物车、会员管理、订单查询、用户留言、商城公告及友情链接九个部分,其功能结构如图2.1所示。
【拓展文本】
图2.1 网站前台功能结构
(2)后台是网站管理部分,包括商品管理、商品类别管理、订单管理、友情链接管理、公告管理、会员管理、管理员管理、用户留言管理八个部分,其功能结构如图2.2所示。
图2.2 网站后台功能结构
本系统有两个业务主角,即用户与管理员。用户活动对应网站前台业务流程,管理员活动对应网站的后台业务流程。在对业务流程分析中,对业务主角的活动需考虑全面,这样才能尽量完善系统的功能。
1.系统业务流程图
系统前台业务流程图表示网站前台整体的业务流程情况,如图2.3所示。
图2.3 系统前台业务流程
系统后台业务流程图表示网站后台整体的业务流程情况,如图2.4所示。
图2.4 系统后台业务流程
2.前台业务流程分析
前台业务主要面向用户。用户可以浏览商品、查询商品、注册、登录、查看购物车、修改购物车、生成订单、订单查询、修改个人信息、留言。在用户登录之后才能购买商品以及对商品进行评论。
(1)浏览商品。浏览者通过浏览器进入网站首页浏览商品列表,通过单击某个商品的图片或是商品名称进入商品详细信息页面,在此页面浏览者可以查看商品详细信息。浏览者要想直接购买此商品或是将此件商品添加到购物车都需要先登录,浏览者在未登录的情况下单击“直接购买”和“添加至购物车”两个按钮时会跳转到登录界面。若浏览者已经注册了本网站的账号可以直接登录,若没有注册过,则需要通过单击登录页面的注册链接进入注册页面进行注册,注册成功后再登录网站可将商品添加至购物车。
(2)查询商品。用户通过浏览器进入网站首页后,可以单击商品所有分类的链接对商品进行分类查询,也可以通过检索框对商品进行查询,系统会根据用户输入的查询内容对数据库中所有销售中的商品信息进行模糊查询,再将查询结果显示到页面上。
【拓展文本】
(3)注册、登录。用户进入网站首页后,在每一个网站页面的右上角都有注册、登录链接,浏览者通过单击链接就可以进入注册或登录页面。
(4)查看购物车、修改购物车。用户只有在登录的状态下才能对购物车进行操作,用户在登录后可向购物车中添加商品。当用户进入购物车页面后可以查看购物车,对购物车进行修改操作,如修改购物车中某个商品的购买数量或是删除购物车中的某个商品或是清空购物车,以上所说的操作通过购物车页面的相应按钮就可以完成。
(5)生成订单、订单查询。用户在确认要购买的商品后,就可以进入订单信息确认页面,进入此页面有两个途径:一是通过单击单个商品详细信息页面的“直接购买”按钮进入确认订单信息页面,二是通过购物车页面的“结算”按钮进入确认订单信息页面。进入确认订单信息页面后填写收件人、收件详细地址、邮编、手机号码,确认收件人信息无误后单击“提交订单”按钮,订单提交成功后会进入订单提交成功页面,订单可以通过订单提交成功页面的“我的订单”链接进行查询,也可在登录后通过每个页面右上角的“已购商品”链接进行查询。
(6)修改个人信息。用户可以随时进入修改个人信息界面,但是修改个人信息的首要条件是当前用户已经注册过账号并登录的状态下。
(7)留言。用户登录后才可对商品进行评价,用户只需要输入留言内容后单击“提交”按钮即可。
3.后台业务流程分析
在网站设计中,管理员完成对网站的维护与管理工作。使用数据库中权限的功能对管理员设置权限,管理员可以对商品、会员、订单、商品类别、公告信息、友情链接、留言、管理员进行管理。
(1)管理员管理。总管理员进入后台登录页面,登录后台管理,登录成功后,选择“管理员管理”对所有管理员信息进行管理,可以查看所有管理员信息、为所有管理员分配权限、添加管理员。
(2)商品管理。有商品管理权限的管理员登录后台管理,登录成功后选择“商品管理”,可以查询商品、修改商品信息、删除商品信息、上下架商品。
(3)会员管理。有会员管理权限的管理员登录后台管理,登录成功后选择“会员管理”,可以查看所有会员信息、删除会员信息。
(4)订单管理。有订单管理权限的管理员登录后台管理,登录成功后选择“订单管理”,可以查看所有订单信息、处理订单。
(5)商品类别管理。有商品类别管理权限的管理员登录后台管理,登录成功后选择“商品类别管理”,可以查看所有商品类别、增加或删除商品类别信息。
(6)公告信息管理。有公告信息管理权限的管理员登录后台管理,登录成功后选择“公告信息管理”,可以查看所有公告信息、增加或删除公告信息。
(7)友情链接管理。有友情链接管理权限的管理员登录后台管理,登录成功后选择“友情链接管理”,可以查看所有友情链接、增加或删除友情链接。
(8)留言管理。有评论管理权限的管理员登录后台管理,登录成功后选择“评论管理”,可以对评论信息进行删除操作。
在开发电子商务网站时,需具备下述服务器端和客户端软件环境。
1.服务器端
(1)操作系统:Windows 7。
(2)Web服务器:Tomcat 6.0。
(3)Java开发包:JDK 1.6以上。
(4)数据库:MySQL 6.0。
(5)测试浏览器:IE 11.0、FireFox、Opera、Chrome。
(6)分辨率:最佳效果为1600×900像素。
2.客户端
(1)浏览器:IE 11.0、FireFox、Opera、Chrome。
(2)分辨率:最佳效果为1600×900像素。
1.开发语言
1)HTML
HTML(Hyper Text Markup Language,超文本标记语言),是标准通用标记语言下的一个应用,可以规定网页中信息陈列格式,指定需要显示的图片,嵌入其他浏览器支持的描述性语言,以及指定超文本链接对象,如其他网页、Java程序等。
【拓展文本】
简单来说,HTML语言是桥梁,搭建于各个语言和平台之间,是编辑网页学习过程中必须掌握的一种语言,后面所列举的其他几种语言一般都是嵌套在HTML代码中一起执行的。
2)JavaScript语言
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,如响应用户的各种操作。它最初由Netscape公司的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。Ecma(European Computer Manufacturers Association)以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript、文档对象模型、字节顺序记号。
3)JSP语言
JSP(Java Server Pages,Java服务器页面)是在Sun Microsystems公司的倡导下,由许多公司共同参与建立的一种新的动态网页技术标准,是一种运行在服务器的脚本语言。它在动态网页的建设方面具有强大而特殊的功能。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。
4)Java语言
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司推出的Java程序设计语言和Java平台(JavaEE、JavaME、JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了巨大冲击。
【拓展文本】
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人计算机、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
总的来说,编写语言可以有很多种选择。但是综合来看,网站设计目标是简单易用、可扩展性、平台无关性以及良好的安全性,所以我们选择了围绕Java语言来进行开发,选择了HTML、JSP以及Java的组合。
2.开发工具
本次开发使用的软件是MyEclipse,它是功能丰富的J2EE集成开发环境,同时使用Adobe公司的Dreamweaver软件进行开发和Photoshop软件进行外观辅助设计,最后使用Oracle公司的MySQL数据库和Apache公司的Tomcat服务器分别作为网站数据库和服务器。
1)MyEclipse
MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以极大地提高在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面的工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSF、CSS、JavaScript、SQL、Hibernate。
2)Dreamweaver
Dreamweaver主要用来进行前台HTML页面的样式开发,Dreamweaver更像是一种属于设计师的工具,主要是美工编辑方面,其可以与多种美工编辑软件无缝结合起来一起完成开发,所以更偏向于前台的开发。Dreamweaver在设计时一些基本的框架可以自动生成代码,也能实时查看当前样式,大大提高了设计效率。
拓展文本
3)Photoshop
Photoshop作为一款强大的美工处理软件,使用它的主要目的是设计网站的logo,它也是目前主流的设计软件之一。
4)MySQL
MySQL是非常流行的关系型数据库管理系统,在Web应用方面MySQL是极好的关系数据库管理系统(Relational Database Management System,RDBMS)应用软件之一。本次开发使用MySQL数据库作为网站数据库。
5)Tomcat
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
通过以上软件相互配合,完成网站开发。
3.开发技术
在开发过程中,主要使用的是MVC三层结构开发模式,这也是目前网站开发的主流开发模式。MVC中,M代表模型(Model),指的是应用程序的核心功能,管理这个模块中的数据和值;V代表视图(View),视图提供模型的展示,管理模型如何显示给用户,它是应用程序的外观;C代表控制器(Controller),它对用户的输入做出反应,管理用户和视图的交互,是连接模型和视图的枢纽。
对于本次开发,它们分别对应JavaBean、JSP以及Servlet,而三层结构分为Web层、业务逻辑层Service以及数据访问层DAO。
MVC三层结构的工作流程如图2.5所示。
图2.5 MVC三层结构的工作流程
【拓展文本】
用户通过浏览器发送请求给Servlet,但是Servlet不直接对请求进行处理,而是调用Service组件进行处理,Service的数据是从DAO接收的,DAO负责同数据库交互取出数据。取出数据后,DAO将数据封装到JavaBean。由于Service调用DAO相当于调用一个方法,因此DAO通过方法的返回值,将JavaBean返回给Service。接下来Service就能对数据进行处理,然后重新封装回JavaBean(这时候变为另一个Bean)。这时候Servlet调用Service,同样相当于调用方法,通过方法的返回值将新的JavaBean发送给Servlet,那么Servlet就拿到了用户想看的数据。由于Servlet不适合做输出,因此将数据转发给JSP(此时JavaBean储存在域里面),然后JSP将用户想看的数据发送给浏览器显示。
在层与层之间,通常也会定义一个接口,每一层通过接口来调用另一层,当某一层的代码变了以后,对另一层没有影响,因为层与层之间只需对接口进行调用,不直接接触代码,这使得以后更新维护需要修改时更加方便。