基于Android的礼品电商平台App设计与实现
摘 要
在传统的商业模式中,对于礼品等商品,人们习惯于到各种商家店铺挑选购买。随着网络购物的广泛普及,和不断加快的时代节奏代中,人们不一定能为购买礼品腾出时间,更不会耐心挑选自己想礼品。但是市面上主流的大型综合网络商城,诸如淘宝、天猫、京东等商城,商品种类数不胜数,在数量繁多的商品中挑选出自己心仪的礼品,所需要的筛选时间往往可能比去实体店购买更多。所以设计一个专门的礼品电商平台,既是迎合电子商务的大潮流,也是传统实体店的一个突破口,可以给传统实体店带来转变和新的机遇。
该平台主要是提供给用户一个专门的购买礼品的平台,通过高效筛选以及价格优势吸引众多消费者来购买,实现正常运营。本文主要是以Android为开发语言、springboot框架、Mysql数据库,目标是实现一个专门销售礼品的电商平台,构建用户信息与账号,账号与订单信息有机结合的业务系统。
本论文系统地描绘了整个礼品电商平台的设计与实现,主要实现的功能模块如下。用户端:首页(轮播图、公告栏、礼品商品(收藏、加入购物车、立即购买、评论))、订单、购物车、我的(基本信息、收货地址、收藏、订单、购物车、物流配送);管理端:首页、站点管理(轮播图、公告栏)、用户管理(管理员、注册用户)、商城管理(礼品商城、分类列表、订单列表)、更多管理(物流配送)等功能,其具有简单的接口,方便的应用,强大的互动,完全基于互联网的特点。
通过此平台简化购买过程的程序,正是我们所需要的。这篇文章研究了基于Android的礼品电商平台的开发和实现,从需求分析、总体设计到具体实现,最终完成了整个礼品电商平台,从而方便了用户购买礼品,管理员实现高效管理。
关键词:Android技术;礼品电商平台;springboot框架;Mysql数据库
ABSTRACT
In the traditional business model, people are used to shopping in various stores for gifts and other goods. With the widespread popularity of online shopping and the ever accelerating pace of the times, people may not be able to spare time for buying gifts, let alone patiently choose the gifts they want. However, the mainstream large-scale integrated online shopping malls in the market, such as Taobao, Tmall, Jingdong and other shopping malls, have numerous types of goods. It often takes more time to select the gifts you like from a large number of goods than to buy them in physical stores. Therefore, designing a special gift e-commerce platform is not only to meet the trend of e-commerce, but also a breakthrough for traditional physical stores, which can bring changes and new opportunities to traditional physical stores.
This platform is mainly to provide users with a special platform for purchasing gifts, which can attract many consumers to buy gifts through efficient screening and price advantages, so as to achieve normal operation. This paper mainly uses Android as the development language, spring boot framework and MySQL database. The goal is to achieve an e-commerce platform dedicated to selling gifts, and build a business system that combines user information and account, account and order information.
This paper systematically describes the design and implementation of the entire gift e-commerce platform. The main functional modules are as follows. Client: home page (carousel map, bulletin board, gift products (collection, adding to shopping cart, immediate purchase, comments)), order, shopping cart, my (basic information, receiving address, collection, order, shopping cart, logistics distribution); Management side: Home page, site management (carousel map, bulletin board), user management (administrator, registered user), mall management (gift mall, classification list, order list), more management (logistics distribution) and other functions. It has simple interfaces, convenient applications, strong interaction, and is completely based on the characteristics of the Internet.
The program to simplify the purchase process through this platform is exactly what we need. This article studied the development and implementation of the gift e-commerce platform based on Android. From demand analysis, overall design to specific implementation, the entire gift e-commerce platform was finally completed, which made it convenient for users to purchase gifts and administrators to achieve efficient management.
Key words:Android technology; Gift e-commerce platform; Spring boot framework; MySQL database
随着我国电子商务的迅速发展,网络销售已形成了一定的规模并取得较大的成功,其对企业的效益越来越突出。淘宝、天猫、京东、苏宁易购等大型电子商务企业的崛起,由此可以看出网络销售的巨大潜力和崭新的盈利模式。网络销售可以加快产品的发布和宣传,使交易过程简化、自动化,销售方只需要把产品交给物流行业运作即可,省去传统交易模式的繁琐。在空间上可以减少店铺租金的支出,不用频繁的进货、卸货、装货以及上架产品,侧面上减少了实体店的数量,节约店铺租金支出,为目前堵塞的城市现状给予一定的缓解。
各种物品是人们日常的消费品,物品供应与消费者需求有着极为重要的关系。社会压力造成工作日渐繁忙,时间观念越来越强,简化事务、方便消费,使网络化销售逐渐成为消费社会化的需要。同时,由于人们生活消费质量的不断提高,各种物品消费需要由“数量型”向“质量型”转变,物品消费的消耗性、多样化也成为一种消费需求。
这种消费型社会的大趋势已为网络销售业发展提供了良好商机。据了解,目前内陆各省大多有销售企业在运转,起步时间都不长,而且上规模的正规企业也不是很多,部分仍处于买卖双方谈妥价格后的私下交易。而在广东、山东、北京、上海、天津等地已有大规模的商品销售中心出现,特别是大城市中面向家庭客户的商品销售服务已蔚然兴起。
此平台是针对企业面临的困境与现状,为方便消费者的购买以及将线上与线下更好的结合在一起,利用相关的技术所设计出的。
随着我国互联网的快速发展,经过十多年的市场培育,电子商务市场进入了爆发式增长阶段,一年的网络购物金额已超过4000亿元,传统企业纷纷涉足电子商务。礼品也不例外。电子商务已经由过去的PC端逐渐进入了移动时代。一方面,对于处于创业阶段的电商平台运营者来说,由于资金不足、开发人员不足,很难在短时间内拥有电商平台的手机客户端。另一方面,面对日益复杂的业务,越来越多的功能模块为用户带来了更丰富的体验,但模块之间的高耦合性却给开发和调试工作带来了很多困难。基于以上原因,本论文提出了基于Android的礼品电商平台。结合springboot框架,它具有模块内高内聚、模块间低耦合的特点,每个模块各司其职,管理员可根据业务需要添加、修改和删除业务模块。在充分调研现有电商平台手机用户端和管理端的基础上,基于Android组件化设计理念,本论文把电商平台手机客户端的通用功能抽象为一个基础组件和五个业务组件,基础组件主要实现网络连接、图片加载、文件上传等与业务无关的功能,五个业务组件主要实现电商业务逻辑,分别为首页组件、商品分类组件、商品详情组件、购物车组件和个人中心组件,并对其分别进行了设计与实现,最后基于实现的这六个组件,搭建了一个通用的电商平台Android用户端。论文最后对实现的Android电商平台进行了测试,面向开发人员测试了组件化开发,面向管理员测试了业务逻辑,测试结果有效验证了系统的可行性。本论文提出的方法和取得的成果对于各类电商平台的研发具有一定的参考价值。
对于典型的数据库系统,尤其是对于像礼品电商平台这样的数据流量较大大的网络系统,必须要满足使用方便、操作灵活等要求。此平台在设计时应该满足以下几个目标
(1)采用人机对话的操作方式,界面美观、友好,信息查询灵活、方便,数据存储准确、安全可靠;
(2)全面展示所有商品,并可展示主要商品;
(3)便于顾客快捷地进行商品信息浏览、筛选;
(4)用户可以随时修改自己的基本资料;
(5)实现收藏、加入购物车、下单的功能;
(6)顾客可以随时查看自己的订单信息;
(7)对客户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误;
(8)系统最大限度地实现了易维护性和易操作性;
(9)系统运行稳定、安全可靠。
本文具体内容包括:绪论、系统采用的关键技术、系统分析、系统设计、系统实现和系统测试。本文着重描述了系统的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,另外,重点剖析了部分环节的开发过程。此平台在一定的环境下对系统的重要模块进行了模拟测试,证实了系统的可用性、可靠性。
Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为GPhone。
它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java编写。
Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之一,从发布初期到现今,可以说有将近20多年的历史,已发展成为人类计算机编程语言发展史上的一个深远影响。
Java语言具有非常多种的特性:(1)跨平台的无关性;(2)面向对象; (3)安全性得以保障;(4)支持多个任务;(5)多种编写方式,代码编写简单。对比其他的低级语言、高级语言,Java语言具有明显的显著优势以及未来开阔的前景,可以广泛的应用在个人笔记本电脑、大数据、大型游戏等等。
首先,Java语言具有面向对象的特性,并且易于理解。关于对象,其实可以理解成每一种事物都是一种对象,包括我们人类自身都是一种对象。利用面向对象语言的基本特征来解决软件开发中的实际问题,为有效软件开发提供了技术支持。
其次,Java 语言具有很好的跨平台无关性。所编写出来的应用程序是Java语言编写的,那么就无需再使用编译器来修改程序代码,可以直接在任何计算机系统中运行,Windows系统可以运行,在Linux系统中也可以,也就是经过一次编译,可以到处运行,所以Java语言具有卓越的可移植性,可以很好的跨平台实现。
Mysql 数据库它有很多的优点,例如它在操作上能够让人通俗易懂、功能强大、信息储存量高等优点。所以被人们广泛应用,对于mysql数据库来说它一般主要是对数据进行编码和查询,而且在很多的设计当中都应用到了该数据库,在此过程当中我们可以对常规的数据进行查询和组合,所以我们在进行使用mysql数据库的时候只要对编写一小段的数据就能实现相应的功能。数据库,就是数据存储的储藏室,只不过数据是存储在计算机上的,而不是现实中的储藏室,数据的存放是按固定格式,而不是无序的,则定义就是 :长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要包括数据表的建立,数据存储、修改和增加数据,为了使数据库系统能够正常运行,相关人员进行的管理工作。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
此平台操作简单,易理解。礼品电商平台与大部分电子商务系统的操作流程类似,避免了用户学习使用系统的时间和负担。
3.1.1操作可行性
此平台使用的是现流行的开发语言,即JavaEE技术。同时所有的信息都是以网页的形式展示,系统中的信息都可以在后台操作数据库达到数据更新的效果。用户只需要会计算机的基本操作或者会上网就可以使用此平台,系统管理员只需要懂得文件上传,处理文本即可操作管理后台。系统布局较简单,功能操作不复杂,完全符合现代市场需求。因此此平台具有操作可行性。
3.1.2技术可行性
礼品电商平台的登录界面简单易于操作,采用常见的界面窗口来登录界面,通过手机进行访问操作,此系统的开发采用Android开发,后台结合java语言,这些开发环境使系统更加完善。此平台具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此此平台可以进行开发。
3.1.3经济可行性
此平台是一个在线的礼品电商平台,顾客可以直接在系统上购买礼品,同时智能手机的普及率非常高,性能也充分满足此平台使用。而此平台的开发可以有效的提高购买效率,降低管理成本,节省管理费用,为礼品企业的工作效率带来了一个质的飞跃。因此,此平台在经济上是完全具有可行性的。
通过此平台,卖家节省了用于交易场所、服务质量、维护商铺杂支开销等方面的投入,从而降低了价格;买家方面,不仅节约了挑选的时间成本,同时降低了购买成本,可以“货比三家”地随意挑选性价比高的产品。加快了交易和货币流通速度,而进而推动经济的增长。
根据条件需要,系统结构主要由二大用户组成。一是买家组成的注册用户,二是管理员用户。
1用户登录及身份要求
验证注册用户、管理员等用户的信息
2此平台销售功能需求(面向注册用户)
允许注册用户在线与客服沟通。
允许注册用户评论商品。
允许注册用户查询商品的信息。
允许注册用户对购买订单的管理。
自动生成订单。
注册用户在线支付订单费用。
买家选择商品,进行购买,填写发货地址、联系电话等信息。
3此平台销售功能需求(面向管理员用户)
对商品信息的管理(添加、删除,修改,查询)。
对买家的订单的管理(删除,修改,查询)。
对注册用户注册信息的管理(添加,删除,修改,查询)。
对商品信息的管理(删除,修改,查询)。
对买家的订单的管理(删除,修改,查询)。
对物流信息进行管理(添加,删除,修改,查询)。
对商品类别管理(添加、删除、修改商品类别)。
1.管理员主要负责站点管理、用户管理、商城管理(礼品商城、分类列表、订单列表)、更多管理(物流配送),下图所示描述管理员的用例。
![](https://i-blog.csdnimg.cn/blog_migrate/c3258d72f270836a53127738beeea1c9.png)
2.注册用户主要使用系统的在线购买业务,下图所示为注册用户用例图。
![](https://i-blog.csdnimg.cn/blog_migrate/99d1b16c2c144820af3f496ce20545c8.png)
数据流图的设计主要是由于系统目前功能还没有确定,可以先描述可能要使用到的功能内容,并且向用户了解“系统从外界接受什么数据”和“系统向外界送出什么数据”等信息,根据用户所给的答复进行设计数据流图。
如下为系统的0层数据流图,系统用户分为管理员和普通用户。
![](https://i-blog.csdnimg.cn/blog_migrate/bba3125656c7b3b37cdf2f5ab14eb6d0.png)
图3-4系统数据流图(0层)
如下图所示为系统1层数据流图。
![](https://i-blog.csdnimg.cn/blog_migrate/cc4cd91c9ad50de98de6415eb1e2b777.png)
礼品电商平台第二层数据流图主要详细反应各功能模块对应的操作与数据进行交互的原理。并且更详细的显示出各角色对功能模块操作的数据流向,让开发人员能了解该系统的开发方向,能够更准确的开发出系统模型。
将商品信息维护进行细化得到商品信息管理二层数据流程图,如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/438d4730a67a8488e66191ec7418aaee.png)
图3-6商品管理数据流图(2层)
将订单信息管理进行细化得到订单信息管理二层数据流程图,如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/52d67b7eea80b80bd2783d442ec61fab.png)
图3-7订单管理数据流图(2层)
1.数据存储描述
下表描述了用户信息的数据流、数据来源、数据去向和数据流组成的词条。
数据流 | 用户信息 |
数据流来源 | Mysql数据库中用户信息表,用户详细信息表 |
数据去向 | 系统界面,用户信息管理界面 |
数据流组成 | 用户名、用户密码、添加时间、编号 |
下表描述了购买订单信息的数据流、数据来源、数据去向和数据流组成的词条。
数据流 | 购买订单信息 |
数据流来源 | Mysql数据库中购买订单表,购买订单详细信息表 |
数据去向 | 购买订单界面 |
数据流组成 | 购买订单ID、用户ID、商品ID、数量 |
下表描述了订单信息的数据流、数据来源、数据去向和数据流组成的词条。
数据流 | 订单信息 |
数据流来源 | Mysql数据库中订单表,订单详情表 |
数据去向 | 用户订单界面,订单管理界面 |
数据流组成 | 用户ID、订单ID、商品ID、下单时间、订单金额 |
下表描述了商品类别的数据流、数据来源、数据去向和数据流组成的词条。
数据流 | 商品类别信息 |
数据流来源 | Mysql数据库中商品类别表、商品详情表 |
数据去向 | 商品详情界面、购买订单界面、商品类别管理界面 |
数据流组成 | 商品类别名 |
下表描述了商品管理的数据流、数据来源、数据去向和数据流组成的词条。
数据流 | 商品信息 |
数据流来源 | Mysql数据库中商品表、商品类别表 |
数据去向 | 商品查询界面、商品详情界面、购买订单界面、商品管理界面 |
数据流组成 | 商品名、商品价格、库存数量、商品类别 |
下表描述用户通过输入用户名和密码进行身份验证处理,验证成功后将返回的信息显示在界面上。
处理逻辑名称 | 用户身份验证 |
简述 | 检查输入信息的合法性 |
输入的数据流 | 用户名+密码 |
处理过程 | 根据输入的用户名和密码,检索用户,显示查询信息 |
输出的数据流 | 用户信息、商品信息 |
下表描述用户成功登录系统后通过商品名查询商品信息,根据查询后返回的数据显示在界面上。
处理逻辑名称 | 商品信息查询 |
简述 | 检查输入信息的合法性 |
输入的数据流 | 商品名或商品编号或商品类别 |
处理过程 | 登录成功的用户,通过商品名查询用户所需的商品,还可查询用户的订单及评论。 |
输出的数据流 | 用户订单信息,购买订单信息 |
下表描述管理员用户成功登录系统后可以添加商品,添加后,重新查询商品表,返回的商品数据显示在界面上。
表3-8商品信息添加
处理逻辑名称 | 商品信息添加 |
简述 | 检查输入信息的合法性 |
输入的数据流 | 商品信息 |
处理过程 | 登录成功的管理员用户,往数据库添加一条商品信息数据。 |
输出的数据流 | 商品信息,订单信息 |
下表描述管理员用户成功登录系统后,购买商品,填写订单收货人、收货地址、联系电话等,生成购买订单后,重新查询订单表,返回的订单数据显示在界面上。
表3-9订单生成
处理逻辑名称 | 订单生成 |
简述 | 检查输入信息的合法性 |
输入的数据流 | 订单信息 |
处理过程 | 登录成功的用户,往数据库添加一条订单信息数据。 |
输出的数据流 | 订单信息 |
下表描述用户成功登录系统后通过公告标题查询公告信息,根据查询后,返回的公告数据显示在界面上。
表3-10公告信息查询
处理逻辑名称 | 公告信息查询 |
简述 | 检查输入信息的合法性 |
输入的数据流 | 公告标题 |
处理过程 | 登录成功的用户,通过公告标题查询用户所需的公告信息 |
输出的数据流 | 公告信息 |
系统分为前台和后台,前台主要用于商品的展示和购买,后台用于商品信息和订单信息的管理,首先以普通用户通过账号注册后登录系统前台,可以进行各种商品的信息浏览和搜索,注册用户可以将需要的商品进行下单购买,用户可以查询订单是否已经被卖家确认,订单生成后表示注册用户购买成功,前台系统除了可以进行商品的下单还可以对商品进行收藏,进行商品评论,注册用户同时可以修改个人的信息资料,查看个人的购买记录;以管理员的身份登录系统后台可以进行站点管理、用户管理、商品维护、物流信息维护等
系统功能结构图如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/dc07990a16886dbbe2f2fb9715da6159.png)
图4-1系统功能结构图
1.用户登录模块:确保用户注册信息的真实度是提高系统效率和盈利的重要因素。真实的用户才能带来价值,注册是保证真实用户使用系统主要业务的第一步,通过对用户注册信息的审核,可防止机器注册。使用现如今较为流行的管理员进行账号激活的验证方式,对用户注册信息进行过滤,未激活用户信息将不能使用系统主要功能。
如下图所示为用户登录流程图。
![](https://i-blog.csdnimg.cn/blog_migrate/0af9be8fec8193736e9560e423a8d140.png)
图4-2用户登录流程图
2.商品浏览模块:没有登录的用户和登录的用户都可以在系统前台进行商品浏览,用户可以查看商品的详细信息和选择相应的商品类别进行该类别下的商品查看,用户还可以通过商品名称的关键字进行搜索。
如下图所示为商品浏览流程图。
![](https://i-blog.csdnimg.cn/blog_migrate/ac9652cabf4c171b371ac4909f77f561.png)
图4-3商品浏览流程图
3.订单管理模块:用户购买商品后,填写收货地址、收货人、电话等信息,生成订单信息,管理员可以审核订单,删除、修改订单,对订单信息进行相应的商品发货。
如下图所示为订单管理流程图。
![](https://i-blog.csdnimg.cn/blog_migrate/5fa6757315f13efad7780a2fc6bbbf65.png)
图4-4订单管理流程图
5.用户管理模块
管理员可以对用户信息进行增、删、改、查的操作。
用户对个人添加至购买订单里面的商品进行增删改查等操作。
用户在线评论商品,管理员回复评论,管理删除评论。
管理员可以对商品类别进行增、删、改、查的操作。
9.物流配送管理模块
管理员可以对物流信息进行增、删、改、查的操作。
4.3.1概念设计
此平台的E-R图表现了系统中各个实体之间的联系,经过分析,系统的实体有商品、商品类别、订单、用户等。
商品信息的实体图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/e6a2c65f3742097f4a825cfdc2a43d14.png)
图4-6商品信息实体图
商品类别实体图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/b20b12ec9d7221f5f6d7f09074e232fa.png)
图4-7商品类别信息实体图
留言信息实体图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/db4780e3d3d6162bdbd62cc274fc3754.png)
图4-8留言信息实体图
用户信息实体图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/8c390cdd5f1097dbc55dc9eb079d0c6e.png)
图4-9用户信息实体图
订单信息的实体图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/97e26df3271a3eef717528fbe8e23d36.png)
图4-10订单信息实体图
系统总体的实体图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/a6ef4d881650ef5670753c7709eb382d.png)
图4-11系统E-R图
4.3.2数据库设计
数据库表设计:经过前期的需求分析、可执行分析、数据流分析等各个流程分析,结合软件工程的高内聚、低耦合规则,并考虑到以后的程序功能扩展,设计如下几张表。
cart | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
cart_id | int | 11 | 否 | 主键 | 购物车ID |
title | varchar | 64 | 是 | 标题 | |
img | varchar | 255 | 否 | 图片 | |
user_id | int | 10 | 否 | 用户ID | |
create_time | timestamp | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
state | int | 1 | 否 | 状态 | |
price | double | 8 | 否 | 单价 | |
price_ago | double | 8 | 否 | 原价 | |
price_count | double | 10 | 否 | 总价 | |
num | int | 8 | 否 | 数量 | |
goods_id | mediumint | 8 | 否 | 商品id | |
type | varchar | 64 | 否 | 商品分类 | |
description | varchar | 255 | 是 | 描述 | |
comment | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
comment_id | int | 11 | 否 | 主键 | 评论ID |
user_id | int | 11 | 否 | 评论人ID | |
reply_to_id | int | 11 | 否 | 回复评论ID | |
content | longtext | 0 | 是 | 内容 | |
nickname | varchar | 255 | 是 | 昵称 | |
avatar | varchar | 255 | 是 | 头像地址 | |
create_time | timestamp | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
source_table | varchar | 255 | 是 | 来源表 | |
source_field | varchar | 255 | 是 | 来源字段 | |
source_id | int | 10 | 否 | 来源ID | |
gift_mall | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
gift_mall_id | int | 11 | 否 | 主键 | 礼品商城ID |
specifications | varchar | 64 | 是 | 规格 | |
recommend | int | 11 | 否 | 智能推荐 | |
cart_title | varchar | 125 | 是 | 标题 | |
cart_img | text | 0 | 是 | 封面图 | |
cart_description | varchar | 255 | 是 | 描述 | |
cart_price_ago | double | 8 | 否 | 原价 | |
cart_price | double | 8 | 否 | 卖价 | |
cart_inventory | int | 11 | 否 | 商品库存 | |
cart_type | varchar | 64 | 否 | 商品分类 | |
cart_content | longtext | 0 | 是 | 正文 | |
cart_img_1 | text | 0 | 是 | 主图1 | |
cart_img_2 | text | 0 | 是 | 主图2 | |
cart_img_3 | text | 0 | 是 | 主图3 | |
cart_img_4 | text | 0 | 是 | 主图4 | |
cart_img_5 | text | 0 | 是 | 主图5 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
goods | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
goods_id | mediumint | 8 | 否 | 主键 | 产品id |
title | varchar | 125 | 是 | 标题 | |
img | text | 0 | 是 | 封面图 | |
description | varchar | 255 | 是 | 描述 | |
price_ago | double | 8 | 否 | 原价 | |
price | double | 8 | 否 | 卖价 | |
sales | int | 10 | 否 | 销量 | |
inventory | int | 11 | 否 | 商品库存 | |
type | varchar | 64 | 否 | 商品分类 | |
hits | int | 10 | 否 | 点击量 | |
content | longtext | 0 | 是 | 正文 | |
create_time | timestamp | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
img_1 | text | 0 | 是 | 主图1 | |
img_2 | text | 0 | 是 | 主图2 | |
img_3 | text | 0 | 是 | 主图3 | |
img_4 | text | 0 | 是 | 主图4 | |
img_5 | text | 0 | 是 | 主图5 | |
customize_field | text | 0 | 是 | 自定义字段 | |
source_table | varchar | 255 | 是 | 来源表 | |
source_field | varchar | 255 | 是 | 来源字段 | |
source_id | int | 10 | 否 | 来源ID | |
user_id | int | 11 | 是 | 添加人 | |
goods_type | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
type_id | int | 11 | 否 | 主键 | 商品分类ID |
father_id | smallint | 5 | 否 | 上级分类ID | |
name | varchar | 255 | 是 | 商品名称 | |
desc | varchar | 255 | 是 | 描述 | |
icon | varchar | 255 | 是 | 图标 | |
source_table | varchar | 255 | 是 | 来源表 | |
source_field | varchar | 255 | 是 | 来源字段 | |
create_time | timestamp | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
logistics_distribution | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
logistics_distribution_id | int | 11 | 否 | 主键 | 物流配送ID |
user | int | 11 | 是 | 用户 | |
order_number | varchar | 64 | 是 | 订单号 | |
courier_number | varchar | 64 | 是 | 快递单号 | |
courier_services_company | varchar | 64 | 是 | 快递公司 | |
commodity_details | text | 0 | 是 | 商品明细 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
order | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
order_id | int | 11 | 否 | 主键 | 订单ID |
order_number | varchar | 64 | 是 | 订单号 | |
goods_id | mediumint | 8 | 否 | 商品id | |
title | varchar | 32 | 是 | 商品标题 | |
img | varchar | 255 | 是 | 商品图片 | |
price | double | 10 | 否 | 价格 | |
price_ago | double | 10 | 否 | 原价 | |
num | int | 8 | 否 | 数量 | |
price_count | double | 8 | 否 | 总价 | |
norms | varchar | 255 | 是 | 规格 | |
type | varchar | 64 | 否 | 商品分类 | |
contact_name | varchar | 32 | 是 | 联系人姓名 | |
contact_email | varchar | 125 | 是 | 联系人邮箱 | |
contact_phone | varchar | 11 | 是 | 联系人手机 | |
contact_address | varchar | 255 | 是 | 收件地址 | |
postal_code | varchar | 9 | 是 | 邮政编码 | |
user_id | int | 10 | 否 | 买家ID | |
merchant_id | mediumint | 8 | 否 | 商家ID | |
create_time | timestamp | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
description | varchar | 255 | 是 | 描述 | |
state | varchar | 16 | 否 | 订单状态 | |
registered_user | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
registered_user_id | int | 11 | 否 | 主键 | 注册用户ID |
full_name | varchar | 64 | 是 | 姓名 | |
gender | varchar | 64 | 是 | 性别 | |
age | varchar | 64 | 是 | 年龄 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
user_id | int | 11 | 否 | 用户ID | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
slides | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
slides_id | int | 10 | 否 | 主键 | 轮播图ID |
title | varchar | 64 | 是 | 标题 | |
content | varchar | 255 | 是 | 内容 | |
url | varchar | 255 | 是 | 链接 | |
img | varchar | 255 | 是 | 轮播图 | |
hits | int | 10 | 否 | 点击量 | |
create_time | timestamp | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 |
由于数据库连接Connection是比较重量级的对象,如果每次进行数据库操作都需要创建一个该对象,操作结束后在销毁该对象,这对程序来讲是不可取的,也不符合系统“高内聚”的设计原则,对此我们采用单例模式实现。
单例模式的设计原理为:在类中定义私有(private)、静态成员(static)、将构造器私有化(private)防止用户通过new方法创建实例。当第一次访问时,初始化私有成员、返回该对象、第二次之后的访问就无需再次初始化该对象,直接返回即可。
此平台主要的用户有管理员、注册用户,一个系统最基本的功能就是登录功能,此平台可以进行系统登录的角色有注册用户、管理员,买家对应前台登录界面,管理员对应后台登录界面,首先进入登录页,输入用户名和密码,然后提交至服务端进行数据库数据验证,通过Java逻辑代码判断数据库是否存在用户输入的这一个记录,如果存在,则判断用户身份,如果是注册用户,则进入买家前台,如果是管理员用户,则进入系统主页,并把用户对象存放在session中,如果不存在这样一条记录,则返回登录界面。
登录界面如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/b7c74282bc38d8574ad02062130b8cd4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5a5796c6ed0c331b19bfb2b12e761166.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ed5ead3f6db1c079196dbb1b614512be.png)
图5-2注册用户登录界面
![](https://i-blog.csdnimg.cn/blog_migrate/02a6e3e10529208a874213bd9983ebb8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6cf28a004223650ece7e87892a978d7c.png)
图5-3用户注册界面
系统为用户提供简洁的商品视图,方便用户找到自己需要的商品。在shangpinxinxilist.jsp实现商品列表的展示,用户点击某个商品,通过商品id传递值,找到数据表的该商品的信息。
如下图所示为商品浏览界面。
![](https://i-blog.csdnimg.cn/blog_migrate/f6ec5c3e93674451800cac9c28e8c940.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c21b74674f8428267d4ac02a5124dd2a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/88c7d1f41a42f1013fc64db5453cf6d8.png)
5.4商品评论模块
系统提供商品评论功能,在pinglunadd.jsp实现商品的评论,注册用户添加评论后,存入数据库的评论表。管理员管理商品的评论信息。
如下图所示为评论的部分界面。
![](https://i-blog.csdnimg.cn/blog_migrate/dd6144924269d52b082198420524f86d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8e5d39b7f39263742aa69eb1b8084ea0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/866ac9e651989409a22d4546e18bc252.png)
图5-5评论界面
用户在浏览商品后,登录系统前台,进行商品购买,将商品添加至购买车,在个人后台可以查看购买车里面的商品,确定商品之后可以生成订单,然后支付。
如下图所示为购买商品的部分界面。
![](https://i-blog.csdnimg.cn/blog_migrate/15b36a87da3884ae56ed8605b7842a12.png)
![](https://i-blog.csdnimg.cn/blog_migrate/71d1b7586eadce649910362f6d39cf05.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c3d35176728313e16ba257fef09d4a11.png)
过去传统的手工登记管理系统人员信息很不方便,也很容易造成数据出错,所以此平台需要一个可以管理登记人员信息的功能,管理员登入系统,可以添加新的管理员用户,删除现有的管理员,也可以对自己的密码和管理员用户的密码进行修改。修改密码是经过跟数据库的原来的密码字段的数据进行判断,如果输入两次的新密码一致,则更新密码这属性对应的一条数据。
如下图所示为系统用户管理的部分界面。
![](https://i-blog.csdnimg.cn/blog_migrate/26fbcada0381cf7fea837df9d7fdd90e.png)
5.7轮播图公告管理模块
用户在系统前台浏览轮播图、公告,管理员登录系统后,可以添加、删除、修改操作。
添加的界面如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/083bea3950be7d84fa3e62599285161d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f867dbb125d77e864076467642ef75e2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/902eefefb749130953aceafbe191e8ff.png)
![](https://i-blog.csdnimg.cn/blog_migrate/643015a5524df3c3e3c75af35a493105.png)
图5-9轮播图添加界面
5.8商城管理模块
管理人员可以对商品进行增删查改的操作,这些操作将在商品管理界面进行。
如下图所示为商品管理界面。
![](https://i-blog.csdnimg.cn/blog_migrate/82c4c37673e085f96a554bd4a29ac8d8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f392a66fe9b7425c3b56079918dd17db.png)
![](https://i-blog.csdnimg.cn/blog_migrate/692bb9835d03fd66befc1fefb7944199.png)
5.9订单管理模块
管理人员可以对订单进行增删查改的操作,这些操作将在订单管理界面进行。
如下图为订单管理界面。
![](https://i-blog.csdnimg.cn/blog_migrate/5c0ada9b1ce5849589e6df45a73db409.png)
5.10订单生成模块
首先,用户登录系统,进行商品的下单,下单时要指定商品名称、订单数量、备注等重要信息,生成订单,管理员登录后台进行用户订单审核,审核通过,进行商品发货,用户购买成功,用户可以查看自己的订单、有权删除或修改订单。
订单生成的界面如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/1c986c72b64147908e8313e8ca22ff82.png)
图5-12用户订单界面
![](https://i-blog.csdnimg.cn/blog_migrate/ad9b3f54a456b42c2c3e7d6ab9247305.png)
图5-13管理员订单管理界面
5.11物流配送模块设计
物流信息添加、删除、修改。界面如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/7dfa653676ccc4b6c02f9d51cfc79d32.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e5b830f6b216cf24acd8a4f818cc815f.png)
图5-14添加物流信息界面
6.1测试目的
该系统能够完成商品选购,加入购买订单,商品管理,商品类别管理,订单管理,购买订单管理,用户管理等功能,做到所开发的系统操作简单,尽量使系统操作不受用户对电脑知识水平的限制,符合系统可维护性,由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转,系统可以对系统数据及一些简单的功能进行独立的维护及调整;符合系统开放性要求,该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接。
6.2测试用例
1.注册测试
字段名称 | 描述 |
测试项 | 首页注册功能测试 |
输入数据 | 1、输入正确的邮箱、用户名、密码、确认密码、以及验证码之后点击“注册”按钮 2、输入错误的用户名或密码、邮箱、验证码等,单击“注册”按钮 3、不输入邮箱、用户名、密码、确认密码、以及验证码之后点击“注册”按钮 |
预计输出数据 | 1、用户能正确注册账号,成功插入数据库用户的账户资料,提示注册成功。 2、无法注册用户信息,注册失败。 3、无法注册用户信息,注册失败。 |
使用上述测试用例对前台首页注册界面进行测试,当在输入正确的邮箱、用户名、密码、确认密码、以及验证码之后,系统将弹出注册成功信息提示对话框。
使用上述测试用例对前台首页注册界面进行测试,当在输入错误的用户名或密码、邮箱、验证码之后,系统将提示错误。
使用上述测试用例对前台首页注册界面进行测试,当在不输入用户名、密码、邮箱、验证码之后,点击注册按钮。
2.登录界面进行测试
测试项 | 首页登录功能测试 |
输入数据 | 1、输入正确的用户名和密码,单击“登录”按钮 2、输入错误的用户名和密码,单击“登录”按钮 3、不输入用户名和密码,单击“登录”按钮 |
预计输出数据 | 1、数据库中存在的用户能正确登录,。结果弹出主界面。 2、错误的或者无效用户登录,登录系统失败。 3、输入用户名或密码信息为空,登录系统失败。 |
使用上述测试用例对前台首页登录界面进行测试,当在用户名输入框中输入正确的用户名和密码时候,系统将弹出登录成功信息提示对话框。
使用上述测试用例对前台首页登录界面进行测试,当在用户名输入框中输入错误的或无效的用户名时,系统将弹出错误信息提示对话框。
通过测试可以观察到实现的运行结果与测试用例中预计输出的结果是相符的,所以测试通过。
3.商品管理进行测试
名称:用户管理测试 目的:测试商品管理界面
内容:口令的输入,合法性检查,合理性检查,界面的显示控制。
下表描述了商品表中目前所存在的记录。
商品名 | 商品类别 | 商品价格 | 商品状态 |
A | A | 389 | 上架 |
B | B | 249 | 上架 |
C | C | 322 | 下架 |
D | D | 168 | 上架 |
添加时应注意事项:
管理员添加商品时必须添加已存在的商品类别,若该商品不属于现有的所有类别,则应该先添加商品类别。
下表描述了添加商品进行测试的用例,主要是为了防止添加商品时出现异常和存在的漏洞。
输入 | 输出 | ||
商品名 | 商品价格 | 商品图片 | |
空 | 参数错误 | ||
空 | 参数错误 | ||
空 | 请选择上传图片 | ||
A | 1 | a.jpg | 添加成功 |
4.购买商品测试
名称:购买商品测试 目的:测试购买商品界面
内容:口令的输入,合法性检查,合理性检查,界面的显示控制。
下表描述了购买商品的测试用例,防止购买时出错。
表6-7购买商品测试用例
输入 | 输出 | ||
用户ID | 商品ID | 商品数量 | |
11 | 1 | 1 | 购买商品成功 |
22 | 电视 | 请填写商品数量 | |
33 | 电视 | a | 购买失败 |
用户购买商品时,首先判断商品数量是否小于库存,若超出库存数量,则提示商品数量不足。
经过这几个月的设计和开发,“基于Android的礼品电商平台”已经完成了,其功能符合设计需求,能够完成注册用户的注册、注册用户的在线购买、订单管理和管理员的站点管理、用户管理、商城管理(礼品商城、分类列表、订单列表)、物流信息管理等功能。经过最后的测试,证明系统完全具有可行性与可扩充性。
在系统的分析阶段,主要是分析系统的需求,理解系统要完成的基本功能,找出系统的用例(Use Case)和角色(Actor),画出系统的用例模型图,用例模型是此后系统建模的基础。在用例的基础上分析顺序图和协作图,得到系统的所有对象,然后建立对象模型。抽象出系统的类,并将系统中联系紧密的类划分为若干个包,画出包图。有了这些基础,就可以将系统划分为小单元功能模块。
整个过程中,我必须认可UML统一建模语言,它让我很清晰的知道自己想做什么,想实现什么,对系统后面的代码编写起到决定性的帮助,同时经过本次系统的设计与实现,让我积累了很多经验,提高了编写程序的能力,为以后的学习和工作打下了坚实的基础。
由于时间有限,此平台还有待继续完善和改进,因此需要进一步进行分析和修改,以使其更加完善!
参考文献
[1]杨敏,徐万明,田新宇,李凌霄.基于Spring Boot框架和Android的会议管理系统设计与实现[J].信息与电脑(理论版),2022,34(12):94-96.
[2]Gupta Aakanshi,Sharma Deepanshu,Phulli Kritika. ANN Modelling on Vulnerabilities Detection in Code Smells-Associated Android Applications[J]. Foundations of Computing and Decision Sciences,2022,47(1).
[3]Yadav Pooja,Menon Neeraj,Ravi Vinayakumar,Vishvanathan Sowmya,Pham Tuan D.. EfficientNet Convolutional Neural Networks-based Android Malware Detection[J]. Computers & Security,2022(prepublish).
[4]黄圣妩,李晓琛,杨宙,李松.基于Android前端和Springboot后台的检测进度管理软件的设计与实现[J].广东土木与建筑,2020,27(12):51-53+70.DOI:10.19731/j.gdtmyjz.2020.12.013.
[5]刘科课. 基于Android的生鲜农产品商城设计[D].浙江海洋大学,2020.DOI:10.27747/d.cnki.gzjhy.2020.000313.
[6]吴帅军,倪友毅,刘汉妹.基于WebApp的礼物推荐平台“知礼”系统设计[J].现代信息科技,2019,3(11):98-100+104.
[7]李昂.基于Android和SpringBoot的高校宿舍管理系统设计[J].铜陵职业技术学院学报,2019,18(01):76-79.DOI:10.16789/j.cnki.1671-752x.2019.01.020.
[8]王楠. 基于安卓的网上商城手机APP设计与实现[D].吉林大学,2018.
[9]刘均前. 基于Android的“易都行”在线购物商城系统的设计与实现[D].北京交通大学,2018.
[10]李嘉. 基于Android的电商平台通用客户端的设计与实现[D].北京邮电大学,2018.
[11]何洋,王恩亮.基于Android的网上自主设计购物平台的设计与实现[J].电脑知识与技术,2017,13(13):53-56.DOI:10.14004/j.cnki.ckt.2017.1310.
[12]Anonymous. Wayfair Offers Virtual Decorating with "View In Room" App[J]. Home Furnishings Business,2017,12(1).
[13]Lim Yun Taek,Kim Da Hye,Koo Min Jeong. Study about Recommended Styling System of Android-based Shopping mall[J]. The journal of the convergence on culture technology,2016,2(4).
[14]陈刚. 基于安卓的网上购物商城app开发[D].吉林大学,2015.
[15]聂云. 基于Android的WoT物联网商城终端应用的设计与开发[D].北京邮电大学,2014.
[16]卞秀运.基于Android平台的网上商城系统设计与实现[J].电脑知识与技术,2012,8(32):7866-7870+7876.
[17]. Telecommunications; Zoomingo Launches New Android Shopping App With Popular Hot or Not Game and Weekly Prizes; More Than 1.5 Million Deals Already Rated by Users in Game[J]. Electronics Business Journal,2012.
[18]. Zoomingo Introduces New Android Shopping App[J]. Wireless News,2012.
[19]赵国栋. 基于Android系统的手机网上商城设计与实现[D].北京交通大学,2012.
[20].京东商城启动电子书业务:推PC及Android客户端[J].网友世界,2012(03):12.
致 谢
大学的学习生活总是感觉短暂的,总感到知识还没有学够,但大学毕业就在我们面前,即毕业设计即将的结束,意味着我们的大学生涯即将结束。毕业设计是我们在大学所学知识的一次总结,更是对我们过去所学知识的提炼和升华,通过毕业设计,我们认识到大学学习过程中还有那些知识没有掌握,那些知识需要我们进入深入研究。这次毕业设计让我学到了很多新的知识,研究了一些新的以前自己不熟悉的领域,使我处理问题的能力得到了一定的提升,同时也为今后的继续深造或踏入社会大门提供了很好的锻炼机会。
我也曾经沮丧过,失落过,想放弃过,可是因为你们这不厌其烦的鼓励和支持才使得我坚持了下来,这里我要对我的老师和同学们说句谢谢大家。因为我们的知识是有限的,所以本文将不可避免的会出现一些错误和不足之处,还请老师指正。
请关注点赞+私信博主,免费领取项目源码