基于Android平台的自行车出行APP的设计与实现

2018-07-12 09:37李静媛马怡曼张颖李响袁芳
电脑知识与技术 2018年14期
关键词:Android平台需求分析功能模块

李静媛 马怡曼 张颖 李响 袁芳

摘要:在人们的出行方式中自行车出行所占比例越来越大、公共自行车管理系统融入移动互联网的形势下,通过对人们自行车出行及共享单车目前存在的问题进行分析,得到了自行车出行APP的功能需求,根据需求,进一步进行功能模块的详细设计,同时搭建自行车出行APP的系统结构及数据库框架,在手机应用层面为促进自行车出行提供了解决方案。

关键词:Android平台;自行车出行;需求分析;功能模块

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)14-0060-02

1 背景及相关研究

1.1 相关文献及研究

我国的共享单车市场近几年才开始出现,并在2016年高速发展。文献[1]对我国国内公共自行车的发展历程做出综述,总结出了3个主要发展阶段,第一阶段是由政府主导分城市管理的有桩单车;第二阶段是由企业承包的有桩单;第三阶段是无桩的互联网共享单车(是以企业主导的)。针对共享单车阶段,文献[2]对我国共享单车市场上不同运营商兴衰做了综合分析。

可以看出,随着移动互联网的快速发展和智能手机的普及,公共自行车管理系统已经融入移动互联网。共享单车的使用,需要依靠软件的支持,用户只有在手机上安装相应App 并操作,才能进行租车。因此,共享单车的软件系统对于自行车的顺利使用,是必不可少的一部分。

1.2 Android平台优势

目前,Android 系统在全球智能手机市场上的份额最高达83.6%[3],因此选择基于Android系统平台进行APP开发可以较好地适应手机市场需求。

同时,基于Android平台的APP开发也具有一定的技术优势:1)使用Android studio開发工具能够对程序组件进行替换与重用,开发效率较高。2)对各项涉及手机系统功能的事务处理,Android平台提供了较为全面的接口调用,支持多种媒体操作,网络通信形式多样,可操作性较强。

2 自行车出行APP需求分析

2.1 非功能性需求

开发环境:Windows7系统下的Android studio开发平台。

编程语言:JAVA语言用于手机APP的开发、SQL语言用于数据库的调用、

C/C++语言用于服务器的搭建。

运行环境:手机APP兼容Android2.3及以上版本。

接口:百度地图API、SQL server 2012数据库接口、HttpClient接口。

2.2 功能性需求

在网络与手机普及率极高的时代下,通过手机APP,用户对自行车进行定位查询,管理者对各个站点的流量进行统计以调整自行车的投放数量,成为了减少自行车出行中负面问题的发生的一个有效方式。除此之外,通过手机APP骑行爱好者进行互动,可以为出行增添趣味,增加单车的使用率,有利于低碳出行理念的普及。采用对不同人群进行问卷调查、对骑行爱好者与共享单车维护人员进行采访访谈的方式,自行车出行APP的需求可以确定为以下几种功能,如表1。

3 系统结构设计

根据功能需求的要求,APP在使用过程中需要一定数据量的传输与存储,通过网络传输数据并存储是必然选择。由于管理的需要,在自行车出行系统的结构设计过程中,将APP分为两个不同的入口:管理端、用户端。因此自行车出行系统框架结构是由Android管理端、Android用户端、数据库服务器组成(结构如图1),并通过以太网进行数据传输。

4 功能模块设计及实现

管理端、用户端。管理端的增加使app管理员方便地对用户行为进行监管;共享单车调度员也可以通过此端口进入对车辆进行管理、调度。用户端则实现表1中用户的各项功能需求。

4.1 管理端

从管理车辆需求角度出发,管理端主要有两大功能:一是对车辆数量、位置情况的查询与调度,二是对用户请求的审核。因此设计功能模块流程如图2。

查询区域车辆情况模块:管理员选择要查询的区域和时间段后,APP通过网络向数据库服务器发送查询请求,数据库服务器收到请求后将所查询区域时间段内的可借车辆数量、租借中车辆数量、借还车时间及经纬度等信息列表。

查看车辆调度信息模块:管理员选择负责区域后,APP通过网络从服务器处获取调度信息,显示当前从各个自行车服务点调入、调出数量及路线。调度信息每10分钟更新一次。

审核用户请求模块:用户发起申请创建骑行组织后,会将申请信息上传到数据库服务器,管理员会收到服务器转发的申请信息,审核通过后,数据库中的该骑行组织状态变更为“通过审核”状态,用户会收到“创建成功”的信息。

4.2 用户端

由于app功能较多,该文的功能模块设计在满足用户需求的同时,致力于提高操作的方便性、模块间的低耦合程度、模块内部的高内聚程度[4],以提升app的可用性。设计功能模块如图3。

注册/登录模块:用户使用手机号注册账号,通过填写密码及接收到的验证码实现账号的注册,注册完成后该用户信息通过网络上传到数据库服务器并保存。完成注册的用户通过填写手机号码和密码进行登录操作,忘记密码时可以通过接收验证码重置密码。

个人操作模块:该模块包含四个子功能模块:个人信息、我的里程、骑行组织、退出登录。

1)个人信息子模块:显示用户的账号、姓名、性别、昵称、联系方式等信息,并可以修改个人信息操作。

2)我的里程子模块:从数据库服务器获取用户的借车次数、骑行次数、出行总里程等并显示。

3)骑行组织子模块:该子模块包含三个主要功能。加入组织功能实现从数据库服务器获取已成立的骑行组织列表及相应信息,用户申请加入后系统给改组织创建者发送申请,创建者同意后用户即可加入该组织。用户可以通过“创建组织”功能创建一个骑行组织,管理员审核创建信息后组织创建成功,该组织信息被加入数据库,并且可以接收其他用户的加入。群内聊天:用户加入骑行组织后,可以在该功能界面下与组织内成员聊天。群聊功能通过UDP协议实现。

4)退出登录子模块:用户点击后会退出当前账号,回到注册/登录界面。

地图模块:在APP主界面调用百度地图API显示用户所在区域地图,地图上通过不同的图标显示不同种类的可借状态的共享单车的位置。点击某图标后,显示该车辆的运营商、收费标准、预约功能按钮。

预约车辆模块:用户选择某车辆点击预约后,该车辆状态转换为“已预约”状态,不能被其他用户租借或预约,15分钟内预约用户可以借车,若15分钟内用户没有借车则车辆状态自动恢复为“可借”状态,该用户24小时内不得再次预约。

借还车模块:用户点击“借车”并输入车辆编号后,该车辆状态变更为“借出”状态,并开始计时,点击“还车”后显示借车时间及费用,并将本次借还车数据信息发送到数据库服务器并存储。

骑行模块:用户点击“骑行”后,自动开始计时,通过手机的定位功能显示骑行的里程及速度,结束骑行后将本次数据信息发送到数据库服务器并存储。

5 数据库设计

为了提升系统性能,减少用户在操作时的等待时间,在数据库设计中采用存储过程操作各项数据[4]。在数据库概念设计阶段,根据各功能模块的需求及数据收集需求,数据库系统模型应包括以下实体:管理员实体、用户实体、车辆实体、运营商实体、骑行组织实体。各实体之间的联系包括:用户加入/创建骑行组织、用户租借车辆、运营商投放车辆、管理员调度车辆。各实体的属性与关系通过实体-联系图(E-R图)描述如图4。

在数据库逻辑及物理结构设计阶段,应按照系统实体-联系图转化为关系模式,并进一步构造出数据库表。结合前述的功能需求分析以及自行车出行系统E-R图,设计出的数据表应包括下列8个数据表:用户表、借车记录表、车辆表、组织名单表、骑行组织表、运营商表、车辆调度记录表、骑行记录表。

6 结束语

該自行车出行APP的功能模块设计基本满足了人们对“便捷用车”的需求,并且可以统计不同区域自行车流量情况,实现对不同地点自行车投放量的定期调整;对于骑行爱好者,提供骑行里程记录、爱好者组织交流等功能,附和了自行车骑行运动的潮流趋势。随着政府对环保出行、低碳出行的倡导和人们绿色出行意识的提高,相信自行车出行会越来越流行。

参考文献:

[1] 李琨浩. 基于共享经济视角下城市共享单车发展对策研究[J]. 城市交通, 2012(2): 66-69.

[2] 周有强, 罗筱晓. 套上“互联网+”的轮子共享单车能跑多远[N]. 工人日报,2016-09-28.

[3] 杨艳妮, 明均仁, 张杰. 基于Android 的移动图书馆APP 功能设计与实现[J]. 图书馆学研究, 2015(7): 24-30.

[4] 谢光前. 基于手机APP的公共自行车租赁系统[D]. 长沙: 湖南师范大学, 2015.

猜你喜欢
Android平台需求分析功能模块
基于Android平台软件开发技术研究
大学师生需求发展分析
基于UML技术的高校贫困生管理系统建模分析
输电线路附着物测算系统测算功能模块的研究
M市石油装备公服平台网站主要功能模块设计与实现
功能模块的设计与应用研究