基于ssh的体育用品销售管理系统开发_第1页
基于ssh的体育用品销售管理系统开发_第2页
基于ssh的体育用品销售管理系统开发_第3页
基于ssh的体育用品销售管理系统开发_第4页
基于ssh的体育用品销售管理系统开发_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SSH的体育用品销售管理系统开发摘要随着计算机技术和通信技术的迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其商业用途,在网络上进行出售、收购、宣传等操作,从而使得网络越来越成为现今社会上必不可少的元素,而网站就是这个网络里很庞大的元素。本文所讨论的系统是基于目前WEB开发中流行的2大框架STRUTS、HIBERNATE的,是典型的B/S架构的系统,其开发主要包括应用程序的开发,数据库的建立和维护两个方面。本系统前台主要使用JSP作为开发语言,后台使用ORACLE作为数据库管理系统,开发环境是ECLIPSE,服务器采用TOMCAT,开发出的一个基于WEB技术的B/S结构的商城购物系统。应用此系统,商家可以发布商业信息,广告等等。用户可以查阅、订购商品,该系统可以为客户提供更方便、更好、更快的商务活动空间,实现网上交易,是一个综合性电子商务系统。从整个系统结构上看,本系统包括客户端和服务器端,客户端主要针对客户的一般需求,而服务器端主要是针对管理员的需求。管理员能够对整个系统的数据进行管理。整个系统的开发过程由需求分析,系统的功能设计,详细设计,数据库设计等几个部分组成。关键词电子商城;数据库设计;模块设计;数据验证SPORTINGGOODSSALESMANAGEMENTSYSTEMBASEDONSSHABSTRACTWITHTHERAPIDDEVELOPMENTOFCOMPUTERTECHNOLOGYANDCOMMUNICATIONTECHNOLOGY,THESCALEOFTHENETWORKALSOINCREASESGRADUALLY,THENETWORKELEMENTHASBEENINCREASING,SOMEUSETHEIRCOMMUNICATION,SOMEUSEITSCOMMERCIALUSE,FORSALE,PURCHASE,PUBLICITY,ETCINTHENETWORKOPERATION,SOASTOMAKETHENETWORKMOREANDMOREBECOMETHEESSENTIALELEMENTINMODERNSOCIETY,ANDTHESITEISVERYLARGEELEMENTSOFTHENETWORKTHESYSTEMWETALKEDABOUTISBASEDONTWOWIDELYUSEDFRAMEWORKSTRUTS2ANDHIBERNATETHISSYSTEMISATYPICALB/SSTRUCTUREOFTHESYSTEM,INCLUDINGTHEDEVELOPMENTOFITSAPPLICATIONDEVELOPMENT,DATABASECREATIONANDMAINTENANCEOFTHETWOAREASTHISSYSTEMATTHEFRONTDESKMAINLYUSINGJSPASADEVELOPMENTLANGUAGE,THEBACKGROUNDUSINGORACLEASTHEDATABASEMANAGEMENTSYSTEM,THEDEVELOPMENTENVIRONMENTISECLIPSE,SERVERUSINGTOMCAT,DEVELOPEDAWEBTECHNOLOGYBASEDB/SSTRUCTUREOFTHESYSTEMOFSHOPPINGMALLTHROUGHTHISSYSTEM,ADVERTISERCANISSUESBUSINESSINFORMATIONANDPRODUCTSADVERTISEMENTS,ANDUSERSCANCONVENIENTLYORDERGOODSDEPENDINGONB/SPATTERNBECAUSEOFRUNNINGONWEB,THESYSTEMCANOFFERWHOLEDAY,BETTERMOREQUICKROOMOFACTIVITIESTOREALIZETHEBASISFUNCTIONSOFTRANSACTIONININTERNETTHEWEB,ACCORDINGTOTHECURRENTDESIGNPRINCIPLESOFBUSINESSWEB,GIVESFIRSTPLACETOTRANSACTIONFUNCTIONININTERNET,ITISASYNTHESISELECTRONICCOMMERCEWEBFROMTHEANALYSISABOVE,THECONTENTOFTHISPAPERMAINLYINCLUDESTHEDESIGNOFCLIENTANDSERVERCLIENTPARTISSPECIFICTOUSER,SERVERPARTISSPECIFICTOADMINISTRATORADMINISTRATORANDMANAGERTHEHOLESYSTEM,GUARANTEETHEGUARANTEEOFDATABASETHEDEVELOPINGOFTHISSYSTEMCONSISTOFDEMANDANALYSIS、FUNCTIONALDESIGN、DETAILEDDESIGN、DATABASEDESIGNKEYWORDSSALESNETWORKDESIGNMODULARDESIGNDATAVALIDATION目录摘要IABSTRACTII第一章绪论111课题的背景和意义112工作内容113J2EE体系结构介绍1131TOMCAT简介2132AJAX技术简介2133STRUTS2框架的引入3134HIBERNATE框架的引入314网站工作模式415本章小结4第二章需求分析521需求分析概述522功能模块图523可行性分析5231经济可行性5232技术可行性6233环境可行性分析624用户需求分析6241用户注册需求6242用户登录需求6243购买商品需求6244购物车管理需求6245订单管理需求625管理员需求分析6251管理库存的需求626系统用例图7第三章概要设计931系统体系结构的设计932系统的层次结构设计933数据库设计934系统组成1335系统文件组织设计13第四章详细设计1541系统运行环境1542系统部署架构1543系统时序图1544系统的持久化层具体实现15441定义HIBERNATE工厂类15442使用DAO模式1645系统业务逻辑层设计1646系统接口及映射文件的实现设计1647模块功能设计与实现16471登陆功能16472注册功能17473购买商品功能17474用户订单管理18475用户信息修改1948系统业务流程图2049本章小结20第五章测试小结2151测试说明2152系统功能测试2153本章小结25结论26参考文献27致谢28外文原文29中文翻译37第一章绪论11课题的背景和意义随着网络的发展越来越迅速,人们也希望互联网能对自己的生活、工作提供越来越方便快捷的支持和帮助。本体育用品销售管理系统是在INTERNET开放的网络环境下,基于浏览器/服务器应用方式,实现顾客网上交易的一种新型的网购模式。本系统将传统的商品采购流程数字化,可以大量减少人力、物力另一方面突破了时间和空间的限制,使得网上交易可以在任何时间、任何地点进行,极大地方便了消费者消费,使商品购买变得轻松、快捷、方便,从而大大提高了效率。以前网上销售管理系统大多数是基于客户机/服务器的模式来设计和开发的。随着技术飞速发展,传统的客户机/服务器面临着严峻的挑战,其中最为突出的问题是开发负担重、维护困难等。目前,许多的网站都采用了STRUTS2、HIBERNATE组合来开发,所以本系统所采用的框架与技术是目前业界流行的框架STRUTS2与HIBERNATE的组合使用,这样的选择让业务逻辑更清晰,数据的管理也更加方便。STRUTS是属于表现层的技术,而HIBERNATE则主要与数据处理打交道。两者都是开源的框架,这样,在经济的可行性分析上面是十分占优势的。本文介绍的是一个网上体育用品销售管理系统。系统具有高可靠性、可扩展性和重用性的特点。12工作内容体育用品销售管理系统是运用现代化的科学方法,对销售进行合理的组织、整合和调配,让用户能方便的进行商品购买、查看等。本系统使用SUN公司的J2EE架构,并以STRUTS为框架,HIBERNATE作为持久化层,采用了WEB应用系统的MVC体系结构。并研究了设计模式与框架技术,设计并实现了基于J2EE的体育用品销售管理系统,为以后的研究与实践打下了基础。其中论文主要完成了以下工作()基于STRUTSHIBERNATE构件多层WEB应用系统的框架及相关理论研究。()对销售与管理系统各部分所涉及的功能进行分析探讨。()按照需求设计并实现了一个体育用品销售管理系统。13J2EE体系结构介绍J2EE是一种利用JAVA2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。JAVAEE是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循JAVAEE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。J2EE技术的基础就是核心JAVA平台或JAVA2平台的标准版,J2EE不仅巩固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的JDBCAPI以及能够在INTERNET应用中保护数据的安全模式等等,同时还提供了对EJB(ENTERPRISEJAVABEANS)、JAVASERVLETSAPI、JSPJAVASERVERPAGES以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供了对现有应用程序集成强有力的支持,完全支持ENTERPRISEJAVABEANS,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。在J2EE开发模型中,整个系统可分为以下三个主要部分()模型(MODULE)模型就是应用业务逻辑部分,这个部分主要角色EJB(ENTERPRISEJAVABEANS),借助于EJB强大的组件技术和企业级的管理控制,开发人员可以轻松的创建出可重用的业务逻辑模块。()视图(VIEW)视图是用户界面部分,在WEB应用程序中也就是HTML、XML、JSP页面。这个部分主要处理用户看到的东西即用于显示,动态JSP部分处理了用户可看见的动态网页,而静态的网页由HTML和XML输出。()控制器CONTROL控制器负责网站的整个逻辑。它用于管理用户与视图发生的交互。可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序,即网页制作人员将可以独立自由地改变WEB页面而不用担心影响这个基于WEB的应用程序功能。在J2EE模型中,控制器的功能一般是由SERVLET、JAVABEANS、EJB中的SESSIONBEAN来充当的。131TOMCAT简介TOMCAT是APACHE软件基金会(APACHESOFTWAREFOUNDATION)的JAKARTA项目中的一个核心项目,由于有了SUN的参与和支持,最新的SERVLET和JSP规范总是能在TOMCAT中得到体现。由于TOMCAT技术先进、性能稳定,而且免费,所以深受JAVA爱好者的喜爱也得到了一些软件开发商的认可,成为目前比较流行的WEB应用服务器。TOMCAT因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能,所以他深受JAVA爱好者的喜爱。TOMCAT是一个小型的应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,也是开发和调试JSP程序的首选。对于一个初学者来说,当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。当配置正确时,APACHE为HTML页面服务,而TOMCAT实际上运行JSP页面和SERVLET。另外,TOMCAT和IIS、APACHE等WEB服务器一样,具有处理HTML页面的功能,另外它还是一个SERVLET和JSP容器,独立的SERVLET容器是TOMCAT的默认模式。不过,TOMCAT处理静态HTML的能力不如APACHE服务器。132AJAX技术简介AJAX全称“ASYNCHRONOUSJAVASCRIPTANDXML”,是指一种创建交互式网页应用的网页开发技术。它包含了以下几种技术基于WEB标准XHTMLCSS的表示;使用DOM进行动态显示及交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHTTPREQUEST进行异步数据查询、检索;使用JAVASCRIPT将所有的东西绑定在一起。AJAX,使用它可以构建更为动态和响应更灵敏的WEB应用程序,让浏览器为用户提供更为自然的浏览体验。AJAX能提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助AJAX,可以在用户单击按钮时,使用JAVASCRIPT和DHTML立即更新UI,并向服务器发出异步请求,来执行更新或查询数据库。当请求返回时,就可以使用JAVASCRIPT和CSS来相应地更新UI,而不是刷新整个页面,使用户看起来是即时响应的。AJAX的核心是JAVASCRIPT对象XMLHTTPREQUEST。该对象是一种支持异步请求的技术。简而言之,XMLHTTPREQUEST使用户可以使用JAVASCRIPT向服务器提出请求并处理响应,而不是阻塞用户。在创建WEB站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。133STRUTS2框架的引入一个成功的电子商务网站的构建不仅需要考虑到如何高效快捷的实现系统功能,还要本着可扩展的原则,在一定时期内适应技术发展与功能扩充的需求,同时要给用户提供方便、实用的信息服务,使网站的商务功能最大化。因此在网上体育用品销售系统的设计中,采用了基于STRUTS2的结构框架设计,采用此结构框架设计的优点有1可扩展性STRUTS2框架是基于JSPMODEL2的设计标准,可以说是MVC设计模式的一种变化类型,其业务逻辑和表示逻辑分开,而且所有默认的设置都可以配置,包括了一系列通用标记扩展,适应复杂的业务形式,具有较强的可扩展性,能满足新业务发展的要求。2标准性和开放性STRUTS2框架基于JAVA语言,而且其基本组件具有统一的标准,在许多运行标准的容器中都工作的非常好,具备优异的可移植性3安全性和高效性STRUTS2具有完善的安全管理机制,JAVA语言也是当前最安全的语言。采用STRUTS能使系统具有较高的网络安全性和运行效率,保证提供高质量的网络服务和快速的响应速度。134HIBERNATE框架的引入HIBERNATE是JDBC的轻量级的对象封装,它是当前比较流行的对象持久化技术,用HIBERNATE可以将一个JAVA对象保存到数据库。它是一个独立的对象持久层框架,和APPLICATIONSERVER、EJB之间没有什么必然的联系。HIBERNATE可以用在任何JDBC可以使用的场合,例如JAVA应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。HIBERNATE是一个和JDBC密切关联的框架,所以HIBERNATE的兼容性和JDBC驱动及数据库都有一定的关系,但是和使用它的JAVA程序、APPLICATIONSERVER没有任何关系,也不存在兼容性问题。HIBERNATE的体系总览如图11所示。图11HIBERNATE的体系总览图由于HIBERNATE比较复杂,提供了好几种运行方式。在轻型体系中,应用程序自己提供JDBC连接,并自行管理事务。这种方式使用了HIBERNATEAPI的一个最小子集。如图12所示图12HIBERNATE运行方式图此处SESSIONFACTORY的含义为单一数据库编译过的映射文件的一个线程安全的、不可变的缓存快照。它是SESSION的工厂,是CONNECTIONPROVIDER的客户。可能持有一个可选的二级数据缓存,可以在进程级别后集群级别保存可以在事务中重用的数据。SESSION是生命周期的单线程对象,代表应用程序和持久层之间的一次对话。封装了一个JDBC连接,也是TRANSACTION的工厂。保存有必需的(第一级)持久化对象的缓存,用于遍历对象图或通过标识符查找对象。14网站工作模式目前在应用开发领域中,主要分成两大编程体系,一种是基于浏览器的B/S结构,另一种是客户机/服务器(C/S)结构。在此网上销售管理系统中,我们采用了B/S模式。将C/S与B/S模式作一下比较发现1C/S模式客户连接多时导致性能迅速下降、占用资源多。而B/S模式下多采用分层结构,分布式处理任务,多客户时性能优越。2客户端与服务器直接相连,安全性差,对客户端性能要求较高。而B/S模式只需要有浏览器即可访问。3对C/S程序作任何改动都需要重新安装客户端,而B/S程序只需要在服务器端重新部署即可实现所有客户程序的更新。4C/S界面操作速度有一定优势,但存在界面死板、不够美观的弱点,而浏览器页面的元素的多样性使得系统界面更加美观。总体上,基于B/S应用模式的营销系统更加符合现在的应用环境和技术发展的趋势。本系统充分利用过滤器和监听器的功能,解决系统乱码问题,和对SESSION对象的管理。其中监听器使用了SESSIONLISTENER,CONTEXTLISTENER,SESSIONLISTENER实现了当用户关闭浏览器时,系统会自动删除SESSION中的购物车,当用户访问页面时即SESSION形成时,监听器会自动监听,系统会自动创建购物车以便后来在用户购物车管理模块中当用户购买商品时,放入到此购物车中。CONTEXTLISTENER使用的目的是,监听整个应用系统的启动和关闭,当系统启动时会加载数据库中的所有体育用品商品。这样做的好处是不必每次请求查看商品数据时都与数据库发生交互。15本章小结本章首先分析了下当前销售行业在网络上的发展态势,得出基于WEB系统的开发是一个新的趋势。然后从技术的角度讨论了WEB系统开发的模式和框架,包括STRUTS2和HIBERNATE框架的运行原理和各自的性能特点,它们各自代表着控制层和持久层。第二章需求分析21需求分析概述体育用品销售管理系统主要实现了在网上选购商品、将商品加入购物车、查询订单等功能。本系统实现了商品信息的展示、购物车管理、注册用户信息、修改个人信息、登录管理、订单处理等模块。需求分析可以分解为用户需求分析和管理员需求分析。22功能模块图功能模块图如图21所示图21功能模块图23可行性分析231经济可行性通过网站对体育用品销售进行全面的自动化的管理,使销售管理系统更加规范,实现了通过网络对商品信息进行发布、传递、接收等一系列功能,大大提高了企业的办公效率。通过系统对体育用品销售过程中的数据进行全面的管理和统计,避免人为处理各类数据时所产生的各种问题,提高了企业的经济效益,为企业经营决策提供了大量的、权威的数据,使企业的管理进行到科学化、系统化的范筹。232技术可行性网络体育用品销售系统的开发采用了先进成熟并且符合实际应用的开发方法,目前最流行的集成开发环境MYECLIPSE,动态网页开发技术JSP和MVC架构技术STRUTS、SPRING和HIBERNATE,功能强大的数据库管理工具ORACLE,结合自己的实际开发能力,可以开发出较为完善的体育用品销售管理系统。233环境可行性分析在软件环境方面,系统的开发环境如下操作系统WINDOWS7;WEB应用服务器TOMCAT60;数据库ORACLE100G;开发工具ELCIPSE;24用户需求分析241用户注册需求注册要求用户输入一些个人信息,用户名是每个注册用户的唯一标识。注册过程中还可以检查用户名是否存在,当注册成功后,用户可以使用用户名和密码进入体育用品销售系统,进行购物、查看订单等活动。242用户登录需求在登录界面上用户可以输入用户名和密码进行登录,如果用户名和密码都正确,则可以进入体育用品销售管理系统,如果不正确,提示用户登陆失败,请输入正确的用户名和密码,并重新登录。如果用户不存在还可以点击用户注册进入用户注册界面。243购买商品需求用户可以以两种身份浏览商品。一种是已注册用户,另一种是游客。当用户用注册用户账号登录本系统进行购物时,用户可以先将选中商品加入购物车,再提交订单,可以选择货到付款、邮局汇款、银行转账三个付款方式。如果以游客身份购买商品,可以将选中商品先加入购物车,提交订单时,系统会自动提示您需要登录才可以购买此商品,页面将自动跳转到登录界面。244购物车管理需求购物车可以跟踪用户选择的商品,用户在购物车中保存自己所选中的商品。每个用户都有自己临时的一个购物车。可以查看购物车,可以修改选中的商品的数量,可以添加商品放入购物车,也可以取消已加入购物车的商品或者清空购物车重新选购商品。245订单管理需求已登陆用户能查看自己的订单,能查看自己订单的详细信息,也可以删除自己的订单,当确认订单后,系统根据购物车中的数据生成一条订单记录和一条订单明细记录,并将此次购买信息加入到相应顾客的订单信息中,并清空了购物车中的所有商品。25管理员需求分析251管理库存的需求核心功能为添加商品,修改商品信息,修改库存,即对体育用品数量的增加和删除,增加体育用品的同时还要对保存在SESSION里面的体育用品作更新,与数据库的同步,让顾客可以买到最新型号的体育用品。如图22所示图22管理员需求框图26系统用例图(1)客户总体用例图,如图23所示图23客户总体用例图2客户管理用例图,如图24所示图24客户管理用例图(3)客户购物车用例图,如图25所示图25客户购物车用例图(4)客户订单用例图,如图26所示图26客户订单用例图第三章概要设计31系统体系结构的设计()该系统是以关系数据库为存储,基于WEB的应用系统。由一系列组件和功能模块组成。总体结构浏览器/服务器(B/S)编程模式JSPHIBERNATESTRUTS2逻辑结构用户界面开发、业务逻辑处理和数据存储()该系统联合使用业务代理和DAO模式32系统的层次结构设计系统从逻辑上分为显示层、业务逻辑层、数据持久层。从程序分布位置角度来看,系统依次分布在浏览器、应用服务器、数据库系统这三层。33数据库设计数据库技术是信息资源管理最有效的手段。数据库设计是指针对一个给定的应用环境,构造最好的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏直接对应用系统的效率及实现效果产生影响。合理的数据库设计可以提高数据库的存储效率、保证数据的完整性和一致性。基于系统的功能分析,其ER图如图31所示。用户拥有个人信息订货订单构成订单明细体育用品参照拥有体育用品信息购买图31系统的实体关系图根据ER图,可得出数据库的表单如下1USERINFO存放用户信息如表31所示表31用户信息表字段名字段类型约束或索引描述USERIDVARCHAR216PK记录流水号NAMEVARCHAR2(16)用户名PASSWORDVARCHAR216用户密码ZIPVARCHAR2255邮编ADDRESSVARCHAR2255地址TELEPHONEVARCHAR2255电话EMAILVARCHAR2255电子邮件2PRODUCT表存放体育用品信息如表32所示表32体育用品信息表字段名字段类型约束或索引描述PRODUCTIDNUMBERPK记录流水号NAMEVARCHAR264书名DESCRIPTIONVARCHAR22000体育用品的描述BASEPRICENUMBER体育用品价钱CATEGORYIDNUMBER体育用品类型PCOUNTNUMBER体育用品的数量IMAGESVARCHAR2200体育用品的图片3ORDERLINE表存放订单明细信息如表33所示表33订单明细表字段名字段类型约束或索引描述LINEIDNUMBER10PK记录流水号PRODUCTIDNUMBER10FK体育用品的流水记录号ORDERIDNUMBER10FK订单的流水记录号AMOUNTNUMBER10数量4DER表存放订单信息如表34所示表34订单信息表字段名字段类型约束或索引描述ORDERIDNUMBERSEQUENCEPK记录流水号NAMEVARCHAR232体育用品名称FINISHEDNUMBER下单时间COSTNUMBER订单价格USERIDVARCHAR216FK用户编号STATUSIDNUMBERFK订单状态PAYWAYIDNUMBERFK付款方式5PAYWAY表用户选择付款方式如表35所示表35付款方式表字段名字段类型约束或索引描述PAYWAYIDNUMBERPK记录流水号PAYSTYLEVARCHAR216付款方式6CONTACTIONFO表查看订单详细信息如表36所示表36订单详细信息表字段名字段类型约束或索引描述CONTACTIDNUMBERPK记录流水号USERIDVARCHAR216FK用户编号STREET1VARCHAR264联系地址ZIPVARCHAR28邮编EMAILVARCHAR232EMAIL地址HOMEPHONEVARCHAR216家庭电话CELLPHONEVARCHAR216手机号码OFFICEPHONEVARCHAR216办公室电话34系统组成系统组成表如表37所示表37系统组成表用户表示层VIEW控制处理层CONTROLLER业务逻辑层MODELACTIONADDPRODUCTSJSPPRODUCTDETAILJSPPRODUCTSJSPCONFIRMORDERJSPORDERJSPORDERINFOJSPUSERINFOJSPADMINLOGINJSPINDEXJSPLOGINJSPMYJSPJSPPRODUCTDETAILJSPREGISTERJSPSHOPCARTJSPADDPRODUCTACTIONADMINLOGINACTIONADMINPRODUCTACTIONEXITACTIONINDEXACTIONLOGINACTIONMODIFYACTIONADMINCATEGORYCONTACTIONINFOISHOPCARTORDERORDERLINEORDERSTATUSPAYWAYPRODUCTSHOPCARTUSER35系统文件组织设计采用分层开发设计,这样的好处是分工明确,适合团队开发。如果某个地方出现错误不会影响其他层。这是一种高內聚低耦合的设计思想。为体现STRUTS框架结构的设计思想,可采用以下的包结构的设计思想。WEBROOT中的文件主要是直接为用户提供服务的页面文件,也就是MVC中的VIEW,负责界面的显示和与用户的交互。这样以来,VIEW只使用或调用ACTION里的服务,而ACTION和SERVICE也只调用DAO里面的方法。这种调用方向单一,有效地降低了耦合,增强了内聚。系统文件的组织如图32所示图32系统文件的组织第四章详细设计详细设计是对系统架构设计的精化,主要是在系统需求规格和架构设计的基础上,对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法。41系统运行环境系统运行的操作系统为WINDOWS,也可以移植到LINUX、UNIX等操作系统下执行,数据库采用ORACLE10G,应用服务器采用符合J2EE规范的TOMCAT60应用服务器。42系统部署架构整个应用部署在一台应用服务器、一台数据库服务器上。系统可以可以使用企业内部局域网,也可以通过广域网访问系统。43系统时序图在体育用品销售管理系统设计过程中,时序图如图41所示。图41系统时序图(1)界面在本项目中指JSP页面,在具体的时序图中被实际的页面文件所替代。(2)ACTION指STRUTS中的ACTION的具体实现类,在具体的时序图中被实际的类所替代。其作为控制器的一部份存在。(3)BO业务逻辑操作对象(BUSSINESSOBJECT),执行功能的业务逻辑职责,在具体的时序图中被实际的类所替代。如果某个功能没有业务逻辑处理,此类可以不在时序图中存在。(4)DAO为数据操作类处理相应的数据库操作。(5)HIBERNATEDATASOURCE数据操作实现类,用来执行实际的数据库访问。44系统的持久化层具体实现441定义HIBERNATE工厂类本系统采用STRUTS和HIBERNATE技术进行开发,由HIBERNATE进行数据库连接和数据对象的操作,这里定义一个HIBERNATESESSIONFACTORY类去负责初始化HIBERNATE。由它创建全局的SESSIONFACTORY工厂类,并且提供创建和关闭SESSION实例,创建HIBERNATETRANSACTION负责打开/关闭事物。这样在使用HIBERNATE时更加方便,不用每次为创建SESSIONFACTORY实例,SESSION实例或者关闭SESSION实例,打开/关闭,事物操作单独这些代码,只要调用上面的类的方法就可以了,从而简化了操作。442使用DAO模式本系统的持久化逻辑采用HIBERNATE作为中间件,并使用DAO设计模式实现。主要是在业务核心方法和具体数据源之间增加一层,这样就减少了两者的耦合。每个持久化类对应一个DAO类,它实现了持久化类的创建、查询、更新及删除方法,以及其它访问持久化机制的方法。本系统所有与数据库逻辑有关的方法都在IDAO接口中,在COMBRIUPDAO包下创建一个DAO的接口,并在COMBRIUPDAO包下创建一个IMPL继承DAO接口实现具体的操作。45系统业务逻辑层设计业务逻辑层中只包含业务逻辑,不包含任何与数据库的交互,因此减少了访问过程中与数据库交互的过程,大大提高了运行的速率。业务逻辑层的实现需要调用持久化层和数据库交互功能的支持。本系统所有与业务逻辑有关的方法都在SERVICE接口中,并且在COMBRIUPSERVICE包中创建一个IMPL包,此包中的类是对SERVICE接口的实现。46系统接口及映射文件的实现设计本系统的持久化逻辑采用HIBERNATE作为中间件,并使用DAO设计模式实现。主要是在业务核心方法和具体数据源之间增加一层,这样就减少了两者的耦合。每个持久化类对应一个DAO,它实现了持久化类的创建、查询、更新及删除方法,即CRUDCREATE、RETRIEVE、UPDATE、DELETE方法,以及其他访问持久化机制方法。本系统所有与数据库逻辑有关的方法都在DAO的实现类中,现在DAO包下创建接口IPRODUCTDAO、IORDERDAO、IUSERDAO,并在DAOIMPL包下创建接口的实现类PRODUCTDAOIMPLORDERDAOIMPL、USERDAOIMPL,注意要继承相应的接口。为了使用HIBERNATE来持久化对象,首先要根据数据库的各个表创建映射文件每个类都对应的HIBERNATE映射文件,且都放到BEAN包下。47模块功能设计与实现471登陆功能任何的用户都必须通过登陆界面进入购书系统。在登录界面上用户可以输入用户名和密码进行登录,在登录时用户可以选择以不同的角色身份登录。如果用户名和密码正确,将成功跳转到体育用品销售管理系统主页面,如果不正确,提示给用户错误信息,并且还跳转到登录界面继续登录。具体实现思想首先客户端验证通过JAVASCRIPT来完成,比如用户没有输入用户名时提示客户用户名不能为空,密码为空时提示密码不能为空。只有用户名和密码都填写好以后才能进行客户端数据的提交,这样使得操作更加方便并且提高效率。当数据提交以后,表单中的数据将经过拦截器,它的作用是为参数作类型转换,这个过程是自动完成的,无须我们去作这部分工作。我们在LOGACTION里面也有定义两个实例变量NAME和PASSWORD并且写上对应的SET/GET方法。然后判断登录的身份为普通用户还是管理员,输入的用户名和密码是否正确,ACTION里面的EXECUTE方法调用IUSERSERVICE接口中的LOGINCUSTOMERC方法实现登录的合法性验证。如果为普通用户,在此SERVICE方法中首先要调用DAO方法中的FINDSTRINGNAME方法判断数据库CUSTOMER表中是否存在名字为NAME的记录,如果不存在提示用户输入的用户名不存在,如果存在,继续判断密码是否于数据库中的密码相同,相同的时候表示登录成功EXECUTE方法返回SUCCESS,然后STRUTS2根据配置文件的配置跳转到相关的页面,也就是销售管理的客户主界面。如果是管理员,我们将把SERVLETCONTEXT里面的ADMIN键值对读出,如果用户密码都正确跳转到管理界面否则提示出错。无论是用户还是管理员,在登录成功后都把SERVICE层的LOGIN方法返回的CUSTOMER对象保存到SESSION范围内。遇到的问题在写ACTION的时候总是忘记把属性的SET/GET方法写上,这样作的后果是STRUTS是没法给属性赋值的,可能会产生空指针异常。还有就是由于在EXECUTE方法里面实际上有普通用户和管理员的两个登录,所以刚开始写时把返回值都写成了“SUCCESS“和“ERROR“,这样是不能跳转到正确的页面的。472注册功能任何第一次登陆的用户必须先注册,与注册界面有关的为REGISTERJSP,在完成注册功能时需要为注册功能的实现定义一个ACTION名字为REGISTERACTION,在EXECUTE方法中调用相应的DAO和SERVICE方法实现注册。对注册的用户进行合法性的验证,满足所有的条件的用户才能注册成功。用户名作为用户登录的唯一标识。在验证注册新用户的过程中加入新加入了JAVASCRIPT验证的过程,提示用户在注册时必须提供用户名和密码,且为了密码的安全,位数在6位和8位之间等等。只由在满足这一系列条件的情况下才能正常地注册,否则重新注册。具体实现的思想在注册界面中,对于带有红色星号的项必须填写,其具体的客户端验证通过JAVASCRIPT完成,如果没有填写在提交的时候系统会提示用户填写相关的项目。在JAVASCRIPT文件的MAINJS中定义了一个函数,专门对注册界面提交的表单进行合法性验证,如果验证通过,转回FORM中执行的ACTION属性,跳转到REGISTERACTION的EXECUTE方法中,在EXECUTE中接收到从注册页面的表单中的提交的相关数据,创建USER对象并将提交的数据封装在此USER类中,调用SERVICE中的REGISTERUSER方法对业务逻辑进行进一步的验证,完全符合条件的情况下才能注册成功,否则继续进行注册。473购买商品功能商品的购买必然要牵涉到购物车的实现,它也是本系统的核心技术部分,首先是购物车列表的动态显示,所有商品的数据是通过监听器加载进内存的,通过分页技术,让顾客能浏览所有的体育用品商品。实现购物车中的添加体育用品、修改购买的数量,以及清空购物车的功能。体育用品列表的动态显示是在WEB应用启动的时候完成的,使用了创建事件监听器的方式实现。具体实现在LISTENER包中创建一个APPLICATIONLISTENER类,继承系统提供的SERVLETCONTEXTLISTENER类,定义CONTEXTINTIALIZED方法对体育用品列表信息进行初始化工作,在此方法中新建一个PRODUCTS类型的对象,该对象的构造方法就有从数据库中查询出所有的商品,然后把PRODUCTS的对象存放在SERVLETCONTEXT范围内的APPLICATION对象中,存放在SERVLETCONTEXT范围内的对象的生命周期为从WEB的启动到WEB服务器的关闭时注销,因此解决了在整个系统运行的过程中都有体育用品信息的存在,而且不用在每次用到体育用品信息的时候去数据库中查询调用数据,减少了与数据库的交互性并能提高系统的运行效率。采用CONTEXTDESTORIYED方法删除存放在SERVLETCONTEXT范围中的体育用品信息。购物车的创建是在LISTENER包中创建一个SHOPCARTLISTENER类,继承系统提供的HTTPSESSIONLISTENER类,从HTTPSESSIONLISTENER中获取SESSION对象,创建一个SHOPCART对象,并把它放在SESSION范围内,以供用户使用。在创建事件监听器以后,一定要在WEBXML配置文件中对事件监听器进行配置,否则创建的事件监听器不起任何作用。核心代码如下COMBRIUPWEBLISTENERSHOPCARTLISTENER体育用品信息在JSP页面上的动态显示使用了在JSP的脚本中使用JSTL标签结合EL表达式来处理。使用EL的目的为输出对象中的属性值,输出一些变量值,输出一些表达式关系、逻辑、算术的结果例如SESSIONSCOPE把SESSION范围中的KEY和VALUE进行映射SESSIONSETATTRIBUTE“NAME“,“JACK“SESSIONSCOPENAME等于OUTPRINTLNSESSIONGETATTRIBUTE“NAME“用户点击购买按钮时相当于提交了一个表单,这个表单包含了一个隐含的INPUT标签,其内容为购买体育用品的ID号,和购买的体育用品数量。然后这个表单转向ADDPRODUCTACTION来处理。ACTION的实例变量ID,和NUM已经由STRUTS2进行了赋值。EXECUTE方法中新建一个PRODUCT对象,然后从SESSION对象中获得SHOPCART对象,并调用其中的ADDPRODUCT方法往购物车中添加一条PRODUCT对象。点击体育用品列表下方的查看购物车功能时,跳转到SHOPCARTJSP页面,在购物车页面中使用JSP脚本把存放在SESSION范围内的SHOPCART对象取出,将SHOPCART对象中的所有PRODUCTS信息使用JSTL的中的集合遍历方式遍历输出。在购物车中点击清除按钮时可以从购物车中删除指定的PRODUCTS对象。当点击购物车中指定的书的删除按钮时,可以删除购物车中的这条PRODUCTS。同理,我们也可以体育用品清空购物车时,把SHOPCART所维护的那个MAP给清空掉,购物车清空就这样实现了,具体方法为调用SHOPCART的REMOVEALL方法。474用户订单管理在体育用品列表中有查看用户订单信息的功能,需要实现IORDERDAO接口中的FINDORDERBYUSERID方法,此方法与数据库交互查询出当前用户所有的ORDER信息,实现IORDERSERVICE接口中的业务方法LISTORDERSOFUSER,在ORDERACTION中创建EXECUTE方法,调用SERVICE层的LISTORDERSOFUSER方法来查找用户所有的订单信息。将使用LISTORDERSOFUSER查找出来的订单信息存放在SESSION对象中,在显示用户订单信息的ORDERJSP页面中使用EL表达式获取到存放在SESSION对象中的订单信息,使用JSTL标签来遍历集合,将所有的订单信息显示在页面上。在用户订单信息中可以查看订单明细,在LISTORDERJSP中设置隐藏文本框,可以将指定的订单的ID号通过表单参数传给ORDERDETAILACTION中的EXECUTE方法,在此方法中调用IORDERSERVICE接口中的LISTORDERSOFUSER方法从数据库中查找确定ID的订单信息。将此确定的订单明细信息存放在REQUEST中,在ORDERLISTJSP页面中使用EL表达式REQUESTSCOPEORDER获取REQUEST对象中的订单明细信息,输出到页面上。在购物车中有提交订单的功能,当你登录用户名时,点击提交功能时跳转到CONFIRMORDERJSP页面,在这个页面上点击确认按钮时才能正式提交订单,并将订单信息提交给相应的ACTION来处理。具体实现思想在ORDERDETAILACTION中创建EXECUTE方法,从SESSION中获得SHOPCART对象并将它的PRODUCT对象转换为ORDER对象,再封装一个订单对象,然后调用IORDERSERVICE接口的SAVEORDER方法实现将订单信息保存到数据库中。当你未登录用户名时,点击提交按钮系统会自动提示你登录用户名,页面也相应转到用户登录界面。475用户信息修改在整个销售系统中还可以对用户的个人信息进行修改,用户可以只修改密码也可以修改其他信息。476库存管理在此模块中管理员可以增加商品和修改商品。增加的商品会及时的保存到数据库中,但是由于用户所看到的商品是在系统启动的时候加载进内存的,所以要多刷新几次或者下次登录时,用户才会看到。同理,删除的商品虽然在数据库中删除,但是仍然在表现层用户还是会看到已经商品的购买,而此时用户点击购买会出现异常情况。48系统业务流程图图42系统业务流程图49本章小结本章主要参考概要设计所提出的软件架构,用分层的思想实现了销售管理的基本功能。在用户的功能实现上,有对选购商品,购物车管理,订单管理等。在管理层方面实现了添加物品,修改库存,物品信息管理模块。第五章测试小结51测试说明一、测试的目的及要求软件测试试图以最少的代价发现软件分析、设计和编码中存在的各种不同类型的错误,从而提高软件质量,降低软件成本。软件测试是保证软件质量的关键,也是发现软件中错误和缺陷的主要手段。软件测试的目的是确保最终交给用户的产品的功能符合用户需求,在产品交给用户之前发现并改正尽可能多的问题。测试过程中我们能发现体育用品销售管理系统的每个功能是否都能正常使用,检查程序功能是否按照需求分析的规定正常使用,程序是否能适当地接收输入数据而产生预期的输出信息。二、测试流程软件测试的流程一般分为以下三步1准备测试数据,并预测结果;2数据输入,进行测试,并记录测试结果;3分析测试结果及其产生原因。三、功能测试简介功能测试,又称黑盒测试或数据驱动测试,是指已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看做一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者对程序接口进行测试,它只检查程序功能是否能按照需求规格说明书的规定正常使用。52系统功能测试本销售管理系统分为客户端的功能测试和服务端的功能测试。在进行用户端测试之前,为了能让用户能购买体育用品所以预先录入了一些商品信息。为了方便服务端的测试系统在启动时读取配置文件获得默认的管理员帐号和密码,在登录时可以选择此帐户并以管理员身份登录进行后台数据的管理。一、用户注册1准备测试数据,并预测结果。测试数据如表51所示表51用户注册数据如下用户名宋志鹏密码123456确认密码123456所在地区中国山西省朔州联系地址1太原理工大学联系地址2迎泽西大街79号ZIP邮政编码030024家庭电话000000办公室电话000000手机12345678912EMAIL123456789QQCOM预期结果使用测试数据能够完成用户的注册模块,并且跳入商品显示页面。如果之前有用户注册了一个相同用户名的账号则此次注册失败,并提示用户。2数据输入,进行测试,并记录测试结果输入的数据如图51所示图51注册信息数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论