基于Android校园跳蚤市场交易系统的设计与实现
小跳蚤 大用途
前言:
算一算时间又快到了一年一度的毕业设计了吧,我也差不多完成我自己的毕业设计一年了,在此推出我的毕业设计成果以供后来的学弟学妹参考。都说站在巨人肩膀上,更上一层楼,在枯燥的编程期间我也有参考CSND大力哥的文章。很多人 把毕业设计应付过去,但是学习终究是自己的,绝知此事要躬行。接下来跟着我学习和分析的思路看一下成果吧!
目录
3.2.1 C#管理员端主要包括以下四部分功能模块.... 28
1.分析与准备
主要内容 随着科学技术的发展,网上购物成为时尚,网上购物方便、快捷、实用,成为我们生活之必须,针对高校内大量学生有大量学习生活用品需要处理,直接丢弃是一个损失。本毕业设计实现一个基于Android移动平台的高校跳蚤市场交易系统,学生们随时随地可以利用本系统发布二手商品和浏览商品信息,并且操作简捷方便。
主要实现以下内容:
1. 分析校园用户的需求,对系统进行总体设计,在Android平台上进行系统开发;
2. 实现基本的商品交易功能,包括发布商品、搜索商品和分享等;
3. 实现基本的系统设置和用户管理功能;
4. 提供用户交流的平台,如留言板等;
5. 实现其他功能,如热销物品排名、物品关键字模糊查询等。
基于以上需求,可以抽出关键信息以及扩展需求,我的目标是自己做出来的东西要一定要有高标准至少自己能看,才能给别人看。一下便是我的解读:
①C2C模式电子商务系统
②基于C/S结构的交易系统
③主打校园,近距离不存在物流系统
④围绕二手商品交易,搭建人性化台例如:公益项目、免费送和拍卖等
⑤电子商务盈利为目的,建立交易手续系统
⑥一人分饰两角(买家和卖家)
选取开发工具:
2.成果展示
1.主界面及用户管理,仿微信风格
2.发布与检索(核心功能)
3.核心交易功能的实现
4.辅助功能的实现
5.管理员功能的实现
OK以上为大概实现的功能展示,管理员端做得比较粗糙。
大概实现的功能有:
3.详细设计与实现
1.1研究背景
随着可持续发展的进一步深入,建立“环境友好型、资源节约型社会”以及资源再利用的观念越来越受到学生的重视和认可。由于产品更新换代节奏加快,市场潮流转向的驱使,大多数学生买了商品使用一段时间后就觉得不尽人意,又有购买力,愿意卖旧买新;或者有的同学在商品使用一段时间后想购买档次更高的商品,也采取卖旧买新的做法;随着各高校的毕业生离开校园,大部分还有价值的物品会被选择性出售。
传统的跳蚤市场,会有固定的组织,固定的时间、固定的地方和分配固定的摊位,这里存在好处也有坏处,庞大的市场会占用很大一部分面积,卖家需要尽早的去照看自己的摊位。例如我们学校,在每年毕业生快离开学校的前半个月,学校会组织为期三天的跳蚤市场交易活动。可是如果同学们很早就想处理自己的旧物品,就会找不到渠道联系买家,刚好交易的时候有课就不能第一时间“淘”到自己想要的宝贝。
近年来,随着网络的快速发展以及计算机技术的逐渐成熟,电子商务模式的跳蚤市场呼之欲出。为了满足高校大学生更方便、快捷、随时随地的出售自己的旧物品,本系统将大多数交易需求放进了智能手机里。只要同学们拿出自己的手机,就能尽情购买物美价廉的商品,同时也可以出售自己的物品以免浪费其价值。
1.2项目简介
本系统应用于Android平台,发布于webservice服务器,用户通过手机客户端进行操作。本系统为用户提供了一个发布商品、发布公益、购买宝贝、参与公益的以及浏览商品信息的交易平台。
本系统涉众包括:用户、跳蚤市场交易系统、开发人员、管理人员。用户包括:
卖家(发起者):随时随地发布商品、发起公益项目;
买家(参与者):随时随地浏览商品信息、一键购买;
跳蚤市场交易系统:一个交易平台,用户在上面参与跳蚤市场的交易流程;
开发人员:开发本系统(包括前台用户模块、服务器模块以及管理员模块);
管理人员:负责审核用户发布的信息是否符合规定,维护系统稳定;
2.1 需求分析
主要内容 随着科学技术的发展,网上购物成为时尚,网上购物方便、快捷、实用,成为我们生活之必须,针对高校内大量学生有大量学习生活用品需要处理,直接丢弃是一个损失。本毕业设计实现一个基于Android移动平台的高校跳蚤市场交易系统,学生们随时随地可以利用本系统发布二手商品和浏览商品信息,并且操作简捷方便。
为了使系统更人性化,走访调查后需要本系统具备一下功能:
- 因为是手机软件开发,所以就需要良好的用户体验界面
- 简单实用的登陆注册功能,以方便验证登陆人信息
- 能发布、浏览、下单、购买、发货、收货、取消商品相关信息
- 商品热销排行、分类检索、模糊查询
- 由于是用户之间交互应提供一个评论功能方便沟通
- 为了使系统更壮大加入不同样式的互动方式:免费送、公益项目等
- 为了让更多人参与需要加入分享到朋友圈的功能
- 为了管理后台与用户交流,加入消息系统
- 是一个盈利性的平台加入手续系统
- 由于不确定性太多,加入商品审核,关键字屏蔽等功能
2.2可行性分析
2.2.1 经济性
通过手机APP进行二手商品交易,大大提高了搜索宝贝的效率和减少了时间成本。通过用户发布的商品,进行分类统计与管理,找出人气较高的分类,为管理员提供了推送信息的方向,极大的方便了处理和购买旧物品。买家对卖家的评论和对商品的分享,使得该商品能具有更高的性价比评估。
2.2.2技术性
使用安卓手机客户端进行交易,能够收到系统的推送和广告商品,以及自己的消息记录。极大地方便了同学们的使用,减轻了搜索压力,避免了因旧物太多没时间和渠道处理二占据大量空间;后台管理系统很好的帮助管理员对用户信息进行管理,通过反馈回来的数据对广告推送进行一定的调整,从而提高了工作效率。基于C/S结构让用户有一个流畅的O2O模式交易平台。
2.3.1 项目计划
基于Android校园跳蚤市场交易系统开发是一个小型手机应用程序和客户端结合的程序,主要分为管理端和客户端。
2.3.1.1 客户端
客户端是基于WebService接口的Android手机软件开发程序,规划系统功能模块如下:
-
用户管理
该模块主要包含用户的登录、注册、注销、修改密码、上传头像和修改资料等。 -
发布与检索
发布商品、发布公益、发布免费送、模糊搜索、人气排行、分类检索、加急排行、最新发布等功能。 -
核心交易功能
下订单、取消订单、确认收货与发货、删除商品、参与公益、修改商品信息等功能。 -
辅助功能
充值、提现、消息管理、公益管理、评论、联系卖家、分享到朋友圈等功能。
2.3.1.2 管理端
管理员端主要是采用C#.netframwork框架写的基于C/S模式的客户端,通过SSH框架进行业务逻辑处理和链接数据库,规划系统功能如下:
-
系统验证功能
主要是管理员登录 -
审核功能
管理员对用户上传的信息进行筛查审核 -
修改功能
维护日常与用户交互信息得修改与删除等 -
查看统计
系统根据数据库自动生成的报表,以供管理员参考
2.3.2 系统功能结构图
2.3.2.1 客户端
客户端的功能结构图如图2-1所示:
图2-1 跳蚤市场客户端功能结构图
2.3.2.2 管理端
管理端的功能机构图如图2-2所示:
图2-2 跳蚤市场管理端功能结构图
2.3.3 系统 E-R图
限于篇幅画出主要几个实体类属性,如图2-3所示:
图2-3 实体类图
所有类的E-R图如图2-4所示:
图2-4 系统E-R图
本系统主要是针对学生用户进行开发设计,分为客户端和管理端两部分,分别实现以下几个目标:
2.4.1.1 客户端:
(1) 学习所有APP的共同有点,界面操作简单、美观,尽可能用最简单操作完成最复杂流程
(2) 登录注册时时有友好提示,并且记录登录状态
(3) 进入APP后能看到推送的商品,进行模糊搜索分类搜索等
(4) 个人中心对信息进行修改,头像、密码和地址等个人信息
(5) 可以充值和提现方便交易往来存在的金钱流动
(6) 消息系统方便参与者进行到列操作后,系统反馈有效信息
(7) 对商品管理,确认发货、删除商品和修改商品信息等
(8) 对订单管理,取消订单、确认收货和查看详情等
(9) 可对商品进行评论、分享和直接联系卖家等功能,方便买家与卖家之间沟通
(10) 增加实用性,加入公益项目的发起与参与,为用户提供一个互帮互助平台
2.4.1.2 管理端:
(1) 管理员能查看统计图,如:发布与销售统计图、收入与支出统计图等
(2) 管理员对用户发布的商品进行审核,检查是否符合要求确认通过与否
(3) 管理员对用户发起的公益项目进行审核,检查是否符合要求
(4) 管理员对商品的评论进行筛选,是否符合要求规范
(5) 管理员对商品的大小分类进行管理,保证能准确应对用户需求
(6) 管理员对APP首页的推送广告进行管理,减小用户搜索压力
2.4.2 开发及运行环境
2.4.2.1 硬件平台
CPU及处理器:1.7GHz及以上,处理器i5以上;
内存:512MB以上;
2.4.2.2 软件平台
操作系统:Windows 7/Windows 8/Windows 8.1/Windows 10
编程工具:MyEclipse2017+VisualStudio2017 +Tomcat 9.0+AndroidStudio3.0
数据库:Mysql 5.7.2
移动端:推荐使用支持Android4.0以上版本手机
分辨率:最佳分辨率效果为1024*768像素
2.4.3 逻辑结构设计
本软件项目系统采用的数据库为Mysql 5.7.2 数据库,新建数据库的名称为fleamarket。在数据库中包含了11张表。数据库中的数据表请参见附录A。
测试目的
通过测试本系统,来简单检测系统中各个功能的健壮性,看是否能够达到预期的目标。
4.2 测试内容
4.2.1 测试要点
测试方法:黑盒测试
测试手段:手工测试
4.2.2 测试内容
(1)Android客户端
表4-1 客户端测试表
序号 |
测试功能 |
测试方法 |
1 2 3 4 5 6 7 8 9 10 11 |
登录注册 注销 修改信息 发布商品 参与公益 评论 下单购买 确认收货 上传图片 修改密码 分享 |
输入信息,点击注册;输入用户名和密码,验证登录。 点击注销按钮,是否回到登录页面 修改商品信息和个人信息,查看是否成功 填写信息、发布,是否进入待审核状态 加入公益,是否收到信息 填入消息,点击评论,是否展示评论 商品是否进入下一状态,订单是否生成 卖家是否收到钱,商品是否进入下一状态 是否能将本地图片上传 是否能用新密码登录 是否能成功将商品分享到朋友圈 |
(2)管理员端
序号 |
测试功能 |
测试方法 |
1 2 3 4 |
登录 查看统计 管理功能 审核功能 |
是否能成功登陆,并得到反馈信息 是否能看到数据库反馈的统计信息 是否能对类型和广告进行正确修改与保存 是否能查看用户上传的信息,并进行验证 |
4.2.3 测试环境
硬件环境:lenovo G50-70笔记本电脑一台,华为手机一部;
软件环境:Tomcat9.0、Mysql5.7
4.2.4 测试范围
本次软件测试的目的主要是为了发现与解决一些不知名的错误,和一些基本的用户操作功能。
4.2.5 测试结论
(1) 功能的测试部分比较完整,完成需求的基础上,更添加了一些人性化的细节,用户使用起来更加方便快捷。
(2) 界面设计比较完整,符合大众审美,能被用户轻易接受,提高了用户的体验。
毕业设计总结
在如今互联网时代,电子商务方便了我们的生活,在“买买买”时代的大背景下,尤其是当今大学生占比重的大头,他们会一时兴起买自己喜欢的东西,可是一段时间后又没有了当初的热爱。物品的价值便慢慢流逝了,为了帮助大学生随时随地处理自己的旧物品,发挥其剩余价值,我们校园跳蚤市场交易系统便诞生了。本系统最终满足了大部分用户的需求,做到了随时随地交易的目标。为了促进“可持续发展经济”的目标,本系统旨在打造“最人性化”、“最环保”、“最节约”的交易功能模式。
本系统在设计实现的过程中遇到了很多的问题,比如:对于系统设计方案的取舍、界面功能的重叠、获取数据后解析数据包失败等等。以下简短列出几个问题:
(1)系统的设计方案。在设计之初,选择了订单和商品复用同一个界面,但是限制就比较大,订单和商品的共同点相对较少,对系统核心功能实现有点影响。
解决方案:参照市面上现有的应用程序——淘宝,将订单和商品分开,进入不同的界面根据两个实体类不同的属性,进行相关操作,极大地扩展到系统的功能,是用户运用起来更灵活。
(2)客户端界面设计。后期在APP的界面、美工方面投入了大量时间精力,参考了很多APP的设计风格,从零开始弄得很花哨,不适合大众的审美。
解决方案:本着一应从简的原则,取消了繁杂的界面图片,改用烟灰白、白色、黑色搭配的简约界面设计。如此一来,尽管在美观性上略有欠缺,但是功能更加直观,让用户能够在尽量少的时间内发布信息、达成所需,给用户带来了更好使用体验。
校园跳蚤市场交易系统的设计与实现已全部完成,可以顺利的运行并完成基础的应用。对于后续的版本,本系统在确保核心功能不变的情况下,可以添加留下的未实现的功能,为系统增添多样化元素;可以继续完善界面布局和功能分配,减少功能耦合,优化数据库的表结构,提高服务器性能,增大并发线程数,以期给用户带来更好的使用体验。
致谢
从2018年1月份选题到现在结题,历时五个月的毕业设计正式结束了。正如诸多计通院学长学姐所经历过的毕业设计一样,我在开发系统的过程中也遇到了很多问题,有时莫名其妙的问题一出现就能卡住我好几天,不论是初识Android时的陌生与茫然,还是苦于SSH框架环境的配置;不论系统设计是的举足无措,还是数据库构建时的犹豫不决。遇到问题时的困恼,编程时的孤独,遇到BUG的烦躁,实现功能后的欣喜与成就感,现如今回头望去,当时那么强烈的喜怒哀乐都似雾里看花,瞧不真切却又实实在在的立在那儿,讲述着那时的欣喜若狂、垂头丧气。
回头看整个过程,我所获得的就好像慢慢建起的小屋,永远驻扎在那里,只要不懈努力便会只升不降。而获得这样巨大的提升,不得不由衷的感谢黄**老师,正因为她的耐心指点和不懈帮助,我才得以拥有一个较清楚的逻辑,正确的完成每一步,并最终成功的实现校园跳蚤交易系统,在此郑重的对黄老师表示衷心的感谢。同时,在技术方面极大帮助过我的“老师”黑马程序员网站,以及****大力哥,在此表示真挚的感谢。
从2014年跨进校园到现如今即将毕业,四年时光如白驹过隙,大学生活马上就要画上句号了。静静的反思这四年来的得与失,发现短短的四年却留下了数不尽的回忆:尚未实现的抱负、脱离烦恼的欣喜,如此种种,不一而足,我相信总有一天我会成功的,不问前程是喜或是悲。不论这四年的经历是泪水或是笑容,都值得我珍藏,若干年后回想起来,不会为现在做的事情后悔,不会埋怨现在的自己。
已是二十出头的年纪,这却是我成长最快的四年,余下的生命中,想必会有许多个这么努力的四年等着我去经历。感谢**大学,感谢这四年来教导我的计通院的老师们,感谢我的辅导员,谢谢你们帮助我成长,谢谢你们在这么重要的四年里给我这么多帮助,但愿自己在以后的生活工作中,勿忘初心,砥砺前行,实现自己远大的抱负。
附录
附录A数据库表
注:附表只列出几个关键性表结构,其余表或是简短或是大同小异。
附表A1 账单表(Account)
属性名 |
数据类型 |
是否主键 |
是否外键 |
完整性 |
属性描述 |
||
Aid Bill Uid Time Tuid Label |
Int Double Int Varchar Int Varchar |
是 否 否 否 否 否 |
否 否 是 否 是 否 |
Notnull Notnull Notnull Notnull Notnull Notnull |
账单标识 金额 用户标识 账单建立时间 收款方用户ID 账单说明 |
||
附表A2 公益项目表(Charity)
属性名 |
数据类型 |
是否主键 |
是否外键 |
完整性 |
属性描述 |
||
cid name Uid Time Content Need Imageurl Endtime Scannum Joinnum State |
Int Varchar Int Varchar varchar Varchar Varchar Varchar Int Int Int |
是 否 否 否 否 否 否 否 否 否 否 |
否 否 是 否 否 否 否 否 否 否 否 |
Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull |
公益项目标识 公益名称 用户标识 公益发起时间 公益简介 需求 图片地址 公益结束时间 浏览人数 参加人数 公益状态 |
||
附表A3 商品评论表表(Conments)
属性名 |
数据类型 |
是否主键 |
是否外键 |
完整性 |
属性描述 |
||
Cid Gid Uid Time Guid Content State |
Int Int Int Varchar Int Varchar Int |
是 否 否 否 否 否 否 |
否 是 是 否 是 否 否 |
Notnull Notnull Notnull Notnull Notnull Notnull Notnull |
评论标识 商品标志 评论人标识 账单建立时间 卖家ID 评论内容 评论状态 |
||
附表A4 管理员表(Cuser)
属性名 |
数据类型 |
是否主键 |
是否外键 |
完整性 |
属性描述 |
||
id username Level Password State Nickname |
Int Varchar Int Varchar Int Varchar |
是 否 否 否 否 否 |
否 否 否 否 否 否 |
Notnull Notnull Notnull Notnull Notnull Notnull |
管理员标识 登录账号 等级 登录密码 状态 昵称 |
||
附表A5 商品表(Goods)
属性名 |
数据类型 |
是否主键 |
是否外键 |
完整性 |
属性描述 |
||
gid gname Uid Time Type Detail Price Oprice Image State Emergent Getway Hownew Scannum |
Int Varchar Int Varchar Int Varchar Double Double Varchar Int Int Int Varchar Int |
是 否 否 否 否 否 否 否 否 否 否 否 否 否 |
否 否 是 否 否 否 否 否 否 否 否 否 否 否 |
Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull |
商品标识 商品名称 用户标识 商品发布时间 商品类型 商品描述 商品价格 商品原价 图片地址 商品状态 否是加急的状态 取货方式 新旧程度 浏览人数 |
||
附表A6 用户表(User)
属性名 |
数据类型 |
是否主键 |
是否外键 |
完整性 |
属性描述 |
||
uid name password nickname sex address tel balance |
Int Varchar Varchar Varchar Int Varchar Varchar Double |
是 否 否 否 否 否 否 否 |
否 否 否 否 否 否 否 否 |
Notnull Notnull Notnull Notnull Notnull Notnull Notnull Notnull |
用户标识 登录账号 登录密码 昵称 性别 联系地址 联系电话 余额 |
||
附录B名词术语及缩略词
缩略词 |
解释 |
C/S结构 B/S结构 Myeclipse SSH AndroidStudio APP E-R图 |
客户端与服务器结构 浏览器和服务器结构 集成开发环境 Spring+Sturts2+hibernate开发框架 安卓应用程序集成开发环境 应用程序,Application缩写 实体之间的关系图 |