已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业订单管理系统项目设计方案第1章 概述1.1 课题背景目前国内企业在管理销售方面还处在比较低的水平。大多数企业在生产和购进货物后,只是将销售用手写式的记录和简单的管理。进入信息社会后,随着企业销售订单的增多,带的麻烦也逐渐增多,管理方面也得不到很好的解决方法,使得大量的数据丢失,使企业造成了很大的损失。Internet已经成为人们生活、工作、学习越来越离不开的平台,在网上进行下单,交易可以更好方便,同时减少了纸质交易资料的管理工作,将全部交由数据库进行保存。1.2 项目开发的目的及意义建立一个基于B/S架构的企业订单系统,实现信息网络化.通过较丰富的功能将 Web的技术特点体现出来。该系统可供注册用户登录使用.登录者可以查询商品以及下订单,可以通过此网站管理供应商、商品 、订单等操作,实现增删改查的操作,方便网站的管理与维护。要实现这样的功能,离不开后台数据库的支持。本系统中数据库采用了MYSQL作为后台数据库,通过JDBC进行连接,通过SQL语句进行需要的增删改查功能,使得系统与数据库完美结合。整个页面由JSP技术进行开发实现,主要由Web页面生成与JS技术结合JavaBeans技术实现组件重用两部分组成。本设计主要完成客户端,Web服务器端应用程序和数据库的制作,实现企业订单系统的创建,用户注册/登陆、对记录信息进行添加,删除,修改等功能。实现与完善整个基于B/S企业订单管理系统的组织建立和测试工作。利用SUN公司推出的强大应用程序开发软件Java,结合有关管理规范的知识和实际调研的结果,进行了对“企业订单管理系统”的开发。该系统具有操作简单性、稳定性、安全性和友好性的优点,给用户呈现出满意的界面。1.3 国内外动态分析在国外,企业订单管理系统的发展非常迅速,在网上进行交易,进行订单的管理非常先进,减少了大量人工工作,同时减少了纸质管理中容易出现的一些错误。目前,我国企业订单管理系统的管理还比较落后,很多企业还停留在纸质的订单管理。企业需要扩大客户数量,就要做好财务的收付工作和产品的管理,同时做好交易数据的管理。面对来自全世界的竞争和挑战,国内企业需要加强自身的管理,自己的信息化水平,更好的管理自己的数据,所以B/S的企业订单管理系统可以解决这一方面的需求。1.4 本文结构第1章是概述,主要介绍课题背景与项目开发的目的和意义,以及对国内外动态的分析。第2章是方案论证,主要介绍该系统开发时的方案选择,并从经济上、技术上论证了本系统是否可行,以及此系统所应用到的一些关键技术的简介。第3章是需求分析,主要介绍了用户的需求,然后根据用户的需求得出系统应该具有什么功能。最后总结出系统最核心的两个业务逻辑:用户登录和用户下单,管理员对用户的订单进行管理。第4章是过程论述,主要介绍了软件的系统构架以及系统的相关实体和实体间的关系,并论述了整个数据库的设计过程。最后详细的介绍了各个功能模块的实现过程,并讨论了系统的安全性设计。第5章是软件测试,介绍了常用的软件测试方法:黑盒测试和白盒测试。并使用基本路径测试的方式对普通用户注册、管理员登录、管理员订单管理进行了测试。最后是对本次毕业设计的总结和致谢。并在附录里给出了一些功能实现的代码和相关截图。第2章 方案论证2.1 可行性分析2.1.1 技术可行性本系统使用Java语言编写,Java语言简单,易上手,开发周期短。在页面中使用AJAX进行网页局部刷新,减少了对服务器的请求压力。在开发工具上使用Eclipse,数据库使用MySQL,MySQL数据库同样为轻便型小型数据库,其系统从一个地方到另一个地方的难易程度和安全性都是很乐观的,MVC在使用领域也逐渐地老练起来,该企业订单管理系统在技术上是切实可行的。2.1.2 经济可行性随着网络的迅速发展,计算机得到了普遍性。企业订单管理系统成为了很多企业在网上的分销渠道,该系统选择B/S架构,使用B/S架构的系统只需对服务器进行管理,所有的客户端都是浏览器,不需要做任何其它的维护,只要有一台电脑就能使用。同时,本系统的规模并不大,不需要太多的经费,但却十分有效的提高了办公的效率。所以开发订单管理系统是具有经济可行性的。2.1.3 操作可行性本系统操作较为简便,同时人员使用起来简单易上手,在开发中会在必要的地方加以提示,帮助人们更加方便地使用,所以在计算机较为普及的今天,很多人都可以进行操作。2.1.4 法律可行性本系统所使用的Eclipse和数据方面的信息及技术不违背法律,相关实现和技术不存在侵权问题。系统开发完后主要用于客户对企业进行下单,管理员进行管理订单,文明安全,禁止涉及任何违法行为。2.2 最佳设计方案选择简介2.2.1 MySQL5.0数据库MySQL数据库是一个对源码开放的“小型关联式数据库管理系统”。MySQL比较适合运用于中小型网站。因为MySQL的运行速度比较快、所占容量较少、使用成本价较低,所以很多企业在经济实用角度出发会选择MySQL。其主要特性是:CPU利用率高,能够在一定程度上提高查询速度,同时优化了SQL语句的查询算法,并且支持多线程,提供多种语言的支持,因此所需费用较低1。2.2.2 JSP技术JSP是一种动态网页技术标准。它是一种建立在由Servlet提供的规范功能智商的一种动态页面技术,它其实就是在早期的HTML形成网页的XML文件中插入了Java代码和一些JSP标记,从而形成了一个JSP文件2。JSP开发的Web应用是跨平台的,不但能够在Linux下运行,也能在其他操作系统上运行。JSP采用MVC的设计模式,可以将后台的业务逻辑控制与前台的网页设计分离,耦合性较低,同时给予组件进行设计,并且降低了WEB的前端程序开发3。2.2.3 Servlet技术Servlet是基于服务器端的一种Java应用程序,它有着与协议和平台都独立的特性,并且能够生成动态的Web网页(但是它自己本身的编程还是较为麻烦的,已经被很少运用)。Servlet可以作为MVC中的V层,也就是说作为服务器响应与客户请求的中间层,它其实是Web服务器内部服务器端的一个比较小型的Java应用程序,但是Servlet与原来在命令行中启动的Java语言还是有所不同的4。Web服务器负责加载Servlet,但前提是Web服务器必须包含能够支持Servlet的Java虚拟机。 Servlet是Java Web服务器用来处理用户请求以及其他基于Web服务的Java类。他在Web服务中,根据用户的请求和传递过参数进行运算,返回处理后的结果。开发Servlet类须按照Servlet的要求继承HttpServlet类,实现相应的方法5。2.2.4 AJAX技术AJAX是Asynchronous JavaScript and XML的缩写,这一技术能够向服务器请求额外的数据而无需卸载整个页面,会带来良好的用户体验。传统的HTTP请求流程大概是这样的,浏览器向服务器发送请求-服务器根据浏览器传来数据生成response-服务器把response返回给浏览器-浏览器刷新整个页面显示最新数据,这个过程是同步的,顺序执行6。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求)从服务器获取数据,这里的异步是指脱离当前浏览器页面的请求、加载等单独执行,这意味着可以在不重新加载整个网页的情况下,通过JavaScript接受服务器传来的数据,然后操作DOM将新数据对网页的某部分进行更新7。使用Ajax最直观的感受是向服务器获取新数据不需要刷新页面等待了。2.2.5 Eclipse开发工具Eclipse maven企业级工作平台是对EclipseIDE的一种引申,利用它我们可以在数据库方面和Java2E的开发方面、发布以及应用程序服务器的整合方面,减少工作所用时间,极大的提升工作效益。它是功能非常全面的Java2E集成开发环境,拥有完善编码、进行调试、进行测试以及发布功能,并且支持各种技术,包括:HTML,Struts,JSP技术,CSS,Javascript,Spring,SQL数据库,Hibernate。Eclipse maven是一个非常优秀的用于开发Java, J2EE,maven项目的 Eclipse 插件集合,Eclipse maven的功能非常强大,支持范围也十分广泛,尤其是对各种开源产品的支持也非常好。Eclipse maven可以支持JavaServlet技术,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库连接链接工具等多项功能。可以说Eclipse maven是几乎涵盖了目前所有主流开源产品的专属Eclipse开发工具。2.3 开发方案的选择B/S结构,是Web崛起后的一个计算机结构,Web是客户端最重要的使用软件。这种计算机结构融合了客户端,将系统模块完成的最主要部分会集到服务器上,使系统的开发、运行和应用得到相应的简化。开发企业订单管理系统,客户机上只要安装一个浏览器就可以了,最好是IE浏览器,服务器上安装一个MySQL数据库。在B/S模式的体系结构系统中,服务器会对浏览器发出的请求进行进一步处理,将用户所需要的信息发到浏览器上。B/S架构使客户端的操作变得更加简单化,客户机上只需要配置一些客户端的软件8。主要优点包括:1. 具有分布性特点,可以随时随地进行查询、浏览等业务处理。2. 业务扩展简单方便,通过增加网页即可增加服务器功能。3. 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。4. 开发简单,共享性强。综上所述,本系统使用B/S架构,选用Eclipse maven作为程序开发的主要工具、选用MySQL为数据库管理平台,使用AJAX技术进行页面的局部刷新。第3章 需求分析3.1 系统需求分析企业订单系统是面向所有企业,包括商品的管理,订单管理等业务处理工作,是利用计算机进行集中管理而开发的系统.该系统是基于JSP连接MYSQL数据库进行开发的企业订单管理系统,力求与实际相结合具有查询、操作等功能,旨在达到使订单的管理和运营趋于计算机化,使之更加方便、快捷以提高工作效率。主要包括二大管理模块:1.后台管理员 (1)用户管理:维护前台的注册的用户信息。(2)商品分类:维护商品的类别。(3)供应商管理:该商品的供应商管理。(4)商品管理:管理商品,删除修改等。(5)订单管理:管理订单,审核订单,安排发货,订单状态查询等。(6)权限管理:维护后台用户的权限。2.前台用户 (1)用户注册:用户第一次登陆该系统下单需要先注册账号:单击“用户注册”按钮,填写相关注册信息,包括用户名、密码,同时email要求格式正确,填写完成后,需要点击“确定”按钮,这样就可以成为该系统的用户。 (2)用户登陆:用户通过填写正确的“用户名”和“密码”,点击“登陆”按钮,便可完成普通用户的登录。 (3)商品搜索:用户在页面上可以进行商品的搜索,输入需要的商品名称进行商品搜索。 (4)查看商品:用户在页面上可以查看商品,也可以点击页面左侧导航栏进行不同商品类别下的商品。 (5)用户下单:用户在选择好商品后,点击购买,填写相关商品数量,送货地址,付款方式等。 (6)个人中心:用户可以在登录后点击个人中心,在个人中心中查看自己的订单以及订单状态。3.2 数据流图数据流图是用来描述数据流和改变信息系统建模的一种技术9。通过对用户的可行性需求分析,我们知道企业订单管理系统的核心问题是对订单的管理。以下先分析系统的顶层数据流图,然后在给出用户登录和订单管理的数据流图。3.2.1 顶层数据流图企业订单管理系统,非该系统用户成员,可通过完成用户注册来成为该系统用户,顶层数据流图,如图3-1所示。企业订单管理系统管理员普通用户输入输入显示器输出图3-1 顶层数据流图3.2.2 一层数据流图一级数据流图,如图3-2所示。管理员普通用户操作操作合法非法合法非法结果结果用户信息用户信息表用户信息订单表提交订单用户信息图3-2 一层数据流图用户信息表用户信息表登录3.2.3 二层数据流图1用户登录数据流图,如图3-3所示。管理员普通用户用户信息表管理员信息表非法登录合法登录合法登录图3-3 用户登录数据流图错误信息正确信息正确信息验证2订单管理数据流图,如图3-4所示。订单处理管理员订单保 存下单注册用户返回结果图3-4 订单管理数据流图3.3 数据字典数据字典是对于数据模型中的数据对象以及项目的描述的集合。数据字典的作用是在策划和的软件剖析过程中给人提供关于数据的形容信息。数据字典可以对数据流图中的数据流、数据源以及外部实体进行描述、组织和管理。数据字典是指对外部实体、处理逻辑、数据存储、数据结构、数据流、数据项等进行定义和描述,数据字典的目的是对数据流程图中的每一种元素进行详细的说明。下面是部分数据结构的说明:1数据结构:注册用户信息组 成:用户名、密码、真实姓名、住址、性别、email、job。数 据 项:=*大于0小于10的任意长度*=*不小于3位的任意长度字符串*=*任意长度不大于5位的汉字*=*任意长度不大于20位的字符串*=*男/女*=*不大于20个字节*=*不大于20个字节*2数据结构:供应商信息组 成:供应商地址、供应商名字、供应商电话、供应商联系人、供应商详情。数 据 项:=*不大于50的任意字符长度*=*不大于30的任意字符长度*不大于15的任意字符长度*不大于15的任意字符长度*不大于255的任意字符长度*3数据结构:订单信息组 成:订单编号、订单商品编号、商品数量、订单用户、订单总价、订单地址、订单状态、订单支付方式、下单时间。数 据 项:=*任意整数字*=*任意整数字*=*任意整数字*=*任意整数字*=*任意整数字*=*不大于255的任意字符长度*=*不大于50的任意字符长度*=*不大于50的任意字符长度*=*date类型*4数据结构:商品信息组 成:商品编号、商品库存、商品上架时间、商品图片路径、商品名字、商品备注、商品分类编号、商品价格、供应商编号。数 据 项:=*任意整数字*=*任意整数字*=*date类型*=*不大于255的任意字符长度*=*不大于30的任意字符长度*=*不大于255的任意字符长度*=*任意整数字*=*任意整数字*=*任意整数字*5数据结构:商品分类信息组 成:商品分类编号、商品分类建立时间、商品分类名、商品分类备注。数 据 项:=*任意整数字*=*date类型* =*不大于30的任意字符长度* =*不大于255的任意字符长度*6数据结构:系统管理员信息组 成:用户名、密码、备注、用户管理权限、分类管理权限、供用商管理权限、商品管理权限、订单管理权限、权限管理权。数 据 项:=*大于0小于10的任意字符长度*=*不小于3位的任意长度字符串*=*不大于255的任意字符长度*=*yes/no*=*yes/no*=*yes/no*=*yes/no*=*yes/no*=*yes/no*3.4 系统E-R图E-R方法是“实体-联系方法”的一个简称,用矩形来表示实体性,矩形框内写试题的名字,用菱形来表示实体间的关系,在框内注明实体的名字11。E-R概念模型具有很强的语义表达能力,通过对用户进行可行性需求分析,选出最直接的实体是注册用户、供应商、订单、商品、商品分类、系统管理员。以下是描述了主要实体的具体属性图。1系统实体属性图(1)注册用户实体属性图,如图3-5所示。 密码用户名 姓名 地址注册用户 性别 编号 email job图3-5 注册用户实体图 (2)供应商实体属性图,如图3-6所示。 名字 地址 电话 供应商联系人 详情图3-6 供应商实体图(3)订单实体属性图,如图3-7所示。 商品编号订单编号商品数量 下单时间 订单订单用户 支付方式 订单总价订单状态 订单地址图3-7 订单实体图(4)商品实体属性图,如图3-8所示。 商品库存商品编号上架时间 供应商编号商品图片 商品商品价格 商品名字分类编号 商品备注图3-8 商品实体图(5)管理员实体属性图,如图3-9所示。 分类建立时间 分类编号 商品分类分类备注 分类名图3-9 商品分类实体图(6)管理员实体属性图,如图3-10所示。 密码用户名 权限管理权 备注 管理员用户管理权限订单管理权限 分类管理权限商品管理权限 供用商管理权限图3-10 管理员实体图2系统E-R图 企业订单管理系统采用E-R图的方法对数据库概念结构进行设计。单个的实体属性图只能体现一个实现的属性和行为,不能描述整个系统的结构。因此,我们需要找出各个实体间的关系,组成完整的系统E-R图,如图3-11所示。mn管理包含用户1管理管理员m1n1m浏览包含提交m处理提交mnnn浏览包含管理订单分类1管理提交nnn包含包含1nn提供1供应商n商品图3-11系统E-R图3.5 运行环境需求3.5.1 软件环境软件环境信息表,如表3-1所示。 表3-1 软件环境信息表名称版本语种操作系统Ubuntu/Unix/Linux不限中文或英文Windows 7/Windows Serversp3/2000/2003中文数据库平台MySQL5.0或以上英文服务器平台Tomcat5.5或以上英文客户端软件IE/基于IE内核浏览器6.0或以上中文3.5.2 硬件环境硬件环境信息表,如表3-2所示。表3-2 硬件环境信息表名称最大配置推荐配置应用和数据库服务器CPUP4 2.0GP4 2.8G内存2G2G硬盘320G120G第4章 过程论述4.1 概要设计4.1.1 设计原则在系统进行编码之前,我们用该对系统所要实现的功能进行整理,如何进行实现以及实现方法的删选,这样做的优点包括:对系统软件整体的代码架构有一定的思路,更好的部署各个功能模块的代码,优化整体的结构,对各层功能代码进行剥离,更加符合MVC的设计模式12。在设计的过程中我们应该遵循的原则包括:1全面性:考虑不同用户对系统使用的不同需求,所以系统必须尽量操作简单,容易上手,提高系统使用的普遍性,使系统尽量适合所有用户的需求。2规范性:本系统遵循MVC的设计模式进行设计,遵循MySQL数据库的操作原理。3实用性:根据用户需求情况,满足客户和管理员的使用需求。4安全性:保证系统在实际应用时的安全性。4.1.2 软件架构说明1MVC架构各层功能实现说明:Model层(模型层)主要是实现具体业务功能的一些类,业务流程的处理,Model只是一种经过性的操作,模型会接收来自页面的请求,并把最终得出的结果返回给页面,MVC最主要的核心是业务模型的设计。Control层(控制层)就是从视图层接受数据请求去匹配相应的模型,共同来完成用户的请求。主要负责系统中业务功能的实现流程管理工作,事实上,控制层并不对请求做任何的处理,只是把该用户传来的信息传给了模型,告诉它去在怎么做,然后它做的只是负责把符合要求的视图再返回给用户。所以,一个模型可能会对应很多个视图,一个视图也可能对应很多个模型。View层(视图层)是指用户与用户之间的交互界面,对于web应用来说,可以把它概括为HTML界面,也有可能是XML、XHTML、Applet。随着应用的规模性和复杂性,界面的处理也变得很有挑战性。一个应用包含多个的视图,MVC设计模式就是视图的处理权限和视图对数据进行处理,包括对用户的请求,但不包括业务流程的处理。业务流程的处理交给模型处理13。2MVC架构优点:(1)对应中小型项目的开发效率高,架构的搭建相对简单结构看起来非常简单易懂,搭建时的配制信息只有“web.xml”这一个文件,web.xml主要是用来映射Servlet。Control层的应用在很大程度上是将JSP中的Java代码给分离开来,降低了JSP文件的复杂程度。另外本架构涉及的架构知识其实是很很少的,很容易把它掌握。(2)架构的性能优越相对于使用其他的架构技术创建的系统来说,在使用Jsp+Servlet+JavaBean架构时,系统的执行效率其实是非常高的,主要是因为该架构的配置相对来说比较简单,信息加载量较小。4.1.3 功能模块图此系统按照角色的不同分为两大功能模块,一个是前台用户模块,一个是后台管理模块。1系统模块图系统模块图,如图4-1所示。企业订单管理系统 前台 后台查看商品个人中心商品搜索用户下单用户登陆用户注册权限管理订单管理供应商管理商品管理商品分类用户管理图4-1 系统模块图2普通用户功能模块普通用户功能模块图,如图4-2所示。 (1)用户注册:用户第一次登陆该系统下单需要先注册账号: (2)用户登陆:用户通过填写正确的“用户名”和“密码”后,点击“登陆”按钮,便可完成普通用户的登录。 (3)商品搜索:用户在页面上可以进行商品的搜索,输入需要的商品名称进行商品搜索。 (4)查看商品:用户在页面上可以查看商品,也可以点击页面左侧导航栏进行不同商品类别下的商品。 (5)用户下单:用户在选择好商品后,点击购买,填写相关商品数量,送货地址,付款方式等。 (6)个人中心:用户可以点击个人中心查看自己提交的订单详情,以及订单的当前状态。填写用户信息用户注册查看已提交订单购买物品下单导航栏查看商品使用账密登陆关键字搜索商品个人中心普通用户用户下单查看商品商品搜索用户登陆图4-2 普通用户功能图3管理员用户管理员用户功能模块图,如图4-3所示。 (1)用户管理:维护前台的注册的用户信息。(2)商品分类:维护商品的类别。(3)供应商管理:该商品的供应商管理。(4)商品管理:管理商品,删除修改等。(5)订单管理:管理订单,审核订单,安排发货,订单状态查询等。(6)权限管理:维护后台用户的权限。查看所有用户信息修改用户信息用户管理删除用户信息根据用户名查询用户查看所有分类新增分类修改分类信息商品分类删除某一分类根据分类名查询分类查看所有供应商新增供应商修改供应商信息供应商管理删除供应商信息根据供应商名查询管理员查看所有商品新增商品信息商品管理修改商品信息删除商品信息根据商品名查询商品查看订单以及状态根据订单发货订单管理订单审核不通过根据订单状态查询查看所有管理员权限新增管理员权限管理修改管理员权限删除管理员根据管理员用户名查询图4-3 管理员用户功能图4.2 数据库设计数据库系统是各种系统实现信息化的基础。数据库把系统所需数据进行整理并进行保存,使得信息系统可以更加方便,准确,及时地获取想要的数据14。数据库保存的数据量非常巨大,提高了数据共享性,信息管理方便,用户及其权限管理便捷。目前,常用的一些数据库管理系统包括MySQL 、SQL Server 、Access、Oracle等。MySQL 是一个关系型数据库管理系统,属于轻量级数据库,安全稳定,目前属于 Oracle 公司。MySQL 是较为流行的关系型数据库管理系统。在 WEB 应用中, MySQL 是一款优秀的RDBMS 应用软件。MySQL 是一种关联数据库管理系统,关联数据库将数据进行整理并分类保存到不同的数据表中,而非将全部的数据保存到一个大仓库里面,提高了提取的速度和管理的灵活性。MySQL 使用 SQL 语言进行数据库的访问以及各种操作,同时支持可视化界面操作。MySQ优点:体积小、速度快、成本低,同时开放源代码,所以一些小型网站一般都会倾向于选择MYSQL数据库。因此本系统将采用MySQL 数据库。4.2.1 命名规范1表命名规则:该企业订单管理系统的表命名规则是,数据库表名由该表的实体类英文组成的,前缀为t,中间为下划线_,之后是实体类名称,如订单表被命名为:t_order。2表项命名规则:该企业订单管理系统的表项命名规则是每个表格字段采用见闻识意的方法,采用其英文单词或者单词简写定义。4.2.2 基本表汇总表4-1 基本表汇总中文名英文名说明管理员表 t_adminuser存储管理员信息商品类别表t_category存储商品类别信息商品表t_item存储商品信息订单表t_order存储用户订单信息供应商表t_seller存储供应商信息用户表t_user存储用户信息4.2.3 基本表结构1管理员表(t_adminuser):括用户名、密码、管理员级别、管理员权限1、管理员权限2、管理员权限3、管理员权限4、管理员权限5、管理员权限6,主要是用来存放管理员信息,如表4-2所示。 表4-2 t_adminuser表中文名英文名数据类型是否为空初始值说明管理员编号 idbigint(20)否主键用户名 namevarchar(255)密码 passwordvarchar(255)管理员级别 remarkvarchar(255)权限1 role1varchar(255)权限2 role2varchar(255)权限3 role3varchar(255)权限4 role4varchar(255)权限5 role5varchar(255)权限6 role6varchar(255)2商品类别表(t_category):括商品编号、商品类别上架时间、商品类别名称、商品类别备注,主要是用来存放商品类别信息,如表4-3所示。表4-3 商品类别表中文名英文名数据类型是否为空初始值说明商品编号 idbigint(20)否主键商品上架时间create_datedatetime商品名称 namevarchar(255)商品备注 remarkvarchar(255)3供用商表(t_seller):主要包括供应商编号、供应商地址、详细信息、名称、电话、联系人。主要用来保存供应商的一些基本信息 ,如表4-4所示。 表4-4 供应商表中文名英文名数据类型是否为空初始值说明供应商编号 idbigint(20)否主键供应商地址 addrvarchar(255)详细信息 detailvarchar(255)名称 namevarchar(255)电话 telvarchar(255)联系人 user_namevarchar(255)4订单表(t_order):主要包括订单编号、订单总价、订单数量、订单创建时间、订单付款方式、订单状态、商品编号、用户编号、送货地址。主要用来订单信息,如表4-5所示。表4-5 订单信息表中文名英文名数据类型是否为空初始值说明订单编号 idbigint(20)否主键订单总价 total_pricedouble订单数量 countint(11)订单创建时间 create_datedate订单付款方式 pay_typevarchar(255)订单状态 statevarchar(255)商品编号 itembigint(20) 外键用户编号 userbigint(20) 外键送货地址 addrvarchar(255)3. 商品信息表(t_item):主要包括商品数量、商品上架时间、商品图片编号、商品名称、商品备注、商品类别、价格、供应商,主要用来保存商品信息,如表4-6所示。 表4-6 商品信息表中文名英文名数据类型是否为空初始值说明商品编号 idbigint(20)否主键商品数量 countint(11)商品上架时间 create_datedatetime商品图片编号 img_pathvarchar(255)商品名称 namevarchar(255)商品备注 remarkvarchar(255)商品类别 categorybigint(20)外键商品价格 pricedouble供应商 sellerbigint(20)外键4.3 详细设计4.3.1 数据库连接技术数据库存储是现代信息化系统中的核心与基础,因此数据库的连接是非常必要的。Hibernate是个轻量级数据库连接的框架,不用特定的运行环境,所以,该企业订单管理系统使用MySQL5.0作为数据库,使用Hibernate的配置文件来进行数据库的连接15,数据库连接的实现代码如下:4.3.2 前台用户模块设计1用户注册未注册的用户必须注册才能下订单,本模块提供了一个注册入口。用户需要填写相关的个人信息才能进行注册,其中用户名、密码、昵称、电子邮件、地址为必填字段,电子邮件用户找回密码,填写完账号信息后进行提交,若该用户并没有被注册,则保存该用户信息并提示注册成功,跳转到登陆界面,若失败或已经存在该用户则进行提示报错。注册界面如图4-4所示。图4-4 普通注册图用户注册主要代码:public String registerUser() throws Exception userService.save(user);tip=注册成功,欢迎登陆!;return SUCCESS;我们自己定义的XxxxRepository需要继承JpaRepository,这样我们的XxxxRepository接口就具备了通用的数据访问控制层的能力这个接口提供了最基本的对实体类的添删改查操作 Iterable save(Iterable entities);/保存集合 T findOne(ID id);/根据id查找实体 boolean exists(ID id);/根据id判断实体是否存在 Iterable findAll();/查询所有实体,不用或慎用! void delete(ID id);/根据Id删除实体 void delete(T entity);/删除一个实体 void delete(Iterable entities);/删除一个实体的集合 void deleteAll();/删除所有实体,不用或慎用! 2.普通用户登陆 用户登录模块如图所示,只有登录的用户才可以下订单、未登录的用户只能浏览商品。普通用户登陆流程图如图4-5所示。 开始 输入用户名、密码判断数据输入是否合法 是 否报错信息进入首页 结束图4-5 普通用户登陆流程图 在这个模块中,用户需要输入用户名、密码,提交请求后将输入数据与数据库中已经注册的用户数据进行对比,若存在该用户名以及密码正确,则登陆成功,将用户名、密码等数据保存在session中,并提示登陆成功进入首页,若不存在则提示报错。登陆界面截图4-6所示。图4-6 普通登陆界面图用户登陆的主要代码: /* * 登录逻辑 查找数据库比较用户名密码 */ Action(value = dologin, results = Result(name = success ,type=redirect, location = index) , Result(name = login, location = /WEB-INF/views/login.jsp) ) public String dologin() throws Exception User loginuser=userService.login(user.getName(), user.getPassword(); if(loginuser!=null) session.put(user,loginuser ); return SUCCESS; else ActionContext.getContext().getSession().clear(); this.tip=登陆失败 不存在此用户名或密码!; return LOGIN; 3.查看商品模块 在此模块中,已登录的用户与未登录的用户都可以查看,登录首页时候,默认显示最新上架的6个商品,以及6个库存紧张的商品,商品信息包括商品图片、商品名称、商品价格。点击左侧的分类导航,用户可以查看当前分类的下商品,并进行购物。浏览商品界面如图4-7所示。图4-7 普通用户查看商品图查看商品模块主要代码:public Page findAll(final int pageNumber, final int pageSize,final String name) PageRequest pageRequest = new PageRequest(pageNumber - 1, pageSize,new Sort(Direction.DESC, id);Specification spec = new Specification() public Predicate toPredicate(Root root,CriteriaQuery query, CriteriaBuilder cb) Predicate predicate = cb.conjunction();if (name != null) predicate.getExpressions().add(cb.like(root.get(name).as(String.class),%+ name+ %);return predicate;Page result = (Page) itemRepository.findAll(spec, pageRequest);return result; 4.商品搜索模块 在商品搜索模块中,用户可以在首页的搜索框中进行需要的商品搜索,搜索该名称的物品并显示,这里主要采用商品的模糊搜索,在后台将搜索所有商品中包含这个关键字的商品,并将所有相关商品进行显示。搜索界面如图4-8所示。图4-8 普通用户搜索图搜索的主要功能代码:public Page findAll(final int pageNumber, final int pageSize,final String name) PageRequest pageRequest = new PageRequest(pageNumber - 1, pageSize,new Sort(Direction.DESC, id);Specification spec = new Specification() public Predicate toPredicate(Root root,CriteriaQuery query, CriteriaBuilder cb) Predicate predicate = cb.conjunction();if (name != null) predicate.getExpressions().add(cb.like(root.get(name).as(String.class),%+ name+ %);return predicate;Page result = (Page) itemRepository.findAll(spec, pageRequ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇科英语试题库及答案
- 河北事业单位会计岗2026面试习题汇编含答案
- 养老院传染病应急处置指南
- 术语与符号类标准化文件编写实操手册
- 2026年服务器虚拟化资源整合降本增效方案
- 企业法律合规风险管理与合规文化建设2025年研究报告
- 医院职代会建设方案
- 200今冬明春工作方案
- 激光切割热影响区控制分析方案
- 招标采购运营管理方案
- 2026年四川省高考思想政治试卷(含答案及解析)
- 综合管理竞聘测试题及答案
- 混凝土结构设计原理中国建筑工业出版社
- 化工企业常压储罐区检维修安全作业规范
- 电梯维修保养标准操作规程
- (正式版)T∕CCASC 0057.2-2025 离子膜法烧碱生产安全操作规程 第2部分:电解
- 基于生成式AI的初中生物互动教学模式创新与实践教学研究课题报告
- 煤矿职业病危害培训课件
- 城市污水处理厂日常运行管理规范
- 标准航海用语
- 幼儿园安全《小井盖大危险》课件
评论
0/150
提交评论