赞
踩
基于Android的轻院食堂购物app设计与实现 |
学生姓名 | |
学 号 | |
所在学院 | |
专业名称 | |
班 级 | |
任课教师 |
基于Android的轻院食堂购物app设计与实现
学生: 指导教师:
内容摘要:在现代生活中,安卓智能手机的各类应用所带来的便利已经影响我们生活的方方面面,对人们的生产生活、衣食住行产生了积极的作用。同时,手机智能平台的快速发展也给各行各业带来了新挑战,对于任意行业,如果不能适应信息化的潮流、跟上时代发展的步伐,都会被残酷的市场竞争所淘汰。
追求高效完成购买或是需要货比三家却又希望实体购物的顾客,需一款人性化的购物系统;而经营不够理想,或是宣传工作难以突破瓶颈、希望能在竞争中获得更多顾客源的商家,需该款带有导购及推送功能的购物系统用以吸引顾客购物。用手机代替实体店从而实现了足不出户的手机购物,为人们节约了排队等待付款、挑选商品的时间。该购物软件成功地让使用它的人不用非要在电脑端购物,也不用抽大量的时间去超市查询各类商品。只要拥有Android手机,用户就可以随时随地的购买商品。手机购物打破了传统商务的障碍,对很多消费者、各中、小型食堂还有经济市场起到了很大的影响,顺应了社会的发展,使购物更加便利而又人性化。
关键词:安卓智能手机 购物系统 idea springboot
Design and Implementation of an Android-Based Volunteer Recruitment App
Abstract:In modern life, the convenience brought by various applications of Android smart phones has affected all aspects of our lives, and has played a positive role in people's production and life, clothing, food, housing and transportation. At the same time, the rapid development of mobile phone intelligent platform has also brought new challenges to all walks of life, for any industry, if can not adapt to the trend of information technology, keep up with the pace of development of The Times, will be eliminated by the brutal market competition.Customers who want to make a purchase efficiently or who want to shop around but want to shop physically need a user-friendly shopping system. And the business is not ideal, or the propaganda work is difficult to break through the bottleneck, hoping to get more customer sources in the competition, need this shopping system with shopping guide and push function to attract customers to shop. Using mobile phones instead of physical stores to realize mobile shopping without leaving home, saving people the time of waiting in line for payment and choosing goods.The shopping software successfully lets users do not have to shop on the computer, nor do they have to spend a lot of time in the supermarket to check various products. As long as you have an Android phone, you can buy goods anytime, anywhere. Mobile shopping has broken the barriers of traditional business, and has played a great impact on many consumers, small and medium-sized canteens and economic markets. It complies with the development of society and makes shopping more convenient and humane.
Keywords: Android smartphone,shopping system,idea,springboot
目 录
前言
1 绪论
1.1 开发背景
1.2 国内外研究现状
1.3 开发意义
1.4 研究内容
2 系统开发技术
2.1 Spring Boot 框架技术
2.2数据库My SQL
2.3 Intelig idea
3系统需求分析
3.1信息要求
3.2处理要求
3.3安全性要求
3.4完整性要求
3.5功能需求
4 系统总体设计
4.1数据库概要设计
4.2功能用例图
4.3数据库逻辑结构设计
5系统详细设计和实现
5.1功能描述
5.2系统流程图
5.3 系统界面
5.3.1系统登录界面
5.3.2系统注册界面
5.3.3系统主页界面
5.3.4热卖餐品推荐界面
5.3.5酒水饮料推荐界面
5.3.6系统乳品面包推荐界面
5.3.7搜索商品界面
5.3.8购物清单界面
5.3.9个人中心界面
5.3.10修改信息界面
5.3.11历史订单界面
5.3.12使用帮助界面
5.3.13商家登录界面
5.3.14商品管理界面
5.3.15修改商品信息界面
5.3.16用户管理界面
5.3.17营业订单界面
5.3.18商品入库界面
6 系统测试
6.1安卓端
6.1.1用户登录测试
6.1.2用户注册测试
6.1.3用户搜索测试
6.1.4添加商品测试
6.1.5购物车测试
6.1.6历史订单测试
6.2 Web端
6.3 Java后端idea
7 总结与展望
参考文献
致谢
附录
当今消费者的购物渠道从实体店、互联网延伸到移动互联网,渠道的变化冲击着商业模式的变化。目前,移动互联网正处于高速增长的状态,互联网的发展正在从传统的PC终端向移动终端转移,移动互联网已成为电子商务发展的主要阵地。移动电商的发展与人们的衣食住行息息相关,于是借助移动互联网的强大“魔法”,我们日常的很多需求可以通过它得到满足。因此本论文就对购物APP各个模块的功能进行构造。
移动购物APP的出现使消费者通过手机实现随时随地的网上购物,用户可以在自己方便时,使用智能手机查找、选择、购买商品或服务。自2004年起,我国电子商务网站呈现迅速上升的发展趋势,订单和交易金额不断增长。在网络购物形成一种 规模后,移动互联网的兴起带动购物APP商业的爆发式增长。越来越多的人倾向于移动端购物,而且交易规模越来越大,对人们的生活影响越来越大。与实体店相比,客户足不出户就可以购买心仪的商品,可在任何时间、任何地点进行产品的交易活动。
在国外,基于Android的网上商城已经变得非常普遍,并且在不断发展壮大。随着智能手机和平板电脑的普及,消费者越来越喜欢在移动设备上购物。因此,基于Android的电子商务应用程序已经成为一个重要的销售渠道,帮助商家与客户保持联系,提高销售额。在国外,主要的电子商务公司,如亚马逊,eBay和Walmart等,都拥有强大的移动商务平台。同时,许多新兴的移动商务公司也正在不断涌现,以满足消费者不断增长的移动购物需求。
本课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。
随着时代的发展,网络已经被应用到很多行业和领域。现如今,信息技术和网络的发展给商家们提供了一个更广阔的商品推广渠道。借助于支付方式的不断完善,开发轻院食堂购物APP应用,不仅给商家带来成本低廉的宣传、推广、销售等好处,还可以帮顾客节约时间,减去排队等候付款的烦恼,感受全新的购物体验。设计此手机轻院食堂购物应用,使食堂管理员能够很方便地查询商品销售情况以及对商品种类、价格进行添加、删除,以促进营业额的上升,提高工作效率,节省了成本。
该软件的设计目标是尽量降低人力与物力资源的消耗,提高处理数据的速度,面向各超市,实现对商品进行有序快速的交易。
本项目是基于Android Studio+Spring Boot+MySQL数据库实现的轻院食堂购物app,本项目android端包含的功能有登录注册、浏览商品信息、搜索商品信息、将商品加入购物车并结算和修改个人信息等功能。Web端包含的功能有对商品进行修改或添加,对用户信息进行修改或注销和显示超市销售记录等功能。
(1)登录注册功能:用户可以在登录界面进行登录,若没有账号可以进行注册;
(2)浏览商品信息:登录后,用户可以选择超市不同的分类区,查看不同的商品;
(3)搜索商品信息:用户可在搜索框输入想要搜索的商品名,即可获取相应信息;
(4)购物车功能:用户可将商品添加至购物车,并在购物车中调整商品数量,购物车可实时显示价钱,点击结算,即可结算并将该订单信息加入历史订单;
(5)个人中心功能:点击使用帮助显示帮助信息,点击修改信息可进入修改信息界面并修改个人信息;点击历史订单可查看历史订单记录并显示历史总消费;
(6)Web页面:Web端管理员操作,可对商品信息进行相应的修改及添加新商品入库,可对用户进行注销及重置密码,可显示所有用户的历史消费记录,并显示超市总的销售额。
操作系统:Windows11
开发工具:Android Studio、Intelig idea、Navicat
Spring Boot 提供了各种组件的启动器(starters) ,开发者只要能配置好对应组件参数,Spring Boot 就会自动配置,让开发者能快速搭建依赖于Spring组件的Java项目[6]。Spring Boot 框架开发成本低,能使用最少的资源达到目前的需求。Spring Boot 框架不仅可以简化很多的逻辑代码,而且开发效率非常高。
数据库技术是信息系统的一个核心技术。是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。
IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
需求分析是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。
3.1信息要求
该系统需要记录商品信息、用户信息、用户购物车信息和订单信息的基本情况。
1、商品基本信息
商品基本信息包括商品编号、商品名称、商品价格、商品单位、商品数量及商品图片地址。
2、用户基本信息
用户基本信息包括用户id、用户名称、用户密码、用户联系电话、用户email地址。
3、购物车基本信息
购物车基本信息包括用户名称、商品编号、商品名称、商品价格、商品单位、商品图片地址、商品购买数量、订单序号。
4、订单基本信息
订单基本信息包括用户名称、商品编号、商品名称、商品价格、商品单位、商品图片地址、商品购买时间、订单序号。
3.2处理要求
针对超市导购系统,设计了两种角色——顾客和商家。分别对他们进行详细的调研和分析,总结出如下的处理要求:
顾客可以在app端进行登录注册、浏览商品信息、搜索商品信息、将商品加入购物车并结算和修改个人信息等活动。
商家管理员可以在web端对商品进行修改或添加,对用户信息进行修改或注销和查看超市销售记录等活动。
3.3安全性要求
针对超市导购系统的app端和android端,登录时需要输入正确的用户名和密码,方可登录系统。如果用户名和密码与数据库中存储的数据一致,则跳转到对应功能界面,登陆成功;如果用户名和密码与数据库中存储的数据不一致,登陆失败。
同时,用户注册时需要注册与数据库中用户名称没有重复,如果用户注册的用户名已经在数据库中存在,则提示用户用户名已存在。
3.4完整性要求
对本系统中涉及到的表定义了实体完整性、参照完整性和自定义完整性。
1、实体完整性
商品编号为商品信息表主码,用户ID号为用户信息表的主码,订单序号为订单信息表的主码。
2、参照完整性
商品信息表中商品编号与订单信息表中商品编号相对应,也与购物车信息表中的商品编号对应。
3、用户定义完整性
商品编号不能为空且只能取唯一值;用户名称唯一不能为空。
3.5功能需求
本项目android端包含的功能有登录注册、浏览商品信息、搜索商品信息、将商品加入购物车并结算和修改个人信息等功能。Web端包含的功能有对商品进行修改或添加,对用户信息进行修改或注销和显示超市销售记录等功能。系统的功能需求描述如下:
1、注册登录模块
用户首次登录该软件需要先进行信息注册。用户输入用户名及密码后,完成注册。注册完毕后,点击“登录”按钮方可进入软件。
2、购买商品模块
登录后,用户可以选择超市不同的分类区,查看不同的商品信息,选择其中的商品加入购物车;进入搜索页面,输入想要搜索的商品名称,即可获取相应商品信息,并加入购物车。进入购物车界面便可看到加入的商品。在此界面中,可以实现对商品的数量更改功能。点击结算,可结算购物车。
3、个人中心模块
进入个人中心后,点击使用帮助显示帮助信息,点击修改信息可进入修改信息界面并修改个人信息;点击历史订单可查看历史订单记录并显示历史总消费;点击使用帮助可获取app使用信息。
4、Web端管理模块
Web端管理员操作,可对商品信息进行相应的修改及添加新商品入库,可对用户进行注销及重置密码,可显示所有用户的历史消费记录,并显示超市总的销售额。
表3.1 功能需求概要表
功能模块 | 输入项 | 输出项 | 执行权限 | 功能描述 |
注册登录模块 | 用户基本信息 | 用户信息是否合法 | 顾客 | 将用户信息存入数据库 |
购买商品模块 | 欲购买的商品名称或商品编号 | 具体的商品信息 | 顾客 | 将商品信息加入购物车 |
查看超市模块 | 进入商品平面图界面 | 超市的放大平面图 | 顾客 | 查看超市平面结构 |
个人中心模块 | 用户名称 | 修改后的用户信息 | 顾客 | 点击修改信息将信息存入数据库 |
Web端管理模块 | 管理员账户信息 | 对用户、商品进行修改后的信息 | 商家 | 对后台商品和用户的信息进行修改 |
本项目android端包含的功能分为注册登录模块、购买商品模块、查看超市平面结构图模块、个人中心模块和Web端管理模块。各模块之间相互联系,app端的服务对象是顾客,Web端的服务对象是商家。
4.1数据库概要设计
商品E-R图如图3.1所示。
图3.1 商品属性E-R图
用户E-R图如图3.2所示。
图3.2 用户属性E-R图
购物车E-R图如图3.3所示。
图3.3 购物车属性E-R图
订单E-R图如图3.4所示。
图3.4 订单属性E-R图
系统逻辑E-R图如图3.5所示。
图3.5 系统E-R图
4.2功能用例图
Android端顾客功能如图3.6所示。
图3.6 顾客功能图
Web端商家功能如图3.7所示。
图3.7 商家功能图
4.3数据库逻辑结构设计
商品信息表如下表3.2所示。
表3.2 商品信息表(goods)
中文含义 | 字段名称 | 数据类型 | 长度 | 是否为空 | 备注 |
商品编号 | goodsid | Int | 11 | no | 主码 |
商品名称 | goodsname | varchar | 255 | ||
商品价格 | goodsprice | double | 10 | ||
商品单位 | goodsunit | varchar | 255 | ||
商品数量 | count | int | 11 | ||
商品地址 | goodspicture | varchar | 255 |
用户信息表如下表3.3所示。
表3.3 用户信息表(user)
中文含义 | 字段名称 | 数据类型 | 长度 | 是否为空 | 备注 |
用户id号 | id | int | 11 | no | 主码 |
用户电话 | phone | varchar | 255 | ||
用户email | varchar | 255 | |||
用户密码 | password | varchar | 255 | ||
用户名称 | username | varchar | 255 |
购物车信息表如下表3.4所示。
表3.4 商品信息表(shoppingcar)
中文含义 | 字段名称 | 数据类型 | 长度 | 是否为空 | 备注 |
用户名称 | username | varchar | 255 | no | |
商品编号 | goodsid | int | 12 | no | |
商品名称 | goodsname | varchar | 255 | no | |
商品价格 | goodsprice | double | 10 | no | |
商品单位 | goodsunit | varchar | 255 | no | |
订单序号 | goodsorder | int | 255 | no | 主码 |
购买数量 | num | int | 255 |
订单信息表如下表3.5所示。
表3.5 订单信息表(goodsorder)
中文含义 | 字段名称 | 数据类型 | 长度 | 是否为空 | 备注 |
用户名称 | username | varchar | 255 | no | |
商品编号 | goodsid | int | 12 | no | |
商品名称 | goodsname | varchar | 255 | no | |
商品价格 | goodsprice | double | 10 | no | |
商品单位 | goodsunit | varchar | 255 | no | |
商品地址 | goodspicture | varchar | 255 | no | |
订单序号 | goodsorder | int | 255 | no | 主码 |
购买数量 | num | int | 255 |
5.1功能描述
该系统分为android端和web端;android端主要是用户的注册、登录、浏览商品、选购商品、加入购物车、查看超市平面图、个人中心等功能;web端主要是管理员对用户、商品、订单的管理,在整个系统中他们具有不同的功能和权限。该软件系统功能结构图如图3.8所示:
图3.8 系统功能结构图
5.2系统流程图
(1)登录及注册模块流程图如图3.9所示。
图3.9 登录注册流程图
(2)顾客购买商品流程图如图3.10所示。
图3.10 购买商品流程图
(3)查看超市平面图流程图如图3.11所示。
图3.11 查看超市平面图流程图
(4)个人中心流程图如图3.12所示。
图3.12 个人中心流程图
(5)android系统总体流程图如图3.13所示。
图3.13 系统总体流程图
(6)web端操作流程图如图3.14所示。
图3.14 web端操作总体流程图
5.3 系统界面
5.3.1系统登录界面
登录界面图如下图3.15所示。
图3.15 系统登录界面图
登录界面上有点击登录和创建用户的选项,若未输入用户名点击登录则会弹出“请输入用户名”,若未输入密码则会弹出“请输入密码”;当用户名和密码与后台不匹配时会弹出“用户名或密码错误”。
若新用户没有账号,即可点击创建用户跳转到用户注册界面。
5.3.2系统注册界面
系统注册界面图如下图3.17所示。
用户进入注册界面后,可输入相应用户信息进行注册,若未输入其中某项
息则会弹出“输入不能为空!”,且用户名不能与数据库中已有用户名相同,若注册时输入用户名与数据库中有相同的用户名,则会弹出“用户名已存在”。输入正确的信息后即可注册成功,点击注册后会返回至登陆界面,并显示出刚注册的用户名与密码。
图3.16 系统正在登录界面图 图3.17 系统注册界面图
5.3.3系统主页界面
系统主页界面图如下图3.18所示。
进入超市主页界面,超市界面下方显示导航栏,分别由首页、购物清单和我的构成。首页上分别有热卖餐品模块和酒水饮料模块和乳品面包推荐模块构成。点击不同的模块即可进入相应的推荐界面。
主页上放放置了一个搜索框,点击搜索框即可进入搜索界面进行商品搜索并添加。
图3.18 系统主页界面图 图3.19 热卖餐品推荐界面图
5.3.4热卖餐品推荐界面
热卖餐品推荐界面图如上图3.19所示。
进入 热卖餐品推荐界面,界面上放放置一个轮播图,可以自动播放或手动滑动图片,点击相应零食会提示出不同的零食信息。
轮播图下方显示出不同的零食信息,分别有零食名称信息、价格信息和图片信息等,通过右方的添加按钮可以将该商品添加进购物车。
5.3.5酒水饮料推荐界面
系统酒水饮料推荐界面图如下图3.20所示。
进入酒水饮料推荐界面,界面顶部提示酒水饮料专区,下方显示出不同的酒水饮料的信息,包括酒水饮料名称信息、价格信息和图片信息。
通过右方的添加按钮可以将该商品添加进购物车。
图3.20 系统酒水饮料推荐界面图
5.3.6系统乳品面包推荐界面
系统推荐界面图如下图3.21所示。
进入乳品面包推荐界面,界面顶部提示甜品牛奶专区,下方显示出不同的粮甜品牛奶的信息,包括商品名称信息、价格信息和图片信息。
商品信息可通过滑动等方式进行下拉,并通过右方的添加按钮可以将该商品添加进购物车。
图3.21 系统乳品面包推荐界面图 图3.22搜索商品界面图
5.3.7搜索商品界面
搜索商品界面图如上图3.22所示。
点击首页搜索框进入搜索界面后,在搜索框输入想要搜索的商品名称,即可通过模糊查询查到对应的商品,在列表中显示商品名称信息、商品图片信息、商品价格信息等。
用户可通过商品右侧的添加按钮将商品加入购物车。
5.3.8购物清单界面
用户在首页选择不同的商品加入购物车后,会在购物清单上显示出来,用户可以在购物清单页面对商品的数量进行修改。当商品的数量减为0时,该 数量加减框的“-”会被设为不可见,让用户无法再减少该商品。下拉刷新后购物清单会将数量为0的商品删除。购物车下方的总价会进行实时更新,当数量发生变化时,总价也会发生变化。
点击结算购物车,会对购物车进行结算,再次下拉刷新框后,购物车清单被删除,总价变为0,同时后台数据库会将清算的商品清单加入用户的历史订单中,用户可在个人中心的历史清单里查看。
购物车模块主要由RecyclerView控件实现,RecyclerView界面中嵌套AddButton, ReduceButton等控件。主要有商品的数量改变的点击事件,和一些价格的运算。
购物清单界面图如下图3.23及3.24所示。
图3.23 购物清单界面图 图3.24购物清单界面图
5.3.9个人中心界面
用户点击我的后进入个人中心界面,个人中心界面会显示当前用户的用户名;个人中心里包括我的定位、修改信息、历史订单和使用帮助等功能,点击相应功能即可进入不同界面。
点击我的定位,会弹出“当前位置:换乐购超市”提示;
点击修改信息,即可进入修改信息的界面;
点击历史订单,即可进入历史订单界面查看历史订单记录,查看消费总金额及下单时间;
点击使用帮助,即可进入使用帮助界面查看app使用信息。
个人中心界面图如下图3.25所示。
图3.25 个人中心界面图 图3.26修改信息界面图
5.3.10修改信息界面
用户点击我的后进入个人中心界面,个人中心界面会显示当前用户的用户名;个人中心里包括我的定位、修改信息、历史订单和使用帮助等功能,点击相应功能即可进入不同界面。
点击修改信息,即可进入修改信息的界面,在修改信息界面中输入相应信息即可修改该用户个人信息。
修改信息界面图如上图3.26所示。
5.3.11历史订单界面
点击历史订单,即可进入历史订单界面,历史订单中会显示以前的购买消费记录,记录中包括商品名称、商品图片、商品价格、购买数量及购买时间等信息。同时会显示总历史消费额。
历史订单界面图如下图3.27所示。
图3.27 历史订单界面图 图3.28使用帮助界面图
5.3.12使用帮助界面
使用帮助界面图如上图3.28所示。
用户在个人中心界面点击使用帮助,即可进入该使用帮助界面,查看app使用简介。
5.3.13商家登录界面
该系统设计了Web页面,为商家提供服务。Web端商家管理员可进行一定操作:
管理员进入Web后需输入正确的用户名和密码才能进入系统,否则仍然回到登录页面。输入相应的用户名和密码后能进入管理系统主页。
进入主页后,商家管理员可进行商品管理、用户管理、订单管理、查看营业订单以及添加商品入库等操作。
商家登录界面图如下图3.30所示。
图3.30商家登录界面图
5.3.14商品管理界面
商家管理员登录成功进入主页后,即可进入商品管理界面,在商品管理界面可浏览当前超市内所有商品信息,包括商品id号、商品名、商品价格、商品单位和商品数量等信息。
商品管理界面图如下图3.31所示。
图3.31商品管理界面图
5.3.15修改商品信息界面
商家管理员进入商品管理界面看到商品信息后,可点击每条信息后的修改信息按钮,即可进入修改信息界面。修改后点击submit即可修改成功。
修改商品信息界面图如下图3.32所示。
图3.32修改商品信息界面图
5.3.16用户管理界面
商家管理员点击导航栏的用户管理后即可进入用户管理界面,在当前界面可查看用户信息,包括用户id、用户手机、用户Email、注册账号和注册密码等信息。点击每条信息后的注销账户可将该用户注销,将数据库中该用户的信息删掉。点击重置密码后可将注册密码重置为与注册帐号一致。
用户管理界面图如下图3.33所示。
图3.33用户管理界面图
5.3.17营业订单界面
商家管理员点击导航栏的营业订单后即可进入营业订单界面,可查看超市近期所有销售记录信息,包括序号、购买用户、商品id号、商品名称、商品价格、商品单位、购买数量及下单时间等信息。点击每条信息后的删除订单即可删除该条订单信息。在页面底部还会显示总销售额。
营业订单界面图如下图3.34所示。
图3.34营业订单界面图
5.3.18商品入库界面
商家管理员点击导航栏的商品入库即可进入商品入库界面,商家可输入相应商品信息,点击submit即可将该条信息存入数据库。
商家入库界面图如下图3.35所示。
图3.35商品入库界面图
6.1安卓端
6.1.1用户登录测试
商家管理员和顾客用户登陆相似,且相较于管理员登陆添加了用户名密码是否为空的判断,并弹出提示框,条件要求更严格,因此,选用用户登录测试登录操作可信度更强。
1、测试用例设计
登录测试用例如下表3.6所示:
输入条件(用户名,密码) | 预期结果 | 实际结果 |
Null、111 | 请输入用户名 | 请输入用户名(失败) |
111、Null | 请输入密码 | 请输入密码(失败) |
arui、arui | 登录成功,跳转界面 | 登录成功,跳转界面 |
表3.6 登录测试用例
2、测试结果
图3.36 登录测试1 图3.37登录测试2
6.1.2用户注册测试
商家管理员和顾客用户注册信息相似,且相较于管理员注册添加了必填项是否为空的判断且数据更丰富,并弹出提示框,条件要求更严格,因此,选用用户注册测试注册操作。
1、测试用例设计
注册测试用例如下表3.7所示:
输入条件(用户名,手机,邮箱,密码) | 预期结果 | 实际结果 |
Null、1、1、1 | 输入不能为空 | 输入不能为空(失败) |
1、Null、1、1 | 输入不能为空 | 输入不能为空(失败) |
123、1、1、1 | 用户名已存在 | 用户名已存在(失败) |
pr、1、1、1 | 注册成功,跳转界面 | 注册成功,跳转界面 |
表3.7 注册测试用例
2、测试结果
图3.38 注册测试1 图3.39注册测试2
图3.40 注册测试3 图3.41注册测试4
6.1.3用户搜索测试
顾客用户登录成功后进入首页,点击搜索框,若未输入点击搜索系统弹出“请输入要查询的商品”,输入要搜索的商品名称,点击搜索则下方会显示相应的商品信息。
1、搜索用例设计
搜索测试用例如下表3.8所示:
输入条件(搜素内容) | 预期结果 | 实际结果 |
Null | 请输入要查询的商品 | 请输入要查询的商品 |
草莓 | 搜索成功 | 搜索成功 |
啤酒 | 搜索成功 | 搜索成功 |
蛋糕 | 搜索成功 | 注册成功,搜索成功 |
表3.8 搜索测试用例
2、测试结果
图3.42 搜索测试1 图3.43搜索测试2
6.1.4添加商品测试
顾客点击商品信息后的添加按钮,即可将相应商品加入购物车,多次添加会对商品数量进行增加。
1、添加商品用例设计
添加商品测试用例如下表3.9所示:
输入条件(搜素内容) | 预期结果 | 实际结果 |
点击添加按钮(芒果班戟千层蛋糕) | 添加成功 | 添加成功 |
点击添加按钮(番茄火腿三明治) | 添加成功 | 添加成功 |
表3.9 添加商品测试用例
2、测试结果
图3.44添加商品测试1 图3.45添加商品测试2
6.1.5购物车测试
顾客点击商品信息后的添加按钮,即可将相应商品加入购物车,购物车会显示用户添加的所有商品,并显示数量。在购物车中用户可改变商品数量,将商品数量改为0时该商品会从购物车中删去。
在购物车底部会实时显示当前购物车总价,点击结算会清空购物车刷新后即可看到总价变为0。
1、购物车用例设计
购物车测试用例如下表3.10所示:
输入条件(搜素内容) | 预期结果 | 实际结果 |
加入商品并修改数量 | 实时显示总价 | 实时显示总价 |
点击结算 | 结算成功 | 结算成功 |
表3.10 购物车测试用例
2、测试结果
图3.46购物车测试1 图3.47购物车测试2
6.1.6历史订单测试
顾客点击商品信息后的添加按钮,即可将相应商品加入购物车,购物车会显示用户添加的所有商品,并显示数量。在购物车中用户可改变商品数量,将商品数量改为0时该商品会从购物车中删去并将该用户已结算的商品加入个人中心的历史订单中。
在历史订单底部会显示该用户总的历史消费额。
1、历史订单用例设计
历史订单测试用例如下表3.11所示:
输入条件(搜素内容) | 预期结果 | 实际结果 |
加入商品并结算 | 正常显示 | 正常显示 |
加入商品并结算 | 正常显示 | 正常显示 |
表3.11 历史订单测试用例
2、测试结果
图3.48历史订单测试1 图3.49历史订单测试2
6.2 Web端
1、商品管理测试
商家管理员进入商品管理界面后可浏览所有商品信息,点击对应商品后面的修改信息按钮即可进入修改信息界面,如图3.50所示。
图3.50修改信息测试1
点击submit后跳转到商品管理界面,可以看到修改成功,如图3.51所示。。
图3.51修改信息测试2
2、用户管理测试
商家管理员进入用户管理界面后可浏览所有用户信息,点击对应用户后面的注销账户按钮即可注销该账户,如图3.52所示。
图3.52用户管理测试1
商家管理员进入用户管理界面后可浏览所有用户信息,点击对应用户后面的重置密码按钮即可重置该用户密码为用户名,如图3.53所示。
图3.53用户管理测试2
3、商品入库测试
商家管理员进入商品入库界面后可将一类商品的信息加入商品数据库中,如图3.54所示。
图3.54商品入库测试1
商家管理员点击submit后系统会跳转到商品管理页面中,下拉即可看到刚刚提交的信息已被加入商品库中,如图3.55所示。
图3.55商品入库测试2
6.3 Java后端idea
在数字智能时代的背景下,中国的购物行业正蓬勃发展。为了满足顾客的需求,购物app已成为重要的平台。这一趋势表明,在经济领域,购物APP有着良好的发展前景。目前社会上存在着各种超市刷卡支付,但这些活动仍需进行繁项的组织工作,并且需要依靠人工完成。因此,我们需要借助信息工具,如开发网上购物应用软件,来解决这一问题,确保可持续发展。以下是主要完成的工作内容:
(1)翻阅相关文献和资料,了解购物行业的研究现状和目前发展存在的问题,找出可借
鉴的地方,分析系统设计目标以及设计的内容分析购物服务管理平台发展的背景,明确开发一款适用于超市购物的app,论述系统开发的背景和意义。
(2)根据实际调研的结果,借助用例图对app及后台管理系统的功能进行详细地描述,
再对各角色用户的需求进行分类分析,最后确定app及后台管理系统的设计方向。
(3)紧接着,对网上购物系统的整体功能架构进行了详细设计,划分并设计各角色的操
作流程,给出了app及后台管理系统的界面及数据库的详细设计。
(5)最后对app和后台管理系统已实现的功能模块进行测试,通过基本流和备选流,确立场景并设计测试用例,执行测试后对测试结果进行分析,最后对总体的测试结果进行总结。以确保app和后台管理系统能满足当前网上购物的基本需求。
因为个人技术能力的限制,app及后台管理系统还存在一定的缺陷,需要进一步改进和完善部分功能。比如,需求分析还不够全面;某些代码的执行效率较低,对app和系统相应的性能有所影响,进行充分的测试,改善用户体验。在第二期的开发中,预计格会简化用户的注册及信息管理功能。app和后台系统的安全性和数据保密性等也有待加强。下一步的工作就是根据实际情况改进和完善功能。
[1]郭霖.第一行代码-Android(第二版).北京:人民邮电出版社,2016.
[2]傅伟。 基于Android的校园通系统设计--以江苏财经职业技术学院为例[J]. 廊坊师范学院学报(自然科学版),2015,06:24-29.
[3]诸姣, 李宏伟, 彭鑫,等. 安卓应用系统的功能与权限相关性研究[J]. 计算机应用与软件, 2014(10):27-33.
[4]彭凤凌, 庹先国, 王洪辉,等. 安卓手机与数据库交互系统的设计与实现[J]. 计算机工程与设计, 2013.
[5]黄仁祥, 金琦, 易伟. 人人都能开发安卓App:App Inventor 2应用开发实战[M]. 机械工业出版社, 2014.
[6]赵亮, 张维. 基于Android技术的界面设计与研究[J]. 电脑知识与技术, 2009, 5(029):8183-8185.
[7]杨家炜. 基于Spring Boot的web设计与实现[J]. 轻工科技, 2016, 000(007):86-89.
[8]王珊,萨师煊.数据库系统概论(第 5 版.北京:高等教育出版社,2014.
转眼间,时光飞逝,三年的大学时光马上就要过去了。在过去的三年的大学时光当中,我和其他的同学们一起快乐的学习、生活,接受着老师们的谆谆教导和指导,也因此度过了一段非常美好而且快乐的时光。
首先,要向我的老师李爱华老师表示衷心的谢意。在论文的选题以及撰写的过程中,李老师对我耐心指导,帮助我开拓思路,鼓励我进行思维的创新。在李老师的引导下,我的论文一步步走向成熟。然后我还要感谢学校,在我求学的过程中,感谢学校对我学业的支持,并为我提供的良好学习环境。
与此同时,我也非常的感谢和我一起度过了三年生活的大学同学们。在这过去的三年生活里,他们和我在生活上一起互帮互助,学习上一起快乐学习共同进步,他们的出现以及陪伴让我收获到了大学三年来弥足珍贵的友情,也让本人三年的大学生活更加的幸福和完整。非常感谢同学们对我的热情帮助和支持,希望接下来的一年也能互相帮助,也祝各位同学们未来的生活更加的前程似锦、一帆风顺。
最后,我还想告诉我自己,虽然四年的大学生活还有一年就要过去了,可是全新的人生阶段也马上要开始。在即将到来的新阶段,无惧风雨、迎难而上、勇往直前、成就自己,未来可期,明天会更好。
- package cn.edu.nuc.order.Activity;
- import androidx.fragment.app.FragmentActivity;
- import androidx.fragment.app.FragmentManager;
- import androidx.fragment.app.FragmentTransaction;
- import android.os.Bundle;
- import android.view.View;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.ImageView;
- import android.widget.TextView;
- import cn.edu.nuc.order.Fragment.FragmentHome;
- import cn.edu.nuc.order.Fragment.FragmentMe;
- import cn.edu.nuc.order.Fragment.FragmentCart;
- import cn.edu.nuc.order.R;
-
- public class MainActivity extends FragmentActivity {
- private FragmentManager fManager;
- private FragmentHome fragment_home;
- private FragmentCart fragment_talk;
- private FragmentMe fragment_me;
- private ImageView iv_menu_home;
- private TextView tv_menu_home;
- private ImageView iv_menu_hot;
- private TextView tv_menu_hot;
- private ImageView iv_menu_talk;
- private TextView tv_menu_talk;
- private ImageView iv_menu_me;
- private TextView tv_menu_me;
- private TextView t_name;
-
- //private Button btn;
- String str="xiao";
- String myname;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- /**标题是属于View的,所以窗口所有的修饰部分被隐藏后标题依然有效,需要去掉标题**/
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- setContentView(R.layout.main2);
- initViews();
- System.out.println("我是"+LoginActivity.user);
- clickMenu(findViewById(R.id.ll_menu_home));
- }
- private void initViews() {
- fManager = getSupportFragmentManager();
-
- iv_menu_home = (ImageView)findViewById(R.id.iv_menu_home);
- tv_menu_home = (TextView)findViewById(R.id.tv_menu_home);
-
-
-
- iv_menu_talk = (ImageView)findViewById(R.id.iv_menu_talk);
- tv_menu_talk = (TextView)findViewById(R.id.tv_menu_talk);
- iv_menu_me = (ImageView)findViewById(R.id.iv_menu_me);
- tv_menu_me = (TextView)findViewById(R.id.tv_menu_me);
- }
- public void clickMenu(View v){
- FragmentTransaction trans = fManager.beginTransaction();
- int vID = v.getId();
- setMenuStyle(vID);
- hideFrament(trans);
- setFragment(vID,trans);
- trans.commit();
- }
- private void hideFrament(FragmentTransaction trans) {
- if(fragment_home!=null){
- trans.hide(fragment_home);
- }
- if(fragment_talk!=null){
- trans.hide(fragment_talk);
- }
- if(fragment_me!=null){
- trans.hide(fragment_me);
- }
- }
- private void setMenuStyle(int vID) {
- if(vID==R.id.ll_menu_home){
- iv_menu_home.setImageDrawable(getResources().getDrawable(R.mipmap.menu_home_click));
- tv_menu_home.setTextColor(getResources().getColor(R.color.colorPrimary));
- }else {
- iv_menu_home.setImageDrawable(getResources().getDrawable(R.mipmap.menu_home));
- tv_menu_home.setTextColor(getResources().getColor(R.color.menu_nomarl));
- }
- if(vID==R.id.ll_menu_talk){
- iv_menu_talk.setImageDrawable(getResources().getDrawable(R.mipmap.menu_talk_click));
- tv_menu_talk.setTextColor(getResources().getColor(R.color.colorPrimary));
- }else {
- iv_menu_talk.setImageDrawable(getResources().getDrawable(R.mipmap.menu_talk));
- tv_menu_talk.setTextColor(getResources().getColor(R.color.menu_nomarl));
- }
- if(vID==R.id.ll_menu_me){
- iv_menu_me.setImageDrawable(getResources().getDrawable(R.mipmap.menu_me_click));
- tv_menu_me.setTextColor(getResources().getColor(R.color.colorPrimary));
- }else {
- iv_menu_me.setImageDrawable(getResources().getDrawable(R.mipmap.menu_me));
- tv_menu_me.setTextColor(getResources().getColor(R.color.menu_nomarl));
- }
- }
- private void setFragment(int vID,FragmentTransaction trans) {
- switch (vID) {
- case R.id.ll_menu_home:
- if(fragment_home == null) {
- fragment_home = new FragmentHome();
- trans.add(R.id.content,fragment_home);
- }
- else{
- trans.show(fragment_home);
- }
- //trans.show(fragment_home);
- break;
- case R.id.ll_menu_talk:
- fragment_talk = new FragmentCart();
- Bundle bundle = new Bundle();
- bundle.putString("key", "红心柚子");
- fragment_talk.setArguments(bundle);
- trans.add(R.id.content, fragment_talk);
- break;
- case R.id.ll_menu_me:
- if(fragment_me==null){
- fragment_me = new FragmentMe();
- trans.add(R.id.content, fragment_me);
- }else{
- trans.show(fragment_me);
- }
- break;
- default:
- break;
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。