目 录
摘 要 I
Abstract II
引 言 1
1相关技术 3
1.1 SSM 3
1.1.1Spring 3
1.1.2 SpringMVC 3
1.1.3 MyBatis 3
1.1.4 Bootstrap框架 4
1.2 数据库技术 4
1.3 Java 5
1.4 Tomcat服务器 5
1.5 本章小结 5
2系统的需求分析 7
2.1功能需求分析 7
2.2 用例分析 8
2.3 非功能需求分析 11
2.4 本章小结 12
3系统的设计 13
3.1 总体设计 13
3.2 详细设计 16
3.2.1 数据库设计 16
3.2.2 功能模块详细设计 18
3.2.3 开发设计 21
3.3 本章小结 21
4 鲜花销售管理平台系统实现 23
4.1 开发环境 23
4.2 开发规范 23
4.3测试功能 23
4.4 数据库实现 28
4.5本章小结 31
5 鲜花销售管理系统测试 33
5.1 测试计划 33
5.2 测试用例 33
5.2.1 用户建立订单 34
5.2.2 用户取消订单 34
5.2.3 管理员处理订单 34
5.2.4 管理员取消订单 35
5.3 性能测试 36
5.4 本章小结 37
结 论 39
致 谢 40
参考文献 41
摘 要
随着人们生活水平的提高,挑选一束鲜花送给亲朋好友,逐渐已成为了一种消费习惯。现在网上订购鲜花逐渐盛行,这也改变了传统鲜花零售的格局。
鲜花数量很多,种类也很驳杂。每个种类鲜花都有属于自己的花语。那么如何挑选鲜花更像一门学问有很多讲究,这就是本平台在行业的专业性。基于SSM技术的鲜花销售管理系统就是通过网络技术来解决这类相关问题,现在技术发达使得本课题的完成完全可行。本平台需要提供各种鲜花搭配的别样属性,并能够完成鲜花在线销售,为用户提供良好的技术支持。
本文主要采用了包含SpringMVC体系架构和MyBatis功能结构体系的SSM框架使用B/S三层访问模式作为项目体系构架,并且使用MySQL作为项目数据库,通过数据库连接池与MySQL数据库进行连接操作。系统主要分为用户和管理员两部分,共有销售部分,包括购物车、商品信息、内部信息、价格、存货量。个人信息部分,包括历史购买记录、注册收货地址、联系电话、购买备注。管理员部分包括对鲜花基础信息、用户购买订单内容、用户基本信息、用户注册信息的增删改查实现。
经过一系列的代码实现并且已进行了系统测试,商品系统中的模块均满足设计要求。该平台目前处于试运行阶段,经测试后无问题,能基本满足日常使用要求。
关键词: 鲜花销售;SSM框架结构;电子商务
Abstract
With the improvement of people’s living standard, choosing a bunch of flowers for relatives and friends has gradually become a consumption habit. Now online ordering flowers is becoming more and more popular, which also changes the pattern of traditional flower retail.
There are many kinds of flowers. Each kind of flower has its own flower language. So how to choose flowers is more like a knowledge with a lot of attention, which is the professionalism of the platform in the industry. The flower sales management system based on SSM technology is to solve this kind of related problems through network technology. Now the technology is developed, which makes the completion of this topic completely feasible.This platform needs to provide a variety of flowers with different attributes, and can complete online flower sales, to provide users with good technical support.
This paper mainly adopts the SSM framework including spring MVC architecture and mybatis functional architecture, which uses the B / S three-tier access mode as the project architecture, and uses MySQL as the project database to connect with MySQL database through the database connection pool. The system is mainly divided into two parts: user and administrator. There are sales parts, including shopping cart, commodity information, internal information, price and inventory. Personal information part, including historical purchase record, registered receiving address, contact number, purchase notes. The administrator part includes the implementation of adding, deleting, modifying and querying the basic flower information, user purchase order content, user basic information and user registration information.
After a series of code implementation and system testing, the modules in the commodity system meet the design requirements. During the test, the flower sales platform based on SSM framework runs stably and is very convenient for daily use.
Keywords: Flower sales;SSM framework;Electronic Commerce
引 言
随着时代的发展,信息技术在加速,网络化进程也在加快。中国互联网的快速发展,以及现代化生活的节奏逐渐加快,传统的线下购物方式受到新生购物方式的挑战。网上购物逐渐成为人们的消费行为之一。并且随着人们生活水平的提高,挑选一束鲜花送给恋人亲朋好友,逐渐已成为了一种消费习惯。
基于以上背景,鲜花销售平台的存在就很有意义。一是可以让不太懂鲜花或者根本不懂鲜花的人可以紧跟潮流,为他人送出鲜花表达自己真挚的情谊。二是可以让现今的“懒人”们足不出户购买到自己想要的鲜花搭配,用需要费时费力找花店购买价格可能高于平台的鲜花。
该系统开发的基本意义在于以下几方面:一是在这个生活水平提高的社会里有别样新奇的感觉,即学习西方浪漫的送花表达心意。二是在网上购物占据主流的现代社会中,满足人们对于更方便快捷即可购买到心仪产品。三是本平台积极响应政策号召,使得“疫后经济复苏”的更加快速。
从需求上来讲,鲜花虽然是从西方传来,但随着生活水平的提高一二线城市的居民更喜欢追求这种西方唯美。这种新鲜感跟消费带来的冲动能极大地满足人们的优越感跟面子。更何况送花也不是毫无意义的,鲜花有很多很多种搭配,每种鲜花都有属于自己的花语,甚至我国很多市都有属于自己的市花。以后国民对鲜花的需求会逐步增加,也很需要类似本平台为人们提供便利以及高效。
国内背景上目前国内有些比较大的鲜花销售网站,但经过我调查后得知鲜花就在于一个鲜字。一般采集出来的鲜花都只有两到三天的保鲜期,所以经常采用空运或者线下花店直接发货的形式进行销售。用此种办法确实能减少成本,但受众太小,鲜花价格也比较高,类似于垄断行业随意定价。尤其是线下的花店中由于搭配包装问题,鲜花的定价是成本的两到三倍,更有甚者能达到三四倍。
本文详细介绍了基于SSM技术的鲜花销售管理系统设计和实现过程,严格按照软件工程的思想,详细论述了需求分析、系统设计、系统实现和系统测试过程。
本文的总体结构安排如下。
第1章主要详细介绍项目实现过程中用到的主要的技术,SSM架构、Bootstrap框架、数据库技术、java所包含技术,介绍这些技术的用法及优点。最后对本章的内容进行小结。
第2章对本项目进行需求分析,会分为需求分析概述、功能的需求分析以及用例分析,在第2章会展示出系统设计过程中的分析过程,主要有项目结构图、项目功能图、项目用例图等。最后对本章的内容进行小结。
第3章会主要讲一下系统的主要设计,有两个部分,分别是整体设计和详细设计,在第3章主要会有数据库的数据表和本系统的时序图和E-R图,以及对这些图表的解读。最后对本章的内容进行小结。
第4章讲的是实现功能的部分,在第3章会有系统实现后所出现的画面截图和并且会对核心功能订单处理功能进行介绍,将此项功能的代码进行展示解读,最后对本章的内容进行小结。
第5章主要讲的就是测试部分,计划完测试方法过程后,完成测试用例,以用例中选用核心功能为例。完成系统的性能测试,并分析性能测试的结果。接着完成本系统的压力测试,并分析结果,最后对本章的内容进行小结。
1相关技术
1.1SSM
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
1.1.1Spring
Spring是一个处于设计层面的轻量级开发框架,也是一个面向接口的程序技术思想,对其他各层可以做到的随取随用。
Spring的创作者是Rod Johnson,在2003年开始大范围使用。Rod Johnson对EJB的各种笨重臃肿的结构进行了逐一的分析和否定,并分别以简洁实用的方式替换之。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。Spring逐渐受到全世界的欢迎。
1.1.2 SpringMVC
使用Spring,我们可以让WEB框架自动将传递进来的请求参数填充到模型对象中,同时提供验证和错误处理。还可以管理用户在WEB表单中创建的对象的状态。SpringMVC是一种表现层框架,隶属于Spring框架[1]。数据请求会发送给SpringMVC,然后会在前台页面展示其返回的数据处理结果。其代码可见,开发者容易理解其含义。本项目使用该框架可以更加的方便快捷以及进行编码。
所谓MVC,M就指的是model模型层做数据逻辑运算针对数据的持久化来操作;V指的是view视图层将数据展现给客户和接收请求,调用M层来相应处理结果。SpringMVC属于C层,其工作原理是先发送请求通过一系列的处理器、解析器、控制器等数据处理后经过视图渲染传给用户,展现出必要的数据。
1.1.3 MyBatis
MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。制作本项目时使用MyBatis,就不必写复杂的数据库操作语句,也不需要复杂的配置数据库,大大的提高了效率。
1.1.4 Bootstrap框架
Bootstrap是到目前为止最受欢迎的前端的框架[2]。在出现Bootstrap框架之前,程序员经常使用的制作前端界面的方法是HTML+CSS+DIV的盒子模型,不但所有代码都需要开发者自己定义,还需要解决很多兼容性问题。
Bootstrap是现在主流的前端框架,源自于Twitter。Bootstrap框架大大减轻了前端开发者地工作量,简化了开发步骤,开发者可快速做出美观的界面,大大提高了开发效率。因为其提供了开发标准,解决了很多兼容性的问题,而且其特点也可自动适应不同分辨率的屏幕大小,节约了很多开发时间。
1.2 数据库技术
MySQL在所有数据库中属于较为小型的数据库管理系统,而且在使用方面源码开放。在现在的互联网上的各种非大型的网站中,MySQL被经常的使用。由于MySQL占用地方小、速率快、使用成本不高,尤其是源代码完全开放,会有效降低网站的运营成本以及数据库的使用维护成本。
MySQL不仅运行速度很快,而且对大型数据库的支持性也非常好,最多可在一个表中容纳 5千多万行数据。MySQL支持开发者自行设计修改其代码,开源 GPL 许可保证了开发者设计项目的自由度,以便适应各自特殊的开发环境。MySQL所提供的功能可以算是已经绰绰有余了,并且由于MySQL的开源特性,大大的降低了这类用户的数据库使用成本。在win10操作系统中使用Apache及反向代理服务器,能更好的运用MySQL对项目进行开发,所以使用MySQL数据库管理系统对于本平台来说是最好的选择。
1.3 Java
Java语言是开发设计的计算机语言之一,它已经有20年的历史了,自从1995年被Sun公司推出后,就马上在1996年发布了第一个Java的开发包JDK1.0,2010年,Oracle收购了Sun公司,而在2014年,Oracle公司发布的Java8.0被大众所广泛的接受,并且加快了Web的发展[2]。Java技术从发展到壮大直至成熟的过程,不仅仅对现代的软件行业起这积极的作用,还深刻影响着以后的IT行业的技术发展方向。
Java Web服务器主要用于接收请求形式终端服务器,由服务器处理数据后,JFinal框架将作为响应返回给终端设备,在Web领域应用广泛,在大型门户网站、企业内部系统、搜索引擎等领域都有十分出色的表现。本平台使用该技术除了感受到其分层模式的明显优势之外,在平时的学习中也充分的使用到该技术,对该技术掌握的比较熟练,理解也更加透彻,能够更好地完成毕业设计所需要的一些功能。
1.4 Tomcat服务器
Tomcat得名是由于开源项目作者都会写一本关于这个项目的描述的书,而且大多将其中的书封面页设计成动物相关的素描。因此,他也希望项目的名也可以用一个动物的名字。
Tomcat是一款很多人使用的获得广泛好评的Web服务器。因为Tomcat运行起来很少出现错误,而且是开源的。它在运行时占用运行内存小、扩展性良好。Tomcat使用在中小型的系统中,因为其使用和同时访问的用户较少,因为它是小型轻量级的服务器[3]。成功配置Tomcat时,Apache是服务于HTML页面的,而Tomcat运行的则是JSP页面和Servlet层的。
基于Tomcat的优秀品质,本系统采用它作为Web服务器。
1.5 本章小结
本章介绍了系统开发时所涉及到的开发环境,如SSM框架、Bootstrap框架以及JSP相关技术,还有介绍了Tomcat服务器作为应用开发服务器等相关内容。根据这些涉及到的开发工具和开发技术进行深入的研究,后面会根据本章介绍的主要技术说明一下本系统开发中可能会遇到的一些技术上难点。并且还会看出这些技术的好处和不足,以及为了满足本系统都会需要那些要求被满足。
2系统的需求分析
本章主要对本平台的可行性进行综合性分析,详细描述了本平台的用例分析、功能需求以及非功能需求,用来接引接下来的系统设计、系统实现和系统测试阶段的工作。
2.1功能需求分析
由于这是一个鲜花销售平台,所以此系统的目标是就让交易高度自由化,即能让每个用户根据自己的需求购买属于自己的鲜花,其核心功能为业务逻辑的实现与控制[4]。业务逻辑内的实现功能分为用户与管理员两部分。
添加商品信息时,管理员登陆后,可输入商品名称,上传商品图片,输入商品的信息,包括商品名、价格、折扣、产地、品牌、生产日期、保质期、库存数量、详情简介、类别以及是否进口。
查看商品信息时,管理员实现登陆操作后,可以对商品信息进行查询操作,可查看的信息有商品名、价格、折扣、产地、品牌、生产日期、保质期、库存数量、详情简介、类别以及是否进口。详情页还可查看商品适用类型和详细信息。用户登陆后,查看商品信息时,也可以查询商品的这些详细信息。
删除商品信息时,管理员进行登陆操作后,在后台商品列表通过删除功能即可进行删除操作。修改商品信息时,可修改商品名、价格、折扣、产地、品牌、生产日期、保质期、库存数量、详情简介等信息,修改完成后进行保存即可修改成功。
管理员还可新增商品信息,添加商品时需添加详细信息。查询商品信息时,可查看商品名、价格、折扣、产地、品牌、生产日期、保质期、库存数量等信息,可通过修改或删除功能对需修改删除的商品信息进行编辑和删除操作。编辑商品名称和信息。
查看用户信息时,用户可在登陆成功后在导航栏查看自己当前登录的用户信息。管理员也可查看所有用户的用户信息。管理员可对所有的用户信息进行删除、修改、查询操作。可按照用户名称及电话进行精确查询。登录名称唯一,不可重复。
查看登陆信息时,管理员可查看所有用户的登录信息。管理员可对所有的登录信息进行删除、修改、查询操作。可按照用户名称及电话号码进行精确查询。可对所有登录信息进行增删改查操作。其中登录名称唯一,不可重复。
查看其他信息时,管理员可查看所有其他员工信息。管理员可对所有的其他信息进行删除、修改、查询。可按照用户名、角色名进行查询。角色名共分超级管理员、普通管理员、小角色三种,其中超级管理员拥有所有权限。普通管理员可以查看订单信息进行发货处理,也可以管理增删改查所有商品信息。小角色可以查看平台售出的饼状图进行分析处理。超级管理员可以随意对其他信息进行增删改查,可以分配任意角色。
查看推荐信息时,管理员进行登录操作后可对推荐信息进行查看及修改操作。管理员可以通过修改三个推荐位的图片进行修改操作,推荐位图片每三秒进行一次轮换,作用在于吸引用户顾客的注意力对商品进行推荐。
查看订单信息时,管理员可以查看所有的订单信息,管理员可以对所有的订单信息进行删除、修改、查询。可按照订单时间范围进行查询,也可以按照订单号进行精确查询,也可以按照操作员查询。用户也可查看自己的订单信息,用户进行登录操作后可以在个人信息处查询历史订单信息。订单信息可以按照时间排序。
2.2 用例分析
用例图的作用描述用户和用例之间关系的,这分描述可以帮助开发者了解系统的功能以及相互关系,从而加强交流,便于和用户达成共识。
图2.1鲜花销售平台用例图
图2.1为鲜花销售平台用例图,其展示出了手鲜花销售平台管理员与普通用户各模块包含的功能,图中登陆注册为管理员和用户共有的功能,用户的新增、删除、修改、查询等功能,管理员也可进行操作。用户对订单进行操作时,只可对自己的订单进行删除、修改、查询。用户可查询所有商品,可查看所有商品的信息详情,不可以对商品进行增加删除和修改[5]。管理员可对所有的商品进行增删改查。管理员也可对其他功能进行新增操作、删除操作、修改操作、查询操作,比如对商品信息的增删改查操作、对用户信息的增删改查操作等。添加商品时会将商品的详细信息添加进去。管理员可对商品进行推荐操作,此功能还需优化,有待完善,推荐条幅上的商品不涉及其他功能。登陆时需要填写用户名和密码,登陆后用户可填写自己的详细信息,例如用户昵称、收货地址、联系方式、备注信息。
图2.2用户用例图
图2.2所示为鲜花销售平台用户用例图[6],其展示出了鲜花销售平台用户的各模块所包含的功能,用户经过注册后可以实现以下功能。用户可查询所有的商品信息,用户可以进行信息浏览,可以修改所有的个人信息,包括联系电话、收货地址、性别等。用户修改密码后,下次登陆需要填写新的密码,用户可以对心仪的商品进行下单操作并且可以在购物车及历史订单中查看。用户可以对所有购物车中的商品进行操作。用户可以对自己所有的历史订单进行操作。用户界面不支持查看自己的登陆信息信息,只有管理员可查看,并且可以按照用户名及电话号码进行精确查看。
图2.3鲜花销售平台管理员用例图
图2.3所示是管理员用例图,它能够直观地表现出管理员的功能。注册后管理员可以增删改查用户信息、增删改查商品信息、修改推荐信息、增删查订单信息、查看修改其他信息、增删改查单价库存信息、查看销售饼图信息。
2.3 非功能需求分析
对于页面的色调设计和主要的基本布局以及细节排版,原则是需要简单大方不累赘。系统的结构需要清晰明了骨架突出。系统的维护性要基本高,这里需要完善的后台管理系统,为维护和开发减少压力和不必要的工作量。
软件产品的非功能性需求也是不可忽视的一般分,当满足主要用户业务需求后,还应有与之匹配的可服务于主要需求的特性,例如美观的界面,优越的性能,系统运行稳定等[7]。
现在很多客户要求界面设计得美观漂亮,所以整个系统的页面应该有一个严谨的规划,这样才可以使用户操作整个系统时有良好的使用效果,不会审美疲劳以及过度劳累感。
平台系统使用了JSP、jQuery以及Ajax等技术来编辑网页实现前端,使用SSM框架相关技术完成后端。页面主要使用了Bootstrap前端框架[8],部分页面使用了layer组件来完成,提升了用户体验,也在实现功能的同时使页面更加美观操作更加便捷。
2.4 本章小结
本章介绍的是鲜花销售平台的需求分析,包括功能需求、用例分析、非功能需求的设计,介绍了实现项目所需要实现的功能以及对于平台未来的发展相关的非功能设计。经过这一阶段的工作,对整个平台的运作有了一个具体的思路和方法,使整个项目变得清晰,也使得对项目的了解更深刻,各部分功能的需求也很清晰的罗列出。同时也概述了系统可维护性和可扩展性的基本需求。
3系统的设计
3.1 总体设计
鲜花销售平台整体使用了三层架构,当用户用浏览器访问时,应用层的Web服务器会接受访问,然后向数据层的数据库服务器发送SQL请求。数据库服务器接收到请求后,将处理结果返回到应用层。应用层接收到数据库返回的数据并将其返回给用户。其基本数据流程和本系统的架构如图3.1所示。
图3.1 鲜花销售平台系统体系架构图
鲜花销售平台系统可分为表示层、应用层和数据层[9]。表示层为用户操作的设备,用户使用设备访问系统页面,前端使用的Bootstrap框架可适应不同的分辨率访问设备的屏幕大小,浏览器通过一系列操作及转换,将请求发送给应用层的Web服务器,经过Spring管理的Controller类来接受并处理,将处理结果传递给Service进行业务逻辑分析,然后将Service处理的结果传递给Dao进行SQL操作,XML文件中配置了相关语句,将收到的SQL操作发送给数据库服务器。最后SSM框架把数据层数据库服务器处理的查询结果传递到应用层,应用层将返回结果处理后传递回客户端的浏览器并显示出来,用户进行操作。本系统详细的软件分层体系如图3.2所示。
图3.2 鲜花销售平台系统分层体系说明图
鲜花销售平台系统的功能按角色可分为用户和管理员。二者皆有登陆、注销、修改密码。用户仅可以对自己的用户资料执行查看和修改操作。用户进行查询商品信息的操作时,可以在网站首页的导航栏精确选择需要查询的商品类别。用户查看商品时可以查看商品详情。用户的功能结构图详情见图3.3。
图3.3 鲜花销售平台用户功能结构图
管理员可以删查用户信息、增删改查商品信息、增删改查推荐信息、增删改查用户登录信息、增删改查订单信息、增删改查单价库存、查询订单备注留言信息[10]。还可查看所有的登陆日志,查看所有的密码修改日志,但无法修改登录日志、密码修改日志,其功能结构图详情见图3.4。
图3.4 手机商品定制平台管理员功能结构图
商品信息管理功能,用户登录系统之后可以浏览所有商品信息。点击导航栏的菜单,可查看所有的商品,用户也可查看商品详细信息。管理员可查看所有的商品信息,可发布新的商品信息,可按商品名称、上架日期范围、类别查询某个商品,还可进行删除和修改操作,可修改商品名、价格、折扣、产地、品牌、生产日期、保质期、库存数量、详情简介、类别以及是否进口等信息。
用户信息管理功能,用户登录系统之后可以进入个人中心界面,页面有用户的基本信息。点击修改按钮,可修改用户名、密码、E-mail、姓名、性别、联系方式、收货地址信息,用户可以在此处修改个人信息,编辑完成后点击修改即可,点击取消修改可以重置输入信息。用户修改密码完成后下次登录需要新密码登录。管理员可查看所有的用户信息,可对用户信息进行查询、删除、修改操作。查询用户功能时,可按照用户名称、联系电话进行查询。
登录信息管理功能,管理员登录商品平台之后可以选择“人员管理中的用户管理”进入登录信息管理界面,此界面会显示出所有此系统注册登录的信息,显示用户名、注册时间、电话、邮箱、性别、地址等信息。管理员可以进行删除、修改操作。可根据用户名及电话进行精确查询,查询结果显示在列表中。也可修改以上登陆信息。
商品信息管理功能,管理员登录系统后选择“商品管理”进入商品信息管理界面,会显示所有已有的商品信息。管理员可以添加商品信息,添加时要根据商品的实际信息添加。修改商品信息,管理员可以对已有的商品的信息进行修改,以防第一次填写时有错误出现。也可以对商品信息进行删除操作。
3.2 详细设计
3.2.1 数据库设计
用户信息表(userinfo)用来存储本系统所有用户信息[11]。例如用户序号、登陆序号、用户名称、性别、联系方式、备注。该表以用户序号为自动增长AI,登陆序号为外键,登陆序号、用户名称、性别、联系方式不能为空,用户信息详情见表3.1。
表3.1 用户信息表
列名 数据类型 空/非空 约束条件 其它说明
user_id Int(11) NOT NULL PRIMARY KEY 用户序号
login_id Int(11) NOT NULL 登录序号
user_name Varchar (45) NOT NULL UNIQUE 用户名称
gender Varchar (45) NOT NULL 性别
phone_number Varchar (45) NOT NULL 联系方式
remark VARCHAR(2000) NULL 备注
补充说明 用户信息表
登陆信息表(login)用来存储本系统所有登陆信息。例如登陆序号、登陆名称、登陆密码、登陆邮箱、注册时间、备注、状态序号、类型序号。该表以登陆序号为自动增长约束AI,状态序号、类型序号为外键,登陆名称、登陆密码、注册时间、状态序号、类型序号不能为空,登陆名称、登陆邮箱有唯一约束[12]。具体设计如表3.2所示。
表3.2 登录信息表
列名 数据类型 空/非空 约束条件 其它说明
login_id INT(11) NOT NULL PRIMARY KEY 登录序号
login_name VARCHAR(45) NOT NULL UNIQUE 登录名称
password VARCHAR(45) NOT NULL 登陆密码
register_time DATETIME NOT NULL 注册时间
remark VARCHAR(200) NULL 备注
user_state_id INT(11) NOT NULL FOREIGN KEY 用户状态序号
user_type_id INT(11) NOT NULL FOREIGN KEY 用户类型序号
补充说明 登录信息表
3.2.2 功能模块详细设计
首先通过user.html中添加按钮触发user.js中的MgrUser.openAddMgr ()函数,js页面收到指令后与前端user_add.html响应,信息填写完成后点击页面提交按钮触发user_info.js中的UserInfoDlg.addSubmit ()方法[13],提交信息并失物信息验证,接下来后端数据库实现添加数据功能,向UserMgrController提交信息表单,UserMgrController对表单数据处理并调用ConstantFactory.java中的UserM商品er接口,接下来继续调用UserM商品er中的类方法获取值,传给UserMgrdao并进信息处理,将处理后的信息返回给Controller层,最后由前端html主页商品信息提取并展示。管理员添加用户功能描述如表3.3所示。
表3.3 管理员用户添加功能描述
编号 类名或方法名 功能描述
1 user.html 显示用户及管理员账户所有信息, 添加按钮触发事件调用user.js中的MgrUser.openAddMgr ()函数。
2 user.js 响应user.html并与其进行交互,弹出用户信息添加页面。
3 user_add.html 添加页面对用户信息进行添加,页面中的提交按钮触发事件调用user_info.js中的UserInfoDlg.addSubmit ()方法。
4 user_info.js 对提交的用户信息进行信息验证
5 UserMgrController 接收信息表单并对表单数据进行处理,调用UserMgrDao,根据验证结果进行网页跳转。
6 UserMgrDao 获取用户信息并将处理后的信息返回给Controller层。
用户管理信息为本系统管理员的另一核心功能[14]。管理员进入平台后,点击系统管理下用户信息管理页面中的管理按钮进行用户信息的管理。可以对用户的用户名以及备注地址等信息。显示操作成功后即可。用户信息完成后点击页面下方的提交按钮发布,功能时序图如图3.4所示。
图3.4 管理员修改用户信息时序图
增删改用户信息时,所有数据将会被传送到数据库控制层,通过修改数据库基础数据的方式进行修改。数据经过回传后显示在可见页面中。对商品信息、订单信息的增删改也如上图操作。
3.2.3 开发设计
开发步骤设计,首先系统的想法明确根据创新思路的想法构思具体的业务流程和系统特色,其次确定需求分析、可行性分析,然后确定具体功能的整体设计和详细设计,然后完成页面布局设计和数据库设计,然后通过技术系统,最后进入完善的测试系统,使用系统[15]。开发工时的计算主要是,对于系统的分析阶段所用时间为开发总时间的十分之二。系统的设计工作阶段所用时间为开发总时间的时分之三。系统的实现工作阶段所用时间为开发总时间的十分之三。系统测试工作阶段所用时间为开发总时间的十分之一。最后完善和推广系统的工作阶段所用时间为开发总时间的十分之一。
3.3 本章小结
本章主要介绍了鲜花销售平台系统的系统设计。首先对本系统进行比较详细的总体设计分析,了解手鲜花销售平台的整体功能及结构。然后设计鲜花销售平台数据库,并对数据库中的每个表进行详细的描述。最后对本系统的核心功能模块的具体操作方法进行描述,然后给出重要功能模块的时序图,并对这些时序图运作流程进行描述。
4 鲜花销售管理平台系统实现
4.1 开发环境
鲜花销售平台的操作系统使用了Windows 10 家庭版 64-bit操作系统,该操作系统为目前主流操作系统,软件环境好,软件比较丰富。开发环境的CPU为Intel® Core™ i5-4200H CPU @ 2.80GHz (4 CPUs),内存为8.00GB RAM。开发工具为Eclipse Jee Oxygen,其版本号为4.6.3。还有Office2010 、MySQL数据库。还使用了SSM框架作为开发技术使用Java语言完成系统源代码编写工作。通过Tomcat8服务器部署项目。
4.2 开发规范
鲜花销售平台整体命名使用了Java通用命名规范[16], 所有名称中不使用汉字,并且有相对应的含义,风格统一,报名所有字母全部小写,包括controller、dao;对于累的明明首字母小写第二个单词开始首字母大写,比如adminDao、userDao。关于类、属性名、方法名不能以无意义符号命名;对于变量命名所有字母全小写,比如用户名username,方法的命名原则同类的命名原则一致。
4.3测试功能
首页功能是实现给一个用户直观的感受,在首页显示推荐的热门商品信息;可以根据自己的需求进行相应的分类查询[17];购物车功能是消费者在购物商品后,可以加入到购物车,进行购物车中商品的查看、删除和付款操作;下订单功能是消费者在确定要自己的购物车中的商品是要购买的商品的时候,可以进行下订单的操作,需要用户在购物车中选择结算后点击提交订单方可成功建立订单。
用户只有在登录状态下才能进行购买的操作,所以当用户登录后点击想买的商品后确认订单信息后点击立即购买,输入收货人、联系方式、收获地址后选择生成订单后,系统会显示支付并且支付成功后在订单中可以看到。并且按最后的查看按钮可以详细看到商品的介绍以及下单时间等等。具体如图4.1所示。
图4.1 用户订单管理界面
后台管理功能为管理者进行操作的系统,管理员可以在这个系统上及进行商品的分类添加删除和修改,以及订单的查看和处理删除功能,还有用户注册信息地址管理功能。为管理员的整理和工作带来了极大的便利。
修改或添加商品信息是管理员对本平台所有商品进行修改或者添加一个新的商品进入选项的方式,非常便捷的对所添加的商品进行二级类别处理。
具体如图4.2所示。
图4.2 管理员修改添加商品信息
订单处理的功能是对于已经付款的购物订单,我们要进行发货处理,以及查看所有订单的功能。还可根据下单日期范围、订单号、操作员进行等进行精确查询。普通管理员也可以对订单进行处理。具体实现如图4.3所示。
图4.3后台订单管理界面
该平台管理员还可以查看所有会员的信息资料以及他们的发货地址等信息。还可对恶意用户进行禁用处理,包括违规头像用户名等。如图4.4所示。
图4.4 管理员查看会员信息界面
本项目为了方便管理员管理还设置了销量统计功能,具体实现就是统计个一级类的销量进行饼状图的绘制,很直观很方便的能看出鲜花商品的销售情况。如图4.5所示。
图4.5 销量统计功能
为管理员添加商品功能实现以及管理员对留言及订单进行处理实现的定制功能为本项目的核心功能所以本文将对此功能的实现过程进行想详细介绍。管理员登录后台后将通过商品分类页进行一级类或二级类的增删改,并且此功能跟商品页面进行搭配来实现一级标题下的二级标题内商品的增删改查功能。此功能的数据库表示为图4.6、图4.8其代码如下:
订单号 | 收货人 | 联系方式 | 地址 | 下单日期 | 状态 | 操作 |
---|
<div class="modal fade" id="orderSnackModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" style="width: 500px; height: 300px">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">订单详情</h4>
</div>
<div class="clearfix" style="margin:0px 15px 0px">
<div class="margin-top-15">
<table id="table_snack_example" class="display" style="width:100%;">
<thead>
<tr>
<th>图片</th>
<th>商品名</th>
<th>价格</th>
<th>数量</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="payMoneyModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" style="width: 300px; height: 300px">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">支付详情</h4>
</div>
<div class="clearfix" style="margin:0px 15px 0px">
<div class="margin-top-15">
<table id="table_snack_example" class="display" style="width:100%;">
<tr>
<td>支付金额:<input type="hidden" id="payoId"></td>
<td><input type="text" disabled="disabled" id="payNumber"></td>
</tr>
<tr>
<td>您的钱包:</td>
<td><input type="text" disabled="disabled" id="uMoney"></td>
</tr>
<tr>
<td>输入密码:</td>
<td><input type="password" id="uPasword"></td>
</tr>
<tr style="text-align: center;"><td colspan="2"><input type="button" id="comfirPay" value="付款"></td></tr>
</table>
</div>
</div>
</div>
</div>
</div>
4.4 数据库实现
根据数据库设计部分,需创建很多个表来维持系统正常运行[18]。本系统鲜花销售管理平台使用Nabicat for MySQL工具可以很明显的看出数据库表信息如图4.6所示。数据库共计15张表,而permission表为本系统核心表,用来定义所有可实现的功能。多张表构建了本系统完善的后端存储数据库。
图4.6 系统数据库表信息
本项目“鲜花销售管理平台”数据库部分表字段信息如图4.7所示。罗列出了表名,表字段名及字段类型等信息,同时本项目数据库采用Utf-8编码集,避免了中文乱码显示的问题,提高用户体验度,根据项目前期数据库的设计,现今已全部实现完成,同时作为本平台的后端数据库,真正实现了与前端交互,实现数据的存储。其中有商品id、源种类id、商品图片、价格、库存、销量、上架时间、是否推荐等部分分类。
图4.7 系统数据库表字段信息
除此之外还有订单数据库(receiptinfo),用来统计记录买家下单时的的订单信息,包括订单号、用户姓名、用户电话、地址。用来给用户进行发货以及需求处理[19]。如图4.8所示。
图4.8 地址数据库表字段信息
还有分类(rolepermission)数据表来进行对角色权限的分类,分别分为一级以及二级,其中二级包含在一级内,为一级的扩充类。其中超级管理员1享有所有权限、普通管理员2及小角色3享有如图4.9所示权限。
图4.9角色权限数据库表数据
所有功能数据表(permission)如图4.10所示,一共有26种功能实现。
图4.10 所有功能数据表数据展示
4.5本章小结
本章主要从实现的几个重点详细的阐述了实现的主要功能以及开发的主要规范以及开发的主要环境要求。对于实现具体的功能,前端和后端需要数据联调,首先在实现的过程中,前端的布局和显示要先完成,然后通过前端的显示可以调试后台发过来的数据,更加的直观,对于算法和具体的实现是重点问题,实现功能的时候要考虑全面,减少发生极端错误和边缘问题的概率。
5 鲜花销售管理系统测试
随着信息化建设飞速的发展,软件产品与软件系统在社会的各个领域都得到了广泛地应用。同时,软件系统的规模越来越大,各系统之间数据交换越来越频繁[20]。软件开发中出现错误和问题也就逐渐增多,因此现在对于软件质量的要求也是越来越高,假如软件出现质量问题那将是一个无人问津的软件,所以,测试过程显得尤为重要。
5.1 测试计划
在本次测试,计划测试主要的四个核心功能。分别是用户建立订单的功能、用户删除订单的功能、管理员处理订单的功能以及管理员取消订单的功能。由于在线商品销售系统的核心功能就是订单功能,所以主要测试的就是订单功能。本次测试的目的是对于我们项目是一个至关重要的一步,由于测试成功证明此次项目基本成功,所以测试工作不能马虎,必须仔仔细细地完成。详细计划安排如表5.1所示。
表5.1 测试计划安排表
功能 测试内容 完成标准
用户建立订单 通过在线商品销售系统,测试用户建立订单功能模块,是否可以正常的进行。 可以正常的进行日期选择以及条件选择,并正确的进行查询操作,显示结果。
用户删除订单 通过在线商品销售系统,测试用户删除订单功能模块,是否可以正常的进行。 可以正常选择信息,并正确删除操作,显示删除结果。
管理员处理订单 通过在线商品销售系统,测试管理员处理订单功能模块,是否可以正常的进行。 可以正常的新增,并正确的进行新增操作,显示结果。
管理员删除订单 通过在线商品销售系统,测试管理员删除订单功能模块,是否可以正常的进行。 可以正常修改信息,并正确修改操作,显示修改结果。
5.2 测试用例
为突出系统的通用性,这部分的调试将会使用实例来说明。就以其作为一个站的组件,实现用户创建订单、用户取消订单、系统管理员查看订单和系统管理员取消订单功能[21]。
5.2.1 用户建立订单
用户登录后,进入主页,可进行建立订单功能操作,本次测试决定使用2种测试方法完成用户建立订单的测试用例,并编写预期结果,查看实际结果与之是否相符。详细操作如表5.2所示。
表5.2 鲜花销售管理平台用户建立订单测试表
编号 测试方法 预期结果 实际结果
1 直接点击提交订单 订单信息显示在我的订单中 订单信息显示在我的订单中
2 选择支付后不点击提交订单 我的订单中没有任何信息 我的订单中没有任何信息
5.2.2 用户取消订单
用户登录后,进入主页后进入“我的订单”,可进行取消订单功能操作,本次测试决定使用2种测试方法完成用户删除订单的测试用例,并编写预期结果,查看实际结果与之是否相符。详细操作如表5.3所示。
表5.3 鲜花销售管理平台用户删除订单测试表
编号 测试方法 预期结果 实际结果
1 点击取消按钮后点击取消订单 删除选定的订单 选中的订单被删除。
2 点击删除按钮后点击取消 不删除选定的订单 选中的订单未被删除。
5.2.3 管理员处理订单
管理员登录后,进入管理页面后选择“订单管理”,选择好相应的订单点击。“查看”,然后就可以进行订单管理功能操作,本次测试决定使用3种测试方法完成管理员管理的测试用例[22],并编写预期结果,查看实际结果与之是否相符。详细操作如表5.4所示。
表5.4 鲜花销售管理平台管理员处理订单测试表
编号 测试方法 预期结果 实际结果
1 直接点击查看按钮 默认查看到指定的订单信息 默认查看到指定的订单信息
2 进入订单管理不点击查看。 显示所有订单列表 显示所有订单列表
3 点击上方点订单分类的按钮 按所点击的按钮显示对应类别的订单 按所点击的按钮显示对应类别的订单
5.2.4 管理员取消订单
管理员登录后,进入后台管理后进入“订单管理”,选择好指定的订单单击“查看”按钮,可进行该订单的取消功能操作,本次测试决定使用2种测试方法完成管理员取消订单的测试用例,并编写预期结果,查看实际结果与之是否相符。详细操作如表5.5所示。
表5.5 鲜花销售管理平台管理员删除订单测试表
编号 测试方法 预期结果 实际结果
1 点击取消按钮后点击取消 取消选定的订单 选中的订单被取消
2 点击取消按钮后不点击取消 不取消选定的订单 选中的订单未被取消
5.3 性能测试
目前有多种测试JavaWeb程序的方法,本次采用的是JDK自带的工具jvisualvm.exe。在JDK的文件夹中寻找bin文件夹,启动Tomcat服务器运行本平台[23]。然后从bin文件夹中找到jvisualvm.exe,然后运行需要测试的程序,在屏幕上中就会出现测试的文件图样,双击后即可看到一些性能上面的结果。性能测试结果如图5.1所示。
图5.1 鲜花销售管理平台测试结果图
该图中显示了本系统在运行50分32秒的时候,eclipse在运行中的CPU运行效率、堆的测试数据、类的测试数据以及线程上的测试数据,而且可以从黄蓝两色区分出已装入的类的总数以及共享的已装入类数、堆大小及使用的堆、实时线程及守护线程数[24]。
通过以上数据可以进行分析,测试系统的活动线程为59,守护线程为50,已启动线程总数以及最高线程峰值为59。类中已装入数为20950,共享的已装入数为0 。
17:48:06时CPU的使用情况为25.1%,不存在cpu不够用的情况。堆大小及已使用量如图显示。所以根据测试的以上结果以及开发环境中硬件情况分析得出,此程序在运行中无出现严重的问题,可良好运行。
5.4 本章小结
本章主要是叙述手机商品定制平台在系统测试阶段需要完成的工作。首先所是编写测试计划,然后进行测试用例。接着使用jvisualvm.exe进行性能测试,经过这样整体的测试后,才能使系统运行地更加稳定更加可靠。全面的测试不仅可以做到规避风险,更加可以避免不必要的损失,减少软件或者系统使用后产生致命错误和危险的发生。
结 论
该系统具有一定的安全性和可靠性;本文系统在设计和实现过程中充分考虑了可维护性、操作易懂、界面美观等要求,具有安全性高、系统可伸缩性好、操作简单、界面美观的特点,所采用的SSM和MySQL技术保证了系统具有极强的稳定性以及用户体验度高的特点[25]。实际应用表明了系统设计的合理性和有效性。。
由于用户经常使用线下的购物方式去购买商品,对于现在的用户经常是懒得去实体店购买的,客人没有办法及时的买到自己想购买的鲜花,鲜花销售系统可以很好的解决掉这个弊端。而且由于鲜花的种类繁多,各种鲜花的花语包装不同所代表的含义不同,几乎所有用户都可以在本平台找到自己需要的商品,就算是完全不懂的用户也可以,我们所具备的功能还不够完善,也还有许多可扩展的地方。
经过自己对项目的测试及试验,本项目能充分的达到设计初期的预期效果,完美的达成了需求分析所预期的目标。说明了本系统设计具有合理性与有效性。本系统的设计与实现有效的降低了商品线下交易的运营成本。本文系统还存在一定的不足,由于知识准备不太充足,项目中可能有些许bug等待优化。比如本系统只能在PC端浏览,设备的灵活性太低了,这是将来需要进一步完善的工作。
致 谢
毕业即将来临,首先要对我本次论文的指导老师黄老师以及校外指导教师苏畅表示深深的敬意,黄老师对于我的毕业设计的完成给予了最多的关怀和最悉心的指导,正因为有黄老师的不断的指导,才能完成这个毕业设计以及毕业论文的书写,黄老师每次都及时的发布任务,并且催促我们上交为了给我们也提出针建议,让我们进行修改。这些建议也对于我工作中也起到了很大的帮助。同时,还有校外指导老师苏畅老师对于我的帮助。感谢单位不管在精神上还是学习指导中给予我的鼓励和鞭策。总得来说这半学期的毕业设计的这段时光还是很令人难忘的。
从任务书开题报告开始,黄老师提出了许多针对性的问题,给我提供了很多的思路,为系统的开发提供了更加明确的目标,为系统能够解决刚需打下了坚实的基础。在项目开发的过程中,多次与老师沟通,让我更加的明确了如何将系统制作的更加完善。
参考文献
[1]林麦琪.互联网时代下基于场景营销手段的鲜花电商品牌提升策略研究——以爱尚鲜花品牌为例[J].中国集体经济,2019(17):76-77
[2]陈文忠.云南鲜花销售开启规模化产地直供模式[J].云南农业,2019(02):53
[3]赵小林. 城市鲜花的零售策略研究[D].西南财经大学,2018
[4]王语园,于明.鲜花网络购物系统的设计与实现[J].内蒙古科技与经济,2017(17):70-71
[5] Delphia Casey M,O’Neill Kevin M,Burkle Laura A. Wildflower Seed Sales as Incentive for Adopting Flower Strips for Native Bee Conservation: A Cost-Benefit Analysis.[J]. Journal of economic entomology,2019,112(6)
[6]李如是.整合云南鲜花销售模式[J].中国集体经济,2017(03):70-71
[7]梁丽芬.浅谈鲜花零售经营模式现状及建议[J].经贸实践,2016(17):145
[8]李莉.云南鲜花产业信息化研究[J].现代商业,2016(09):34-35
[9] Jacqueline Aparecida Takahashi,Flávia Augusta Guilherme Gonçalves Rezende,Marília Aparecida Fidelis Moura,Laura Ciribelli Borges Dominguete,Denise Sande. Edible flowers: Bioactive profile and its potential to be used in food development[J]. Food Research International,2020,129
[10]刘锦.鲜花速递企业销售模式及收入确认方法探讨[J].经贸实践,2015(10):142
[11]董学博,徐世星,甄文学.小哥花店网络营销策略研究[J].电子商务,2015(08):29-30
[12]田艳,卢凤英.在线鲜花销售系统[J].信息与电脑(理论版),2014(08):170-171
[13]楚楚.在美国超市看情人节花束的变化[J].中国花卉园艺,2016(05):58-59
[14]沈静. XX鲜花公司基于竞争战略的采购与供应管理研究[D].西南交通大学,2017
[15] Jie Wang,Lei Yuan. Development of Intelligent Flower Shop Management System Based on MIS[J]. Journal of Physics: Conference Series,2018,1069(1)
[16]贾嵋.互联网+促进农业经济发展的路径研究[J].农业与技术,2020,40(08):156-157.
[17]卢勇,杭志.基于社交电商的生鲜农产品销售平台研究[J].产业创新研究,2020(08):43+47.
[18]石云翔,周锋,于海龙,崔明,王智慧.如何开展零售联合体平台销售模式[J].中国种业,2020(04):29-31.
[19]Hemant K. Bhargava,Olivier Rubel. Sales Force Compensation Design for Two-Sided Market Platforms[J]. Journal of Marketing Research,2019,56(4).
[20]刘霞,曹新鸿.基于B2C模式的网上销售平台的设计与实现[J].邢台职业技术学院学报,2016,33(03):95-99.
[21]罗勇.电子购物销售平台网页设计探讨[J].电子技术与软件工程,2015(07):28.
[22]张倩. 基于ASP.NET的服装销售平台的设计与实现[D].厦门大学,2014.
[23]Anonymous. Toyota Motor Sales U.S.A., Inc.; New York Solar Flowers Bloom in Flatiron Plaza Display July 23 - August 2[J]. Computer Weekly News,2009.
[24]Anonymous. U.S. Agency for International Development; Flower Sales Help Cultivate Peace in Colombia[J]. Science Letter,2009.
[25]Anonymous. Tesco branches support sales of UK-grown flowers[J]. Horticulture Week,2008.