毕业设计(论文)-基于二维码的校内支付系统设计与实现.doc_第1页
毕业设计(论文)-基于二维码的校内支付系统设计与实现.doc_第2页
毕业设计(论文)-基于二维码的校内支付系统设计与实现.doc_第3页
毕业设计(论文)-基于二维码的校内支付系统设计与实现.doc_第4页
毕业设计(论文)-基于二维码的校内支付系统设计与实现.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

毕 业 设 计中文题目 基于二维码的校内支付系统设计与实现英文题目Design and Implementation of School Payment SystemBased on QR code 院 系:计算机与信息工程学院年级专业:2013级计算机科学与技术姓 名:学 号:指导教师:职 称:2017年5月诚信声明书毕业设计(论文)诚信声明书本人郑重声明:在毕业设计(论文)工作中严格遵守学校有关规定,恪守学术规范;我所提交的毕业设计(论文)是本人在 杜晓凤 指导教师的指导下独立研究、撰写的成果,设计(论文)中所引用他人的文字、研究成果,均已在设计(论文)中加以说明;在本人的毕业设计(论文)中未剽窃、抄袭他人的学术观点、思想和成果,未篡改实验数据。本设计(论文)和资料若有不实之处,本人愿承担一切相关责任。学生签名: 年 月 日摘要摘 要为了解决学生校内日常消费问题基于二维码技术,设计用于校内支付的系统。该系统运行于Android平台,并采用云服务器作为后台数据库管理数据,然后结合二维码技术实现支付流程。其中,二维码技术主要用于手机二维码的生成与扫描识别。支付系统通过二维码进行付款并将消费信息通过互联网网络传到后台服务器,从而实现消费任务,并生成消费明细信息。该系统可有效实现对学生的日常的校内生活比如水电费的缴交、食堂刷卡等进行简化,使得学生的校内消费能更加方便。关键词:Android;支付系统;二维码技术;数据库全套设计加扣 3012250582IIIABSTRACTABSTRACTTo deal with the problem of students daily consumption in campus,then designed a payment system for school which based on Quick Response Code.The system run on Android platform,administrate information by using Cloud Server as background database,and effect payment by Quick Response Code technology, which mainly used in producing Quick Response Code,scanning and recognizing.The payment system effect payment by Quick Response Code and upload detailed consumption information to backstage server through Internet to complete payment.The system will effectively make students campus life easier.Such as paying utilities and swiping card on canteen,and make students consumption more convenient.Key Words: Android; Payment System; Quick Response Code; Database目录 目 录第1章引言11.1 研究背景11.2 国内外的发展状况11.2.1 国内外现状11.3 研究分析21.4 本文组织结构3第2章技术路线42.1 相关技术介绍42.1.1 开发环境42.1.2 Android应用开发技术42.1.3 二维码技术42.1.4 第三方开源条形码识别库Zxing52.1.5 Bmob云存储数据库技术6第3章系统整体设计73.1 系统设计73.1.1 主要研究内容73.1.2 需求分析93.2 系统数据结构设计103.2.1 数据库表E-R图103.2.2 数据库表设计10第4章系统实现124.1 注册登录模块124.2 个人信息修改模块164.3 二维码支付扫码模块194.4 充值金额模块234.5 消费明细及充值查询模块26第5章结论与展望305.1 结论305.2 进一步工作的方向30参考文献31致 谢32第1章 引言第1章 引言本章节主要是围绕校内支付系统的研发目的、国内外二维码技术发展现状以及技术、经济可行性等方面来展开介绍的。1.1 研究背景消费作为学生在校内生活不可避免的一个基础环节,但它不仅仅是一个基础环节,一旦出现问题便会影响到衣食住行甚至学习的进行。而且近年来各校规模不断扩大、学生人数不断增加,高校的学生管理更需要完善和健全,否则无论哪个基础环节出现问题都将导致高校的日常进程受到影响。当规模不断扩大之后高校的管理势必趋向信息化,科技的不断发展造成了各种信息化产品进入了我们的校园生活,比如二维码的应用。作为一项新引进的技术,二维码不仅是一种端口,也可以是一个信息承载体,它可以储存文字、图片、声音等等。这些都可以被制作成一个几何二维码。在传统纸质媒体中,二维码则充当一个平面报道的信息载体,将这些平淡无奇的东西装入一个小小的二维码内,你只需要用手机扫描二维码就能从中获取那些仿若在身边发生的媒体信息1。二维码校内支付系统利用图像处理和编码技术结合,能准确高效的处理多种环境下二维码实现准确快捷的消费,并且能避免传统一卡通消费容易出现的问题。随着移动设备硬件的不断升级,智能手机的也逐渐普及。根据近几年网站排名靠前的权威网站统计数据表明,随着智能手机的普及,Android手机在国内市场的市场份额不断扩大。并且由于Android手机的开放性、具有丰富的硬件和其可以挣脱运营商束缚等优点,Android手机受到众多手机生产商的重视。随着智能手机的普及,手机二维码的地位由于其便利性和实用性也跟着水涨船高。而二维码技术也随之发展起来,并且慢慢趋于成熟。1.2 国内外的发展状况1.2.1 国内外现状在科技迅猛发展的今天,如果说什么业务是最好发展的。毫无疑问,那就是移动通信和手机互联网。这是目前世界科技迅猛发展所不可或缺的两大基石。接着3G、4G网络技术的出现更是大力推动了移动互联网的发展前进。如今,全世界的移动用户已突破15亿。不仅如此,互联网的用户也超过7亿。根据这种大数据我们几乎可以认为全球普遍都是移动用户,互联网也遍布大半个地球。移动互联网是目前主流的趋势。手机和互联网的结合可以不仅仅是一种技术的体现,更是人类打造智能生活的强大助力。这一点可以从手机互联网频繁出现在人们的生活和工作中可以得到体现2。得益于联网终端的移动化,移动支付继续高歌猛进,其中,二维码支付的表现依然强势。这不仅仅是因为二维码支付具有支付便捷、易于使用等优点。更是因为二维码支付适用于线下小额交易,这是对银行卡线下交易方法的一种补充。央行也曾公开承认了二维码支付的合法地位。二维码支付不仅是微信和支付宝等拥有庞大使用者数量软件的“用户”外。它还拥有Starbucks、Inditex和Wal-Mart Stores等财大气粗的“用户”。其中星巴克在2016年便在国内推出了扫描电子二维码来快速完成支付的付款方式。随后沃尔玛、Inditex两大“用户”也不甘人后,纷纷上线了以二维码来支付的付款方式。传统的购买火车票中,通常是需要到火车站或者是火车代购点购买火车票,而如今手机二维码支付的普遍性也让火车票的购买更加方便,人们可以在相关网站上订购并且通过二维码支付,避免了排队等候,大大节约了买票时间。除此以外,手机二维码也被广泛的应用在手机购物上3。目前,国内的二维码支付技术已经趋于成熟,尤其是电商的爆炸式发展,网上购物成为一种趋势,各种网站以及手机App都开放了二维码支付的端口来简化支付手段4。无论从质量、规模、品质均不输于其他国家。而校内二维码支付系统的灵感是基于近几年各个高校开始统一使用一卡通来取代校内的食堂现金付费和水电缴费,所以对校内二维码支付系统的研究也就不多,这也是我研究本系统的初衷。1.3 研究分析(1)技术可行性 Android从2007年Google公司公布的版本发展到如今的7.0版本,这不是简单的版本更新,更是智能操作系统更完善臻美的体现。Android一开始由于其开放性而深的众多手机产商的青睐,但是开放性不代表其保密性低。在最近推出的Android7.0版本中,其保密性得到了业界的认可。不仅是保密性,Android的硬件支持和设计元素越来越丰富也是本系统选为开发环境的主要原因之一。本系统是为了简化学生在学校日常生活中缴交水电费及食堂刷卡等这一系列较为普遍的流程。开发过程需要与诸多软硬件的共同支持,基于Android有丰富的硬件支持,所以我选择在Android上开发本系统。二维码技术作为本系统的核心技术之一,其技术发展现在也是日趋成熟,研究资料充足为本系统的开发提供了巨大的便利。二维码的生成是利用谷歌的一个开源Java类库Zxing。程序只要使用了这个库,当程序调用了Zxing库的方法便可以生成一个二维码。Zxing库具有开源性强,适用于多客户端的特点。不仅如此,它还能用于对QR编码,UPC的1D和2D条形码的解码。因此程序只要包含了Zxing库,不仅可以生成二维码,还可以实现解码功能。本系统选用Bmob后端云的云存储作为应用数据库,Bmob是一个强劲的后端,使用Bmob几乎能免去所有服务器端编码的工作量。Bmob后端云提供可视化的数据表设计界面,使得用户可以轻松创建数据库表。还支持的10种数据类型存储,基本满足编写需求。还支持各种文件上传和存储,如图片、音视频、文档等信息。用户可以在开发者管理后台通过编写JavaScript或者Java代码来创建一个后端云的逻辑。将逻辑代码部署到Bmob的数据库平台上,即可实现应用的需求。基于该基础,数据库的更新维护也变得十分便捷。配合云逻辑和定时功能来完成指定任务,实现更多复杂的业务。Bmob还具有备份还原的功能。能够定时完成备份,并且在需要的时候还原数据。(2)经济可行性二维码校内支付系统的开发过程中使用到的Android Studio、Bmob后端云为均是可以免费使用的。Android Studio是免费下载便可使用,而Bmob后端云需要在Bmob进行注册调试,也不需要费用,因此在经济上是不存在问题的。(3)社会可行性社会可行性主要是包括对法律风险、技术风险进行评估,及时规避风险,保证项目的顺利执行。其中,技术可行性是本系统能够编写的重要原因。利用硬件和设计元素丰富的Android平台来开发可以使系统的功能强大、交互界面更人性化。二维码校内支付系统在开发过程中的使用到的Android Studio、Bmob后端云都是免费且无法律风险的开发软件,因此本系统不存在任何的法律风险。1.4 本文组织结构本文主要对Android技术进行相应研究,根据本系统的开发目的,从使用该系统的主要需求出发,确定开发的设计方案,对二维码校内支付系统进行开发设计与实现。本文主要分为五个章节:第一章:引言。对课题的研究背景及现今国内外的研究现状进行介绍,对此系统的可行性以及研究的目标和方法进行研究分析;第二章:技术路线。介绍系统的开发方法,对相关的开发环境以及开发技术做了简单的介绍;第三章:系统整体设计。本系统是采用软件工程中面向对象的方法对软件进行开发,所以本章的展开顺序是以软件工程的方法展开的,依次进行了系统需求分析、系统设计和系统数据结构设计;第四章:系统实现。对项目功能的实现过程进行介绍以及成果截图展示;第五章:结论与展望。对本系统进行总结与展望,期待获得更好的提高。31第2章 技术路线第2章 技术路线本章主要对软件用到的开发环境和一些主要技术进行介绍和展示。2.1 相关技术介绍2.1.1 开发环境本项目主要开发语言是Java,开发平台是Android Studio 2.2,数据库是用到了Bmob后端云提供的云数据库服务。如下表2.1为开发环境展示。表2.1 详细开发环境表开发语言Java开发平台Android Studio 2.2操作系统Windows 10数据库Bmob后端云2.1.2 Android应用开发技术Android是Google公司在2007年公布的手机系统,这是经过Google公司和软件开发商、运营商等共同改良的一款开源手机操作系统。Android作为一个平台,主要包含有关键应用程序层、提供的Java框架层、系统运行层和Linux内核,以及Android中的JVM7。Android应用程序层的开发是在Dalvik虚拟机上,主要的开发语言是Java,因此主要使用集成开发环境Eclipse,同时还需要安装JavaSDK来支持 8。Android具有不受电信运营商束缚、开放性强、支持的硬件丰富等原因和互联网可以完美地结合,碰撞出科技的火花9。Android操作系统和其他系统一样采用了分层结构,其中应用程序层是通过Android SDK来开发应用程序。Android的系统内核是运行在Linux kernel上的,Service组件在后台运行,可以和其他组件交互控制。Android技术很有意思,界面开发由于其设计元素可以做到非常的酷,符合现在人们对扁平化界面的需求。因此Android的开发前景是非常远大的,同时在这一领域你还可以体验到Android与众不同的开发乐趣。2.1.3 二维码技术条码技术的核心是采集信息然后录入和存储到条码中。现在超市中依然可见的条形码便是一维条形码,它为数据采集和处理效率的提高作出了巨大的贡献10。随着近几年智能手机的普及和二维码技术的日趋成熟,二维码在人们工作和生活领域中逐渐崭露头角。图 2.1 二维码图片二维条形码技术不仅可以存储网址、名片和特定代码,也能够存储文字信息和多媒体信息11。二维码技术最早诞生在美国,但却是日本和韩国这两个国家最先将这项技术用在商业用途上,并取得不菲的成绩12。国外早在1980年便开始了对二维码技术的研究,并且在二维码符号表示方面的研究有了不少的成果。二维码技术是用在平面分布有特定规律的图形来记录信息。该几何图形黑白相间,计算机编程里的二进制算法有很大的相似之处。并且可以通过图像的输入或者摄像设备的读取识别可以实现对存储的信息进行解读13。二维条码还具有条码技术的一些共同点,比如都具有特定的字符集。但二维码是一种比一维码高级的条码格式,一维码只能在水平上,二维码却是可以在水平和垂直上存储。二维码具有编码范围大、容错能力强、信息容量大等优点14。并且其成本低和制作简便等优点也是二维码备受追捧不可忽视的地方。二维码也是一种端口,可以是进入网站的端口,也可以是进去后会被读取的内容等。所以二维码其实只是取代传统的接入模式,例如域名输入等的一种更便捷的端口接入方式。这点可以从现在大部分软件的下载及网站的注册可以看出来。不仅如此,由于现在绝大部分智能手机都支持二维码扫描功能,所以现在诸多商户推销和宣传商品都使用出了扫码送礼的手段来对自己的商品进行宣传。这不仅能够节约下一笔很大的纸质宣传单的钱也省下了上网站或者电视打广告的必要,做到了经济和环保的共赢。在现如今提倡保护环境和发展经济的时期,二维码无疑充当了一个环保大使的角色。2.1.4 第三方开源条形码识别库ZxingZxing是谷歌的一个开源Java类库。程序只要使用了这个库,当程序调用了Zxing库的方法便可以生成一个二维码。Zxing库具有开源性强,适用于多客户端的特点。不仅如此,它还能用于对QR编码,UPC的1D和2D条形码的解码。因此程序只要包含了Zxing库,不仅可以生成二维码,还可以实现解码功能。Zxing不仅支持Java编程语言,还包括C+、C#等 15。Zxing解码的原理是通过获取图像或摄像设备获取二维码,然后调用第三方库中的方法对二维码进行快速的读取和解码16。由于Zxing库是开源的,所以开发者只需要到谷歌的官网下载对应的开发包到应用程序中便可以使用。Zxing库的开源性和使用的简易性对二维码的普及可以说是功不可没,同时还能让开发者省下不少开发成本。2.1.5 Bmob云存储数据库技术相较于传统数据库,Bmob具有以下系统特性:简单易学的数据操作、主动推送实时信息给终端用户、数据安全便捷。对数据的操作是移动应用开发的基础。Bmob除了提供对数据的基础操作之外,还可以实现数据多线程操作和回调操作。在数据类型上支持String(字符串)、Number(数值)、Date(日期)等10种数据类型。基于Bmob的开放便捷的特性,开发者能够从繁琐的机械劳动中跳脱出来。还能够将更多的精力投注到移动产品的创意研发中,更多的提升产品的功能和质量。第3章 系统整体设计第3章 系统整体设计3.1 系统设计3.1.1 主要研究内容系统概要描述:本系统开发目的是基于如今各个高校实行校内一卡通来进行校内公交、食堂、水电费的缴费等支付管理,但是经常有因为刷卡机器的原因或者是卡内芯片损坏、卡丢失、卡被盗刷等问题导致在校内无法消费甚至日常生活无法继续,为解决该问题而开发此系统,利用摄像采集系统采集识别学生的二维码并通过密码验证支付行为,将消息通过互联网传输到后台服务器,从而实现校内消费,免去卡丢失等许多麻烦。本系统的主要用户是学生,为了能让本系统取代一卡通的功能,因此本系统所需要具备的功能如下:(1)注册,用户可以进行注册然后成为该系统的用户;(2)登录,用户在输入帐号密码等信息并核对正确后可以登录系统;(3)用户信息修改,用户登录系统后可以进入个人中心界面对相应的信息进行修改;(4)查看二维码,用户可以在二维码界面看到独一无二代表自己身份的二维码;(5)扫描二维码支付或转账,用户可以在校内使用扫码,输入正确密码,进行支付水电费缴交和日常开支支付,并且两个用户之间还可以进行互相扫码转账等;(6)充值,用户可以进入个人中心,选择充值方式,输入密码和充值金额即可完成金额充值。(7)充值查询,用户可以进入查询界面,查询充值明细,同时可以使用按日期查询功能更为便捷的查询充值明细。(8)消费查询,用户可以进入查询界面,查询消费明细,同时可以使用按日期查询功能更为便捷的查询消费明细。因此可将系统大致分为五个模块:注册登录模块、信息修改模块、扫码支付模块、充值金额模块和查询模块。系统框架图如图3.1所示,图3.2为系统用例图。图 3.1二维码校内支付系统结构图二维码校内支付系统注册登录模块信息修改模块充值金额模块扫码支付模块查询模块用户注册功能用户登录功能个人信息修改扫码支付功能查看二维码金额充值功能消费明细查询充值明细查询 图 3.2二维码校内支付系统用例图本系统的注册和登录模块主要包括用户注册和用户登录两个功能;信息修改模块则主要是用户的个人信息修改功能;扫码支付模块主要包括用户扫码支付功能和查看二维码功能;充值金额模块主要有金额充值功能;查询模块主要有消费明细查询功能和充值明细查询功能。3.1.2 需求分析用户需求:(1) 能够代替一卡通实现校内支付;取代一卡通缴交水电费,食堂饭钱的功能。(2) 系统充值余额便捷;可以直接利用当前很流行的网上第三方支付方式如支付宝或微信来充值余额,不需要特地到学校的圈存机上去充值。(3) 软件界面友好,运行稳定;为了避免出现一卡通刷卡时刷卡机器损坏而导致无法刷卡的问题,本软件在运行的稳定性上一定要有保证,否则十分影响用户体验。系统功能需求:(1) 用户注册 用户需要通过注册成为本系统的用户。用户可以点击界面的注册按钮转入注册界面,然后填写手机号和密码,点击验证码接收验证码后填入,系统核对无误后注册成功。(2) 用户登陆用户登录时填写手机号和密码,系统会对数据库中的注册信息进行验证。如果信息正确登录成功,否则会提示帐号错误或者密码错误等信息,用户需更具对应提示修改。当用户登录成功后,系统会进入主界面,主界面便是一个二维码。(3) 个人信息修改用户可以进入个人信息中心中对自己的基本信息进行查看,并且可以对密码、真实姓名、用户名等对应的项目进行修改。(4) 扫描二维码支付功能该模块主要功能是用户账户进行登录后,进入二维码扫描支付模块,调用二维码扫描器,扫描二维码进行金额支付。(5) 查看二维码功能该模块主要功能是用户账户进行登录后,进入我的二维码模块,查看个人的二维码以及进行金额转账时可以直接给别人扫码交易。(6) 充值金额功能该模块主要功能是用户账户登录后进入个人中心可以进行金额充值,无需再通过学校的划款机进行划款充值。(7) 消费明细查询功能该模块主要功能是用户账户登录后进入查询功能,可以对自己在校内的具体消费进行查询,包括消费日期、消费说明、消费金额等信息。(8) 充值明细查询功能该模块主要功能是用户账户登录后进入查询功能,可以对自己的充值金额明细进行查询,包括充值金额、充值方式等信息。3.2 系统数据结构设计数据库对一个软件来说就好比人类的大脑,所以对于一个有数据交互的软件来说,数据库是非常需要的。数据库表可以对数据分类存放,使得数据条理清晰,保证了程序运行稳定。本系统的数据库是用了Bmob的后端云数据服务。Bmob后端云把创建数据库和对数据库这样的操作进行了封装,这就使得这个操作更偏向于面向对象编码。这种方式,很方便,也很容易理解。3.2.1 数据库表E-R图通常我们在设计数据库时都需要对系统所需要的数据进行分析,然后更合理的设计数据库表。本系统的数据库分析是采用了通用的E-R图,一个好的数据库能更好的保证程序运行的稳定性。校内支付系统的实体联系图主要是用户和帐号这个实体。帐号拥有真实姓名、用户名、密码和支付密码等属性。本系统的具体实体联系图如下图的图3.3所示。图 3.3二维码校内支付系统实体联系图3.2.2 数据库表设计表3.1用户表:Account编号字段类型描述1Account String注册帐号(手机号)2ObjectIdString唯一值(主键)3IdString用户ID(用来关联表)4RealnameText姓名5PasswordString密码(数字或字母组成且长度至少为六位)6ZhifupwString支付密码(长度只能为六位数)7NicknameText昵称8RemainString余额9CreatedDate创建日期10UpdateDate更新日期表3.2用户表:OrderInfo编号字段类型描述1ObjectIdString唯一值(主键)2IdString用户ID(与表Account关联)3Describetext付款说明4PaystyleString支付方式5PriceString交易金额6CreatedDate创建日期7UpdateDate更新日期表3.3用户表:PayStyle编号字段类型描述1ObjectIdString唯一值(主键)2IdString用户ID(与表Account关联)3PaystyleString支付方式4CreatedDate创建日期5UpdateDate更新日期第4章 系统实现第4章 系统实现在本章中,主要是利用UML流程图、用例表和系统的展示图来详细介绍本系统的各个功能。其中UML流程图和用例表可以将各个功能详细运作原理展示出来,展示图可以清楚的让人看到系统的主界面和功能界面。4.1 注册登录模块注册登录模块主要是包括用户注册和用户登录两大功能。(1)开启本软件即可进入登录界面,如果已是本系统用户,可直接填写手机号和密码进行登录;如若不是本系统的用户,可点击下方注册按钮进行注册,注册成功后用户需要再返回登录界面进行登录。用户注册和用户登录功能对应的活动图如下图4.1所示。 图 4.1用户注册和登录功能活动图图4.2为用户注册功能的用例图,表4.1为用户注册功能对应的用例描述表。在注册功能中,用户需填写自己的手机号、密码、验证码,然后进行注册提交。 图 4.2用户注册功能用例图表4.1用户注册功能用例的用例表用例名称用户注册用例编号SS_01执行者用户前置条件用户尚未注册后置条件用户注册成功,系统保存用户的信息并跳转到登录界面;否则,系统维持原状。基本路径1. 点击登录界面的注册按钮进入注册界面;2. 用户填写个人信息,输入手机号、密码、验证码;3. 系统验证用户信息;4. 用户注册成功,系统保存用户信息并跳转到登录界面。输入用户输入账号、密码、验证码等等输出系统返回信息,显示用户注册成功与否可选路径用户完成注册信息的输入,最后放弃注册异常路径用户信息验证错误,如系统检测出用户输入的信息格式错误,如包含非法字符,输入的密码和验证密码不一致。或者系统发现了同样的用户账号,则系统会自动向用户报告错误信息,并要求用户修改注册信息。首先用户打开二维码校内支付系统,直接进入系统的用户登录界面。若用户尚未注册可以点击下方的注册按钮转到用户注册界面。进入注册界面,填写相关信息例如手机号然后设置123456789为密码。点击验证按钮可接收到系统发来的验证码,输入验证码后点击注册。此时系统会提交用户的注册信息到数据库表Account,并且对用户提交的信息进行校对。若是存在用户名已存在或者密码格式长度不符合要求,系统将会对用户发出相应的提示,用户需要对相应的地方做出修改,否则注册失败。界面展示图如下4.3所示:图 4.3系统注册界面在用户登录模块流程中,由于登录流程无法使用UML流程图中来展示,因此只给出用例图,图4.4 为用户登录功能对应的的用例图,表4.2则为用户登录功能用例对应的用例描述表。在登陆功能中,用户需填写自己的账号和密码,然后进行点击登录。图 4.4登录功能用例图表4.2用户登录用例的用例表用例名称用户登录用例编号SS_02执行者用户前置条件用户已注册后置条件用户登录成功,系统登记用户信息并跳转到系统主界面;否则,系统维持原状。基本路径1. 用户输入帐号及密码;2. 系统对登录信息进行验证;3. 用户登陆成功,进入到对应的主界面。输入用户输入帐号及密码输出系统返回信息,显示登录成功与否可选路径用户输入账号(手机号)及密码,最后放弃登录异常路径用户输入的帐号不存在或密码错误,系统给出相应的错误信息。用户可选择重新输入帐号并选择正确的身份或者退出登录。用户登录时输入注册帐输入密码123456789进行登录。系统会将用户提交的信息传送到数据库并且和表Account中的数据进行对比。对比信息正确则用户登录成功进入主界面,但若是和数据库表对比错误,则用户登录失败,需要根据提示进行修改帐号或者密码,重新登录。如下图4.5所示为二维码校内支付系统的登陆界面图,以及4.6、4.7、4.8分别为二维码界面、查询界面和个人信息界面。 图 4.5系统登陆界面 图 4.6 二维码界面 图 4.7 查询界面 图 4.8个人信息界面4.2 个人信息修改模块在个人信息修改功能中,用户可对自己的用户名、真实姓名和密码进行修改,然后保存提交信息。用户若要进行信息修改,则进入个人中心界面,选取相应的项目进行相应的修改操作。系统会将用户更新的信息进行格式查询,查询正确后传送到数据库表Account,然后对相应信息进行更新。个人信息修改功能对应的流程图如下图4.9所示:图 4.9个人信息修改功能活动图个人信息修改功能的用例图,如下图4.10 所示。个人信息修改功能用例对应的用例描述表如下表4.3所示。图 4.10个人信息修改功能用例图表4.3个人信息修改用例的用例表用例名称个人信息修改用例编号SS_03执行者用户前置条件用户已登录后置条件用户修改信息,系统更新用户信息并提示修改成功,否则系统维持原状。基本路径1. 在主界面点击个人中心按钮进入对应信息修改;2. 用户选择内容进行信息修改;3. 用户提交信息;4. 系统提示修改成功并保存更新后的信息。输入用户输入要修改的信息输出系统返回信息,显示用户信息修改成功与否可选路径用户输入要修改的信息,最后放弃修改异常路径用户输入的信息验证错误,如输入的密码不规范,密码必须为数字或字母且长度至少为六位,或者两次输入的新密码不一致,系统显示错误信息。当用户输入的信息格式有误时,系统进行相应的错误提示,用户可选择重新修改或取消修改的操作个人信息修改模块主要包括用户的真实姓名、用户名以及密码等个人信息修改。用户可在主界面点击进入个人中心,进到个人中心界面后即可看到个人基础信息如用户名、真实姓名和余额等信息,如下图4.11所示。用户在主界面选择个人中心即可使用个人信息修改功能,对对应信息如真实姓名、用户名以及密码等信息进行修改。修改完成后需用户点击保存按钮即可更新相应的信息,点击返回返回个人信息中心。如下图4.12所示为修改真实姓名,下图4.13为修改密码。 图 4.11用户个人信息修改“我的”界面 图 4.12用户“修改真实姓名”界面图 4.13 用户“修改密码”界面4.3 二维码支付扫码模块本模块包括了扫码支付功能和查看二维码功能。对于扫码支付功能,其中的扫码支付流程可以用UML流程图和用例图来详细展示,下图中的图4.14即为扫码支付流程状态机图。在查看二维码功能中,不可用UML中的状态机图来展示因此只给出用例图。如下图4.15展示的是用户查看储存有用户ID的二维码功能用例图,表4.5为对应的用例描述表。在用户查看二维码功能中,用户可查看由系统自动生成、储存自己ID信息的独一无二的二维码。 图 4.14扫码支付流程图 图 4.15用户查看二维码功能用例图扫描二维码支付功能对应的用例图为下图4.16和4.17,扫描二维码支付功能用例对应的用例描述表则是下表的4.4。在扫描二维码支付功能中,用户可以展示自己的二维码给学校的食堂进行扫码支付,也可以扫码学校食堂的二维码进行支付,还可以进行两用户间相互扫码转账。两个用户的转账过程,是扫描用户的二维码之后,获得用户的ID。从数据库中查询出用户的基本信息,比如头像和他的余额。转账就是在一个帐号余额的减少,另外一个帐号余额的增加。这个转账会检查余额,如果余额不够是不能转账的。图 4.16扫描二维码支付功能用例图图 4.17扫描二维码支付功能用例图表4.4用户扫描二维码支付功能的用例表用例名称扫描二维码支付用例编号SS_04执行者用户前置条件用户已登录后置条件系统发出提示声提示扫描成功并且密码输入正确,否则系统维持原状。基本路径1. 在主界面点击扫码支付按钮进入二维码扫描支付界面。 2. 系统自动打开摄像头。3. 将摄像区域对准二维码扫描图片区域。4. 系统发出提示声音提示扫描成功并保存信息输入用户的二维码图片信息输出系统返回信息,发出提示声音提示扫描成功可选路径用户将二维码图片放在二维码扫描图片区域,在扫描成功之前放弃扫描异常路径由于焦距问题,或者用户的二维码图片原因,系统长时间无法识别图片表4.5用户查看二维码用例的用例表用例名称用户查看二维码用例编号SS_05执行者用户前置条件用户已登录后置条件系统显示用户的二维码图片信息。基本路径1. 在主界面下方选择按钮进入“我的二维码”功能界面;2. 系统显示用户的二维码图片信息。输入无输出系统返回显示用户的二维码图片信息。可选路径无异常路径系统未显示相关信息二维码支付扫描模块是包括展示二维码界面和扫描二维码功能的界面。二维码是使用Zxing第三方库生成的,这个不需要开发者理解,封装好的,只需要用CreateImage方法生成一个BitMap显示出来,二维码中存储的信息是用户的ID,这个是唯一标识。因为登录的时候就会获取到用户的ID,所以用户登录后就可以在界面看到属于自己的二维码。如下图4.18所示,该二维码为每位用户独自拥有的一个二维码,可以用来转账和支付。点击“扫码”按钮即可进入扫码支付界面,如下图4.19所示。程序会调用系统的摄像头进行信息采集,对扫描到的信息进行检索分析。此时Zxing第三方库调用AnalyzeCallback方法对二维码解析,将获取到用户的ID,当用户进行转帐或者支付操作后对数据库发送相应的信息。 图 4.18二维码界面 二维码展示 图 4.19二维码界面 扫描二维码界面4.4 充值金额模块在金额充值模块中,当用户需要充值时,首先提交订单。需要用到订单的标题,内容,这个是自己定义的,提交订单会返回一个订单号,这个订单号是SDK自动生成的。不论订单支付成功与否,都会生成一个订单号。然后系统会调用支付宝和微信的支付API来支付,当支付成功后会有一个成功回调的接口,在这里可以将订单的信息存入数据库,完成充值功能。其对应的流程图如图4.20所示开始结束充值提交订单调用微信或支付宝充值支付成功订单信息存入数据库充值成功图 4.20金额充值流程图 如下图4.21 为用户金额充值功能用例图,表4.6为用户金额充值用例对应的用例描述。图 4.21用户金额充值功能用例图表3.6用户充值用例的用例表用例名称用户充值用例编号SS_06执行者用户前置条件用户已登录后置条件用户选择充值方式,输入充值金额及密码,系统提交用户信息并提示保存成功,否则系统维持原状。基本路径在个人中心界面点击“充值”按钮进入“充值”界面;选择充值方式,输入充值金额,输入密码;用户提交信息;后台上传数据;数据库修改数据;系统提示充值成功。输入充值方式、充值金额、密码输出系统返回信息,提示充值成功可选路径用户将充值方式选择完,金额密码填写完之后,在提交之前放弃提交异常路径无用户进入充值界面,选择充值方式,这里先选择支付宝充值,如下图4.22所示。输入充值金额1元,如下图4.23所示。此时系统会产生一个支付订单,点击确认支付即可跳转到支付宝,如下图4.24所示。这时程序会调用支付宝支付API跳转到支付宝支付,输入密码,然后系统会向后台发送订单信息,修改数据库中余额数据,最后充值成功,如下图4.25所示。 图 4.22用户充值 选择支付方式界面 图 4.23用户充值 输入充值金额界面 图 4.24用户充值 订单确认界面 图 4.25用户充值 充值成功界面4.5 消费明细及充值查询模块消费明细及充值查询模块主要包括查询用户消费金额、消费日期及付款说明,充值金额信息、充值日期等功能;在查询模块中,可以按日期查询也可按消费或充值分类查询。当用户选择按日期查询时,系统使用了Bmobquery将数据库表orderinfo的数据获取到本地,然后对获取到的数据进行快速排序,最后将结果显示给用户。当查询到所需结果后,系统默认按一条条文字列出来,用户可以选择折线图或者饼图来查看。其中的按日期查询流程,可用UML中的状态机图来展示,其对应的状态机图如图4.26所示:图 4.26消费明细及充值查询状态机图如下图4.27为用户消费及充值查询用例图,表4.7为用户消费及充值查询用例对应的用例描述。在消费充值功能中,用户可按日期查询消费明细以及充值明细等。图 4.27用户消费及充值功能用例图表3.7用户消费及充值用例的用例表用例名称用户消费及充值用例编号SS_07执行者用户前置条件用户已登录后置条件用户进入查询界面,查看用户消费明细及充值明细,系统显示结果。基本路径1. 用户进入查询界面,对消费明细查询;2. 对充值明细查询;3. 系统显示结果,默认文字显示,可以选择饼图或折线图显示。输入无输出系统返回查询结果可选路径查看充值明细,查看消费明细。异常路径未显示用户查询的相关信息如下图4.28,用户可在主界面点击“查询”,进入查询界面。可按分类查看消费明细和充值明细,若数据较多也可按月份查询。点击界面上的查询月份,选择年份及月份,点击确定即可显示出结果,如下图4.29和4.30所示 图 4.28用户“查询”界面 图 4.29用户“查询”选择月份查询界面图 4.30用户“查询”按3月份消费明细界面第5章 结论与展望第5章 结论与展望5.1 结论本文对校内支付系统的设计、实现进行了研究,总结了本系统的开发方法和技术路线,并在安卓平台上实现了一个较为复杂的支付系统,在实际使用中具有稳定实用的效果。本系统的具体工作包括以下几个方面:1. 确定了校内支付系统的开发方法和技术路线。 分析比较了目前市场上流行的支付系统实现方法的特点,然后依据在校内使用的限制进行一定的功能修改。最后确定了利用二维码来作为核心实现本系统,结合数据库等构成本系统的技术框架2. 确定校内支付系统的主要功能。由于本系统需要在校内替代一卡通使用,因此要考虑到用户主体为学生及用户的主需求。本系统不但需要一个程序的基本功能包括:注册、登录、基本信息修改等;还要有本系统设计

温馨提示

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

最新文档

评论

0/150

提交评论