基于web的网上购物商城的设计与实现

基于web的网上购物商城的设计与实现

ID:951069

大小:709.00 KB

页数:60页

时间:2017-10-06

上传者:U-1863
基于web的网上购物商城的设计与实现_第1页
基于web的网上购物商城的设计与实现_第2页
基于web的网上购物商城的设计与实现_第3页
基于web的网上购物商城的设计与实现_第4页
基于web的网上购物商城的设计与实现_第5页
资源描述:

《基于web的网上购物商城的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

北京化工大学北方院毕业设计(论文)诚信申明本人申明:我所呈交的本科毕业设计(论文)是本人在导师指导下对四年专业知识而进行的研究工作及全面的总结。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中创新处不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京化工大学或其它教育机构的学位或证书而已经使用过的材料。与我一同完成毕业设计(论文)的同学对本课题所做的任何贡献均已在文中做了明确的说明并表示了谢意。若有不实之处,本人承担一切相关责任。本人签名:年月日I 北京化工大学北方院毕业设计(论文)基于Web的网上购物商城的设计与实现自动化 信息0902班 学号444444444指导教师 莫德举教授王陵助教摘  要随着网络化和信息化的发展,人们生活水平的不断提高,互联网已逐步深入人心,人们不再满足于传统的购物方式。“网上购物”这种新型的购物方式已经为更多的人所接受,越来越多的网络商店走入了大众的生活。对电子商务网站的设计和实现技术要求也越来越高,网上手机销售也成为商家新的运作模式。本网站主要以MySQL为数据库开发平台,采用JSP开发技术实现前台用户页面和后台管理员管理页面。此系统的开发改善了一些技术和增加创新,使之代替了传统的销售方式,解决了管理困难、销售成本高等问题。同时此系统具有使用简单,用户界面友好,便于操作等特点。本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在WindowsXP下,以Mysql为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(JavaServerPages)技术开发的网上购物系统。本设计主要由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网站。关键词:JSPMysqlWeb网上购物系统开发V 北京化工大学北方院毕业设计(论文)Thedesignandimplementationofaweb-basedonlineshoppingmallAbstractPeoplenolongercontentwiththetraditionalshoppingway.Alongwiththedevelopmentofnetworkandinformationtechnology.People'slivinglevelmoreandmorehighandtheInternethasgraduallythoroughpopularfeeling,theonlineshoppingthisnewwayofshoppinghasbeenacceptedbymorepeopleandmoreandmoreonlinestoreintothepubliclife.Onlinemobilephonesaleshasbecomeanewbusinessoperationmodelandthee-commercewebsitedesignandimplementationofthetechnicalrequirementsalsomoreandmorehigh.ThisWebsiteismainlyforMySQLdatabasedevelopmentplatform,usingJSPtechnologytoachieveuserpageatthefrontdeskandbackstageadministratormanagementpage.Thissystemdevelopmenttoimprovetechnologyandincreaseinnovation,insteadofthetraditionalsalesmode,cansolvetheproblemofmanagementofdifficultandhighcostofsales.Atthesametimethesystemissimpletouse,userfriendlyinterface,easyoperation,etc.ThissystemistotrytousetheJSPonthenetworkarchitectureisadynamice-commerceWebsite,itisunderWindowsXP,forMysqldatabasedevelopmentplatform,TomcatastheapplicationServer,networkinformationserviceUSEStheJSP(JavaServerPages)technologydevelopmentofonlineshoppingsystem.Thisdesignismainlyusedbyuser,mainlyincludinguserregistration,shoppingcartmanagement,ordermanagement,personalinformationmanagement,andotherfunctions.Aftertheestablishmentofwebsitesystemisadynamic,interactive,withcommodities,systemsmanagement,usercomments,andotherfunctionsofe-commercesites.Keywords:TheJSPMysqlTheWebOnlineshoppingSystemdevelopmentV 北京化工大学北方院毕业设计(论文)目  录前言1第1章系统研发背景及意义2第1.1节 选题背景2第1.2节 基于Web的网上购物商城的研究现状2第1.3节 课题背景及开展研究的意义5第1.4节 研究方法、研究内容及其预期目的7第2章系统开发技术简介及运行环境的搭建8第2.1节 Struts技术与MySql技术8第2.2节 运行环境的搭建11第3章 系统性能需求及数据描述13第3.1节 需求分析13第3.2节 可行性研究14第3.3节 系统分析及数据描述15第4章 系统总体设计22第4.1节 概述22第4.2节功能模块设计22第4.3节 系统功能描述23第5章系统数据库设计25V 北京化工大学北方院毕业设计(论文)第5.1节 实体E-R图25第5.2节 数据库设计28第6章系统详细设计32第6.1节 程序流程图32第6.2节 网上购物系统的实施32第6.3节 系统界面设计33第7章系统测试与维护43第7.1节 测试的任务及目标43第7.2节 测试方案43第7.3节 系统维护45结论46附录47参考文献54致谢55V 北京化工大学北方院毕业设计(论文)前言近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来。网上购物系统作为B2B,B2C(BusinesstoCustomer,即企业对消费者),C2C(CustomertoCustomer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。尤其是购物商城的出现,为新一代的购物形式提供了一种全新的购物平台。本文主要考虑的是如何建设B2C的网上购物系统。网络的日益普及和迅猛的发展,市场竞争日益激烈,利用网络进行服务和管理已经成为一种趋势.网络的发展给用户带来了很大的方便,风起云涌的网站在炒足了"概念"之后,都纷纷转向了"务实",而"务实"比较鲜明的特点之一:是绝大多数的网站都在试图做实实在在的"网上交易",所谓网上交易就是利用计算机技术、网络技术和远程通信技术,实现整个商务(买卖)过程中的电子化、数字化和网络化,网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。本论文研究一种基于MVC三层架构的StrutsJsp等软件设上购物系统,其开发主要包括后台数据库的建立、后台管理以及前台页面的Web设计。系统使用Sun公司开发的Myeclipse,tomcat,Mysql等开发工具,利用WindowsXp,tomcat,Myeclipse建立运行环境,再结合Mysql建立数据连接关系。利用其提供的各种组件,在短时间内建立数据库,对数据库进行分析与建JSP页面,不断改进,直到功能基本实现的可行系统。系统主要分为该系统分为用户管理、商品展示、购物车管理、订单管理4个主要模块,用户管理实现用户的注册、登陆、安全退出等功能;商品展示实现了分页显示商品、商品选购、商品详细信息等功能;购物车管理实现查看商品、修改数量、删除商品、恢复商品等功能;订单管理实现订单填写、自动回填订单信息、订单生成、返回订单号等功能。因为系统采用MVC三层架构设计思想,使得系统的可移植性非常强,只需修改配置文件就能在在不同服务器上运行。55 北京化工大学北方院毕业设计(论文)第1章 系统研发背景及意义第1.1节 选题背景随着Internet的快速发展,人们已经进入了信息时代,Web已经对商业、工业、银行、财政、教育、政府、娱乐和信息产业及人们的工作、生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,人们获得信息的来源已经不再只是报纸、电视、广播等传统媒体,一个新的信息传送媒体逐渐被人们所青睐。范围广泛的,复杂的分布式应用正在Web环境中出现。网上购物系统就相继的出现,网上购物不仅给人们带来了不少的方便快捷,而且还提供了种类繁多的商品,代替了传统的购物形式,提供了方便快捷,安全可靠,价格低廉的各种商品,因此网上购物系统正在快速向前发展。第1.2节 基于Web的网上购物商城的研究现状1.2.1网上购物系统的基本框架基于Web的网上购物商城的设计与实现采用MVC架构设计思想,MVC架构是一种非常好的架构,它具有很好的移植性,只要需改配置文件就可以在任何的服务器上运行。在设计中使用了Struts2框架和JSP,结合服务器端来实现Web的功能。Struts2是一个基于Action的MVCWeb的框架。它是随着Web的技术发展起来的,它是对传统的MVC框架的一种改进,通过JSP技术把用户发送的请求(Request)传送给控制器端,从而避免了大量的代码出现在网页脚本中,减轻了服务器端的负担。在设计中我使用了JSP技术,它能更好的实现网站的功能,使网站更加的美观,美化了界面。JSP是一种网站开发技术,即JavaServerPage,JSP(JavaServerPages)是由SunMicrosystems公司倡导,许多公司参与一起建立的一种动态网页技术。就是普通网页文件中插入Java程序和JSP标记,就形成了JSP文件。它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。55 北京化工大学北方院毕业设计(论文)1.2.2国内网上购物系统的发展随着社会的不断进步及网络经济时代的蓬勃发展,互联网已逐步深入人心,人们不再满足于传统的购物方式,“网上购物”这种新型的购物方式已经为更多的人所接受。我国的计算机技术起步较晚,而近几年随着经济的发展,计算机价格的下降和人们生活水平的提高,计算机技术在我国已经得到了普及,不论单位还是家庭都拥有了计算机,计算机已成为人们工作和生活的重要组成部分。所以传统的购物已经不能满足人们的需要,而网络购物的商品的种类多样性,价格的低廉,恰好为网上购物提供了良好的基础,另外我国国内的网络的快速发展和良好的群众基础为网上购物这种新的购买形式提供了良好的群众基础。所以网上购物方式日益被大家所接受。在最近一段时间里,我也查了一些关于网上购物的信息。有60.4%的网站属于企业网站,可见如今企业都将网站作为推广自己的重要手段。其次是个人网站。而政府部门的网站占到4.4%。但是,另有调查显示,将近75%的企业的网站每天的点击率在200次以下,更有51.5%的企业网站的点击率不足50次,仅有8.6%的企业网站的点击率每天超过1000次。这说明,做好一个网站,做出网站的特色也企业信息与新闻相结合来吸引人观看是一个非常重要的问题。另外,作为信息、新闻传播的传统模式的报刊业也将目光和精力投入到网络网站上来。毫无疑问,高速,海量的信息传输对报刊业也是巨大的刺激。此外,随着电子时代的迅速发展,MP3等电子产品已受到广大的消费群体高度的关注。生产制造MP3的厂商作为新时代产业的一个主要部分,当然也会紧随着时代的发展来使自己在市场与行业中更具竞争力。利用电子商务的模式,在介绍推广自己的同时,以新的一种渠道销售自己的产品,也愈发被关注。因此,设计一个具有电子商务功能的企业网站具有非常好的开发与应用前景。1.2.3国外网上购物系统的发展伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们不再满足于信息的浏览和发布,而是充分的享受网上购物所带来的便利,人们足不出户就可以买到自己所喜欢的商品,这真是网络给人们的生活所带来的巨大好处。因为网络起源于国外,而我国的网络起步较晚,国外的网上购物已经是那些国家人们生活的密不可分的一部分,而且国外一些网上商家利用先进的技术为顾客提供了全息的图像,人们可以更好的亲身体验自己所钟爱的商品。55 北京化工大学北方院毕业设计(论文)正因为上述的原因,我在网上查看了一些的资料。了解了一些国家现在网上购物系统的发展,在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C培尼等纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。所以,我国局限自己现在的技术和社会发展的条件,还有很大的差距。1.2.4数据库系统研究现状本设计使用的MySql,MySql是一款很好的数据库,是目前主流的数据库产品,是一款开源的数据库,适合企业网站的实用。MySQL是一种关联数据库管理系统,将数据保存在不同的表中,因此增加了速度并提高了灵活性。MySQL使用SQL“结构化查询语言”,多种操作系统的支持,为多种编程语言提供了API,支持多线程,优化的SQL查询算法,可以处理大型数据库,支持多种存储引擎等,成本低、速度快、体积小和开放源码,由于它拥有这么多优点,所以许多中小型网站都采用MySQL作为网站的数据库。数据库系统发展经过了四个阶段:(一)20世纪60年代,采用的是层次关系型数据库系统。(二)到了70年代,采用的是网状型数据库。(三)到了80年代,采用的是关系型数据库系统,1970年,Codd博士首先提出关系模型。目前,几乎所有数据库系统全都是建立在关系模型上的。1979年推出的OracleV2是最早的商业关系型数据库系统。(四)到了90年代末期,提出了对象关系型数据库系统,允许定义数据方法和数据类型,通过方法对对象进行操作。1.2.5实现开发语言的研究现状Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.5,最近版本为Java1.7。Java分为三个体系JavaSE(Java2PlatformStandardEdition,Java55 北京化工大学北方院毕业设计(论文)平台标准版),JavaEE(Java2Platform,EnterpriseEdition,Java平台企业版),JavaME(Java2PlatformMicroEdition,Java平台微型版)。Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:(一)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。(二)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java2平台和.NET平台两大派系,推动了整个IT业的发展。(三)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商、构件提供商、服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长、新的商机、新的管理。(四)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念、协作、创作、责任、诚信是人才的基本素质。总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。第1.3节 课题背景及开展研究的意义1.3.1网上购物系统研究背景随着社会的不断进步及网络经济时代的蓬勃发展,互联网已逐步深入人心,人们不再满足于传统的购物方式,“网上购物”这种新型的购物方式已经为更多的人所接受。信息技术飞速发展,网上销售和管理水平也随之提高,逐步实现信息化,缩减中间渠道,形成网上直销,免去时间和空间的限制,55 北京化工大学北方院毕业设计(论文)在传统购物的过程中,这些中间环节是不可能避免的,要想买到自己所需要的商品,就必须去实体店,也就是人们所说的商场,如果网上商城开发成熟,人们就可以坐在家里,或者是任何一个地方,只要有一台联网的电脑,就能买到自己需要和想要的商品,极大的方便了人们的生活,节省了很多时间,此外网上的商品种类齐全,对一些特殊商品的需求也能得到满足,由于网上购物可以减少很多中间环节,大大的节省了成本,只需很少的运费就能送到家,所以再价钱上也占很大的优势。在设计上,该系统采用Struts2经典的MVC模式,实现WEB的功能,满足一些小型网上商家的需要,不可能把所有的功能都完善,随着客户需求的增加,后期的升级与改进是很必要的,这种开发模式将显示模式与设计模式相分离,对于后期的开发人员来说,是一件极大的好事,只需增加相应的代码,提供相应的接口就可以了,而不必过多的考虑系统的整体情况,当然,如果是大型的网站,就必须运用一些架构等,但对于这样的小型网站来说,这种模式就足够了。1.3.2网上购物系统开展研究的意义互联网的快速发展,为改变传统的商业运作模式提供了一种技术上可行性的方案利用Internet的技术和协议,建立各种企业内部网(Intranet),企业外部网(Extranet),互联网将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为电子商务。当今比较流行的网上购物系统国外有“淘宝(www.taobao.com)”,国内有“当当(www.dangdang.com)”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理。这些都是需要注意的实际问题,为更好的提高一个企业的核心竞争力,为顾客提供良好的体验是一个网站必须具备的条件,所以研究网上购物系统是电子商务公司必须面对的问题。55 北京化工大学北方院毕业设计(论文)第1.4节 研究方法、研究内容及其预期目的1.4.1研究方法设计是在Windows系统下采取基于Web使用Strut2框架的MVC模式来实现网上购物平台的功能,以MyEclipse为开发平台,MySql为后台数据库,Tomcat为服务器,从结构和功能上,系统主要是以后台管理模块为主。设计中分析了一些购物网站的相关功能,如:当当网。结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括计算机网络技术、相关协议、信息安全、JSP等相关知识等),选择所熟悉的开发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法。1.4.2研究内容本设计通过实际网上购物平台的功能,与一些在线购物平台网站的功能进行比较,解决了一些网站不能为顾客提供良好体验的一些问题和购买功能的问题。如:正在搞活动的商品,商家推荐的商品,分类商品以及相关内容。当用户选中某款商品时可以进行登录购买,如果不是本站会员也可以进行注册,然后再继续购买,与传统购物流程相似,但操作更为简单,实现了随时随地只要在电脑前就可以购物的愿望。不同的用户有不同的权限,如果是管理员,可以实现商品的添加与商品信息和用户信息的删改、商品的管理、对违法用户的删除,订单的查看与管理等功能,如果是普通用户则只能对自己信息的修改,自己订单的查询等操作。1.4.3预期目的网上购物系统是一个用户和商家相互交互的在线购物的系统。网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。55 北京化工大学北方院毕业设计(论文)第1章 系统开发技术简介及运行环境的搭建第2.1节 Struts技术与MySql技术Struts2框架是目前比较成熟的框架,Struts2是在Struts1和WebWork的基础上发展起来的。在Struts2还没有成熟之前,Struts1已经成为了高度成熟的框架,不管是稳定性还是可靠性,都得到了广泛的证明。但是由于它“太老”了,一些设计上的缺陷成为它的硬伤,面对大量新的MVC框架蓬勃的星期,Struts1也开始了血液的更新,Struts2的体系与Struts1体系的差别非常的大,因为Struts2使用了WebWork的设计核心,而不是实用Struts1的设计核心。Struts2大量的使用拦截器来处理用户的请求,从而允许用户的业务逻辑与ServletAPI分离。Struts的框架结构与WebWork相差不大,Struts2的体系如以下的结构(图1.1)。图1.1Struts2的结构图Struts2框架的基本处理流程:(一)浏览器发送请求。例如:/mypage.action55 北京化工大学北方院毕业设计(论文)(二)核心处理器FilterDispatcher根据请求决定调用适用Action(三)WebWork的拦截器链自动对请求应用通用功能。例如:workflow,validation或文件的上传功能。(四)回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息。实际是因为Action只是一个控制器,它将调用业务逻辑组件来处理用户的请求。(五)Action的execute方法处理结果将被输出到浏览器中。MySQL是目前最流行的开放源代码的数据库管理系统,这个管理系统可以在Internet上使用,提供了很多最小性能损失方面的特性,并且以它可靠性及运行的速度,能在各种应用环境中成功使用。MySQL是一个高性能,多线程,多用户,建立在客户---服务器上的RDBMS(数据库)。MySQL始于1979年,最初是Michael“Monty”Widenius为瑞典的TcX公司创建,在以后的几年中,Widenius决定创建一个洗的,符合自己特殊需求的数据库系统。1996年5月,这个系统完成并且发布给了一小部分人,成为我们今天所知的MySQL的最初版本。几个月后MySQL3.11作为Solaris的二进制版本公布于世。不久MySQL的源代码和二进制的源代码版本开始发行。MySQL以源代码和二进制代码两种形式适用于多种平台。MySQL最具有竞争力的特性:(一)可靠性在大多数情况下,高级数据库的性能是以降低可靠性为代价的,然而MySQL不是这样,它提供了最大可靠性和正常运行时间,并且在大量要求严格的应用系统中已得到测试和验证。MySQL巨大的用户基础有助于快速查找和解决存在的缺陷,并且能在各种环境中测试软件,这种方法,早就了几乎完全没有缺陷的软件。(二)容易使用MySQL易于使用,有很多的详细的操作手册,以及大量的书籍。当大多数与MySQL服务器交互的功能通过命令行界面发生时,许多基于浏览器和其他方式的图形工具还能够简化用于控制和管理MySQL数据库服务器的任务。最后,与具有数百个可以调整参数的专用系统不同,MySQL非常容易调整和优化。(三)多用户支持55 北京化工大学北方院毕业设计(论文)MySQL是一个完全多用户系统,这就意味着多个用户,可以同时访问和使用一个(或多个)的MySQL数据库。在基于网络的应用程序(要求支持多个远程客户同时建立连接)的发展期间,这是具有特殊意义的。MySQL也包括一个强有力的,灵活的权限系统,它允许管理者使用基于用户的基于主机的认证方案的组合来限制对敏感数据的访问。(四)可扩展性没有很多性能的下降,MySQL就可以处理非常巨大和复杂的数据库。包含几十万条记录,几十亿个字节的表是常见的,MySQL网站本身就要求使用包含5000玩条记录的数据库,MySQL有效地满足了50到1000个并发用户的访问。并且在超过600个用户的限度的情况下,MySQL的性能并没有明显的下降。像SAP,Yahoo,NASA和TesasInstruments这样的商业集团;大容量网站。如Google,政府组织,如美国人口普查局和罗德岛州政府都是用MySQL来加强他们的系统,可见MySQL数据库系统是非常的稳定的。(五)可移植性MySQL对UNIX和非UNIX操作系统都非常的适用,如Linux,Windows95/98/2000/XP和NT,它可以在一系列体系结构上运行,包括Itenlx86,Alpha,SPARC,PowerPC和IA64;它还支持从抵挡的386系列到高档的Pentium及其和IBMzSeries大型机等很多的硬件配置。(六)遵循现有标准MySQL的发展工作组视图使MySQL尽量的适应标准。MySQL4.0支持ANSISQL-99标准的大部分重要的特性,而且支持在未来版本中希望增加的标准。另外MySQL使用自定义扩展函数和能够改善可移植性和给用户提供强大功能的数据库类型,扩展了ANSI标准。(七)国际化MySQL作为一个全球很多国家百万人使用的系统,如果没有包括对各种用语言和字符集的支持,将是不正确的。MySQL4.0支持很多重要的字符集合(包括拉丁语,汉语和欧洲字符集)。从版本4.0开始,支持Unicode字符集。(八)广泛的应用程序支持MySQL应用程序编程接口API面向很多汇编语言,因此用自己的语言写出数据库驱动的应用程序是可能的。当前MySQL与C,C++,Java等都有接口。(九)开放源代码MySQL的开发者MySQL55 北京化工大学北方院毕业设计(论文)AB是开放源代码的坚定支持者,并且MySQL软件可在GPL下流畅的使用。用户可以免费下载和修改符合他们需要的应用程序的源代码,并且可以免费的使用他来增强自己的应用程序。通过在全世界数百万装置上大规模的测试软件的可靠性和不断扩展软件引擎,以保持领先于最新技术和最新的发展,让MySQL走在了竞争者的前面。第2.2节 运行环境的搭建2.2.1JDK的安装与环境变量的配置使用JDK1.5.0.08(windows版)双击“jdk-1_5_0_08-windows-i586-p.exe”安装文件,开始安装JDK,安装步骤按默认即可。系统环境变量配置:右键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级”选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“JAVA_HOME”的变量,变量值为“C:ProgramFilesJavajdk1.5.0.08”(即安装JDK时所选的安装JDK的根目录)。然后再在系统环境变量中选择“Path”变量,单击“编辑”按钮,弹出编辑系统变量对话框,在“变量值”的后面添加“;%JAVA_HOME%bin”。2.2.2Tomcat安装与环境变量的配置使用Tomcat-5.0.28版本,解压“jakarta-tomcat-5.0.28.zip”文件,到指定目录即可。当用户配置完环境变量后,就可以运行MyEclipse,在MyEclipse工具栏上点击“window”à选择“showtime”à选择“Serves”在serves里面把你的工程名称加载进去,在“Tomcat5.x”上单击右键,选择“Run”运行即可。Tomcat的环境变量的配置:右键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级”选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“TOMCAT_HOME”的变量,变量值为“C:ProgramFilesApacheSoftwareFoundationTomcat5.0.28”(即解压Tomcat时所选的Tomcat的根目录),然后再在系统环境变量中选择“Path”变量,单击“编辑”55 北京化工大学北方院毕业设计(论文)按钮,弹出编辑系统变量对话框,在“变量值”的后面添加“;%TOMCAT_HOME%bin”。2.2.3MyEclipse6.0安装使用MyEclipse6.0版本,MyEclipse的安装:首先安装ECLIPSE到“F:eclipse”路径下,按照默认的安装配置,点击“下一步”完成安装,之后安装MYECLIPSE,按照默认配置点击“下一步”,选择“F:eclipse”路径,点击“下一步”,按照默认配置点击“下一步”,完成MyEclipse安装后打开MyEclipse,选择工程需要存放的路径(随意)后进入MyEclipse操作平台上.另外,还要载入相应的jar包,如Hibernate-lib、Jdbc-lib、Struts-lib等包。2.2.4MySQL的安装MySQL源代码和二进制两种形式对WindowsXP都是可用的。安装的步骤如下:(一)以管理员的身份登录,并且解压缩文件,把它保存在一个临时的目录中,保存以后可以看见stetup.exe文件(二)双击setup.exe文件开始安装过程,会看见一个欢迎界面,双击Next按钮(三)点击Browse按钮选择安装MySQL的目录,然后点击Next按钮(四)选择要求安装的类型,点击Next按钮,通常选择经典安装,如果想改变默认的设置,可以自定义安装,然后点击Next按钮。(五)点击Next按钮,MySQL现在开始安装导系统上。(六)安装完成以后,点击Finish按钮即可完成安装。55 北京化工大学北方院毕业设计(论文)第3章 系统性能需求及数据描述第3.1节 需求分析3.1.1系统需要解决的主要问题本系统是以业务需求为基础,网站需要完成的以下任务:网站需要让供应商、客户以及浏览者能看到商城的信息及动态,另一个重要的内容就是能够显示出该商城现有的各类型商品及其详细信息;由于消费者的需求在增长和变化,商城在面对面销售的基础上也要随之发展出相应的服务,如在线订购等技术。另外,企业营销商除了能与普通客户一样浏览网站之外,还需要对网站进行管理。企业需要定期更新现有商品的详细信息、商城动态和联系方式,必要时还要对企业的介绍做更改。对于消费者通过网站提交的各种订单能够进行处理以方便销售。3.1.2系统具备的基本功能根据上面的需求,需要设计出网站的前台和后台。用户在前台所浏览的内容,网站的后台需要能相应的做出更新或修改。根据以上的想法,设计出网站的功能:前台用户相关功能主要包括:用户注册、登录;购物车;订单查询;分类浏览;编辑推荐;热销图书;最新上架;后台管理相关功能主要包括:添加商品;处理订单;查询用户信息;55 北京化工大学北方院毕业设计(论文)将以上这些功能制作成网页以后,在其中分别互相建立连接,基本完成商城及用户对网站的要求。第3.2节 可行性研究可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下四个方面进行研究:技术可行性、经济可行性、操作可行性和调度可行性。(一)技术可行性因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的web服务器。购买一台高性能PC机作为企业的网站对于这个营销商来说并不是问题。本设计使用Struts2框架和JSP应用技术,JSP可以和各种Java技术完好的结合在一起从而实现非常复杂的应用。因此得到了广泛的支持和承认,成为一种非常流行的网站开发技术。利用JSP技术可以建立先进、安全和跨平台的动态网站。鉴于JSP技术的成熟与广泛的使用,加以指导老师的帮助可以得到很多的技术支持。鉴于MySQL数据库技术的简单方便性,所以设计使用MySQL数据库作为数据库的后台。(二)经济可行性根据调查的资料,现在聘用一支团队设计并建设企业商务型网站的费用为5300元左右,另外每年交纳600元占用网站空间和网站维护费。为了使网站建成后能达到增加企业经济效益的效果,寻找一支创新与技术优秀的团队最多需要增加3000元的一次性投资。这样看来一个成功的网站建成后为这个营销商带来的效益将会远大于成本。但架设好一个网络中的服务器,以满足互联网中浏览者对速度的需求,这样每年服务器与网络线路和设备的维护费用将是企业不得不重点考虑的因素。如何做好经济可行性分析,需要通过仔细的调查与投资和行业方面的专业人士分析。(三)操作可行性如今,计算机与网络已经非常地普及。特别是在企业信息化高需求与快速发展的时代,计算机应用已经成为企业员工必备的技能。由于这个课题是以PC机作为服务器的网站,营销商可以自己对网站进行操作和管理。55 北京化工大学北方院毕业设计(论文)第3.3节 系统分析及数据描述3.3业务流程分析将上面的需求分析进行归纳。得出网站的两个业务主角,即用户与管理员。然后制定他们的相关活动。对应网站的功能可以确定,用户活动对应网站前台业务流程;管理员活动对应网站的后台业务流程。在对业务流程分析中,尽量把业务主角的活动考虑全面,使系统的功能尽量完整。3.3.1前台业务流程分析前台业务主要是面向客户,用户可以浏览网页内的商品信息。前台业务的流程图如图3.1所示。客户用户登录用户注册商品信息浏览购物车用户查看订单用户退出服务信息进入首页提交数据入库删除商品恢复商品变更数量商品结算提交数据入库图3.1前台业务流程图3.3.2后台业务流程分析在网站设计中,管理员完成对网站的维护与管理的工作。使用数据库中权限的功能对管理员设置权限,管理员可以对商品及商品分类的信息进行新增,修改及删除,也可以对订单信息进行查看、撤销、发货、完成等处理,同时管理员也可以对用户信息进行管理。后台业务流程图如图3.2所示。55 北京化工大学北方院毕业设计(论文)管理员网站维护网站信息提交网站信息数据入库取出订单受理订单订单提交数据入库图3.2后台业务流程图3.3.3数据流图分析在分析了系统的业务流程之后,就要分析系统的数据流,为后面设计网站的数据库做好基础。这里主要利用数据流程图来说明数据流程。数据流程图是一个图示工具,容易理解,容易在开发和用户方之间进行交流,以及在开发组织内部交流。因此数据流程图作为一种模型工具已经广泛使用在软件工程的实践中。数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。根据前台业务流程,可以将用户的活动分为两类。用户浏览所使用到的数据归纳为站内信息,如商品信息等。而用户提交的订单则作为网站的订单数据。相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为商城信息。55 北京化工大学北方院毕业设计(论文)数据流图的图例如表3.3所示。图形符号名称符号说明实体用户数据信息,框内为实体名称0处理计算机处理的业务数据存储计入与存储相关的数据,为数据库数据流数据流动的方向表3.3数据流图根据前台业务流程,可以将用户的活动分为两类。用户浏览所使用到的数据归纳为站内信息,如商品信息等。而用户提交的订单则作为网站的订单数据。相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为商城信息。网站数据流的总体图如图3.4所示。0网站系统管理员用户用户图3.4网站数据流总体图55 北京化工大学北方院毕业设计(论文)进一步分析网站的数据流程,得到网站数据流程的零级图,如图3.5所示。用户站内信息管理员更新商品信息更新用户信息生成订单显示信息用户订单处理用户订单用户信息订单内容信息商品信息订单商品的更新数据商品信息用户信息用户信息处理信息订单信息存储处理后的订单订单信息商品信息存储用户信息存储图3.5网站数据流程零级图上面得到的零级图并不是整个网站数据的详细流程图。它只是将网站的数据流进行了一下分类。例如将商城信息分为了商品信息、分类信息和用户信息。在零级图的基础上还可以将每一个处理的细节描述出来,从而画出细节图。3.3.4数据字典数据字典是关于数据的信息的集合,也就是对数据中包含的所有元素的定义的集合,数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。一般说来,数据字典应该由下列四类元素构成:数据元素、数据流、数据存储和数据处理。它为软件开发人员提供数据库设计的参考,并为用户了解系统时作为一个必有工具。55 北京化工大学北方院毕业设计(论文)(1)数据流表3.1用户注册信息数据流名称:用户注册信息来源:用户注册去向:用户信息表组成:用户名+密码+邮件+地址+联系号码+邮编+身份证+QQ号+密码找回问题+密码找回答案表3.1用户注册信息(2)数据流表3.2购物车信息数据流名称:购物车信息来源:商品信息表去向:订单信息表组成:商品编号+商品名称+商品数量+购买总价表3.2购物车信息(3)数据存储表3.3商品信息数据存储名称:商品信息表来源:商品管理去向:商品统计表组成:商品编号+商品名称+商品单价+商品型号+商品等级+商品状态+商品库存+商品图片+商品简介+商品详细信息+商品备注存储方式:顺序表3.3商品信息表(4)数据表订单表3.4订单信息表数据存储名称:订单信息表来源:结账去向:订单统计表组成:订单ID+订单号+用户真实姓名+下单时间+用户邮箱+邮寄地址+邮编+支付方式+用户联系方式+收货方式+处理状态+备注存储方式:顺序表3.4订单信息表55 北京化工大学北方院毕业设计(论文)(5)数据加工表3.5产生订单数据加工名称:提交订单来源:用户结账去向:订单信息表加工逻辑:将订单信息填写完整后,把订单信息输入到订单信息表表3.5产生订单(6)数据审核用表3.6审核用户登录数据加工名称:审核用户登录来源:用户名和密码去向:用户信息表加工逻辑:将用户登录时输入的用户名和密码与用户信息表中的用户名和密码进行对比,对比正确后,提示用户登录成功表3.6审核用户登录(7)数据订单表3.7订单查询数据加工名称:订单查询来源:用户输入的订单号去向:订单信息表加工逻辑:对会员输入的订单号,在订单信息表中进行查询,发现有该订单号,将订单信息从订单信息表中输出表3.7订单查询3.3.5数据存储数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:数据存储名、说明、编号、输入的数据流、输出的数据流、组成(数据结构)、数据量、存取频度、存取方式。3.3.6数据流数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:数据流名、说明、编号、数据流来源、数据流去向、组成(数据结构)。3.3.7数据处理55 北京化工大学北方院毕业设计(论文)处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:处理过程名、说明、输入数据流、输出数据流、处理55 北京化工大学北方院毕业设计(论文)第4章 系统总体设计第4.1节 概述根据业务流程,需要将网站划分为前台、后台和数据库。前台中,客户在登录网站主页后即可链接查看到商品等信息,还可以做订购商品等活动。为了提高客户对感兴趣的商品信息的了解,所以主界面的图书都做了非常好的分类。数据库将要作为网站后台重要的组成部分,管理员的主要操作几乎全部围绕数据库,最后将更新的数据要显示给前台。前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少的内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构形式,也是为后面程序的编写做出了框架。在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为根基的。系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理界面的分支。在设计好网站前台与后台的结构以后,就将数据库加入到结构中。后台将更新的数据写入到数据库中,前台再将数据库中的信息取出来并显示。第4.2节功能模块设计层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。55 北京化工大学北方院毕业设计(论文)模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独立又相关联的模块,每个模块完成一个特定的子功能,把这些模块结合起来组成一个整体,完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试,从而提高软件的可靠性,可修改性,有助于软件开发的组织管理。以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。网上商城的功能结构如图4.1所示。购物商城前台业务后台业务用户注册用户登录商品浏览购物车用户退出商品信息浏览购物车查看订单购买商品提交订单删除商品管理员登录添加商品订单信息管理查询及用户信息管理图4.1网上商城的功能结构图第4.3节 系统功能描述4.3.1前台模块的功能模块设计描述前台模块主要为登陆网上商城的用户提供商品和服务的信息,填写并提交订单的服务。这样,将前台模块再细分为用户管理模块、订单查询模块、购物车模块、填写送货地址模块。顾名思义,这些模块的名称基本概括了它们的功能。下面详细说明一下这些功能模块的设计:55 北京化工大学北方院毕业设计(论文)(1)用户管理模块:为了方便于网站的管理,必须由一套完整的用户管理体系。该网站用户管理模块主要实现用户的注册、登录、找回密码3方面功能。(2)购物车模块:在超市购物,可以根据自己的需要将很多种商品挑选至购物车或购物篮中,然后到收银台结款。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活。在网上商城中,所选商品须通过购物车进行暂存,然后生产订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结款。(3)订单管理模块:用户提交订单后,通过产生的订单号查询订单信息及执行状态。用户可以浏览自己购买商品的数量,商品ID及购买总价等信息。(4)填写送货地址模块:当用户购买完成商品在购物车中结算以后,可以填写自己的地址已确定购买的商品的寄送。在填写送货地址栏中可以修改自己的地址及联系方式,这样确保商品的准确送货。这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来。4.3.2后台管理模块的功能模块设计描述后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础、根据用户的需求分析来确定后台管理模块应具有的功能。后台管理模块的各个子功能模块如下:管理员身份验证模块:为合法用户提供一个后台入口。该模块的功能是对管理员身份进行能够验证。用户输入登录ID和密码后,系统将判断登录ID及密码的有效性,如果通过验证则状态后台主页,反之则提示错误。商品管理模块:向商品表插入前台首页展示的商品信息,也就是添加商品信息。处理订单模块:网站管理者对用户订单的执行和编辑状态。用户信息管理模块:查询注册所有用户,对一些非法或失信用户进行删除操作。55 北京化工大学北方院毕业设计(论文)第5章 系统数据库设计第5.1节 实体E-R图E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解。E-R图是直观表示概念模型的工具,它有三个基本成分:矩形框:表示实体类型(考虑问题的对象)。菱形框:表示联系类型(实体间的联系)。椭圆形框:表示实体的属性。根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。(1)商品信息表d_Product的实体图图5.1商品信息商品名称商品价格添加时间商品介绍出厂价格商场价格热销程度商品图片图片途径商品数量商品编号图5.1商品信息表d_Product的实体图55 北京化工大学北方院毕业设计(论文)(1)用户信息表d_User的实体图图5.2用户信息用户ID用户email(邮箱)用户昵称用户密码用户验证码用户邮箱验证码用户最后登陆时间用户登录IP用户地址用户座机电话用户手机号码真实姓名订单生成信息订单编号用户ID订单状态订单时间订单详情描述总共价格收货人姓名送货地址邮政编码手机号码固定电话号码图5.2用户信息表d_User的实体图(3)订单生成表d_Order的实体图图5.3图5.3订单生成表d_Order的实体图55 北京化工大学北方院毕业设计(论文)(4)订单商品表d_Item的实体图图5.4订单商品信息订单编号商品编号商品名称商场价格购买商品总数付款总额管理员信息管理员ID管理员名管理员密码图5.4订单商品表d_Item的实体图(5)管理员信息表d_Admin的实体图图5.5图5.5管理员信息表d_Admin的实体图55 北京化工大学北方院毕业设计(论文)(6)各实体之间的关系总E-R图描述了个实体之间的关系,以及它们各自所有的基本属性。各实体之间的关系总E-R图图5.6管理员信息管理员名密码管理用户信息购买商品信息支付订单商品信息管理订单生成信息修改订单信息管理员ID图5.6各实体之间的关系总E-R图第5.2节 数据库设计本系统采用的数据库管理系统是MySQL数据库。该数据库不仅能够满足最大的数据处理系统和商业Web站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:商品信息、用户信息、订单信息等。本系统的数据库的名字为dangdang,在本数据库中包括如下几个表:55 北京化工大学北方院毕业设计(论文)(1)商品信息表d_Product商品信息表d_Product用来保存商品的基础信息。结构如表5.1.1所示。表5.1.1商品信息表字段名称数据类型长度是否允许为空是否为主键字段描述Idint12noYES商品编号Product_namevarchar100NONO商品名称Descriptionvarchar100YESNO商品描述Add_timebigint20YESNO上架时间Fxed_pricedouble20NONO出厂价格Recommend_codedouble20NONO是否推荐Dang_pricedouble20NONO商家价格Hot_codedouble20NONO热销程度Keywordsvarchar200YESNO商品关键字Has_deletedint1NONO是否删除Product_picvarchar200YESNO商品图片55 北京化工大学北方院毕业设计(论文)(2)用户信息表d_User用户信息表d_User用来保存用户信息。表tb_User的结构如表5.1.2下。表5.1.2用户信息表字段名称数据类型长度是否允许为空是否为主键字段描述idint12NOYES用户IDemailvarchar50NONO用户邮箱nicknamevarchar50YESNO用户昵称User_integralvarchar50NONO用户字段Is_email_verifyint12NONO是否验证Last_login_timechar3YESNO最后登录时间Email_verify_codevarchar50YESNO邮箱验证passwordbigint50YESNO密码Last_login_ipvarchar15YESNO最后登录IP55 北京化工大学北方院毕业设计(论文)(3)订单生成表d_Order订单生成表d_Order用来记录新生成的订单。表d_Order的结构如表5.1.3所示表5.1.3生成订单表字段名称数据类型长度是否允许为空是否为主键字段描述idInt10NOYES订单编号User_idint12NONO用户IDstatusint12NONO订单状态Order_descbigint24YESNO订单描述Total_pricevarchar100NONO总共价格Receive_namevarchar200YESNO收货人姓名Postal_codevarchar5YESNO商家价格mobilevarchar4YESNO手机号码phonevarchar45YESNO座机号码Order_timevarchar55YESNO订单时间Full_addressvarchar44NONO收货人地址(4)订单商品表d_Item订单商品表d_Item用来记录某一订单中所定购的商品的详细信息。表d_Item的结构如表5.1.4所示。表5.1.4生成订单商品表字段名称数据类型长度是否允许为空是否为主键字段描述idint10NOYES订单IDOrder_idint10NONO生成订单IDProduct_idint10NONO商品IDProduct_namevarchar100NONO商品名称Dang_pricedouble12NONO商场价格Product_numint10NONO商品数量amountdouble35NONO总共数量55 北京化工大学北方院毕业设计(论文)第6章 系统详细设计第6.1节 程序流程图前面重讨论了系统各个模块功能的设计,并详细分析了每一个模块的功能。在本章将具体讨论如何实现功能模块,最终实现整个系统。经过这个阶段的设计工作,应该得出对目标系统的描述。系统的页面设计决定了网站的风格,制作好的网站不仅提供给营销商,更多的要供浏览者浏览。所以整个网站系统应注重的是:易导航性、易操作性和友好的交互界面。因此,网站的设计最好要简洁、明了、格调清新、实用、易于使用和维护。第6.2节 网上购物系统的实施虽然系统是从顾客和商家的角度开始设计的,但是用户管理信息等,数据是从管理员录入的。系统首先面对的用户就是管理者。用户的需求实际上是系统需求的一部分,更重要的是应先解决管理者对系统管理的需求。在做好后台管理系统的基础上,再做前台系统,由于数据库里有了各种实际的资料,会更加直观。管理员子系统主要是为管理员服务的,主要由4个模块组成,用户注册、用户登录、订单查询模块、购物车模块。6.2.1前台功能模块的实现整个系统分为了前台功能模块和后台功能模块。下面详细讨论主要的几个功能模块的程序实现。在每个模块的介绍中,将具体说明一些涉及要点。前台功能模块分为用户注册、用户登录、订单查询模块、购物车模块4个部分。前台首页主要有以下几个部分:(一)网站导航:主要用户显示网站的旗帜广告、各功能模块导航;(二)用户登录:用户在此注册、登录;(三)销售排行榜:按照商品的销售数量显示销售排行信息;(四)商品展示区:按后台添加商品的时间顺序展示商品;55 北京化工大学北方院毕业设计(论文)第6.3节 系统界面设计首页运行结果如图6.1所示。图6.1网上购物商城运行的首页用户管理模块用户管理模块主要实现用户的注册、登录等功能。(一)用户注册55 北京化工大学北方院毕业设计(论文)当用户第一次登录时首先要在网站上注册,成为会员用户才可以在网站上购物,注册页面必须填写一些用户的基本信息,如用户名、密码、联系电话等信息。要注意的是,在用户注册页面中用户自定义JavaScript检验用户注册信息不允许为空。用户注册页面如图6.2所示图6.2用户注册为了便于网站对用户的管理,在用户注册页面接收到的注册信息要经过严格的过滤,保证注册用户名的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示此用户已被占用请重新注册。用户注册的流程图如下图6.3:55 北京化工大学北方院毕业设计(论文)开始否是是结束接收注册信息数据是否为空两次密码是否一致查询数据库邮箱是否被占用是否否注册成功注册失败图6.3用户注册流程图(二)用户登录用户登录窗口设置在首页上,主要用来接收用户录入的邮箱及密码。单击“注册”按钮时,会提交到注册页面执行;单击“登录”按钮时,系统将对输入的邮箱和密码进行验证,如果数据表中邮箱和密码存在就显示登陆成功,否则弹出错误提示信息。用户登录界面如图6.4所示。55 北京化工大学北方院毕业设计(论文)图6.4用户登录界面用户登录的流程图如下图6.4.1:开始结束接收登录信息查询数据库数据是否正确否是登录失败登录成功图6.4.1用户登录流程图55 北京化工大学北方院毕业设计(论文)(三)购物车模块购物车模块中,主要包含以下几个功能,即:添加购物车、修改商品数量、生成订单和清空购物车。购物车的运行界面如图6.5和购物车的流程图图6.6图6.5购物车运行界面(a)添加购物车添加购物车就是把用户选中的商品暂时存放在购物车中,当用户在前台首页中单击商品展示区的“购买”按钮时,便可以将该商品放入购物车中。添加商品的代码流程是从session中读取shop对象,如果为空则说明还没有进行购物或者已经清空了购物车,需要新建购物车对象;将商品名称与购物车列表中的商品名称对比,如果已经存在,则再次购买时会提示已经购买了。在这段代码流程中,还使用了集合类型。集合类型在Java中又称为向量,是一元集合,可以加入重复数据,它的作用和数组相同,可以保存一系列数据,但集合类型也有它独特的优点,就是可以方便地对集合内的数据进行查找、增加、删除和修改等操作。(b)查看购物车55 北京化工大学北方院毕业设计(论文)为了方便用户随时查看购物情况,在网站的首页加入了购物车的链接,通过它可以将用户所有选中的商品信息放入购物车中显示出来。在程序中使用了一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然购单击“修改”按钮。如果欲删除该商品,可以直接点击删除按钮。系统每次只会将1个商品放入购物车中,如果用户需要多个同种商品,可以通过修改商品信息右侧相应文本框的值来完成。操作完成后需要通过单击“修改”按钮来保存操作。(c)生成订单生成订单时网上购物商城的最终目的,前面所有功能的实现都是为最后生成一个用户满意的订单作基础,在此要生成一个可供用户随时查询的订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变以后,就可以到收银台结帐并生成订单。结帐的流程为:从购物车中读取商品名称,商品数量,商品价格信息,生成一个唯一的订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库。在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登录后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户标中取出即可;生成唯一订单号方法有很多,只要确保订单号码的唯一性及方便用户记录以便于查询自己订单的执行状态即可。订单生成后,用户单击“提交”按钮,便可以将录入的订单信息保存到数据库中。(d)清空购物车清空购物车是指当用户订单生成后,倘若还想继续购物一定要清空购物车再进行选购商品,这样防止重复购物,其实清空购物车实现起来非常简单,只需要将session中存储的shop对象清空即可。(e)恢复商品恢复商品就是当用户点击恢复按钮即可,原理就是把session对象55 北京化工大学北方院毕业设计(论文)开始查询数据库数据是否存在显示商品的信息是是否放入购物车购物车是否为空是没有该商品否否购物车中已存在该商品新建购物车该商品数量加1将商品添加入购物车是否显示购物车信息是否修改商品数量否是否清空购物车是删除购物车中商品是是否继续购物否是否去结算接收填写的订单信息数据是否为空订单信息存入数据库更新是否成功是否是否是修改商品数量是结束否否否图6.6购物车的流程图55 北京化工大学北方院毕业设计(论文)订单模块用户提交订单点击结算以后,系统将根据用户购买商品的的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来。订单查询模块流程图如图6.7和图6.8订单的流程图图6.7生成订单的界面结算结束接收订单号信息查询数据库订单号是否存在否是显示出订单信息无该订单号图6.8生成订单的流程图55 北京化工大学北方院毕业设计(论文)填写送货地址模块用户只有在购买商品以后才能进行此操作。当用户把商品放入购物车以后,点击在首页上的购物车链接,进入购物车,在确认购买商品的数量后点击下一步,进入订单模块,再次的确认购买商品的数量和商品的名称后,点击下一步后进入填写送货地址模块填写用户的姓名,详细的送货地址,邮政编码和电话和手机号码后,如果用户以前保存过自己的信息,则可以点击新地址的下拉框,确认无误后点击下一步。如图6.8图6.8填写送货地址55 北京化工大学北方院毕业设计(论文)填写送货地址模块的流程图如图6.9:开始结束填写送货信息将信息更新到数据库中更新是否成功否是修改失败操作成功图6.9送货地址流程图订单成功模块当用户操作成功后,则生成订单成功,数据保存到数据库中。如图6.10图6.10订单生成图55 北京化工大学北方院毕业设计(论文)第7章 系统测试与维护第7.1节 测试的任务及目标7.1.1测试的任务在购物平台投入到商业活动之前,尽可能多地发现软件中的不足和一些的错误。这样可以减少系统后期的维护的麻烦,更加的让用户的体验度提高。7.1.2测试的目标(一)测试的目的是为了减少平台的运行错误和提高系统运行的性能。(二)好的测试方案能让一个系统以后的维护更加的方便,减少以后不必要的麻烦。(三)成功的测试是发现了到今为止尚未发现的错误的测试。第7.2节 测试方案7.2.1系统测试原理及测试原则在完成某一个模块之后都要进行测试,测试是完成设计的一个非常关键的过程,在测试某一个模块的目的是完成的模块是否能够完成预计的功能,以便为整个的系统功能能够完整无误的运行。7.2.1.1系统测试原理测试主要依据是被试系统的研制任务书和技术规格书,是对软件雄体功能和性能的综合测试与评估。测试原理是软件测试活动的理论基础,测试方法是铡试原理的实际应用和获得测试数据的手段。基于软件的共性,对于软件的测试要遵循一般软件的测试原理和方法。同时,针对软件的特性,必须找到合适的测试方法。测试用例的合理性对于软件的测试与评估具有关键作用,而如何使设计的用例、合理并且典型有效并不容易。所以应该与软件的研制人员以及最终用户一起,有针对性地研究实际操作环境并加以描述,形成合理的测试用例集。另一方面,软件运行环境的复杂程度对软件评估具有重要作用,所以应产生尽量逼真的运行背景以便于研究。软件测试的周期如图7.2.1:55 北京化工大学北方院毕业设计(论文)需求分析系统设计编制程序单元测试集成测试系统测试确认测试使用维护测试阶段开发阶段图7.2.1软件测试周期7.2.1.2系统测试的方法软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试。从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。(1)黑盒测试黑盒测试也称功能测试或数据驱动测试或基于规范的测试,它是在己知产品所应具有的功能的前提下,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者对程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等。“黑盒”法着眼于程序外部结构,不考虑内部逻辑结构,只是针对软件的界面和软件需求规格说明中规定的功能进行测试。“黑盒”55 北京化工大学北方院毕业设计(论文)法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。(2)白盒测试白盒测试也称结构测试或逻辑驱动测试或基于实现的测试,它是知道产品内部工作过程。可通过测试来检测产品内部动作是否按照规格说明书的规定止常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试的主要方法有程序逻辑驱动测试、基本路径测试和数据流测试等。“白盒”法需要全面了解程序的内部逻辑结构、对所有逻辑路径进行测试。因此,白盒”法是穷举路径测试。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。第7.3节 系统维护软件维护是软件完成以后的一个非常重要的一部分,处于系统投入生产性运行以后的时期中,所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件的维护有适应性维护,完善性维护,改正性维护,预防性维护。本系统为适应维护的需要,采用如下措施:(一)软件配置程序源代码。(二)开发过程文档齐全。(三)设计过程中各模块均考虑或预留完整性和可维护性接口等部分。(四)详细设计的文档,源代码内部的文档有详细说明,注释均可提高可维护性。55 北京化工大学北方院毕业设计(论文)结论我的毕业设计论文具体论述了网上购物系统的主要功能及体系结构,重点讨论了系统的各项功能模块、各模块的系统流程,及模块功能的实现,每个模块在都能完成其功能的结果下将其综合成一个完整的系统。目前基于该模型的系统处于实验室阶段,还存在许多问题与不足,如安全性能还不完善,缺少必要的数据加密系统等,,这些功能与技术还需要加以提高和实现。在编写论文的时间里,我在不断自学的基础上利用Struts2框架的应用、MySQL数据库JSP网页的设计才完成了网上购物系统的设计。期间我遇到了若干问题和解决了不少的问题。从配置Tomcat服务器和数据库,到网站服务,我对电子商务的认识从无到有,有了较为具体详细的了解。我所建立的网上购物系统只是一个稍显简单的网上购物系统,真正电子商务所涉及到的方方面面的问题我未曾遇到或现有的条件限制而未能实现。网上购物系统并不是我想象的那么简单,它包括了编写程序、数据库设计、网页制作、图象处理、版面设计、数据采集、文本编辑、服务器管理等等,要搞好一个好的,完善的网站需要一个详细的、合理的、可行性的规划设计。在具体实施的过程中,在程序的调试上出现了很大的问题,要使用浏览器来浏览才能找出错误所在,这一定程度上延长了调试时间。在开始的时候往往要为了找一个小错误花上大半天的时间。经过多写程序,现在一定程度上已经能快速的找出错误,并能熟练的操作数据库。随着Web技术的进一步发展和Internet的逐渐大众化,基于Internet的电子商务系统无疑比传统商务具有更加广阔的应用前景。而如何提高电子商务系统中的数据访问效率、交易平台的安全性及事务处理的能力仍是当前人们所关注的热点问题。这些问题有待于以后作更深入的探讨,相信在不久的将来电子商务将表现出越来越大的作用。55 北京化工大学北方院毕业设计(论文)附录部分源代码“注册页面”的代码设计如下:publicvoidsave(Useruser)throwsException{Stringsql="insertintod_user(email,nickname,password,user_integral,"+"is_email_verify,email_verify_code,last_login_time,last_login_ip)values(?,?,?,?,?,?,?,?)";Connectionconn=DBUtil.getConnection();PreparedStatementstmt=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);stmt.setString(1,user.getEmail());stmt.setString(2,user.getNickname());stmt.setString(3,user.getPassword());stmt.setInt(4,user.getUser_integral());stmt.setString(5,user.getIs_email_verify());stmt.setString(6,user.getEmail_verify_code());stmt.setLong(7,user.getLast_login_time());stmt.setString(8,user.getLast_login_ip());stmt.executeUpdate();ResultSetrs=stmt.getGeneratedKeys();rs.next();intid=rs.getInt(1);user.setId(id);}“购物车”的代码设计如下:55 北京化工大学北方院毕业设计(论文)publicclassCartServiceImplimplementsCartService{privatestaticCartServiceinstance=newCartServiceImpl();privateCartServiceImpl(){}publicstaticCartServicegetInstance(){returninstance;}publicbooleanbuy(Cartcart,intid)throwsException{for(CartItemitem:cart.getItems()){if(id==item.getPro().getId()){returnfalse;}}cart.getItems().add(newCartItem(DangFactory.createProductDAO().findById(id),1,Comstant.HAS_DELETE_NO));returntrue;}publicvoiddelete(Cartcart,intid){for(CartItemitem:cart.getItems()){if(id==item.getPro().getId()){item.setHas_delete(Comstant.HAS_DELETE_YES);}}}publicvoidmodify(Cartcart,intid,intcount){for(CartItemitem:cart.getItems()){if(id==item.getPro().getId()){item.setCount(count);}}55 北京化工大学北方院毕业设计(论文)}publicvoidresume(Cartcart,intid){for(CartItemitem:cart.getItems()){if(id==item.getPro().getId()){item.setHas_delete(Comstant.HAS_DELETE_NO);}}}publicdoublepay(Cartcart)throwsException{doublesum=0;for(CartItemitem:cart.getItems()){sum+=item.getCount()*(item.getPro().getDang_price());}returnsum;}publicdoublesave_pay(Cartcart)throwsException{doublesum=0;for(CartItemitem:cart.getItems()){sum+=item.getCount()*(item.getPro().getFixed_price()-item.getPro().getDang_price());}returnsum;}publicCartgetexistItemsCart(Cartcart)throwsException{CartexistCart=newCart();for(CartItemitem:cart.getItems()){if(item.getHas_delete()==Comstant.HAS_DELETE_NO){existCart.getItems().add(item);}}55 北京化工大学北方院毕业设计(论文)returnexistCart;}publicCartgetremoveItemsCart(Cartcart)throwsException{CartremoveCart=newCart();for(CartItemitem:cart.getItems()){if(item.getHas_delete()==Comstant.HAS_DELETE_YES){removeCart.getItems().add(item);}}returnremoveCart;}publicCarttoCart(StringcartStr)throwsException{Cartcart=newCart();if("".equals(cartStr)){returncart;}String[]strs=cartStr.split(":");for(Strings:strs){String[]data=s.split(",");CartItemitem=newCartItem();item.setPro(DangFactory.createProductDAO().findById(Integer.parseInt(data[0])));item.setCount(Integer.parseInt(data[1]));item.setHas_delete(Integer.parseInt(data[2]));cart.getItems().add(item);}returncart;}publicStringtoString(Cartcart)throwsException{StringBuildersb=newStringBuilder();55 北京化工大学北方院毕业设计(论文)for(CartItemitem:cart.getItems()){sb.append(item.getPro().getId()+","+item.getCount()+","+item.getHas_delete()+":");}returnsb.toString();}}“订单”的代码设计如下://添加订单publicintadd(Orderorder)throwsException{Stringsql="insertintod_order(user_id,status,order_time,total_price,receive_name,full_address,postal_code,mobile,phone)"+"values(?,?,?,?,?,?,?,?,?)";PreparedStatementstmt=DBUtil.getConnection().prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);stmt.setInt(1,order.getUser_id());stmt.setInt(2,order.getStatus());stmt.setLong(3,order.getOrder_time().getTime());stmt.setDouble(4,order.getTotal_price());stmt.setString(5,order.getReceive_name());stmt.setString(6,order.getFull_address());stmt.setString(7,order.getPostal_code());stmt.setString(8,order.getMobile());stmt.setString(9,order.getPhone());stmt.executeUpdate();ResultSetrs=stmt.getGeneratedKeys();rs.next();returnrs.getInt(1);55 北京化工大学北方院毕业设计(论文)}//用户订单publicListfindByUserId(intuserId)throwsException{Stringsql="select*fromd_orderwhereuser_id=?orderbyorder_timedesc";Listorders=newArrayList();PreparedStatementstmt=DBUtil.getConnection().prepareStatement(sql);stmt.setInt(1,userId);ResultSetrs=stmt.executeQuery();while(rs.next()){Orderorder=newOrder();order.setId(rs.getInt("id"));order.setOrder_time(newDate(rs.getLong("order_time")));order.setStatus(rs.getInt("status"));order.setTotal_price(rs.getDouble("total_price"));orders.add(order);}returnorders;}//订单状态publicvoidmodifyStatus(intid,intstatus)throwsException{Stringsql="updated_ordersetstatus=?whereid=?";PreparedStatementstmt=DBUtil.getConnection().prepareStatement(sql);stmt.setInt(1,status);stmt.setInt(2,id);stmt.executeUpdate();}55 北京化工大学北方院毕业设计(论文)“登录界面”的代码设计如下:publicUserfind(Stringemail)throwsException{Stringsql="select*fromd_userwhereemail=?";Useruser=null;Connectionconn=DBUtil.getConnection();PreparedStatementstmt=conn.prepareStatement(sql);stmt.setString(1,email);ResultSetrs=stmt.executeQuery();if(rs.next()){user=newUser(rs.getInt("id"),rs.getString("email"),rs.getString("nickname"),rs.getString("password"),rs.getInt("user_integral"),rs.getString("is_email_verify"),rs.getString("email_verify_code"),rs.getLong("last_login_time"),rs.getString("last_login_ip"));}returnuser;}55 北京化工大学北方院毕业设计(论文)参考文献[1]戴莹莹,希凡.基于角色的访问控制在B/S模式中的研究与实现[D].武汉:武汉理工大学,2004:5-10.[2]王培进,李纲民.基于B/S结构的信息处理系统[J].烟台:烟台大学学报,2000,13(3):10-15. [3]赵敏.论学校管理信息系统的构建[J].教育评论,2000(4):30-32.[4]张海藩.软件工程导论[M].北京:清华大学出版社,2006.[5]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2006.[6]陈火旺,徐建波,周新莲.Web设计原理与编程技术[M].中南大学出版社.2005.[7]武延军,黄飞跃.精通JSP编程技术[M].人民邮电出版社.2001.[8]徐国智,Mysql数据库系统开发实例精粹,电子工业出版社,2006[9]飞思科技产品研发中心.JSP应用开发详解[M].电子工业出版.2002[10]KevinDuffey.ProfessionalJSPSiteDesign[M].WrosPress,2001.[11]BruceEckel.ThinkinginJava[M].PrenticeHallPTR,2003.[12](美)施瓦茨(Schwartz,B.)等著.高性能MYSQL(影印版)[M].开明出版社,2005.[13](荷)范德兰斯著许杰星等译.MySQL开发者SQL权威指南[DB].北京:机械工业出版社,2004.[14](美)PatrickGalbraith著.Apache+MySQL+memcached+Per开发高速开源网站[M].北京:清华大学出版社,2001.[15]KevinDuffeyProfessionalJSPSiteDesign[M].WrosPress,2001.[16]孙鑫.JavaWeb开发三部曲:ServletJSP深入详解[M].电子工业出版社,2008-08-01.[17]MikkoSiponen,RobertWillison.Informationsecuritymanagementstandards:Problemsandsolutions[D].Information&management,2009.[18]肖刚.JavaWeb服务器应用程序设计[M].电子工业出版社,2001-9-1.[19]侯晓强,徐春荣,勾海波.Java服务器编程实例[M].清华大学出版社,2003-11.55 北京化工大学北方院毕业设计(论文)致谢论文暂告收尾,这也意味着我在大学学习生活既将结束。回首既往,自己一生最宝贵的时光能于这样的校园之中,能在众多学富五车、才华横溢的老师们的熏陶下度过,实是荣幸之极。在这四年的时间里,我在学习上和思想上都受益非浅。这除了自身努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。 论文的写作是枯燥艰辛而又富有挑战的。网上购物商城是软件界一直探讨的热门话题,老师的谆谆诱导、同学的出谋划策及家长的支持鼓励,是我坚持完成论文的动力源泉。在此,我特别要感谢我的导师王凌老师和梁建全老师。从论文的选题、文献的采集、框架的设计、结构的布局到最终的论文定稿,从内容到格式,从标题到标点,她都费尽心血。没有李焕玲老师的辛勤栽培、孜孜教诲,就没有我论文的顺利完成。 通过这一阶段的努力,我的毕业论文《基于Web的网上购物商城》终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。55

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭