资源描述
摘要
随着计算机技术、网络技术、通信技术的迅速发展和人们生活水平及需要的不断提高,越来越多的网络商店走入了大众的生活,对电子商务网站的设计和实现技术要求也越来越高。
本论文主要研究电子商务网站的设计与实现,并采用JSP动态网页技术实现了一个小型电子商务网站即校园网上超市。论文首先简要介绍了电子商务及其实现技术,校园网上超市的构成及主要流程;然后详细介绍了校园网上超市的需求分析和系统设计,并给出了校园网上超市的JSP实现方案及技术细节,包括运行环境的配置、数据库建立及各个功能模块的JSP实现细节等。校园网上超市实现了基本的前台功能和后台管理功能。
关键词:电子商务;超市;JSP
ABSTRACT
With computer technology, network technology, communications technology and the rapid development of the living standards of the people and the need continues to improve. More and more shops will enter into a network of public life. e-commerce web site design and technology are increasingly high requirements.
This paper studies e-commerce website design and implementation and using JSP dynamic web technology to achieve a small e-commerce websites IT products online store. The paper briefly introduced the technology and e-commerce, on-line shops and the composition of the main flow. Then on IT goods online store needs analysis and system design, given IT products online stores JSP solutions and technical details, including the operating environment configuration, database and the various functional modules JSP details. Online store to achieve the basic functions and the future of background management functions.
Keywords: electronic commerce;super market;JSP
目录
摘要 I
ABSTRACT II
第1章 绪论 1
1.1背景 1
1.2 研究内容 1
第2章 电子商务的概述 3
2.1 电子商务的概念 3
2.2 电子商务分类 3
2.3 应用特性 4
2.4本章小结 5
第3章 开发技术基础 6
3.1 JSP技术 6
3.1.1 JSP介绍 6
3.1.2 JSP的运行原理 6
3.1.3 JSP、ASP和PHP技术之比较 7
3.2 JavaServlet介绍 8
3.3 JavaBeans技术 8
3.4 JavaScript开发技术 9
3.5开发工具选择 10
3.5.1 Tomcat介绍 10
3.5.2 Access 12
3.6本章小结 13
第4章 需求分析 14
4.1系统说明 14
4.2系统结构 14
4.3功能需求 15
4.3.1实现功能 15
4.3.2功能模块建立 15
4.4 系统运行环境 16
第5章 数据库设计 18
5.1数据库的需求分析 18
5.2数据库概念结构 18
5.3 数据库逻辑机构设计 20
5.4 本章小结 21
第6章 主要功能模块实现 23
6.1商品信息展示 23
6.2用户注册和登录模块实现 23
6.3 商品管理模块实现 26
6.4购物车模块实现 27
6.5 本章小结 28
第7章 结论 29
致谢 30
参考文献 31
- 31 -
第1章 绪论
1.1背景
互联网的普及,网络技术的发展为网上购物提供了极大的便利,网上商城呈现出广阔的前景。
无店铺零售的悄然兴起,是商业经济发展到一定阶段的产物,也是顺应新的消费需求和技术进步的必然结果。与传统的百货商店、连锁超市、大卖场、便利店等有形商铺相比,无店铺零售业态具有一定的先天优势。一是地段,对于传统的有形店铺来说,一家门店选址、地段的优劣,几乎能够决定其未来经营的成败,而城市中的商业网点资源,尤其是优质商业网点资源通常十分稀缺。无店铺零售则大多不存在地段方面的制约。二是经营成本,借助日益发展的科学技术,无店铺零售通常能够省却从生产到销售过程中的许多环节,从而有效降低经营成本与交易成本,带来消费者、商家双赢的局面。三是风险,对于个人来说,校园网上超市等无店铺零售业态的准入门槛相对较低,运转比较灵活,即使遇到风险,也有船小好掉头的优势。专家表示,随着社会经济的发展及消费水平的提高,人们希望得到更加方便、更加快捷的购物方式,同时也乐于尝试各种新的购物方式。在这一市场需求的推动下,企业会对商品零售的方式进行创新,而先进的技术给创新提供了重要支撑与平台。
校园网上超市就是Internet和电子商务发展的产物,近几年在我国发展迅猛。校园网上超市的建立可以在商店与学生之间架起了一座高速、便捷的网上信息桥梁,让所有学生能够方便快速买到种类繁多,价廉质优的商品,同时也可以节省大量的时间和金钱;让卖家在网上能以全新的模式销售产品, 在有效控制成本的同时, 大幅提升销售量,并且不受地域与时间的限制。
1.2 研究内容
研究的基本内容主要掌握JSP指令、动作及内部对象,理解电子商务网站的设计流程和设计思想,掌握HTML表单元素的相关知识,数据库的设计及建模的相关知识。主要解决如何在组件之间共享数据,数据库的连接和存取以及关键的如何使用JSP和JavaBean技术实现校园网上超市。
本系统是基于B/S体系结构,采用JSP语言以及JAVA语言进行开发,数据库是当前比较流行的Access数据库,以及使用Tomcat作为开发的服务器。实现在网上购买商品的基本功能和管理员对系统信息的管理功能,包括用户注册、登录、浏览商品、查询商品、购物、查看定单以及后台管理等功能。
第2章 电子商务的概述
2.1 电子商务的概念
电子商务(e-business,e-commerce-trade)从英文的字面意思上看就是利用现在先进的电子技术从事各种商业活动的方式。电子商务的实质应该是一套完整的网络商务经营及管理信息系统。再具体一点,它是利用现有的计算机硬件设备、软件和网络基础设施,通过一定的协议连接起来的电子网络环境进行各种各样商务活动的方式。这是一个比较严格的定义,说得通俗一点,电子商务一般就是指利用国际互联网进行商务活动的一种方式,例如:网上营销、网上客户服务、以及网上做广告、网上调查等。
2.2 电子商务分类
整个电子商务处理过程中,可将商务分为:企业内部、企业间及企业与消费者之间三种类型:
1.企业内部商务
企业内部网是一种有效的商务工具,它可以用来自动处理商务操作及工作流,共享资源,共享经验,共同解决客户问题,并保持组织间的紧密联系。一个完善的企业内部网可以带来如下好处:提高处理速度,提高工作效力,充分利用资源。
2.企业间商务
随着信息技术的发展,企业间的电子商务的运用是很大的。企业之间邮件的发送,商务信息的交换,资金的支付等都涉及到电子商务。目前全球化经济的发展,使得企业与企业之间的联系更加的紧密。尽管眼下网上企业直接面向客户的销售方式发展势头强劲,但为数众多的分析家认为企业间的商务活动更具潜力。企业间的商务活动将以三倍于企业-个人商务速度发展。这在某种意义上反映了现实世界中存在的情形:企业间的商务贸易金额高达消费者直接购买的10倍。
3.企业与消费者间商务
这是人们最熟悉的一种商务类型,以至许多人误认为电子商务就只有这样一种模式。事实上,这缩小了电子商务的范围,错误地将电子商务与网上购物等同起来。近年来,由于Internet提供了双向的交互通信,网上购物不仅成为了可能,而且成为了热门。由于这种模式节省了客户和企业双方的时间、空间。大大提高了交易效率,节省了各类不必要的开支。因而,这类模式得到了人们的认同,获得了迅速的发展。
2.3 应用特性
电子商务的特性有以下几点:商务性、集成性、可扩展性、服务性、安全性、协调性。
1. 商务性
电子商务最基本的特性为商务性,即提供买、卖交易的服务、手段和机会。为网上购物提供一种客户所需要的方便途径。因而,电子商务对任何规模的企业而言,都是一种机遇。对我们中国的传统企业也不例外。
2. 集成性
a)技术的集成性
由于电子商务整个流程的处理涉及的内容比较多,比如信息,金融,服务等,要使得整个流程能够正常的运转,就需要运用技术去实现,当然技术是越先进的越好,比如从html到asp到Jsp到现在的A,这是一个技术发展的过程,也是现实运用的需要。
B)信息的集成性
互联网上每个人都在搜索对自己有用的信息,因而它就应当提供大量的信息,满足不同用户的需要,现在中国面对客户的商业网站是越来越多了,怎样让客户以最快的速度,搜索到最有用的信息,可能应该是这类网站最应该考虑的。
3. 扩展性
这主要是针对系统的稳定性来说的。电子商务的服务系统应当有自身的扩展功能。因为系统应当能承受住一定的负荷,如果在某个高峰访问期导致了服务器的崩溃,结果是可想而知的。
4. 服务性
在电子商务环境中,客户不再受地域的限制,运用互联网为媒介的这种贸易,他的合作伙伴可以是地球上其他任一个角落,要想使全球的人都能接受你的所提供的商品,服务质量是最关键的。技术创新带来新的结果,万维网应用使得企业能自动处理商务过程,并不再像以往那样强调公司内部的分工。现在在Internet上许多企业都能为客户提供完整服务,这使得互联网的应用得以充分的发挥。
5. 安全性
在电子商务中,安全性是必须考虑的核心问题。欺骗、窃听、病毒和非法入侵都在威胁着电子商务,因此要求网络能提供一种端到端的安全解决方案,包括加密机制、签名机制、分布式安全管理、存取控制、防火墙、安全万维网服务器、防病毒保护等。随着技术的发展,电子商务的安全性也会相应得以增强。
6. 协调性
商务活动是一种协调过程,它需要雇员和客户,生产方、供货方以及商务伙伴间的协调。为提高效率,许多组织都提供了交互式的协议,电子商务活动可以在这些协议的基础上进行。
2.4本章小结
本章主要是对电子商务的简要介绍,对电子商务的特点有一定的了解,对网上超市能更好的理解。
第3章 开发技术基础
3.1 JSP技术
3.1.1 JSP介绍
JSP(JAVA SERVER PAGES)是有Sun公司在JAVA语言上开发出来的一种动态网页制作技术,可以将网页中的动态部分与静态的HTML相分离。可以使用平时熟悉的工具按照平常的方式来书写HTML语句。之后,将动态部分用特殊的标记嵌入即可这些标记常以“<%”开始并以“%>”结束。
3.1.2 JSP的运行原理
在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎 (JSP engine)转换成一个Servlet,即将”.JSP”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。如图3-1:
在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了JspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的JspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。JSP面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。
Client
客户端
请 求
Web Server
响 应
Server
extensionn
服务器扩展
Servlet
engine
JSP
engine
Servlet引擎
JSP引擎
Class
loader
Java
complier
JSP
parser
类载入器
Java编译器
JSP语法分析
图3-1 JSP运行原理
3.1.3 JSP、ASP和PHP技术之比较
JSP与ASP、PHP技术都是目前网上最流行的在服务器端运行的脚本技术,JSP能用JavaBeans技术封装,达到商业逻辑的目的,ASP对应之的是COM组件,因此两者都能用于开发商业逻辑,PHP则更像于一个纯脚本,仅适合于普通的网站开发,而不能用作商业逻辑而被冠以“Person Home Page”的名称,这是最贴切不过的了。
JSP与ASP相比,JSP具有跨平台、安全、强大的可伸缩性的特点,而果硬要挑一些毛病,JSP相对别的脚本更加难掌握,因为精通JSP必须精通Java语言,对于中小型项目,我们要考虑开发人员、开发速度、开发成本等问题,在这方面ASP和PHP会比JSP更容易胜出。
值得一提的是,ASP的最新版本ASP.NET与原来的ASP性质完全是不同的,它和JSP一样,都是一种编译性的脚本,本身完全与强大的Net框架结合,完美的支持Xml的各种应用,与昔日的ASP不可同日而语,但是无论是ASP还是ASP.NET,它都摆脱不了Windows平台本身,这是ASP一个致命的缺点。
3.2 JavaServlet介绍
Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,为了避免误会,直接采用Servlet这个名称而不做任何翻译,也可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出Java Server Pages的原因。
3.3 JavaBeans技术
JavaBeans就是Java的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBeans实现了同样的功能扩充。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP开发过程中,将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。JavaBeans 特点:
(1)易用更易写;
(2)可以在支持java的任何平台上工作而不必重新编译;
(3)可以在内部、网间或网内传输;
(4)可以以其他部件模式工作;
3.4 JavaScript开发技术
JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择,具有以下几个基本特点:
1.脚本编写语言
JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个容易的开发过程。
它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。
2.基于对象的语言
JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
3.简单性
JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计, 从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。
4.安全性
JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。
5.动态性
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
6.跨平台性
JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。
综合所述JavaScript 是一种新的描述语言,它可以被嵌入到 HTML 的文件之中。 JavaScript语言可以做到回应使用者的需求事件 (如:form 的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给服务端 (server)处理,再传回来的过程,而直接可以被客户端 (client) 的应用程式所处理。
3.5开发工具选择
系统采用eclipse+tomcat作为开发工具,采用Jsp,jdbc,javabean技术完成网站的设计,其中Access作为数据库, 服务器采用tomcat,数据库体系结构模式采用B/S。
3.5.1 Tomcat介绍
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld 杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR (WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类 和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。
在Tomcat中,应用程序的部署很简单,只需将WAR放到 Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为 Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,可以在远程通过Web部署和撤销应用。当然本地也可以。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。另外,Tomcat提供Realm支持。Realm类似于Unix里面的group。在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证。2:JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。3:MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm。通过Realm我们可以方便地对访问某个应用的客户进行验证。Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS 集成起来开发JMS应用。
Eclipse是一个开放源代码与NetBeans、Sun ONE Studio和Borland Jbuilder类似的一种基于Java的整合型可扩展开发平台,也是目前最著名的开源项目之一,IBM在最近几年里也一直在大力支持该项目的发展,目标是将其做成用以替代IBM Visual Age for Java(简称IVJ)的下一代IDE开发环境,并于2001年11月宣布投入4千万美元资金到该项目的研发。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。其未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。目前,Eclipse已经开始提供C语言开发的功能插件。更难能可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,比如为了进行手机应用程序的开发就是通过J2ME插件的扩展来加以实现的。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。
3.5.2 Access
现在来介绍一下用到的数据库(Access):Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
Access是一种关系型数据库管理系统,其主要特点如下:
1. 存储方式单一
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
2. 面向对象
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
3. 界面友好、易操作
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
4. 集成环境、处理多种数据信息
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
5. Access支持ODBC
Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
3.6本章小结
本章主要是系统的准备阶段,学习和使用JSP,JavaServlet, JavaBeans,JavaScript,Access等相关技术,还介绍了所用到的工具的优势和选择这些技术的原因。
第4章 需求分析
4.1系统说明
本系统是一个中小型的电子商务系统----校园网上超市,可以为学生提供方便的在线购买商品的环境,符合目前国内流行的电子商务模式。用户可以在系统中实现注册、浏览商品、下定单等功能;管理员可以通过用户管理、商品管理等管理功能来对系统进行维护更新。
网站的组成有以下几个子系统组成:
1. 主页,显示欢迎界面,提供推荐的产品。
2. 购物车,处理订购并显示想要订购的产品。
3. 注册系统,处理新用户的注册和老用户购买产品时的确认。
4.2系统结构
本系统采用B/S构架。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
与C/S构架相比,B/S有以下优势:
(1) 维护和升级方式简单。
(2) 成本降低,选择更多。
(3) 应用服务器运行数据负荷较重。
因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结构。出于这些优势,本系统就采用了最先进的主流开发模式- B /S结构体系。系统分为三层(如图4-1):
Web 浏览器
Web 服务器
数据库服务器
图4-1 B/S模式结构
4.3功能需求
4.3.1实现功能
校园网上超市系统主要是实现以下两个功能:一个学生在网上选购产品和产生订单等功能。二是后台管理功能,包括产品种类的管理和产品的管理。一个典型的网上超市一般都有需要实现商品信息的展示、购物车管理、用户管理(包括用户信息注册和登录)和订单处理等模块。
完成购物车管理;订单管理;会员管理;产品管理。从而实现允许浏览者(没有注册的用户)申请在该系统注册帐号。
4.3.2功能模块建立
网站总体上可分为系统的功能模块如图4-2和后台管理功能模块如图4-3所示:
商品详细信息浏览
用户信息修改
用户登录和验证
用户注册和检验
结帐
生成定单
添加商品
查询购物车
修改购物车信息
按目录和分类浏览
网上超市系统
用户管理
订货
理
购物车
商品浏览和查询
图4-2系统的功能模块图
产品管理
管理员登录
退出管理
订单管理
客户信息
图4-3后台管理功能模块图
4.4 系统运行环境
本课题的开发环境为:JDK1.5;应用服务器:tomcat5.5;数据库:Access;开发工具:MyEclipse;运行平台:Windows xp。
第5章 数据库设计
一般而言,如果企业网站出于与客户的信息交互,及对产品等信息实现动态管理维护的要求而选择使用了功能模块,就必须建立自己的数据库。
目前网站常用的数据库主要有:SQL Server数据库、My SQL数据库、Access数据库。总体而言,越大的数据库其开发费用越高,而且在租用虚拟主机时选择的服务也会收费较高。
但并不是越大的数据库越适合您的网站,如果不是数据量十分庞大的网站Access数据库足以胜任。所以该系统将使用Access数据库。
5.1数据库的需求分析
针对一般校园网上超市的需求,得出如下需求信息:
l 管理员为唯一的。
l 用户分为游客和已注册用户。
l 订单分为单张详细订单和总订单。
l 一个管理员可以管理多个用户。
l 一个用户可以购买多个产品。
l 一个用户可对应多张订单。
l 一个列表对应多张订单。
针对本系统功能分析,总结出如下的需求信息:
l 管理员,包括数据项:用户名、密码。
l 用户,包括数据项:用户ID、用户名、密码。
l 产品,包括数据项:产品编号、产品名、价格、产品介绍。
l 订单列表,包括数据项:订单编号、产品编号、购买产品数量。
l 订单,包括数据项:订单编号、用户编号、下单时间。
5.2数据库概念结构
从本系统中规划出的实体有:管理员实体、用户实体、商品实体、订单实体、订单列表实体。
管理员为唯一的,一个管理员可以管理多个用户,因此管理员与用户为一对多关系(1:N)。
用户可以购买多个订单,因此用户与订单为一对多关系(1:N)。
每个管理员可以管理多个商品,每样商品只能被一个管理员管理,因此管理员与商品为一对一关系(1:1)。
订单列表是由多张订单组成的,因此订单列表与订单为1对多关系(1:N)。
实体之间关系的E-R图如图5-1所示。
用户
商品
管理员
订单
用户名
编号
密码
名称
编号
密码
帐号
订单编号
时间
管理
提交
管理
M
1
1
1
N
N
图5-1 实体关系E-R图
5.3 数据库逻辑机构设计
根据上面的需求分析以及表之间的关系,系统对应各数据表的基本结构包括以下六张表(见表5-1至表5-6):
用户信息表user:存放用户的相关信息。
管理员信息表manager: 存放管理员的相关信息。
商品类型信息表class:存放商品大类的信息。
商品基本信息表product:存放网络购物系统所销售的商品的名称、价格等基本信息。
订单信息表shopping:存放与客户相关订单的基本信息。
订单条目详细信息表ord:存放订单中详细条目的基本信息。
表5-1 客户信息数据表user
字段名
数据类型
字段大小
字段说明
主键
UserID
Char
20
会员帐号
是
Name
Char
30
会员用户名
Password
Char
16
用户密码
Sex
Char
2
性别
Email
Char
50
电子信箱
Phone
Char
10
联系电话
Address
Char
50
联系地址
Zip
int
6
邮编
表5-2管理员信息表manager
字段名
数据类型
字段大小
字段说明
主键
ID
Int
10
管理员编号
是
UserName
Char
20
管理员名字
PassWord
Char
20
管理员密码
表5-3 商品类型信息表class
字段名
数据类型
字段大小
字段说明
主键
展开阅读全文