基于Struts2购物网站的设计与实现毕业论文.doc_第1页
基于Struts2购物网站的设计与实现毕业论文.doc_第2页
基于Struts2购物网站的设计与实现毕业论文.doc_第3页
基于Struts2购物网站的设计与实现毕业论文.doc_第4页
基于Struts2购物网站的设计与实现毕业论文.doc_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

基于Struts2购物网站的设计与实现毕业论文 目录摘要IIIAbstractIV第1章 绪论11.1选题背景11.2论文所做的工作21.3论文结构的安排3第2章 电子商务基础和相关技术42.1电子商务简介42.2 Struts242.3 Hibernate52.4 Spring7第3章 系统需求分析93.1开发可行性分析93.1.1技术上的可行性93.1.2管理上的可行性93.1.3经济上的可行性93.2功能需求分析103.2.1需求提取103.2.2需求分析103.3数据库分析143.3.1系统E-R图143.3.2数据字典15第4章 系统总体设计20第5章 系统详细设计255.1 系统的MVC分层架构设计265.1.1 Model层设计265.1.2 View层设计265.1.3 Control层设计265.1.4 Spring框架在系统中的作用275.2商品管理模块实现275.2.1商品添加功能实现285.2.2商品管理功能实现315.2.3订单管理功能实现365.2.4会员管理功能实现375.3用户购物模块实现385.3.1购物商品列表功能实现385.3.2购物车管理功能实现385.3.3会员订单查看功能实现40第6章 测试42结束语45参考文献46致谢47附录48摘要伴随着计算机技术在各行各业日益广泛和深入的应用,网络的概念早已深入人心。网络在各行各业的发展战略中占据了重要的位置,成为商家不可分割的部分。商品的宣传已不只局限于电视与报纸,网络已成为商家展示自己的另一个舞台。商家建立网站,将商家各方面的宣传与服务展现于网络中,通过网络更可实现如网上购物、信息查寻等功能,这些在改变我们原有经营方式与经营理念的同时,也为商家带来了更高的效益。因此,对于商家来说,拥有一个属于自己的网站是至关重要的。本文从网上购物电子商务平台入手,对电子商务的组成、特点、流程等进行了研究并对电子商务平台的体系结构、Struts2设计模式框架、Hibernate对象持久化框架、Spring依赖注入等关键技术进行了深入探索,掌握了电子商务平台的设计方法、开发流程以Struts2框架和Hibernate框架在电子商务平台开发中的运用。在此基础上实现了商品信息管理、用户订单管理、在线购物管理、购物车管理等电子商务平台中重要功能。通过开发过程的实践,系统的总结了电子商务平台的开发经验,探讨了电子商务平台的具体的分析方法、建立模块方法和设计开发的工作流程以及测试方法。在总结以前经验的同时,也分析了系统之中有待深刻探讨解决的问题和深入研究的不足之处。关键词:电子商务,购物网站,Struts2,Hibernate,Spring,MySqlAbstractFollow the technology of the computer in the enterprise and deep application day by day of all trades and professions, the concept internet has been deeply taken up peoples heart. Today , the internet takes an very important part in the development tactics of all trades and professions, became a part of an company which can not be partition off. Themerchandise has not only limited in TV set and newspaper. The internet has became another stage which company can display themselves. Company set up web site, and make propaganda and service of all aspects of company, display on the internet. Though internet we can achieve buying products on the internet, searching message and so on. Those have changed old way of management and idea of management, meanwhile those also bring more yield for company. So, for the business company, have a web site which is belong to themselves is very important.Start from the online shopping e-commerce platform on the composition, characteristics, processes of e-commerce research and e-commerce platform architecture, Struts2 design pattern framework, Hibernate object persistence framework, Spring dependency injection and other key technologiesin-depth exploration, mastered the design of the e-commerce platform, the development process in the development of e-commerce platform Struts2 framework and Hibernate frameworks. On this basis, commodity information management, customer order management, management of online shopping, shopping cart management, e-commerce platform. Practice through the development process, the system summed up the experience in the development of e-commerce platform to explore the specific methods of analysis of the e-commerce platform, the establishment of the modular approach and the design and development of workflow and test methods. At the conclusion of the previous experience, to be deeply explore the problems and the lack of in-depth study of the system.Keywords:E-commerce,Shopping site ,Struts2,Hibernate,Spring, MySql70基于Struts2购物网站的设计与实现第1章 绪论1.1选题背景互联网已经深入到人们生活的各个角落,成为人们工作、生活中不可缺少的一部分。互联网已经发展成了“第七个州”,即虚拟州,世界上的每个人都生活在虚拟州中。一个人要想生存,一个企业要想发展,就必须采取一种新的生存方式和新的竞争手段去适应可能面对的各种困境。面对互联网本身所据有的低成本、全球性、高效率、开放性等特点,以前的商业模式暴露的问题也越来越多,原有的商业格局和运作模式在互联网上显得那样的苍白无力,世界上互联网的发展趋势给传统商务工作带来了巨大的压力,而同时也带来了巨大的动力和机遇,而相对的也带来了新的挑战,同时机遇是潜在的存在,而这些就是迫使我们拆散原有商业格局的催化剂,变革原有的商业模式来契合互联网的发展以获取最大效益。据权威调查在我国目前大约有上万家大中型企业使用了互联网,其中一些企业甚至拥有了自己的主页和服务器。任何新事物的诞生都是代表着一种发展趋势,只有那些符合进步的趋势才会得到大家的认可。电子商务(Electronic Commerce)就是这样一种新生事物,电子商务对人类社会进行着全方位的改造,在企事业单位、各种公共机构、教育以及娱乐等各个方面改变着人类之间向往的方式,为人们展示了一个多姿多彩的世界。由于电子商务(Electronic Commerce)的出现,从前的经营模式以及经营理念必将发生变化。电子商务(Electronic Commerce)将会实现巨大的效益和机会,会将市场的时间形态、空间形态、虚拟形态结合到一起、将资金流、信息流、物流汇集成良性循环的开发性环路,使经营者以市场为纽带,在市场上发 挥出最佳的作用,以及得到最大的效益。电子商务(Electronic Commerce)的发展,不但能够有力地推动互联网的发展,而且对社会的进步和经济的变革产生深远影响,而且更重要的是电子商务(Electronic Commerce)本身的发展为我们提供了巨大的机会。企业家利用先进的科学技术为人们营造越来越广阔的“电子空间”,在人们感受到科技发展带来的种种好处的同时,也代表着信息时代的经济即将腾飞。现在越来越多的企业希望通过电子商务(Electronic Commerce)来获得更广阔的发展空间,而越来越多的人渴望了解并亲身参与到电子商务中去,目前精通电子商务的人才短缺问题是阻碍我国电子商务发展的一个重要因素。因此,我设计并研发了这套网上购物系统,将电子商务中所涉及的各种理论知识和相关技术集成到此套系统中,期望能够模拟出使用者通过使用该系统深入浅出的了解其中的某些关键信息技术,使其体会出网上购物系统的内部工作机理,并加深对网上购物运营方式的了解与认识。1.2论文所做的工作论文所做的工作就为了开发出这套应用系统,并使系统能够达到适合使用的标准以配合模拟者的实际使用,通过深入研究电子商务网上购物相关的各种文档加深对电子商务的了解认知,主要包括:电子商务的安全技术与标准、电子商务的基础知识、电子商务的网上支付技术以及如何建立电子商务网站等各项技术。本文从网上购物电子商务平台入手,对电子商务的组成、特点、流程等进行了研究并对电子商务平台的体系结构、Struts2设计模式框架、Hibernate对象持久化框架等关键技术进行了深入探索,掌握了电子商务平台的设计方法、开发流程以及Struts2框架和Hibernate框架在电子商务平台开发中的运用。在此基础上实现了商品信息管理、用户订单管理、在线购物管理、购物车管理等电子商务平台中重要功能。通过开发过程的实践,系统的总结了电子商务平台的开发经验,探讨了电子商务平台的分析方法、建模方法和开发的工作流程以及测试方法。在总结经验的同时,也分析了系统中有待探讨解决的问题和研究的不足之处。1.3论文结构的安排论文结构的安排由于电子商务系统本身是一个涉及多领域、多学科的复杂系统,本篇论文所涵盖的内容与体系设计涉及多个方面。现在将整篇论文的结构介绍如下:第一章主要对论文的选题背景进行阐述,对论文的主要工作进行了概括性的说明,阐明本篇论文选题的现实作用和其积极的意义,最后简要介绍了本文的组织结构。第二章介绍了本文所涉及到的相关概念和关键技术,首先对电子商务领域的一些基本概念进行了介绍,然后对构建网上购物电子商务平台所需的一些关键技术进行了研究,包括结构模式、Struts2框架、Hibernate框架、Spring框架等。第三章对系统的分析进行了详细的阐述,对系统进行了需求分析,给出了系统用例和详细的用例说明,最后系统数据库需求进行了分析。第四章对系统的设计进行了说明,首先根据系统特性明确了系统的设计原则,然后风别从功能和数据库两方面进行设计。第五章给出了系统中各个组成模块的具体实现过程及安装部署说明。第六章对课题进行总结。第2章 电子商务基础和相关技术2.1电子商务简介一个完善的电子商务系统应该包括哪些部分,目前还没有权威的论述。从总体上来看,电子商务系统是三层框架结构。底层是网络平台;中间是电子商务基础平台;而第三层就是各种各样的电子商务应用系统。电子商务基础平台是各种电子商务应用系统的基础。电子商务具有以下几个主要特点:系统性、动态关联性、经济性、竞争性。2.2 Struts21)Struts2的起源当Java Servlets刚刚开始出现的时候,由于它速度很快而且功能强大,许多开发人员很快就意识到这是一个非常好的技术。但是不停的地使用println方法向浏览器提供HTML是一个比较简单的操作过程。比较深层次的解决方法是利用JSP在Servlet内部进行处理。即可轻松地把HTML与JAVA结合在一起。但是这种方法在解决控制流和某些特定问题上存在明显缺陷。于是开发工作者想到将JSP和Servlet联合起来构成网络应用,其中Servlet操作控制流,JSP用来完成HTML是解决这些问题的一种很好的模式,这就是众所周知的Mode2目前Struts 2.0正式版已经推出,它是Struts2整合了WebWork后的产品。对传统的Struts2做出了很大的改进。其中包含许多新特性,主要包括整体性能的提高、全功能的WebFlow支持,包括JSP、FreeMarker和Velocity,quickstart的快速体验、全新的示例程序、更好更多的智能错误报告、用户界面改进等。2)Struts2的特性基于Struts2框架的Web应用程序基本上符合Model2的设计标准,可以说是传统MVC设计模式的一个变种。Struts2框架将MVC模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Struts2继承了MVC的各项特性,它包括框架类、帮助类和定制的JSP标签库,以及大量基于J2EE Model2设计模式的应用技术。它为开发者建立Web应用提供了一个强大、方便、可扩展的开发环境。3)Struts2的体系结构Struts2是基于Model2之上的,Model2是经典MVC模型的Web应用变体,这个改变主要由于HTTP的无状态性引起的,Model2和MVC一样,也是利用控制器来分离模型和视图,达到一种层间松散耦合的效果,以提高系统灵活性、复用性和可维护性。Struts2继承了MVC的各项特性,并根据J2EE的特点,做了一些变化和调整。作为MVC模式的典型实现,对Model、View和Controller都提供了实现组件其具体的实现,如图2.3所示。图2.1 Struts2框架结2.3 HibernateHibernate是一个面向Java环境的对象/关系数据库映射工具。对象/关系数据库映射(Object/Relational Maing)表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。Hibernate从问世的那天起,就爆发了一场对数据持续性处理问题的激烈讨论。所以在目前行业的Java数据库应用项目中,许多的开发人员开始使用Hibernate在数据库上的应用,从而将开发人员从重复、技术含量不高、繁琐的数据库编程中解脱出来。在Hibernate诞生之前,开发人员要非常麻烦的将面向对象的软件和关系结合在一起。而借助Hibernate对象/关系数据库映射(ORM)技术,可以轻松地将对象的各个状态数据映射到基于SQL的关系模型数据结构中去。而Hibernate中最核心的技术是ORM,就是将Java中的对象与对象之间的关系,对应到关系型数据库中的表格与表格的关系,Hibernate提供了方案,相反地,也提供数据库表与表之间的关系,对应Java程序中对象之间的关系。Hibernate中提供了数据查询和获取数据的方法,从而大幅度减少了开发时人工使用SQL和JDBC处理数据的时间。Hibernate的系统结构正如上面所介绍的,Hibernate的持久化解决方案将用户从赤裸裸的JDBC访问中释放出来,用户不再关注底层的JDBC操作,而是以面向对象的方式进行持久化操作。这种“全面解决”的体系结构,如图2.2所示:图2.2 Hibernate体系架构图下面对上图中各对象逐一进行说明:SessionFactory,这是Hibernate的关键对象,它是线程安全的,因为它是单个数据库映射关系经过编译后的内存镜像。它本身要用到ConnectionProvider。Session对象有一个一级缓存,显示执行flush之前,所有持久化操作的数据都缓存在Session对象处。持久化对象,系统创建的POJO示例,一旦与特定的Session关联,并对应成数据表的制定记录,该对象就处于持久化状态,这一系列对象都被称为持久化对象。在程序中对持久化对象执行修改,都将自动被转换为持久层的修改。事务(Transaction),代表一个原子操作,它具有数据库事务的概念。但它可以通过抽象,把应用程序从底层具体的JDBC、JTA以及CORBA事务中隔离开。2.4 SpringSpring作为实现J2EE的一个全方位应用程序框架,为我们开发企业级应用提供了一个健壮、高效的解决方案。主要有以下几个特点:1 非侵入式:对于写代码从来不考虑复用和移植的程序员来说,这一点根本就没有吸引力,那么请跳过。所谓非侵入式是指Spring框架的API不会在业务逻辑上出现,也就是说我们的业务逻辑应该是纯净的,不能出现与业务逻辑无关的代码。首先针对应用而言,这样我们才能将业务逻辑从当前应用中剥离出来,从而在其他的应用中实现复用;其次针对框架而言,由于业务逻辑中没有Spring的API,所以业务逻辑也可以从Spring框架快速的移植到其他框架。2 容器:Spring提供容器功能,容器可以管理对象的生命周期,对象与对象之间的依赖关系。你可以写一个配置文件(通常是xml文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。那么在容器启动之后,这些对象就被实例化好了,你直接去用就好了,而且依赖关系也建立好了。3 IOC:控制反转,谓之“依赖关系的转移”,如果以前都是依赖于实现,那么现在反转为依赖于抽象吧,其实它的核心思想就是要面向接口编程4 依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、set注入,在Spring中只支持后两种5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个“方面”,那么以前这些服务一直是直接写在业务逻辑的代码当中的,这有两点不好;首先业务逻辑不纯净,其次这些服务被很多业务逻辑反复使用,完全可以剥离出来做到复用。那么AOP就是这些问题的解决方案,我们可以把这些服务剥离出来形成一个“方面”,以期做到复用;然后将“方面”动态的插入到业务逻辑中让业务逻辑能够享受到此“方面”的服务。其他还有一些特点不是Spring的核心,这里只做简单陈述,如:对JDBC的封装与简化,提供事务管理功能,对O/R mapping工具(hibernate、iBATIS)的整合;提供MVC解决方案,也可以与其他web框架(Struts2、JSF)进行整合;还有对JNDI、mail等服务进行封装。第3章 系统需求分析3.1开发可行性分析3.1.1技术上的可行性根据系统目标需求分析得结果来看,不需要通过购买专业软件,仅采用基本的J2EE开发工具,就可以解决相关的问题,从而保证系统功能的实现。3.1.2管理上的可行性把企业业务延伸到Internet上,建立了电子商务网站,这样,对于企业来说,可以通过网络方便的展示信息,快捷的进行购物等商务活动。因此,企业中的管理人员也不会对此有很大的抵触情绪,主管领导也能够给予相应的支持。3.1.3经济上的可行性企业在运营过程中,会经常遇到产品的宣传受到限制等情况,会有一些地理位置相对较远的客户与企业,这样,采购商或顾客只能通过上门咨询或者电话沟通等方式进行各种信息的获取与交换,也受到了时间与物理空间的局限并且成本随之提高。而本系统可以帮助企业正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来是企业与顾客间的经济活动变得更灵活、更主动。3.2功能需求分析需求分析就是描述系统的需求,通过定义系统中的主要类来建立模块。开发者和提出需求的人之间建立一种理解和沟通机制这才是分析的根本目的所在,所以电子商务网上购物系统的需求分析也必须是开发人员和用户(或客户)一起才能完成的。需求分析一般包含两个步骤,首先进行需求提取,通过调研,与客户充分交流沟通咨询等手段获取需求信息,对系统的需求进行概括性的描述。然后再需求提取的基础上再通过识别参与者、绘制用例图以及进行用例描述等方法进行进一步的需求分析。3.2.1需求提取电子商务网上购物系统的简单流程是:商品管理员进货后,整理归类,将商品信息发布到网站上。网络用户登录该网站后,自行注册,购得商品,提交购物单给商品管理员。管理员根据具体情况更改订单的状态(已下单,未受理/已受理,未发货/已发货,交易未结束/交易成功).3.2.2需求分析1、识别参与者从上面的文本需求说明可知,电子商务购物系统的角色可以划分为两类。商品管理员:拥有所有权限。用户(购物者):浏览商品列表、任意选购商品、任意填写购买数量、修改购买数量、删除已选择的商品、取消购买、提交购买下达订单和查看自己订单的处理进度。2、系统用例图根据上述分析,画出系统的主要用例图,如图3.1所示。登录商品管理后台管理员订单管理管理会员管理系统用户管理会员信息修改会员前台订单管理购物车管理购物浏览商品会员注册非会员商品搜索图3.1 系统用例图3、系统用例说明表3.1 商品管理用例说明名称、标识符商品管理功能描述对商品进行增加、删除、修改、查询、发布优先级高输入输入初始化的商品输出显示商品的基本信息补充说明首先要求的就是能够添加商品表3.2 订单管理用例说明名称、标识符订单管理功能描述查看订单、删除订单、修改订单的状态优先级高输入主要选择订单的四种状态:已下单,未受理/已受理,未发货/已发货,交易未结束/交易成功输出主要是显示订单的基本信息和订单状态 表3.3 会员管理用例说明名称、标识符会员管理功能描述管理员可以查看所有注册用户、删除某一用户、修改某一用户的基本信息优先级低输入输入用户的基本信息输出用户的基本信息补充说明主要是对用户进行审核,若有不守信用的会员可以及时删除表3.4 用户注册用例说明名称、标识符用户注册功能描述注册用户的信息包括登录账号、密码、核对密码、真实姓名、联系电话、联系地址、邮政编码、电子邮箱优先级高输入输入用户的基本信息输出把填入的信息保存到数据库,用于日后管理员的维护以及用户自己的修改补充说明购买商品,必须先进行注册。表3.5 选购商品用例说明名称、标识符选购商品功能描述可以查看所有上架商品、选择购买、填写购买数量优先级中输入用户将要购买的产品输出将用户已经购买的商品基本信息显示出来补充说明表3.6 购物车管理用例说明 名称、标识符购物车管理功能描述可以查看自己已选购的商品和数量、可以修改某一数量,也可以继续购物,清空购物车,提交购物车下达订单优先级中输入如果觉得购买的数量不如意,可以重新输入用户要购买的数量输出把用户选好购买的商品信息显示出来补充说明确认好了就可以下达订单3.3数据库分析数据库分析是整个电子商务系统开发过程中一个重要环节,它具体可以分为两个部分:一是概念模型的分析,即E-R图的分析;二是逻辑模型的分析,即表与字段的分析3.3.1系统E-R图本系统根据上面的需求分析,可以确定系统中各种实体以及他们之间的关系。规划出的实体包括用户数据实体、货物数据实体、商品类别数据实体、所购商品信息实体等。通过对实体联系的分析,设计出本系统各实体联系的E-R图,如图3.2所示。商品购买会员隶属商品种类包含订单购物车拥有购物车选购商品拥有包含生成1nn1n1n1n1nn1生成1nnnN图3.2 电子商务系统实体关系图3.3.2数据字典表与字段分析是建立在上面所示的电子商务网上购物系统E-R图的基础上,可以通过该E-R图确定系统中所有的表以及相应的字段。根据功能模块设计的结果可知,本系统的用户有管理员和注册用户两类,在系统中要记录用户的数据。用于管理用户和注册用户的性质和操作功能大不相同,因此,在此系统中要分别进行数据记录。首选需要如下两个数据实体。管理员数据实体:只要记录管理员的用户名和密码,这两项是进行管理功能模块登录验证时所必需的。表3.7 管理员表(Admin)编 号 字段名称字段类型 说 明1IDint主键id2LoginNamevarchar(20)管理员用户名3LoginPwdvarchar(50)密码 注册用户数据实体:包括用户名、密码、身份证、性别、联系地址、联系邮编、联系电话、电子邮件等。这些信息由用户自己进行维护,管理员可以根据这些信息来了解户。表3.8 注册用户表(member)编 号 字段名称字段类型 说 明1IDInt(11)主键id2MemberlevelIDInt(11)会员级别id3LoginNamevarchar(20)会员账号4LoginPwdvarchar(50)密码5MemberNamechar(12)会员名称6Phonevarchar(40)电话号码7Addressvarchar(100)地址8Zipchar(6)邮编9RegDatedatatime注册时间10LastDatedatatime最后一次登录时间11LoginTimesint(11)登录次数12Emailvarchar(100)邮箱13Integralint(11) 会员级别作为电子商务网上购物系统,商品信息是最为重要的。商品表往往是多种多样的,因此要进行分类管理,这就需要如下两个数据实体。 商品类别实体:用以记录该系统中商品的类别信息,主要记录商品的类别名称。表3.9 商品类别表(category)编 号 字段名称字段类型 说 明1IDint主键id2ParentIDint(11) 上级类别ID3CateNamevarchar(50)类别名称商品信息数据实体:用以记录商品的基本信息,包括商品名、销售员、生产商、商品编号、定价、总数量、商品简介、商品类别。这些数据由管理员进行录入和维护,用户进行浏览和选购商品。 表3.10 商品信息表(Goods)编 号 字段名称字段类型 说 明1IDInt(11)主键id2CategoryIDInt(11)类别ID3MerNamevarchar(50)商品名称4Pricedecimal(8,2)市场价5SPricedecimal(8,2)优惠价6MerModelvarchar(40)商品型号7Picturevarchar(100)商品图片8Videovarchar(100)商品视频9MerDescText商品描述10Manufacturervarchar(50)生产厂家11LeaveFactoryDatedatatime出厂日期12Specialint(11)13HtmlPathvarchar(100)静态页面地址 14StatusInt(11)商品发布状态以上的4个实体都是基本的数据实体,作为电子商务网上购物网站,购买的信息需要随时记录和更新。注册用户登录后选购商品,下达订单时需要记录该用户下达的订单和某一订单对应的商品信息,因此又有如下两个实体。用户订单实体:记录所有用户下达的订单的记录,包括用户的会员名字、订单的编号、下达订单的日前、订单状态;管理员可以根据实际的状况来修改订单状态信息,用户可以随时查看该订单的状态信息。表3.11 用户订单表(orders)编 号 字段名称字段类型 说 明1IDint(11)主键id2MemberIDint(11)会员ID3CartIDint(11)购物车ID4OrderNOvarchar(20)订单编号5OrderDatedatetime订单生成日期6OrderStatusint(11)订单状态订单商品数据实体:记录所有订单包含的商品信息,包括订单的编号、商品的编号。表3.12 购物车表(cart)编 号 字段名称字段类型 说 明1IDint(11)主键id2MemberIDint(11)会员ID3Moneydecimal(9,2)购物车总金额4CartStatusint(11)购物车状态表3.13 购物车选购商品记录 表(cartselectedmer)编 号 字段名称字段类型 说 明1IDint(11)主键id2CartIDint(11)购物车ID3MerchandiseIDint(11)商品ID4Numberint(11)购买的商品数量5Pricedecimal(8,2)商品价格6Moneydecimal(9,2)购物车总金额以上详细的讲解了,本系统数据库的分析及设计。还给出了主要的表以及表所对应的字段。其他表,如省份信息表、投票内容表等在这里就不做详细介绍了。第4章 系统总体设计通过上面对系统的设计可以看出,本系统界面一共分为两大部分。主要由前端网站与后台管理两大子系统构成,前端网站主要是用户在浏览网站并购物过程中使用,包括商品查看、用户注册、购物管理等;后台管理主要由系统管理员操作,用来管理维护网站基本数据,包括商品管理、用户管理、订单管理等。系统的功能模块图,如图4.1所示。电子商务网上购物系统会员注册前端网站后台管理会员登录在线购物订单管理会员管理订单管理商品管理登录模块购物车管理商品购买商品查看商品搜索图4.1 系统的功能模块图电子商务网上购物系统的角色可划分为两类。(1)商品管理员:负责管理商品、订单、用户。(2)注册用户:在线购物、管理购物车、查看订单。这两类用户分别拥有自己的操作功能。每一个操作模块都要实现自身的功能,并且在整个的操作流程中负责承上启下。下面根据这两方面的需求,来分别描述要实现的功能。(3)管理员登录:系统初始化商品管理员用户,这些管理员能够通过该入口进入后台进行管理操作。在登陆过程中把用户所输入的用户名与密码和数据库里的管理员的密码进行匹配,密码采用的是MD5加密方式,如果匹配不相同则返回登陆页面重新输入用户与密码,如果匹配相同则用session记录登陆人的ID与用户名,并在整个后台的操作过程中同步验证session的有效性。(4)管理员管理商品:首先要求的就是能够添加商品。商品的分类在系统初始化时初始化好,在添加商品时包含的信息有商品名、生产商、市场价格、促销价格、总数量、商品简介、商品类别,管理员可以由一个界面查看所有的商品,对已经添加好的商品可以修改它的某一属性,也可以删除不想保留的商品。(5)管理员管理订单:管理员可以查看注册用户下达的所有订单,订单的信息包括订单编号、会员名、总金额订单状态等信息。管理员可以删除某一定单,也可以修改某一订单的处理状态、发货状态。(6)管理员管理用户:管理员可以查看所有注册用户,用户的信息包括登录用户名、密码、真实姓名、性别、联系地址、联系邮编、联系电话、电子邮件。管理员可以删除某一个用户,也可以修改某一个用户的基本信息。(7)用户注册:网络用户均能够注册。注册的用户信息包括登录用户名、密码、确认密码(以便保证用户两次输入的密码都一样)、真实姓名、性别、联系地址、联系邮编、联系电话、电子邮件。用户名不能重复,用户名的必须由英文与数字组成并且是英文开头其中用户名、密码、联系电话、电子邮件为必填项。(8)用户登录:系统注册用户使用自己注册的用户名登录系统,进行购物、管理购物车、查看订单操作,还可以修改个人基本信息。(9)用户在线购物:无论是已经注册的用户还是没有注册的用户都可以查看所有的上架商品。但是购买商品只能是已经注册的用户才能购买,然后在添加购买的数量。(10)用户管理购物车:用户可以查看自己已经选购的商品和数量、金额,修改某一商品的购买数量,不选择某一已选的商品,也可以继续购物,清空购物车,提交购物车下达订单。在下达订单时,填写个人说明文字。(11)用户查看订单:用户可以查看自己下达的所有订单,查看订单的状态,还可以查看某一订单的商品列表。业务流程图,如图4.2所示。管理员登录录入商品资料管理用户资料查看订单维护商品资料修改订单状态图4.2 管理员操作流程图图4.2描述的是管理员进行操作的流程。管理员首先要进行商品数据的初始化,供注册用户浏览购买,当用户下达完订单后管理员在进行订单的管理工作。用户注册用户登录查看商品列表下达订单购买商品查看订单修改购物车中购买信息图4.3 用户操作流程图图4.3描述的是注册用户进行操作的流程。没有身份的用户需要先注册,登录系统后浏览商品列表并下达订单,在其后可以随时查看订单情况。本系统中的中心对象是商品,根据以上的功能需求分析可知,该系统的流程主要描述的是用户注册后购买商品、下达订单的流程,该系统的适用对象包括管理员和用户,因此包括以上两个流程。通过对上述的基本流程描述进行分类、总结和归纳我们能够编制出电子商务网上商店系统的文本需求说明如下:(1)在进入系统之后首先是登陆系统,根据用户输入的内容判断用户的合法身份。所谓合法用户分为商品管理员和购物者,其中,商品管理员拥有所有的权限,而购物者没有用户管理和物品管理等权限。(2)允许系统规定的商品管理员来添加商品、添加商品的分类,可以查看所有商品的信息,并能够修改和删除。商品信息包括商品名称、生产商、价格、商品简介、商品类别等基本信息。(3)允许商品管理员查看该系统的所有注册用户,可以修改某一个会员的基本信息,也可以予以删除。(4)允许商品管理员查看该系统的所有订单,查看订单的商品列表,并能够删除订单,也可以修改订单的状态。(5)任何一个会员都可以注册,成为该系统的固定会员,要记录的信息有用户名、密码、真实姓名、联系地址、邮编、电话等。(6)购物后的用户可以登陆系统查看自己订单的状态(已下单,未受理/已受理,未发货/已发货,交易未结束/交易成功),还可以修改个人的基本信息。网上购物系统商品分类模块商品查找模块订单管理模块查看商品信息购物车管理模块促销商品模块会员登陆登陆会员未登陆图4.4 前台流程图图4.4说明了要想购买商品必需注册,成为本系统的用户。注册用户后方可登录系统,浏览系统中已有的商品列表。购买商品的功能应该包括:任意选购商品,购买数量,修改购买数量,删除已选择的某一商品,取消购买,提交购买下达订单确认一次购买成功。第5章 系统详细设计整个系统前台的流程图,如图5.1所示图5.1 前台购物流程图5.1 系统的MVC分层架构设计MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 V通常用JSP来实现。iew层用于与用户的交互, Controller层的Action是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。将系统进行MVC分层能够使程序员有效率的开发,并且思路清晰、易于维护。下面将简单介绍本系统的MVC设计思路。5.1.1 Model层设计本系统中,Model层只是用来封装数据的作用,因此将数据库中的实例对象生成一个java类,便可以当做一个Model。Model层的作用是在Control层Action获得View层数据时,Control层想要将数据封装成一个对象,此时便可以直接使用Model层中的封装形式将数据进行封装。5.1.2 View层设计View层也可认为是显示层,采用jsp实现,View层主要功能是将Contorl层Action传过来的数据进行合理的编排并显示给客户端浏览器供用户浏览。因此View层的功能也相对比较单一。5.1.3 Control层设计由于Model层、View层的功能单一且Model层和View层不直接通讯,因此系统的大部分的业务逻辑和实现Model层与View层的交互都集中在Control层中处理。为此本系统采用了Struts2、Hibernate、Spring框架进行Control层的设计。为了能够更加清晰的进行系统开发,Control层的设计将划分为三个层面处理,分别是:Action、Service、Dao三小层,下面来介绍这三层的具体设计思路。Action层:action层主要运用Struts2的ActionSupport类实现,在这一层里主要的工作是获得前端(View层)的数据或者请求信息,并且action层接收到View层的请求的信息后会调用service层方法来获得View层需要的数据和将数据进行封装成Model。根据自身需要action层也可以直接与dao层进行交互从而获得数据库中的数据信息。Service层:service层主要负责业务逻辑的处理,主要运用了J2EE中的基本技术实现。action层调用service层时,service层根据action层的需要去跟Dao层交互并对action层传来的数据和dao层传来过来的数据进行逻辑处理,并把处理结果返回给action层。所以service层只是用来实现action层和dao层的信息交流。Dao层:service层根据action的需要调用dao层的方法时,dao层就直接与数据库交互,获取到数据库中的信息,并交给service层处理。因此dao层只是用来直接与数据库交互。本层的实现技术是以Hibernate框架实现。5.1.4 Spring框架在系统中的作用Spring框架在本系统中的作用主要是对Struts2框架和Hiberna框架进行耦合以及用来对Model进性依赖注入。从了解决了一般系统的低耦合性。5.2商品管理模块实现(1)管理模块,用于管理员进行商品管理、订单管理和会员基本信息管理等,包括如下几个部分:登录界面、商品管理、订单管理、会员管理;关于管理系统菜单截图,图中显示了商品管理、订单管理、用户管理等功能的菜单入口,如图5.1所示。图5.2 商品管理模块系统界面(2)会员模块,用于会员进行网上购物,是电子商务网上商店面向外界的功能,因此要满足用户使用的基本流程和要求,它包括如下几部分。会员注册:包括注册、修改个人信息。会员登录。会员购物:查看商品列表、添加(购买)到购物车。会员购物车管理:查看购物车、修改、删除、继续购买商品、提交购物车。会员订单查看:主要是查看订单。管理员商品管理模块系统界面如图5.1所示。下面给出主要界面的设计代码及其思路。5.2.1商品添加功能实现添加的页面是addMerchandise.jsp。在添加商品的界面中可知,添加商品时需要填写商品的基本信息,如商品名、生产商等等,在用户单击“提交“按钮保存填入的数据时,页面需要将这些信息从表单取出来。在配置文件struts.xml中通过指定Action mer_addMerchandise找到相应的类-merchandiseAction找到相应的处理方法-addMerchandise(),该处理方法 将JSP页面提交的信息作为参数进行处理:/* 处理新增商品请求 */public String addMerchandise()try model.setHtmlPath(/html/mer/+Tools.getRndFilename()+.ht

温馨提示

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

评论

0/150

提交评论