李靜媛 馬怡曼 張穎 李響 袁芳
摘要:在人們的出行方式中自行車出行所占比例越來(lái)越大、公共自行車管理系統(tǒng)融入移動(dòng)互聯(lián)網(wǎng)的形勢(shì)下,通過(guò)對(duì)人們自行車出行及共享單車目前存在的問(wèn)題進(jìn)行分析,得到了自行車出行APP的功能需求,根據(jù)需求,進(jìn)一步進(jìn)行功能模塊的詳細(xì)設(shè)計(jì),同時(shí)搭建自行車出行APP的系統(tǒng)結(jié)構(gòu)及數(shù)據(jù)庫(kù)框架,在手機(jī)應(yīng)用層面為促進(jìn)自行車出行提供了解決方案。
關(guān)鍵詞:Android平臺(tái);自行車出行;需求分析;功能模塊
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)14-0060-02
1 背景及相關(guān)研究
1.1 相關(guān)文獻(xiàn)及研究
我國(guó)的共享單車市場(chǎng)近幾年才開(kāi)始出現(xiàn),并在2016年高速發(fā)展。文獻(xiàn)[1]對(duì)我國(guó)國(guó)內(nèi)公共自行車的發(fā)展歷程做出綜述,總結(jié)出了3個(gè)主要發(fā)展階段,第一階段是由政府主導(dǎo)分城市管理的有樁單車;第二階段是由企業(yè)承包的有樁單;第三階段是無(wú)樁的互聯(lián)網(wǎng)共享單車(是以企業(yè)主導(dǎo)的)。針對(duì)共享單車階段,文獻(xiàn)[2]對(duì)我國(guó)共享單車市場(chǎng)上不同運(yùn)營(yíng)商興衰做了綜合分析。
可以看出,隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展和智能手機(jī)的普及,公共自行車管理系統(tǒng)已經(jīng)融入移動(dòng)互聯(lián)網(wǎng)。共享單車的使用,需要依靠軟件的支持,用戶只有在手機(jī)上安裝相應(yīng)App 并操作,才能進(jìn)行租車。因此,共享單車的軟件系統(tǒng)對(duì)于自行車的順利使用,是必不可少的一部分。
1.2 Android平臺(tái)優(yōu)勢(shì)
目前,Android 系統(tǒng)在全球智能手機(jī)市場(chǎng)上的份額最高達(dá)83.6%[3],因此選擇基于Android系統(tǒng)平臺(tái)進(jìn)行APP開(kāi)發(fā)可以較好地適應(yīng)手機(jī)市場(chǎng)需求。
同時(shí),基于Android平臺(tái)的APP開(kāi)發(fā)也具有一定的技術(shù)優(yōu)勢(shì):1)使用Android studio開(kāi)發(fā)工具能夠?qū)Τ绦蚪M件進(jìn)行替換與重用,開(kāi)發(fā)效率較高。2)對(duì)各項(xiàng)涉及手機(jī)系統(tǒng)功能的事務(wù)處理,Android平臺(tái)提供了較為全面的接口調(diào)用,支持多種媒體操作,網(wǎng)絡(luò)通信形式多樣,可操作性較強(qiáng)。
2 自行車出行APP需求分析
2.1 非功能性需求
開(kāi)發(fā)環(huán)境:Windows7系統(tǒng)下的Android studio開(kāi)發(fā)平臺(tái)。
編程語(yǔ)言:JAVA語(yǔ)言用于手機(jī)APP的開(kāi)發(fā)、SQL語(yǔ)言用于數(shù)據(jù)庫(kù)的調(diào)用、
C/C++語(yǔ)言用于服務(wù)器的搭建。
運(yùn)行環(huán)境:手機(jī)APP兼容Android2.3及以上版本。
接口:百度地圖API、SQL server 2012數(shù)據(jù)庫(kù)接口、HttpClient接口。
2.2 功能性需求
在網(wǎng)絡(luò)與手機(jī)普及率極高的時(shí)代下,通過(guò)手機(jī)APP,用戶對(duì)自行車進(jìn)行定位查詢,管理者對(duì)各個(gè)站點(diǎn)的流量進(jìn)行統(tǒng)計(jì)以調(diào)整自行車的投放數(shù)量,成為了減少自行車出行中負(fù)面問(wèn)題的發(fā)生的一個(gè)有效方式。除此之外,通過(guò)手機(jī)APP騎行愛(ài)好者進(jìn)行互動(dòng),可以為出行增添趣味,增加單車的使用率,有利于低碳出行理念的普及。采用對(duì)不同人群進(jìn)行問(wèn)卷調(diào)查、對(duì)騎行愛(ài)好者與共享單車維護(hù)人員進(jìn)行采訪訪談的方式,自行車出行APP的需求可以確定為以下幾種功能,如表1。
3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
根據(jù)功能需求的要求,APP在使用過(guò)程中需要一定數(shù)據(jù)量的傳輸與存儲(chǔ),通過(guò)網(wǎng)絡(luò)傳輸數(shù)據(jù)并存儲(chǔ)是必然選擇。由于管理的需要,在自行車出行系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)過(guò)程中,將APP分為兩個(gè)不同的入口:管理端、用戶端。因此自行車出行系統(tǒng)框架結(jié)構(gòu)是由Android管理端、Android用戶端、數(shù)據(jù)庫(kù)服務(wù)器組成(結(jié)構(gòu)如圖1),并通過(guò)以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸。
4 功能模塊設(shè)計(jì)及實(shí)現(xiàn)
管理端、用戶端。管理端的增加使app管理員方便地對(duì)用戶行為進(jìn)行監(jiān)管;共享單車調(diào)度員也可以通過(guò)此端口進(jìn)入對(duì)車輛進(jìn)行管理、調(diào)度。用戶端則實(shí)現(xiàn)表1中用戶的各項(xiàng)功能需求。
4.1 管理端
從管理車輛需求角度出發(fā),管理端主要有兩大功能:一是對(duì)車輛數(shù)量、位置情況的查詢與調(diào)度,二是對(duì)用戶請(qǐng)求的審核。因此設(shè)計(jì)功能模塊流程如圖2。
查詢區(qū)域車輛情況模塊:管理員選擇要查詢的區(qū)域和時(shí)間段后,APP通過(guò)網(wǎng)絡(luò)向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送查詢請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)器收到請(qǐng)求后將所查詢區(qū)域時(shí)間段內(nèi)的可借車輛數(shù)量、租借中車輛數(shù)量、借還車時(shí)間及經(jīng)緯度等信息列表。
查看車輛調(diào)度信息模塊:管理員選擇負(fù)責(zé)區(qū)域后,APP通過(guò)網(wǎng)絡(luò)從服務(wù)器處獲取調(diào)度信息,顯示當(dāng)前從各個(gè)自行車服務(wù)點(diǎn)調(diào)入、調(diào)出數(shù)量及路線。調(diào)度信息每10分鐘更新一次。
審核用戶請(qǐng)求模塊:用戶發(fā)起申請(qǐng)創(chuàng)建騎行組織后,會(huì)將申請(qǐng)信息上傳到數(shù)據(jù)庫(kù)服務(wù)器,管理員會(huì)收到服務(wù)器轉(zhuǎn)發(fā)的申請(qǐng)信息,審核通過(guò)后,數(shù)據(jù)庫(kù)中的該騎行組織狀態(tài)變更為“通過(guò)審核”狀態(tài),用戶會(huì)收到“創(chuàng)建成功”的信息。
4.2 用戶端
由于app功能較多,該文的功能模塊設(shè)計(jì)在滿足用戶需求的同時(shí),致力于提高操作的方便性、模塊間的低耦合程度、模塊內(nèi)部的高內(nèi)聚程度[4],以提升app的可用性。設(shè)計(jì)功能模塊如圖3。
注冊(cè)/登錄模塊:用戶使用手機(jī)號(hào)注冊(cè)賬號(hào),通過(guò)填寫(xiě)密碼及接收到的驗(yàn)證碼實(shí)現(xiàn)賬號(hào)的注冊(cè),注冊(cè)完成后該用戶信息通過(guò)網(wǎng)絡(luò)上傳到數(shù)據(jù)庫(kù)服務(wù)器并保存。完成注冊(cè)的用戶通過(guò)填寫(xiě)手機(jī)號(hào)碼和密碼進(jìn)行登錄操作,忘記密碼時(shí)可以通過(guò)接收驗(yàn)證碼重置密碼。
個(gè)人操作模塊:該模塊包含四個(gè)子功能模塊:個(gè)人信息、我的里程、騎行組織、退出登錄。
1)個(gè)人信息子模塊:顯示用戶的賬號(hào)、姓名、性別、昵稱、聯(lián)系方式等信息,并可以修改個(gè)人信息操作。
2)我的里程子模塊:從數(shù)據(jù)庫(kù)服務(wù)器獲取用戶的借車次數(shù)、騎行次數(shù)、出行總里程等并顯示。
3)騎行組織子模塊:該子模塊包含三個(gè)主要功能。加入組織功能實(shí)現(xiàn)從數(shù)據(jù)庫(kù)服務(wù)器獲取已成立的騎行組織列表及相應(yīng)信息,用戶申請(qǐng)加入后系統(tǒng)給改組織創(chuàng)建者發(fā)送申請(qǐng),創(chuàng)建者同意后用戶即可加入該組織。用戶可以通過(guò)“創(chuàng)建組織”功能創(chuàng)建一個(gè)騎行組織,管理員審核創(chuàng)建信息后組織創(chuàng)建成功,該組織信息被加入數(shù)據(jù)庫(kù),并且可以接收其他用戶的加入。群內(nèi)聊天:用戶加入騎行組織后,可以在該功能界面下與組織內(nèi)成員聊天。群聊功能通過(guò)UDP協(xié)議實(shí)現(xiàn)。
4)退出登錄子模塊:用戶點(diǎn)擊后會(huì)退出當(dāng)前賬號(hào),回到注冊(cè)/登錄界面。
地圖模塊:在APP主界面調(diào)用百度地圖API顯示用戶所在區(qū)域地圖,地圖上通過(guò)不同的圖標(biāo)顯示不同種類的可借狀態(tài)的共享單車的位置。點(diǎn)擊某圖標(biāo)后,顯示該車輛的運(yùn)營(yíng)商、收費(fèi)標(biāo)準(zhǔn)、預(yù)約功能按鈕。
預(yù)約車輛模塊:用戶選擇某車輛點(diǎn)擊預(yù)約后,該車輛狀態(tài)轉(zhuǎn)換為“已預(yù)約”狀態(tài),不能被其他用戶租借或預(yù)約,15分鐘內(nèi)預(yù)約用戶可以借車,若15分鐘內(nèi)用戶沒(méi)有借車則車輛狀態(tài)自動(dòng)恢復(fù)為“可借”狀態(tài),該用戶24小時(shí)內(nèi)不得再次預(yù)約。
借還車模塊:用戶點(diǎn)擊“借車”并輸入車輛編號(hào)后,該車輛狀態(tài)變更為“借出”狀態(tài),并開(kāi)始計(jì)時(shí),點(diǎn)擊“還車”后顯示借車時(shí)間及費(fèi)用,并將本次借還車數(shù)據(jù)信息發(fā)送到數(shù)據(jù)庫(kù)服務(wù)器并存儲(chǔ)。
騎行模塊:用戶點(diǎn)擊“騎行”后,自動(dòng)開(kāi)始計(jì)時(shí),通過(guò)手機(jī)的定位功能顯示騎行的里程及速度,結(jié)束騎行后將本次數(shù)據(jù)信息發(fā)送到數(shù)據(jù)庫(kù)服務(wù)器并存儲(chǔ)。
5 數(shù)據(jù)庫(kù)設(shè)計(jì)
為了提升系統(tǒng)性能,減少用戶在操作時(shí)的等待時(shí)間,在數(shù)據(jù)庫(kù)設(shè)計(jì)中采用存儲(chǔ)過(guò)程操作各項(xiàng)數(shù)據(jù)[4]。在數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段,根據(jù)各功能模塊的需求及數(shù)據(jù)收集需求,數(shù)據(jù)庫(kù)系統(tǒng)模型應(yīng)包括以下實(shí)體:管理員實(shí)體、用戶實(shí)體、車輛實(shí)體、運(yùn)營(yíng)商實(shí)體、騎行組織實(shí)體。各實(shí)體之間的聯(lián)系包括:用戶加入/創(chuàng)建騎行組織、用戶租借車輛、運(yùn)營(yíng)商投放車輛、管理員調(diào)度車輛。各實(shí)體的屬性與關(guān)系通過(guò)實(shí)體-聯(lián)系圖(E-R圖)描述如圖4。
在數(shù)據(jù)庫(kù)邏輯及物理結(jié)構(gòu)設(shè)計(jì)階段,應(yīng)按照系統(tǒng)實(shí)體-聯(lián)系圖轉(zhuǎn)化為關(guān)系模式,并進(jìn)一步構(gòu)造出數(shù)據(jù)庫(kù)表。結(jié)合前述的功能需求分析以及自行車出行系統(tǒng)E-R圖,設(shè)計(jì)出的數(shù)據(jù)表應(yīng)包括下列8個(gè)數(shù)據(jù)表:用戶表、借車記錄表、車輛表、組織名單表、騎行組織表、運(yùn)營(yíng)商表、車輛調(diào)度記錄表、騎行記錄表。
6 結(jié)束語(yǔ)
該自行車出行APP的功能模塊設(shè)計(jì)基本滿足了人們對(duì)“便捷用車”的需求,并且可以統(tǒng)計(jì)不同區(qū)域自行車流量情況,實(shí)現(xiàn)對(duì)不同地點(diǎn)自行車投放量的定期調(diào)整;對(duì)于騎行愛(ài)好者,提供騎行里程記錄、愛(ài)好者組織交流等功能,附和了自行車騎行運(yùn)動(dòng)的潮流趨勢(shì)。隨著政府對(duì)環(huán)保出行、低碳出行的倡導(dǎo)和人們綠色出行意識(shí)的提高,相信自行車出行會(huì)越來(lái)越流行。
參考文獻(xiàn):
[1] 李琨浩. 基于共享經(jīng)濟(jì)視角下城市共享單車發(fā)展對(duì)策研究[J]. 城市交通, 2012(2): 66-69.
[2] 周有強(qiáng), 羅筱曉. 套上“互聯(lián)網(wǎng)+”的輪子共享單車能跑多遠(yuǎn)[N]. 工人日?qǐng)?bào),2016-09-28.
[3] 楊艷妮, 明均仁, 張杰. 基于Android 的移動(dòng)圖書(shū)館APP 功能設(shè)計(jì)與實(shí)現(xiàn)[J]. 圖書(shū)館學(xué)研究, 2015(7): 24-30.
[4] 謝光前. 基于手機(jī)APP的公共自行車租賃系統(tǒng)[D]. 長(zhǎng)沙: 湖南師范大學(xué), 2015.