![基于SSI框架的网上购物系统的设计与实现毕业设计论文(共53页)_第1页](http://file4.renrendoc.com/view/2f208e5b33bea20300c6d5d5f2879912/2f208e5b33bea20300c6d5d5f28799121.gif)
![基于SSI框架的网上购物系统的设计与实现毕业设计论文(共53页)_第2页](http://file4.renrendoc.com/view/2f208e5b33bea20300c6d5d5f2879912/2f208e5b33bea20300c6d5d5f28799122.gif)
![基于SSI框架的网上购物系统的设计与实现毕业设计论文(共53页)_第3页](http://file4.renrendoc.com/view/2f208e5b33bea20300c6d5d5f2879912/2f208e5b33bea20300c6d5d5f28799123.gif)
![基于SSI框架的网上购物系统的设计与实现毕业设计论文(共53页)_第4页](http://file4.renrendoc.com/view/2f208e5b33bea20300c6d5d5f2879912/2f208e5b33bea20300c6d5d5f28799124.gif)
![基于SSI框架的网上购物系统的设计与实现毕业设计论文(共53页)_第5页](http://file4.renrendoc.com/view/2f208e5b33bea20300c6d5d5f2879912/2f208e5b33bea20300c6d5d5f28799125.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、邵阳学院毕业设计(论文)- PAGE 50 -毕业设计(b y sh j)(论文)课 题 名 称基于SSI框架的网上购物(u w)系统的设计与实现 学 生 姓 名 学 号 系、年级(ninj)专业 指 导 教 师 职 称 年 月 日 摘要(zhiyo) 该网上购物系统属于电子商务平台的一种,它根据现有比较流行的网上购物系统和互联网技术与B2C(Business to Consumers) 模式开发设计而成。使用该系统,除了能够提高市场竞争力,扩大商家规模外,对于(duy)降低经营成本,提高工作效率也是非常有利的。 该论文通过现有的网上购物系统情况及开发背景(bijng)进行说明介绍,从而引出在
2、当前形势下对该系统的设计需求,并根据这些设计需求确定了相应的设计目标与总体设计方案,接着具体叙述了该系统的详细设计过程与实现方法,最后进行系统检测并对需要改进的地方进行了描述。 该系统基于现在比较流行的MVC设计模式,主要分为了两个大模块:前台模块和后台模块。前台模块由用户注册登录、新闻动态、留言簿、商品信息展示、商品放入购物车以及商品结算等几大模块构成,后台模块则由用户信息管理、商品信息管理、订单管理等子模块构成。 该系统采用Struts2+Spring3.0+IBatis2.3三大框架集成开发。使用JSP技术进行动态页面的设计,采用HTML+JavaScript+CSS+AJAX等前端技术
3、,后台数据库选用Oracle 11g数据库。为了提高系统的安全性能,增强代码的重复使用性,故选用程序的关键代码的封装采用JavaBean组件技术实现。关键字:Struts2;Spring2.5;IBatis2.3;JavaBean;JSP;Oracle 11gABSTRACTThissystemisbasedonmvcdesignmode,majoringattwomodules:foregroundandbackground.Theforegroundmainlyincludesmoduleofmembershipregistration,newsandtrends,guestbook,co
4、mmodityinformationdisplay,selectgoodsintotheshoppingcartandsettleaccounts;thebackgroundhasmainlyprovideduserswiththefollowingfunctions:customerinformationmanagement,commodityinformationmanagement,ordermanagementandsoon.ThissystemisadoptedbythreeintegrateddevelopmentofStruts2+Spring3.0+IBatis2.3,usin
5、gJSPtechnologyindynamicpagedesign,takingfront-endtechnologylikeHTML+JavaScript+CSS+AJAX,choosingOracle11gasthedatabaseofbackground,consideringfromthesecurityandreusingcodeofthesystem,keycodeshasbeensecuredbyJavaBeantechnology.Keywords:Struts2;Spring2.5;IBatis2.3;JavaBean;JSP;Oracle 11g目录(ml) HYPERLI
6、NK l _Toc416875892 摘要(zhiyo) PAGEREF _Toc416875892 h ITOC o 1-3 h u HYPERLINK l _Toc29641 ABSTRACT PAGEREF _Toc416875893 h 错误(cuw)!未定义书签。 HYPERLINK l _Toc4027 1 网上购物系统绪论 PAGEREF _Toc4027 1 HYPERLINK l _Toc20336 1.1 系统开发背景 PAGEREF _Toc20336 1 HYPERLINK l _Toc32067 1.2 系统实现的目标 PAGEREF _Toc32067 2 HYPE
7、RLINK l _Toc16296 1.3 系统的开发意义 PAGEREF _Toc16296 2 HYPERLINK l _Toc21726 1.4 系统开发平台与工具 PAGEREF _Toc21726 3 HYPERLINK l _Toc32193 1.5 系统的开发技术及主要架构 PAGEREF _Toc32193 4 HYPERLINK l _Toc4217 2 系统分析 PAGEREF _Toc4217 10 HYPERLINK l _Toc7005 2.1 网上购物系统概述 PAGEREF _Toc7005 10 HYPERLINK l _Toc12282 2.2 网上购物系统的
8、可行性分析 PAGEREF _Toc12282 10 HYPERLINK l _Toc5878 2.3 网上购物系统需求分析 PAGEREF _Toc5878 11 HYPERLINK l _Toc25954 3 系统概要设计 PAGEREF _Toc25954 13 HYPERLINK l _Toc11088 3.1 项目规划 PAGEREF _Toc11088 13 HYPERLINK l _Toc17928 3.2 系统结构图 PAGEREF _Toc17928 13 HYPERLINK l _Toc21159 3.3 系统流程分析 PAGEREF _Toc21159 14 HYPERL
9、INK l _Toc25351 4 系统数据库设计 PAGEREF _Toc25351 16 HYPERLINK l _Toc12558 4.1 数据库设计的重要性 PAGEREF _Toc12558 16 HYPERLINK l _Toc32742 4.2 数据库设计规范 PAGEREF _Toc32742 16 HYPERLINK l _Toc2311 4.3 数据库字典 PAGEREF _Toc2311 17 HYPERLINK l _Toc27483 5 系统详细设计 PAGEREF _Toc27483 22 HYPERLINK l _Toc28453 5.1 开发规范 PAGEREF
10、 _Toc28453 22 HYPERLINK l _Toc14242 5.2 系统框架说明 PAGEREF _Toc14242 23 HYPERLINK l _Toc15936 6 系统测试及难点分析 PAGEREF _Toc15936 30 HYPERLINK l _Toc22064 6.1 系统测试 PAGEREF _Toc22064 30 HYPERLINK l _Toc15267 6.2 系统运行结果 PAGEREF _Toc15267 32 HYPERLINK l _Toc29118 6.3 系统中所存在的问题及解决方案 PAGEREF _Toc29118 41 HYPERLINK
11、 l _Toc8862 参考文献 PAGEREF _Toc8862 45 HYPERLINK l _Toc30177 致谢 PAGEREF _Toc30177 461 网上购物(u w)系统绪论1.1 系统开发(kif)背景1.1.1网上购物(u w)的发展 最近的几年,Internet的迅猛发展使得互联网日渐成为了信息收集与提供的佼佼者,并逐步成为了一种传统的流通渠道。在互联网的带动下,电子商务开始进入人们的视野,网上商店开始流行起来。 网上购物系统作为一种企业对企业(B2B),企业对消费者(B2C),消费者对消费者(C2C)的电子商务前端商务平台,对其商务活动有着非常重要的作用。本文主要对
12、建设B2C网上购物系统进行讨论。 网上购物系统是一种商业信息系统,这个系统中包含了动态与静态两大信息资源,其中动态信息资源是指像培训信息、会议安排及商品报价之类的时刻变化的信息,而静态信息资源则是指像公司简介、公司制度及公司管理等不经常更新变化的信息。该系统在交互功能方面表现突出,商家与用户之间通过该系统能够更为简便地传递信息,完成EDI交易及电子贸易,让企业之间文件与资金无纸化交换成为了现实。1.1.2网上购物系统的现状 就现在而言,在中国最普遍使用的是PHP与ASP技术,JSP作为一种较为新颖的技术,虽然在国外,特别是国外的电子商务类网站中的应用已较为广泛,但在国内,它的应用领域依旧较小。
13、 PHP技术由于自身存在的一些缺陷,比如规模支持与多层结构支持,使得它更适用于一些小型的商业网站,如新浪、中国人等,在大型的电子商务网站中使用,它的缺陷就会暴露无疑。加之PHP没有统一的数据库接口支持,导致它在电子商务中并不适用。但PHP技术缺少这类支持,并且PHP没有统一的数据库接口支持,导致它在电子商务中并不适用。 ASP技术不但能够取得ActiveX规模支持,而且能够取得结构支持,JSP技术与ASP一样,也能够获取规模支持与结构支持。 当今世界,JSP/Servlet受到许多大型电子商务解决方案提供商的喜爱。例如较为有名(yu mng)的IBM的E-business与西方的另一个广为人知
14、的电子商务软件提供商Intershop,它们的核心分别选用的是JSP/Servlet的WebSphere与JSP/Servlet。其中,Intershop之前的产品Intershop1 2, 3, 4在电子商务软件占据了市场的主要份额,虽然这些产品采用的是CGI来进行支持的,但在那之后,Intershop又推出了一个应用JSP/Servlet的电子商务应用服务Enfinity,并声称再也不开发传统软件。由此观之,以上(yshng)三种技术,将来最大为发展应当非JSP莫属。综上所述,JSP、PHP、ASP三者各有千秋,每个技术都有一定数量数量的支持者和反对者,因此我们在开发实际应用时应当从实际情
15、况考虑,选择(xunz)一个最适合当前项目的技术。本文中系统选用的是较为新颖的JSP技术,原因如下:一是JSP技术的安全性与跨平台性较好,二是希望能够从设计这个系统的过程当中,对这门编程语言得到更深入的了解。1.2系统实现的目标眼下流行的网上购物系统大多都是外观与内在同时兼备的系统,既有美丽的页面布局,更有严谨的规划设计,对每一个细微的环节都不放过。只有这样,在电子交易环节中才避免发生错误。传统管理信息系统的信息获取依靠的是专业人员在管理系统的数据库中进行信息的录入来完成的,当信息量较小的时候,这种方法可以应用在许多场合。但是,一旦数据量较大,且专业性较强时,使用这种录入方法所需费用以及从录入
16、的出错率都会相应上升。在本设计中,采用jsp实现动态页面,ibatis与数据库进行数据的交互,struts2充当控制层,连接页面和数据库,并处理相关的业务,spring主要用于提供依赖注入、数据源和事务管理。通过以上技术的有机结合,可以给用户带来一个交互性良好,安全稳定的网上购物系统,同时也利于后期维护和升级。1.3系统的开发意义 互联网为传统的商业运作在技术上提供了一种可行性方案,使得传统的商业运作模式随着互联网的发展有所改变。现在,这种方案已经广泛应用到了我们的实际生活中,也就是我们常常锁说的:电子商务。这个方案是利用互联网的技术与协议,为所有(suyu)的买家、卖家,生产商、合伙人建立起
17、各式各样的企业内部网与企业外部网,通过采用廉价通信方法将大家紧密地联系在了一起,让空间和时间不再是阻隔相互联系交易的障碍,从而极大地降低交易的成本,扩大交易的范围。 我们经常上的淘宝网与当当网就是现在比较流行的两个网上购物系统,二者均是非常出色(chs)的电子商务网站,同时也是其他网站学习的优秀典范。所以,在设计系统中,我们不妨参考他们的思想,这将有助于我们对电子商务网站的开发设计、整个网站应有的系统功能和注意事项得到更深入的认识与了解。电子商务网站的设计和完成需要涉及到很多技术层面上的问题,所以在设计中,我们应该避免(bmin)纸上谈兵,通过在实践操作中来掌握相关技术,如:后台数据库与动态网
18、页制作的设计及管理的使用。1.4 系统开发平台与工具1.4.1 操作系统平台Windows7 该系统开发平台采用由微软公司(Microsoft)开发的操作系统Windows7 旗舰版64位,处理器Intel(R) Core(TM) i3-2350M CPU 2.30GHz 2.30GHz,安装内存10.0GB。1.4.2项目开发工具MyEclipse本系统采用的项目开发工具是MyEclipse企业级工作平台(简称MyEclipes),它是对EclipseIDE的扩展,不但具有完整的编码、调试、测试与发布功能,而且能够完全支持HTML,Javascript,JSP,Spring,SQL及Hibe
19、rnate等,是一个功能丰富的JavaEE集成开发环境。该平台不仅有利于数据库与JavaEE的开发、发布,在应用程序服务器的整合方面也非常合适,使用它能够大幅度地提高我们的工作效率。由于MyEclipse功能的强大与支持的广泛,使得它特别适用于各类开源产品的支持,可以说,MyEclipse几乎囊括了现今全部的主流开源产品的开发,因此,对于Java,J2EE的开发而言,MyEclipse是一个非常出色的Eclipse插件集合。1.4.3项目管理工具(gngj)Maven Maven被定义为一个项目管理工具,它的组成比较复杂,包括一个项目对象模型(Project Object Model),一组标
20、准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),以及用来运行定义在生命周期阶段中插件目标的逻辑。Maven在使用(shyng)过程中,如果用一个明确定义的项目对象模型来描述项目,有一组共享的插件,作为Maven应用的横切的逻辑。 如果运行mvn install这条指令时,将会调用Maven的生命周期,Maven会有序的执行下去直至指定的生命周期。在遍历的过程中,Maven会运行默认的插件目标,这些目标将会实现类似一个JAR文件的编译和创建的工作。除此之外,项目报告不仅(bjn)能通过maven进行方便
21、的管理,还可以生成站点,管理JAR文件等。 1.4.4版本控制工具GitGit是由Linus Torvalds开发的一款供用户无偿使用的开源分布式版本控制系统,它能够高速有效地处理各种各样,或大或小的项目版本管理。在项目中使用Git,不仅有助于项目的团队开发和提高开发效率,而且能够精确地控制项目的版本,开发人员每次Git服务器获取最新的项目代码,完成相应模块地开发后,再提交的Git服务器上,并附上本次提交内容的相关信息,如果出问题,可以回滚之前的版本。当然,如果当前版本在使用,我们可以新建分支,继续开发,等开发完成之后,再合并到主分支,这样既不影响当前版本的使用,也可以继续开发任务。1.4.5
22、服务器Tomcat服务器Tomcat属于轻量级应用服务器,常使用于中小型系统与并发访问用户较少的场合中。它是一个供用户无偿使用的开源web应用服务器,也是人们开发、调试JSP程序时的第一选择。对于初学者而言,我们不妨这么理解,如果将Apache服务器配备在一台机器上,那么对于HTML页面的访问请求可通过它来进行响应。实际上,Tomcat部分是Apache服务器的扩展,但由于它的独立运行,因此tomcat在运行时是作为一个与Apache独立的进程单独来运行的。1.4.6前端调试(dio sh)工具FireBugFirebug是基于firefox下的一个扩展,可以调试如html,css等所有网站的
23、语言。此外,Firebug还能够进行(jnxng)html,css,dom的查看和调试,网站的整体分析等等,功能非常强大。其中,最令人称赞的当属它的javascript调试功能,它可以运用于各种浏览器中(如IE,firefox,Safari等),并且使用十分简便。总的来说,Firebug就是一套完整、强大的开源web开发软件。1.4.7 数据库Oracle 11gOracle 11g是一种功能比较全面并且稳定的关系型数据库,其大大小小的功能就多达四百余种。其性能(xngnng)较于旧版本更为优越,不仅具有优良的伸展性与可用性,且更为安全。即使在低成本的服务器与存储设备构成的网格上也能方便地运行
24、。而且还拥有自己一套sql标准。1.5 系统的开发技术及主要架构1.5.1开发技术的选择 (1)JSP一个合理的开发技术是一个网站是否能够开发完成的重要基础,选择合理的开发技术能够使网站的开发事半功倍。因此,我们首先需要一个合适的动态网页开发技术来进行网站的设计。当前,ASP、PHP、JSP这三种动态网页技术较为流行。三者各自特性如表3.1所示。表3.1 asp/jsp/php比较表技术名称ASPJSPPHP对数据库的支持好好好开发难易度容易容易较难使用平台Windows9X/NTWindows/UNIXUNIX安全性不好好不好对组件的支持支持支持不支持执行方式解释执行编译之后执行解释执行跨平
25、台不好好好虽然这三者技术都是通过传统的HTML代码里的HTML标签来扩展组成页面的,但从表3.1而言,可以明显得知,各方面表现(bioxin)最好的是JSP技术。特别是在跨平台性与安全性上,JSP技术相对于另外两种技术要好得多,所以,经过比较,我们决定使用给予Java的JSP技术来进行动态网页的开发。struts2struts2 是在以前的Webwork和XWork框架基础(jch)上改进而成的一个Java Web开源框架,同时也是一个以POJO的Action为基础的MVC Web框架,它继承了Webwork和XWork框架的优良性能,功能十分强大。现在的struts2在Java Web开发界
26、中具有不可撼动的地位,之所以该框架如此深得人心,在开发人员看来,这与其优良的设计是分不开的。struts2的优点(yudin):基于MVC架构的设计,使得struts2具有清晰明了的框架结构及开发流程,采用struts2进行开发,能够很好地开发过程。利用OGNL传递参数:OGNL提供了一个简单的方法用于在struts2中进行各类作用域里的数据访问,通过这种方法来获取Request,Attribute,Application,Session,Parameters里的数据会十分方便。大大简化了开发过程中取得这些数据时所需的代码量。struts2的拦截器:struts2具有的很多功能都是依靠拦截器来
27、完成的,比如上传文件、处理异常和验证等。它的拦截器是一个Action级别的AOP,能够进行配置与重复使用,如果把类似登录验证,权限验证这样的一些通用功能加入到拦截起中,就可以实现一些Java Web项目里表位通用的功能。测试的方便:由于struts2的Action均为简单的POJO,所以用它来进行用例的编写测试非常方便,极大地简化了Java Web项目的测试。模块化:模块化是struts2体系架构的基本思想。其它优点:在应用程序中添加全局结果,以及为配置文件的异常进行处理,这样一来,当处理过程当中,发生了指定异常时,即可跳至特定页面。这一功能十分实用。ibatisibatis相比Hiberna
28、te和Apache OJB之类的一站式”ORM解决方案来说,它是一种“半自动化”的ORM实现。何为“半自动”?也许在理解上会有些生涩。其实,我们这里所说的“半自动化”是相对于目前主流的“全自动化”ORM而言的。“全自动”ORM不仅能够提供POJO与数据库表之间的映射,还可以自动生成和执行SQL,例如Hibernate与Apache OJB,它们拥有POJO到数据库表的全套映射机智,并且对数据库结构的封装也比较完整。通常程序员只用对POJO到数据库表的映射关系做好定义,就能够利用OJB或Hibernate提供的方法实现对持久层的操作。甚至于都不要求程序员能熟练地掌握SQL都可以完成这些操作,因为
29、OJB、Hibernate可以依据设定的存储逻辑,自动生成并通过调用DBC接口执行对应的SQL。而对于ibatis来说,它比较注重于POJO与SOL间的映射关系,换而言之,就是说在运行期间,Ibatis不会自动生成、执行SQL。它需要程序员对具体的SQL进行编程,接着将SQL所需的参数与返回的结果字段利用映射配置文件映射到制定的POJO。“全自动”的ORM机制(jzh)(如Hibernate)与“半自动”的ORM机制(jzh)(如ibatis)当对象是纯粹的Java时,于业务逻辑实现人员来说,它们二者是基本一致的。只有在进行具体的数据操作时,“全自动”的ORM会自动(zdng)生成、执行SQL
30、语句,而“半自动”的ORM则需要对具体的SQL语句进行编写。相对于“全自动”的ORM机制来说,ibatis这种“半自动”的ORM机制,是“全自动”ORM机制的一种有利补充,它通过在开发SQL工作量与数据库移植性上的让步,扩大了系统设计的自由空间。它的出现具有非常重要的意义。springspring是由我们平时常使用的JavaBean构成的一个轻量级容器,它不同于EJB容器,其核心思想是IoC与AOP,所以spring不仅易于编写,并且能够不用依赖容器就进行单元测试。此外,Spring支持所有的Java Bean组件与声明式事务的管理,因此,如果使用spring,它将负责对Java Bean组件
31、进行初始化及管理,那么我们只需将Java Bean组件进行编写、“装配”即可。这个方式最大的优势在于松散的组件耦合,让我们无需自己动手便可实现singleton模式。1.5.2系统的主要架构及开发模式系统使用的架构是系统建设的关键所在,传统的c/s架构现已不能满足类似网上购物这样基于web并具有大量用户访问和操作系统的需要,因此以浏览器架构为基础的b/s架构成为了当前网络系统应用的主要架构,它利用服务器端对大批的数据工作进行处理,客户端只需使用普通的IE浏览器便能够访问系统。这样一来,访问系统不仅变得方便快捷,并且更有利于对系统进行更新维护。除此之外,由于j2ee规范的诞生,采用java语言使
32、得该系统的开发更具规范,层次更为明了,在对复杂事物的处理以及安全性方面也表现得更为出色。而以mvc为基础的开发流程不但使得开发过程更为清晰,同时在完成一些复杂的逻辑实现上也更为简便,从而减少了开发的成本与周期。在B/S体系架构系统中,我们只需配备少量的客户端软件在客户机上即可。因为该架构减轻了客户机的原有工作,利用服务器来担负起客户机所减轻部分的工作,如:访问(fngwn)数据库与执行应用程序等。至于剩下数据的请求与加工,结果的返回,动态网页的生成等工作则是依靠webserver来完成的。换句话来说,如果将二层的C/S架构中的事务处理逻辑模块从客户机的任务里分离出来得到的就是B/S体系架构。
33、Browse浏览器Web服务器数据库图3.1 B/S三层架构(ji u)示意图 B/S三层体系架构如图3.1所示。它通过web服务器建立起独立的一层来负责其任务(rn wu),将负荷分配给了web服务器,以减轻客户机的压力。 B/S体系架构不但能满足不断提高的性能要求,并且还将客户机从沉重的负担中解脱了出来,也使技术维护人员在繁重的维护升级工作中得到了解放,技术维护人员不再需要为了维护程序而在在每个客户机之间奔波忙碌,他们可以把主要精力用在功能服务器的程序更新工作上,因为功能服务器帮助客户机分担了事务处理逻辑部分的功能,使客户机变得“苗条”起来。并且这种三层架构层与层之间是互相独立的,改变任何
34、一层都不会对其它层的功能造成影响。 ASP,CGI是传统的基于web的应用系统,像这类系统,开发者通常会将数据逻辑、展示逻辑与业务逻辑等混杂起来,将后台数据库的访问、操作,以及业务的流程与页面的表示都放在同一个界面中表示。这样一来编写的程序,不仅不利于编辑人员设计交互页面,当程序员需要对业务代码调试时也会十分麻烦。并且这样的系统完全无扩展性可言,一旦我们要扩展现有的业务,通常情况下只能重新进行编写,因为系统无法借助现有的资源与应用,所以使用这样的系统导致了投资的大量增加,系统上线时间的延长,在市场竞争中失去了优势。 而本文所设计的网上购物系统,使用了通行的MVC模式来构造应用,有效(yuxio
35、)地解决了上述的所有问题。在我们的应用集成网络中,MVC的开发模型将通过企业级高端J2EE应用服务器实现。它的逻辑图如图3.2所示: 图3.2应用服务器之上采用MVC开发(kif)的逻辑示意图 使用这个方案,我们能够快速(kui s)地完成整个业务。其优点与特性如下: (1)模型(Model)层:采用javabean实现,具体的业务封装service层中,具有高性能、可重用、安全可靠等优势。 (2)视图(View)层:该层由JSP构成,它的特点在于可以真实地展现与客户交互的界面,可以嵌套动态数据并展示动态页面,同时还具有描绘功能,能够依据不同客户的要求来展示不同风格的界面,方便地个性化定制客户
36、端。 (3)控制器(Controller)层:用于最大限度地分离视图层与模型层,同时也这两层的连接纽带,具有非常重要的地位。它一般是由是struts2实现的,它的优点在于业务的调用和流程的处理。建立这种模型,可以使该应用系统性能更为优越,且可扩展性更好。通过控制器来描述调用关系,同时分离业务组件与展示页面,不但能够提高工作效率,而且能够增强系统的扩充能力,使系统能够以最快的速度扩展业务,满足各种用户在不同阶段各式各样的业务需求。2 系统分析2.1 网上购物(u w)系统概述(i sh) 在平台的开发设计中,系统分析是一个不可或缺的环节。为了使系统的设计能够更好、更完善,我们首先要进行(jnxn
37、g)研究和学习,然后基于对系统的调查研究之上,再细致地分析新系统的功能,从而开发设计出一个完整的新系统。本购物系统分为前台(qinti)管理系统与后台管理系统,前台管理系统具有会员(huyun)注册及登录、产品分类、产品展示、产品信息检索、购物车、个人中心、新闻动态等功能,是一个友好(yuho)的操作界面,提供给用户进行商品的查询与浏览;后台管理系统则是供管理员使用的,它具有用户管理、商品信息、订单管理、销量信息、建议管理、新闻管理等功能,使管理员摆脱了传统繁杂的手工操作,大大提升了工作效率。2.2 网上购物系统的可行性分析 丰富多彩的网络世界,日益剧增的网络人口,飞速发展的计算机技术,这些都
38、让电子商务在网上掀起了一股热潮。我们相信,在不久的将来,客户将能够在网络世界中得到所有他们在现实世界中得到的全部商品与服务。 为了确定该系统开发的项目是否值得研究且能够实现,我们需要进行可行性研究,同时通过可行性研究还可以极大得简化系统分析和系统设计的过程,所以这项研究是非常重要且必要的。由系统的设计目标与对市场的调研可得到经济可行性、技术可行性、运行可行性和法律可行性四项可行性分析: (1)经济可行性:由于该系统设计只是作为本人的毕业设计,在设计能力、设计资金及设计时间上有所局限,所以其功能并未完善,暂时无什么经济效益可言。 (2)技术可行性:该系统设计采用的是spring+struts2+
39、ibatis技术,该技术现已较为成熟,而且本人对该技术有一定掌握,而且网上这块技术的资料也是比较多。 (3)运行可行性:该系统在JVM(即JAVA虚拟机和Tomcat环境)下,正确连接至数据库后能够正常运行。 (4)法律可行性:该系统为自主开发的毕业设计,与商业无关,不具有侵权行为,所以具备法律可行性。本文所开发设计的网上购物平台系统应用了Web技术与互联网广泛应用技术,实现了资源共享,达到了过去只有在现实商场中购物才能达到的效果,交互性较好,克服了购物的局限性,减短了购物的时间,提高了人们购物的效率。该系统成为了一个网络化、规范化、信息化、系统化的交易平台,将繁琐的购物活动变得简单易行。经过
40、以上可行性分析(fnx),综合考虑,确定了开发该平台的可行性。为了让该平台更具实用性与适应性,在对现有的平台内容(nirng)进行充分了解与几个月的调查研究后,经过指导老师的耐心教导,决定开发本系统平台。2.3 网上购物系统需求(xqi)分析2.3.1 目标 每个网站都具有它自己的设计规则,该平台也不例外。它的主要设计规则是简单性、针对性与实用性。简单性对于一个网站而言,是十分重要的。何谓简单性?就是在能够实现该平台设计功能的基础上,尽可能使平台的操作简单明了。针对性则是由于该平台属于网上购物系统与后台管理的定向开发设计,因此要求该平台具有突出专业性及很强的针对性。而实用性说的是该平台可以实现
41、电子商品的展示及管理员对基本信息的管理,所以具有良好的实用性。因此,我们针对不同用户有不同的功能:(1)普通用户:可以通过前台进行页面的浏览,产品的搜索以及产品信息的查看。(2)注册用户:除了拥有普通用户所具备的权利外,还拥有登陆注册、购买商品、使用购物车和提交订单的权利。同时,注册用户还可以向商家提出意见或建议。 (3)管理员:通过后台管理系统可以对用户信息、商品信息、订单信息、销量信息、建议信息及新闻信息等进行管理。 该网上购物系统除了需要实现上述目标功能外,还需要重点实现的功能有:分页、易淘、购物车、批量删除、图片上传、过滤处理及最近浏览等。2.3.2 具体需求 (1)前台主要有: 用户
42、注册登录(dn l):用于实现用户的注册(zhc)及登录。产品(chnpn)展示:用于展示产品的详细信息,使用户能够更加全面具体地了解产品。 产品检索:用户可以根据自身需要,输入关键词对所需产品进行查询,节省用户时间,提高购买效率。 最近浏览:显示当前用户最近的浏览记录,方便用户对之前浏览过的产品再次进行查看。 新闻动态:用于展示最新的动态信息,比如新品首发、优惠活动等信息,吸引用户查看购买。 留言板:用户可在此进行留言。购物车:与商场的购物车类似,用于实现用户对商品的暂时存放,方便用户进行选购结算。 (2)后台主要有:用户管理:通过该模块可以对用户信息进行增删改查操作。 商品管理:通过该模块
43、可以对产品进行增删改查操作。订单管理:通过该模块可以对订单进行增删改查操作。 留言板:通过该模块可以对留言板进行增删改查操作。 新闻管理:通过该模块可以对新闻进行增删改查操作。3 系统(xtng)概要(giyo)设计3.1 项目(xingm)规划 根据我们的调查研究可知,该平台设计需要完成下列几项功能,具体如下所示: (1)普通用户:搜索、浏览产品。 (2)注册用户:搜索、购买、浏览产品,此外还可以给商家聊天、留言、提出意见或建议。 (3)管理员:管理用户和商品信息,具有增删改查等权限,同时还可以上传和下载商品图片。需要重点实现的功能有批量删除产品或用户信息,图片的上传和下载,过滤处理,购物车
44、,分页,易淘等。 3.2 系统结构图 网上购物系统是一个典型web系统,主要分为前台和后台两个部分,它们相应的子模块如下:图3.1 前台(qinti)模块 前台模块主要具有:登陆(dng l)注册、产品展示、查询、购物车、新闻等子模块。图3.2 前台(qinti)模块 后天模块主要具有:用户管理、商品信息、订单管理、新闻管理等子模块。3.3 系统流程分析 3.3.1前台购物流程 具体流程图如下图:图3.3 前台购物流程图用户首先对商品进行浏览,选择自己所心仪的商品,然后订购商品。需要订购商品的用户会出现三种情况,一是未注册用户,二是已登录注册用户,三是未登录注册用户,这时系统就会对此做出判断,
45、对于未注册用户,那么系统会先要求用户进行注册,对于为登录注册用户,那么系统会先要求用户进行登录,最后才会像已登录注册用户那样去到购物车,再到收银台,最后提交订单结账。3.3.1 后台(huti)购物(u w)流程 具体(jt)流程图如下图:图3.4 前台购物流程图 管理员通过管理员站好在前台登陆,系统根据账号的权限级别,自动跳转到后台管理系统,然后管理员可以根据自己需要进行用户管理、产品信息、订单管理、销量信息、新闻管理和建议管理等操作。4 系统(xtng)数据库设计(shj)4.1 数据库设计(shj)的重要性 数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发
46、效率和程序的性能都是非常重要的。 良好的数据库设计对于一个高性能的应用程序非常重要,就像一个空气动力装置对于一辆赛车的重要性一样。如果一辆汽车没有平滑的曲线,将会产生阻力从而变慢。关系没有经过优化,数据库无法尽可能高效地运行。应该把数据库的关系和性能看作是规范化的一部分。除了性能以外的问题,就是维护的问题了,数据库应该易于维护。这包括只存储数量有限的(如果有的话)重复性数据。如果有很多的重复性数据,并且这些数据的一个实例发生一次改变(例如,一个名字的改变),这个改变必须对所有的其他的数据都进行。为了避免重复,并且增强维护数据的能力,我们可以创建可能的值的一个表并使用一个键来引用该值。在这种方式
47、中,如果值改变了名字,这个改变只在主表中发生一次,所有的其他表的引用都保持不变。4.2 数据库设计规范4.2.1 数据库设计三大范式 数据库的设计范式是数据库设计所需要满足的规范,数据库的规范化是优化表的结构和优化把数据组织到表中的方式,这样使数据更明确,更简洁。实践中,通常把一个数据库分成两个或多个表并定义表之间的关系以做到数据隔离,添加、删除和修改某个字段只需要在一个表中进行,接着可以通过定义的关系传递到数据库中剩余的表中(和分层思想的意义所在很相似)。这样我们可以消除很多错误或垃圾数据出现的机会并减轻更新信息所必要的工作量。 目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、
48、第四范式和第五范式。满足最低要求(yoqi)的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。 事物往往具有多面性,设计范式也会带来一定的麻烦:操作困难,因为需要联系多个(du )表才能得到所需要数据,而且范式越高性能就会越差。所以使用多高的范式需要权衡利弊,一般在项目中,使用到第三范式也就足够了,性能好而且方便管理数据。第一范式1NF,定义:数据库表中的字段都是单一属性的,不可再分。简单的说,每一个属性都是原子项,不可分割(b k fn )。1NF是关系模式应具备的最起码的条件,如果数据库设计不能满足第一范式,就不称为关系型数据库。也就是说,
49、只要是关系型数据库,就一定满足第一范式。第二范式2NF,定义:数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖,即符合第二范式。2NF可以减少插入异常,删除异常和修改异常。简单的说,一方面,第二范式肯定要满足第一范式,否则就没有必要谈第二范式。另一方面,当某张表中的非主键信息不是由整个主键函数来决定时,即存在依赖于该表中不是主键的部分或者依赖于主键一部分的部分时,通常会违反2NF。(3)第三范式3NF,定义:在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合3NF。4.2.2 数据库命名规则表4.1 数据库命名规则表 (Table)tbl_主键(P
50、rimary key)pk_字段(Column)无外键(Foreign key)fk_视图 (View)viw_Check 约束(Check Constraint)ck_存储过程 (Stored procedure)prd_Default 约束(Default Constraint)df_触发器(Trigger)trg_用户定义数据类型 (User-defined data type)udt_索引(Index)idx_用户定义函数 (User-defined function)fun_4.3 数据库字典(zdin) 建设这个系统之前,我们必须大致将系统中使用的数据分类,并且对这些数据进行具体的
51、结构设计,这是数据库系统中的重中之重,它的好坏是保证关键数据在意外情况下是否能抵御破坏的重要因素,所以对此,我们要求做到清晰明了,不会使其产生(chnshng)结构上的逻辑混乱,能够适应系统各项功能的调用。 数据库的设计必须遵循一定的规则,一个好滴数据库能够满足一些严格的闲置和要求。尽可能得将各实体对应的表进行分离,一个表对应一个实体,明确什么属性是哪些实体该具有的,什么字段是与其(yq)相对应的,以及各个实体间的联系是什么。实体、属性和联系是在概念设计时所需考虑的三要素,只有这三个要素设计好了,才能拥有一个好的数据库。数据库中一共建立了8个表,表名如下:表4.2 产品类型信息表 ( tbl_
52、producttype)序号字段代码字段名称类型长度约束名说明1tid编号number20pk_pid主键,唯一标识,自增长(从1开始)2parentid副编号number20非空3tname名字varchar2100非空5remark备注varchar2500备注表4.3 产品信息表 ( tbl_product)序号字段代码字段名称 类型长度 约束名 说明1pid产品编号number20pk_pid主键,唯一标识,自增长(从1开始)2tid类型编号number20fk_tid外键,引用产品类型表的tid列3pname名称varchar2100非空4pvender厂家varchar2100非空
53、5pbrand品牌varchar25006pprice价格double20非空7pstock库存number10非空8pstate状态number2非空,1:热卖,2:特价,3:团购价4:普通9ppic图片路径varchar2500非空10pdescribe描述varchar2500描述产品信息,非空11pbarcode条形码varchar215非空12remark备注varchar2500备注表4.4 用户(yngh)信息表 ( tbl_users)序号字段代码 字段名 类型 长度 约束名 说明1uuid用户编号number20pk_uid主键,唯一标识自增长(从1开始)2utruename
54、真实姓名varchar250非空3uname用户名varchar2100非空4upwd密码varchar220非空5unickname昵称varchar21006usex性别varchar22非空7ubirth出生日期date非空8ucode身份证号varchar218非空9uaddress地址varchar2500非空10uphone联系方式varchar220非空11uauthority权限number2非空,1: 普通用户,2: 客服, 3:管理员12uqq绑定QQvarchar220非空13unumberegral积分number1014remark备注varchar2500备注表4.
55、5 订单明细(mn x)信息表 ( tbl_orders_detail)序号 字段代码字段名 类型 长度约束名 说明1 ooid订单编号 number 20 pk_oid外键,引用订单表的oid列2 uuid用户编号 number 20fk_uid外键,引用用户表的uid列3 pname产品名varchar2 100非空4 tname产品类型varchar2100非空5 odnum数量number 10非空6 单价double 20非空7 odtotal总价double 20非空8odpreferential优惠double 59 ostate状态number 21:未付款,2:已付款,3:已
56、发货,4:收货并确认10 odpayment付款方式varchar2 101:货到付款,2:网上支付11 remark备注varchar2 500备注说明表4.6 订单(dn dn)信息表 ( tbl_orders)序号 字段代码 字段名 类型 长度约束名 说明1ooid编号number 20 pk_oid主键,唯一标识自增长(从1开始)2uname用户名varchar2 100fk_oid外键3otime订单时间date 非空4ostate状态number 21:未付款,2:已付款,3:已发货,4:收货并确认5onum合计number 20非空6remark备注varchar2 500备注说
57、明表4.7 新闻(xnwn)信息表 ( tbl_news)序号字段代码字段名类型长度约束名 说明1nid新闻编号number20pk_nid主键,唯一标识自增长(从1开始)2ntitle标题varchar2200非空3nsource来源varchar2200非空4nauthor作者varchar250非空5ncontent内容varchar24000非空6ncreatetime录入日期date 非空7remark备注varchar2500备注表4.8 建议(jiny)板信息表 ( tbl_advice )序号字段代码 字段名类型长度约束名 说明1aid 编号number20pk_aid主键,唯
58、一标识自增长(从1开始)2uname建议用户名varchar250非空3acontent建议内容varchar210004acreatetime建议创建时间date5areplytime建议回复时间date6astate建议状态number21:已回复,2:待回复7remark备注varchar2500表4.9 公告(gnggo)信息表 ( tbl_announce)序号字段代码字段名类型长度约束名 说明1aid公告编号number20pk_aid主键,唯一标识自增长(从1开始)2atitle标题varchar2200非空3acontent内容varchar21000非空4acreatetim
59、e录入日期date 非空5remark备注varchar2500备注5 系统(xtng)详细(xingx)设计5.1 开发(kif)规范 (1)所有页面均采用UTF-8编码,工程也采用UTF-8编码。 (2)在类或者方法上写上作者名 (3)Java中类的命名:类名:如果该类与某张表对应,则把表名的前缀去掉即该类名,并采用驼峰命名法则。例如:存在表tbl_type,则与之对应的类名为Type。类属性:如果该类与某张表对应,则该类的属性名与表格中的字段名一样,而且顺序也要一致,但一定要注意类型的,如date,类属性选择是utils包中的。 (4)每个类和方法最后分别添加一个标记,格式:/end类名
60、或/end方法名 (5)如果一个控制语句无法在一个窗口同时出现,则采用以下方法注释: 例如:if(条件) /beignOutIf if(条件(tiojin)) /beignInnerIf 处理(chl)语句 /endInnerIf /endOutIf 再如:if(条件(tiojin)) /beignIf while(条件) /beginWhile 处理语句 /endWhile /endIf (6)类中的每个属性,采用当行注释,说明该属性的含义,必须在同一行 例如:pricvate String pname;/姓名 (7)类与类之间,方法与方法之间,必须空一行 (8)类中的书写顺序:属性构造方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学物理听评课记录
- 南昌大学共青学院《教师资格笔试与面试实训》2023-2024学年第二学期期末试卷
- 临沂职业学院《工程图学A》2023-2024学年第二学期期末试卷
- 辽宁科技大学《虚拟商业社会》2023-2024学年第二学期期末试卷
- 人民版道德与法治八上7.2《优势互补》表格式听课评课记录
- 河北省2024七年级道德与法治上册第四单元追求美好人生第十二课端正人生态度第2课时正确对待顺境和逆境背记新人教版
- 河北省2024七年级道德与法治上册第二单元成长的时空第四课幸福和睦的家庭第2课时让家更美好背记新人教版
- 广西艺术学院《知识产权案例分析》2023-2024学年第二学期期末试卷
- 安庆省联考高三数学试卷
- 语文网上听评课记录
- 家庭病房工作制度和人员职责
- 道德与法律的关系课件
- 建设工程监理合同示范文本GF-2018-0202
- 2022质检年终工作总结5篇
- 江苏省中等职业学校学业水平考试商务营销类(营销方向)技能考试测试题
- 国际商务谈判双语版课件(完整版)
- 物业管理应急预案工作流程图
- (高清正版)T_CAGHP 003—2018抗滑桩治理工程设计规范 (试行)
- 毕业论文论财务管理是企业管理的核心
- 清洁化施工无土化安装施工方案
- 40万吨年NaCl蒸发工段设计——毕业设计
评论
0/150
提交评论