摘 要:本文开发的是校园垃圾分类回收APP。随着互联网的快速发展,现如今使用互联网对信息进行管理这一方法也被各行各业所使用,因为实现信息管理最好的方式就是建立良好的网络管理平台,并对其进行综合管理。与此同时,Android操作系统也逐渐进入了我们的日常生活中。Android操作系统拥有开放、开源等优点,这就促使了大量安卓应用软件的诞生,所以我针对用户的需求开发一套校园垃圾分类回收APP,实现了预约回收、参与活动等功能。校园垃圾分类回收APP我使用了大学期间学习过的有关Android和Java编程的知识,使用我学习过的MYSQL数据库管理工具作为校园垃圾分类回收APP的基础数据库。通过纸上谈兵到实际操作的过程,最终实现了校园垃圾分类回收APP这个软件。
关键词 :校园垃圾回收处理APP;Android;MYSQL
1 绪论
1.1 软件开发的意义
2019年6月,我国全国人大常委会初次审议了《固体废物污染环境防治法修订草案》[13]。该草案对“生活垃圾污染环境的防治”进行了专章规定。同年十二月,垃圾分类这一话题入选了“2019年中国媒体十大流行语”。由此我们不难看出我国对于垃圾分类回收处理的重视。现实生活中,我们每个人每一天都会产生很多可二次利用的垃圾,这些垃圾在一些垃圾管理比较严格的地区,大部分的垃圾可以得到有效的回收、进行加工再利用,然而在我国的很多地方这些垃圾通常是被简单的堆放或者掩埋,更有甚者很多垃圾得不到及时的回收处理长时间堆放在垃圾桶内或者路旁。这些不正当的做法导致垃圾堆附近臭气蔓延、土壤污染、水体污染等不良后果,让我们的城市变的丑陋,脏乱。
其实垃圾也是一种资源,回收处理进行再利用,有助于节约资源、保护环境。因此作为新时代的接班人,我们更应该积极响应国家号召,配合进行垃圾分类回收,因此我研究设计了这款校园垃圾分类回收处理APP,使校园垃圾的分类回收更快捷方便。
1.2 研究现状
校园垃圾每天都在不断产生,这些垃圾往往只是被拉到回收站进行集中处理,并不能充分发挥这些垃圾的价值,而且这些垃圾的分类回收处理是一个很繁琐的过程,一定程度上也造成了浪费。通过这款软件学生可以在线上进行预约回收垃圾,这样即能节约回收人员的时间同时也方便对这些可回收利用的垃圾进行有效的回收处理,节约人工的同时也为我们的校园环境做出贡献。
1.3 软件开发内容
如今,网络的覆盖范围越来越广,Android手机也占据了手机行业的领先地位[1]。校园垃圾回收处理APP运用了老师传授的知识和技术,进行了不断的功能调整、分析并与实际的市场需求相结合,分析规划了校园垃圾分类回收APP要实现的功能模块。通过设计实现这个软件来满足校园垃圾分类回收的需求,在校园垃圾分类回收APP中用户可以进行在线的预约回收,发布动态,评论,分享,捐赠等操作。
1.4 软件开发环境及相关技术
1.4.1 Android相关介绍
Android的意思就是指Android操作系统,现如今智能手机成为了我们生活中不可或缺的一部分,而市面上最常见的操作系大致可以归为:Android、iPhone OS、Windows Mobile、Symbian、BlackBerry 这几大类。在我国使用智能手机最多的系统就是Android系统。Android系统的优势主要在于在可以让用户自由的下载所有开源的代码以及各种API[7]。因此使用Android进行开发不仅方便,而且功能上也比较完善,界面也简单易懂更符合国人的操作习惯。
1.4.2 MYSQL数据库
MySQL数据库可以对数据进行数据存储、修改和增加数据操作,同时MYSQL也是源代码公开的数据库,鲜明特点就是可以跨平台,虽然功能比大中型数据库要弱一点但是对于校园垃圾分类回收APP来说足够了。在数据库中建立的几个相对应的表,相互之间可以建立联系[8]。数据库的意义非常重大,可以用来存放数据信息,如果缺少了数据库,校园垃圾分类回收APP就没办法正常运行。
2 可行性研究与需求分析
2.1 可行性分析
2.1.1 经济可行性
校园垃圾分类回收APP相对来说比较简单,不需要购买其他的端口,另外市场调研也是我自己完成的都是不需要额外的费用支出的。编程过程中遇到的所有疑惑和难题都是通过请教同学和指导老师的方法,在老师和同学们的帮助下解决问题,因此对于校园垃圾分类回收APP的开发与设计在经济上是完全可行的。
2.1.2 技术可行性
最近几年,网络科学技术发展非常迅速,市场上涌现出了很多新兴的开发语言。就我所了解,许多大型APP的系统都是用Android操作系统进行开发的,这些系统具有运行速度快、通俗易懂的特点[14]。另外应用Android操作系统开发软件只需要考虑系统能不能正常运行不出差错,不用担心版本不同或者无法兼容的问题,这样即节约了开发时间,还使系统的友好性增强了[3]。因此选择Android进行系统开发是最简单便捷的。
而我所设计的校园垃圾分类回收APP,出发点就是简单、易懂好操作,通过汉字索引协助用户对校园垃圾分类回收APP进行操作。校园垃圾分类回收APP采用的是Android开发技术,它能够保存数据的信息,并且对数据信息进行分类处理,把处理信息和系统模块结合起来,以此来提高校园垃圾分类回收APP的开发效率[4]。
在校园垃圾分类回收APP的开发时使用的语言,不仅要看系统功能能不能实现,还要考虑到系统能不呢兼容,因此在权衡利弊之后,我选择用Java语言进行开发,Java语言在近几年的使用率也比较高,而且Java语言相对于c语言和c++来说更简单,对于编程菜鸟来说更容易[5]。
校园垃圾分类回收APP的开发环境和配置都是自己进行下载安装的,在数据库方面因为开发的校园垃圾分类回收APP属于小型软件,不需要很大的数据变动,另一方面出于成本的考虑,我选择了MySQL数据库。MySQL数据库免费而且可以满足校园垃圾分类回收APP的所有操作需要,同时MySQL数据库也比较成熟。
综上所述,从经济方面和技术方面考虑,我所选择的都能完全满足校园垃圾分类回收APP开发的需要。
(1)硬件可行性分析
校园垃圾分类回收APP的开发对硬件没有太大的硬性的要求,我所用的电脑型号为:
处理器:Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz 2.50 GHz
机带 RAM:8.00 GB
系统类型:64 位操作系统, 基于 x64 的处理器
(2)软件可行性分析。
设计这个校园垃圾分类回收APP系统具有流量的可扩展性和基于流量的智能调整的优点,保障校园垃圾分类回收APP的安全及用户数据等各种信息的及时备份[12]。这一点在学习的时候有所涉猎,市场需求经过调查也是可行的,总的来说软件也是可行的。
2.1.3 操作可行性
校园垃圾分类回收APP的界面设计的目标就是简单方便、容易操作,使校园垃圾分类回收APP的用户图形界面一眼看上去就能知道怎么用,达到用户友好型的特点[6]。因此软件的操作问题是可行的。
2.1.4 法律可行性
该校园垃圾分类回收处理APP的开发拥有自主知识产权,杜绝抄袭。在开发过程中涉及的合同、侵权以及责任将不会与法律相抵触,待开发的系统的外观、整体结构或命令格式不会与市面上已有的系统雷同,并且不会侵犯任何个人、集体、国家的利益,同时也不会违反国家的政策与法律法规[9]。
2.2 需求分析
需求分析在软件开发的过程中是第一步同时也是很重要的一步。在需求分析的时候我们需要把调研得来的数据进行整理分析,总结出用户真正的需求是什么,尽量了解的更详细并且对校园垃圾分类回收APP详细的构思主要功能,为后续校园垃圾分类回收APP的总体设计提供依据[2]。因此一款成熟的系统在设计开发之前,必须要先经过细致的需求分析的阶段[16]。
3 系统设计
3.1 系统结构设计
系统结构设计就相当于一个系统的设计图纸,它系统的描述了所有构成系统的元素以及各个元素之间的是关系。
图3.1 功能结构图
3.2 数据库设计
3.2.1 实体及其属性
(1)用户{头像,姓名,年龄,性别,手机,职称}
(2)预约回收信息{分类,数量,重量,上门回收位置,上门回收时间,备注,图片}
(3)注册信息{账号,密码}
(4)登录信息{账号,密码}
3.2.2 E-R图
用户实体分包括头像、姓名、年龄、性别、手机、职称五种属性,如下图3.2所示。
图3.2 用户实体分E-R图
预约回收信息实体包括分类、数量、重量、上门回收位置、上门回收时间、备注内容、插入图片七种属性,如下图3.3所示。
3.3 预约回收信息分E-R图
注册信息实体包括账号和密码两种属性,如下图3.4所示。
图3.4 注册信息分E-R图
注册信息实体包括账号和密码两种属性,如下图3.5所示。
图3.5 登录信息分E-R图
3.2.3 流程图
用户注册、登录:
(1)输入模块
模块描述:用户输入手机号码、验证码
功能描述:进行注册、登录
(2)系统模块
模块描述:用户注册、登录
功能描述:用户输入账号密码进行注册登录
(3)显示模块
显示注册成功及登陆成功后的首页界面
(4)输入项
用户注册、登录时输入手机号、验证码
(5)输出项
注册及登陆成功后的个人界面
(6)流程图
图3.6 用户的登录流程图
用户回收预约:
(1)输入模块
模块描述:用户输入预约信息(数量、重量、上门回收位置、上门回收时间、备注内容、插入图片)
功能描述:用户进行预约
(2)系统模块
模块描述:用户进行预约
功能描述:用户通过填写信息完成预约。
(3)显示模块
显示预约成功
(4)输入项
用户要进行回收操作的物品详细信息以及图片(数量、重量、上门回收位置、上门回收时间、备注内容、插入图片)
(5)输出项
预约成功
(6)流程图
图3.7 用户预约流程图
用户参与众筹活动:
(1)输入模块
模块描述:用户输入参与信息
功能描述:用户参与众筹活动
(2)系统模块
模块描述:用户参与众筹活动
功能描述:用户通过填写信息参与众筹活动。
(3)显示模块
显示参与成功
(4)输入项
用户想要进行捐赠操作的物品详细信息以及图片
(5)输出项
参与成功
(6)流程图
图3.8 用户参与众筹活动流程图
3.2.4 数据库表
表3.1为用户表,简称user表。
表3.1 user表
列名 | 数据类型 | 长度 | 主键 | 允许空 |
id | int | 11 | 是 | 否 |
account | varchar | 255 | 否 | |
password | varchar | 255 | 否 | |
name | varchar | 255 | 是 | |
age | int | 11 | 否 | |
logo | varchar | 255 | 是 | |
job | varchar | 255 | 是 | |
status | int | 11 | 否 | |
gender | varchar | 255 | 是 | |
level | int | 11 | 否 | |
phone | varchar | 255 | 是 |
表3.2为众筹活动表,简称ann表。
表3.2 ann表
列名 | 数据类型 | 长度 | 主键 | 允许空 |
id | int | 11 | 是 | 否 |
title | varchar | 255 | 是 | |
content | varchar | 255 | 是 | |
date | varchar | 255 | 是 | |
url | varchar | 255 | 是 |
表3.3为预约回收表,简称hs表。
表3.3 hs表
列名 | 数据类型 | 长度 | 主键 | 允许空 |
hsid | int | 11 | 是 | 否 |
bz | varchar | 255 | 是 | |
wz | varchar | 255 | 是 | |
smsj | varchar | 255 | 是 | |
pic | varchar | 255 | 是 | |
zl | varchar | 255 | 是 | |
sl | varchar | 255 | 是 | |
fl | varchar | 255 | 是 | |
annid | int | 11 | 否 | |
uid | int | 11 | 否 |
表3.4为动态表,简称jl表。
表3.4 jl表
列名 | 数据类型 | 长度 | 主键 | 允许空 |
jlid | int | 11 | 是 | 否 |
des | varchar | 255 | 是 | |
rcid | int | 11 | 否 | |
uid | int | 11 | 否 | |
dz | int | 11 | 否 | |
pic | varchar | 255 | 是 | |
date | varchar | 255 | 是 |
表3.5为留言表,简称ly表。
表3.5 ly表
列名 | 数据类型 | 长度 | 主键 | 允许空 |
lyid | int | 11 | 是 | 否 |
content | varchar | 255 | 是 | |
date | varchar | 255 | 是 | |
uid | int | 11 | 否 | |
spid | int | 11 | 否 |
4 系统实现
4.1 学生界面
如果是新用户,需要先进行新用户注册,注册成功之后在登录界面再输入信息。确定数据信息是准确的之后就可以进入到校园垃圾分类回收APP的操作界面,如果用户输入的信息输入的信息有错误,显示登录失败。注册及登录界面如下图4.1、4.2所示。
图4.1 注册界面
图4.2 登录界面
用户还可以进行密码修改,输入原密码和新密码,确认后就可成功修改密码,修改密码界面如下图4.3所示。
图4.3 修改密码界面
登录成功后进入主页界面,该界面分为主页、预约、我的三个模块,主页界面如下图4.4所示
图4.4 主页界面
用户可以在这个界面进行预约回收操作,预约时要输入分类,数量,重量,上门回收位置,上门回收时间,备注内容,上传图片。完成预约回收之后,数据会自动保存到系统数据库当中。如下图4.5所示。
图4.5 预约界面
这个界面是用户的个人中心的界面即“我的”界面,包含个人信息、我的动态、修改密码、客服电话、以及退出登录的模块,会显示用户的头像。如下图4.6所示。
图4.6 “我的”界面
个人信息界面包括头像、姓名、年龄、性别、手机号、职称几个信息。个人信息界面如下图4.7所示。
图4.7 个人信息界面
4.2 管理员界面
管理员通过登录进入到后台的操作界面。管理员的后台管理包含:用户管理、众筹管理、回收管理。管理员在后台进行维护功能,点击即可进入对应的功能模块当中。回收管理界面如下图5.8所示。
图4.8 回收管理界面
在用户管理界面管理员可以查看并管理用户的id、用户的名称、权限,还可以删除用户信息。用户管理界面如下图4.9所示。
图4.9 用户管理界面
在众筹活动管理界面管理员可以查看并删除活动的内容以及参加活动的用户id、捐赠内容和捐赠时间。
图4.10 众筹活动管理界面
5 系统测试
5.1 测试目的
设计校园垃圾回收APP,用户最关心的就是用户的隐私信息以及系统中的信息的安全问题,如果信息被泄露,会造成很严重的后果。因此,在设计实现校园垃圾回收处理APP的时候,我们要着重注意这个问题。除此之外,还有一点就是确保输入信息要合法,这也是很重要的[9]。在校园垃圾分类回收APP设计完成之后,要能让第一次使用校园垃圾回收处理APP的用户很快的上手操作这个软件也很重要,所以我在开发的时候很注意保持界面的简洁、功能的清晰明了,同时还不能影响到软件的其他性能。在程序执行的过程中,查找程序和程序执行结果出现的问题,这个步骤就叫做软件测试[16]。也就是说,软件测试是程序开发人员设计的一系列测试用例,在设计测试用例的时候,需要构思好自己需要输入哪些数据、输入后我们所想要得出什么样的结果[15]。
程序设计是软件开发的一个过程,它不可能完美不缺的。在设计的过程中难免会碰到出错,我们要做的就是尽量改正或消除这些错误,有些错误会造成系统崩溃,安全信息泄露等很严重的后果。为了不让这些问题发生,我们就必须要对程序进行测试,在测试的过程中发现问题然后不断修改纠正这些问题[10]。这一章的作用就是发现这些问题,并对这些问题提出解决办法并记录。虽然这个过程耗时又费力,但是这个环节不能没有。这是在完成校园垃圾分类回收APP编写之后最不能忽略的工作。
5.2 安全测试
进行安全测试的是测试校园垃圾回收处理APP的安全性能是否达标,如今,网络世界纷繁复杂,伴随而来的是复杂的网络环境,黑客攻击、病毒侵袭都是危害网络安全的不稳定因素,所以,安全测试是非常有必要的。同时安全测试可以非常有效的保障注册用户的个人信息安全。本系统安全测试主要从以下几点完成:
①软件登录部分:在测试后系统显示必须填写账号及密码登录。
②数据安全:这次信息安全测试采用的是截取数据包的arp攻击的方法,测试结果结果显示,用户的操作权限都属于加密程序,并且可以进行安全备份[11]。
5.3 功能测试
表5.1 用户注册测试
测试编号 | 1 |
测试内容 | 用户注册 |
测试过程 | 点击输入账号->点击输入密码->点击注册 |
预期结果 | 进入登录界面 |
测试结果 | 进入登录界面 |
表5.2 用户登录测试
测试编号 | 2 |
测试内容 | 用户登录 |
测试过程 | 点击输入账号->点击输入密码->点击注册 |
预期结果 | 进入主页 |
测试结果 | 进入主页 |
表5.3 用户预约测试
测试编号 | 3 |
测试内容 | 用户预约 |
测试过程 | 点击预约->选择分类->选择数量->选择重量->填写上门回收位置->选择上门回收时间->填写备注->点击提交 |
预期结果 | 显示预约成功 |
测试结果 | 显示预约成功 |
表5.4 用户修改密码测试
测试编号 | 4 |
测试内容 | 登录密码修改 |
测试过程 | 点击修改密码->输入原密码->输入新密码->确认新密码->确认修改密码->退出登录->重新登录 |
预期结果 | 能够以新密码登录 |
测试结果 | 能够以新密码登录 |
表5.5 用户信息修改测试
测试编号 | 5 |
测试内容 | 修改个人信息 |
测试过程 | 点击我的->点击个人信息->修改头像、姓名->点击保存 |
预期结果 | 成功修改头像、姓名 |
测试结果 | 成功修改头像、姓名 |
表5.6 用户参加活动测试
测试编号 | 6 |
测试内容 | 参加众筹活动 |
测试过程 | 点击回收->点击➕- ->点击救助活动->输入信息->点击提交 |
预期结果 | 成功参与活动 |
测试结果 | 成功参与活动 |
表5.7 用户发布动态测试
测试编号 | 7 |
测试内容 | 发布动态 |
测试过程 | 进入主页->点击➕ ->输入内容->插入图片->点击提交 |
预期结果 | 成功发布动态 |
测试结果 | 成功发布动态 |
6 结论
通过这个软件的设计与开发,我学到了万事开头难,无论做什么事都要一步一个脚印的踏踏实实的完成,只有认真严谨,秉持着一个良好的端正的态度才能做好一件事情。
在这个校园垃圾回收处理APP中,用户端我实现了预约回收、参与众筹活动、动态浏览、个人主页等功能。管理员部分,我实现了回收管理、用户管理、众筹管理三个功能,可以分别对这三个模块进行增删操作。
当然这个软件还不是很完美,例如不能进行拍照识别、消息通知功能不完善等等,还有很多细节做的不到位。
参考文献:
[1]谭志彬、柳纯录.信息系统项目管理教程[M].北京清华大学出版社,2017:36.
[2]赖均.软件工程[M].北京:清华大学出版社,2016:35-40.
[3]伊恩萨默维尔.软件工程[M].北京:机械工业出版社,2018:9-21.
[4]明日科技.Java Web从入门到精通[M].北京:清华大学出版社,2018:18-35.
[5]明日科技.Java 从入门到精通[M].北京:清华大学出版社,2018:3-6.
[6]李爱萍.软件工程[M].北京:人民邮电出版社,2014:58.
[7]王进,高晶.基于Android的辅助教学平台研究[J].数码世界,2018(11):73.
[8]倪红军.Android案例开发[J].计算机教育,2020(08):186.
[9]陈家勇,张珩.安全管理Android的开发和应用[J].电力安全技术,2020,22(04):10-13.
[10]王珊,萨师煊编著.数据库系统概论.北京:高等教育出版社,2018.9.
[11]袁堂青,亓婧.基于Android的开发与研究[J].网络安全技术与应用,2020(04):66-67.
[12]李宣明.《Web 数据库技术实用教程》.北京,清华大学出版社,2018:6.
[13]中国政府网.《固体废物污染环境防治法修订草案》.
[14]刘玉仁.Android对企业的价值[J].现代营销(下旬刊),2018(12):155.
[15]Revisiting Resistance through Fashion at Expo 67[J]. Fashion Theory,2020:25(1).
[16]Smart textiles: an overview of recent progress on chromic textiles[J]. The Journal of The Textile Institute,2019:112(1).