胡俊平,譚 穎,熱依汗古麗·艾爾肯
(西南民族大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川 成都 610041)
隨著信息技術(shù)的成熟,尤其是移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展和快速普及[1],“互聯(lián)網(wǎng)+”在各領(lǐng)域產(chǎn)生了革命性的影響.共享經(jīng)濟(jì)也在此背景下孕育而生且已快速發(fā)展起來(lái),現(xiàn)今正以狂風(fēng)暴浪之勢(shì)席卷全球,這種經(jīng)濟(jì)模式越來(lái)越被更多的人所接受,通過(guò)共享資源來(lái)解決其在工作、學(xué)習(xí)、生活等各方面的需求,共享將逐漸作為安排工作、學(xué)習(xí)、生活的重要首選.在國(guó)外,以Uber、Airbnb為代表的一系列共享經(jīng)濟(jì)服務(wù)企業(yè)改變著人們的生活方式.在國(guó)內(nèi),共享經(jīng)濟(jì)也迅速涌現(xiàn)出滴滴、Mobike等一批追隨者,給人們出行帶來(lái)了極大方便[2].
改革開(kāi)放以后,我國(guó)經(jīng)濟(jì)得到了質(zhì)的飛躍,人民生活質(zhì)量日益提高,消費(fèi)能力增強(qiáng),同時(shí)必需面對(duì)社會(huì)閑置產(chǎn)能過(guò)剩的問(wèn)題.大眾生活多元化,所需資源豐富多彩,信息多種多樣,但由于信息不對(duì)稱(chēng),導(dǎo)致大量資源閑置利用率不高.
本項(xiàng)目選取本人居住的華陽(yáng)社區(qū)進(jìn)行研究,設(shè)計(jì)并開(kāi)發(fā)一款資訊共享APP——樂(lè)助,聯(lián)結(jié)資源供需雙方,整合居民閑置資源,降低居民獲取信息的成本和在一定程度上減少信息的不對(duì)稱(chēng).借鑒“閑置資源—暫時(shí)轉(zhuǎn)移使用權(quán)—獲取收益”的模式[3],實(shí)現(xiàn)鄰里互助,資源共享[4].
在眾多的移動(dòng)終端操作系統(tǒng)中,iOS系統(tǒng)高度封閉,軟件下載來(lái)源較為單一,保證其比市面上的其他系統(tǒng)更為安全.iOS系統(tǒng)均是運(yùn)行在蘋(píng)果設(shè)備之上,軟硬件可以高度配合,為此運(yùn)行更為流暢和穩(wěn)定[5],系統(tǒng)扁平化設(shè)計(jì),界面簡(jiǎn)潔,美觀,輕量……優(yōu)點(diǎn)多如繁星,受到眾多用戶(hù)的青睞,占據(jù)著移動(dòng)市場(chǎng)的半邊天.“樂(lè)助”APP基于iOS平臺(tái)設(shè)計(jì)與開(kāi)發(fā),具有極大的優(yōu)勢(shì).
JAVA是面向?qū)ο笳Z(yǔ)言中使用較為廣泛且在寫(xiě)后端方面優(yōu)勢(shì)突出,JAVA自帶虛擬機(jī)使得其具有平臺(tái)獨(dú)立性的特質(zhì),能適用于多中平臺(tái);JAVA的結(jié)構(gòu)完整,它省去了多繼承、指針的概念、運(yùn)算符重載等,使得語(yǔ)法較為簡(jiǎn)單;JAVA設(shè)計(jì)語(yǔ)言專(zhuān)門(mén)設(shè)計(jì)了垃圾自動(dòng)回收機(jī)制,它會(huì)自動(dòng)回收不再被任何對(duì)象引用或持有的垃圾空間,節(jié)約大量人為釋放空間的成本.
數(shù)據(jù)存儲(chǔ)則采取MySQL數(shù)據(jù)庫(kù).MySQL是比較好用的關(guān)系型數(shù)據(jù)庫(kù),亦是目前市面上廣為使用的開(kāi)源數(shù)據(jù)庫(kù).MySQL內(nèi)配置的SQL語(yǔ)言是針對(duì)數(shù)據(jù)庫(kù)訪問(wèn)時(shí)最常用的標(biāo)準(zhǔn)化語(yǔ)言[6],支持SQL Server的遷移,支持對(duì) Java、C#、PHP 等的 API,以及通過(guò) Memcached的API以及NoSQL訪問(wèn)InnoDB所帶來(lái)的更好的開(kāi)發(fā)速度[7].MySQL廣泛應(yīng)用于網(wǎng)站、嵌入式應(yīng)用、大數(shù)據(jù)等領(lǐng)域.
本設(shè)計(jì)是基于iOS平臺(tái)的社區(qū)資訊共享服務(wù)“樂(lè)助”iPhone應(yīng)用軟件.手機(jī)客戶(hù)端通過(guò)無(wú)線訪問(wèn)點(diǎn)連接服務(wù)器端進(jìn)行通信來(lái)實(shí)現(xiàn)社區(qū)用戶(hù)在客戶(hù)端的各種操作.用Objective-C語(yǔ)言來(lái)編寫(xiě)出手機(jī)客戶(hù)端,而服務(wù)器端則由JAVA語(yǔ)言與MySQL數(shù)據(jù)庫(kù)結(jié)合來(lái)編寫(xiě).兩者通過(guò)HTTP和UDP協(xié)議進(jìn)行通訊,傳遞信息全部采用JSON格式[8].
本系統(tǒng)采用經(jīng)典的B/S三層模式,即數(shù)據(jù)層、應(yīng)用層及表示層,它們從三個(gè)層面負(fù)擔(dān)了整個(gè)系統(tǒng)的正常運(yùn)行工作[9],具體結(jié)構(gòu)如圖1所示.表示層向應(yīng)用層發(fā)送HTTP請(qǐng)求并顯示應(yīng)用層響應(yīng)的JSON數(shù)據(jù);應(yīng)用層主要響應(yīng)表示層的HTTP請(qǐng)求、處理業(yè)務(wù)邏輯及對(duì)數(shù)據(jù)層返回的數(shù)據(jù)格式化處理;數(shù)據(jù)層則主要是響應(yīng)服務(wù)層及擔(dān)任整個(gè)應(yīng)用的數(shù)據(jù)倉(cāng)庫(kù)[10].
圖1 系統(tǒng)結(jié)構(gòu)Fig.1 Structure of system as a whole
項(xiàng)目組成員多次深入華陽(yáng)社區(qū),實(shí)地采訪居民,獲取第一手需求.本系統(tǒng)包含的4個(gè)主要模塊:用戶(hù)管理模塊、資源管理模塊、訂單管理模塊、反饋/投訴管理模塊.它們各司其職,獨(dú)立承擔(dān)不同的職責(zé),最終卻又組合成一個(gè)完整的華陽(yáng)社區(qū)咨詢(xún)服務(wù)“樂(lè)助”系統(tǒng),具體的功能劃分如圖2所示.
圖2 系統(tǒng)功能劃分圖Fig.2 Functional division of the system
2.2.1 用戶(hù)管理模塊
用戶(hù)管理模塊主要承擔(dān)的任務(wù)是:用戶(hù)注冊(cè)、實(shí)名認(rèn)證、用戶(hù)登錄驗(yàn)證等工作.用戶(hù)注冊(cè)時(shí),系統(tǒng)會(huì)實(shí)時(shí)驗(yàn)證當(dāng)前賬號(hào)是否被注冊(cè)過(guò)、是否包含非法字符,驗(yàn)證通過(guò)后直接將當(dāng)前注冊(cè)成功的新用戶(hù)存入到用戶(hù)數(shù)據(jù)庫(kù)中;因本系統(tǒng)中涉及用戶(hù)的財(cái)產(chǎn)安全,必須設(shè)置實(shí)名認(rèn)證功能,目前是系統(tǒng)管理員人工驗(yàn)看身份證信息;在用戶(hù)登錄環(huán)節(jié),該模塊主要是對(duì)賬號(hào)和密碼進(jìn)行校驗(yàn),防止惡意登錄;在用戶(hù)注冊(cè)成為會(huì)員后,該模塊還提供修改個(gè)人信息功能,允許用戶(hù)根據(jù)自己的需求在平臺(tái)的要求下可以修改自己個(gè)人信息.
2.2.2 資源管理模塊
資源管理模塊是整個(gè)系統(tǒng)的核心模塊,承擔(dān)著審核用戶(hù)上傳的閑置資源信息、審核用戶(hù)資源訴求信息、對(duì)資源信息的增刪改查等重要任務(wù).用戶(hù)分享的閑置資源是平臺(tái)的核心功能,必須對(duì)資源的名稱(chēng)、類(lèi)型、型號(hào)、服務(wù)價(jià)格等信息做嚴(yán)格的審核,保證資源信息的真實(shí)性;與此類(lèi)似,必須對(duì)用戶(hù)發(fā)布在平臺(tái)上的資源訴求的類(lèi)型、描述、價(jià)格等信息做篩選,將違法、違規(guī)、不符合平臺(tái)協(xié)議的訴求駁回;閑置資源和資源訴求成功存入數(shù)據(jù)庫(kù)中后,就涉及到信息的增刪改查操作,這也是資源管理模塊的核心功能.
2.2.3 訂單管理模塊
訂單管理模塊主要是對(duì)資源流通過(guò)程中狀態(tài)變化的管理,監(jiān)管資源的流通狀態(tài).首先,對(duì)新提交的訂單進(jìn)行審核,校對(duì)用戶(hù)填寫(xiě)的收貨地址、收貨人等信息,確保訂單能被正確接收;其次,新訂單審核通過(guò)后,該模塊負(fù)責(zé)監(jiān)控訂單的接單、取消訂單、付款、收貨、雙方互評(píng)等一系列狀態(tài).
2.2.4 反饋/投訴管理模塊
反饋/投訴管理模塊主要目的是為了收集用戶(hù)對(duì)平臺(tái)的使用情況的信息,通過(guò)分析用戶(hù)的反饋和投訴,定期增加或刪減平臺(tái)的功能,改善用戶(hù)體驗(yàn)度.
系統(tǒng)均在 Mac環(huán)境中進(jìn)行研發(fā),客戶(hù)端是在Xcode8.3編碼工具上編寫(xiě)完成,而服務(wù)端則是使用JAVA和MySQL組合的模式開(kāi)發(fā),所有技術(shù)都比較成熟,得到業(yè)界的認(rèn)可,平臺(tái)運(yùn)行的概要流程如圖3所示.
3.1.1 數(shù)據(jù)庫(kù)
該系統(tǒng)的設(shè)計(jì)過(guò)程中用到了Core Data和MySQL兩種數(shù)據(jù)庫(kù).Core Data將數(shù)據(jù)庫(kù)的創(chuàng)建、表的創(chuàng)建、對(duì)象和表的轉(zhuǎn)換等操作封裝起來(lái),開(kāi)發(fā)人員在對(duì)數(shù)據(jù)庫(kù)操作時(shí),不需要使用SQL語(yǔ)句,極大的簡(jiǎn)化了操作,廣受蘋(píng)果公司的推崇,用于蘋(píng)果客戶(hù)端緩存數(shù)據(jù)[11].MySQL的核心程序采用完全的多線程編程,有一個(gè)非常靈活而且安全的權(quán)限和口令系統(tǒng),且可支持多種操作系統(tǒng)平臺(tái),適合用于服務(wù)器端保存用戶(hù)信息[12].
通過(guò)對(duì)咨詢(xún)分享服務(wù)系統(tǒng)業(yè)務(wù)需求的分析,抽象出四個(gè)主要實(shí)體:用戶(hù)、閑置資源、資源需求、服務(wù)訂單.根據(jù)用戶(hù)發(fā)布的內(nèi)容不同,分為兩個(gè)主線,畫(huà)出兩個(gè)不同的局部視圖.首先,確定兩個(gè)視圖的范圍;其次,確定每個(gè)部分的實(shí)體;而后,需要識(shí)別出這些實(shí)體間的聯(lián)系;最后,分配實(shí)體以及實(shí)體間聯(lián)系的屬性.最終畫(huà)出如圖4所示的(a)發(fā)布閑置資源E-R圖和(b)發(fā)布資源需求E-R圖.
圖3 系統(tǒng)運(yùn)行流程圖Fig.3 Flow chart of system operation
圖4 系統(tǒng)主要E-R圖Fig.4 The main E-R chart of system
在分析清楚邏輯設(shè)計(jì)的基礎(chǔ)之上,將E-R圖轉(zhuǎn)化成二維關(guān)系表格.本系統(tǒng)中最核心的數(shù)據(jù)是存儲(chǔ)在用戶(hù)表(tbl_User)和閑置資源表(tbl_Resource),兩張表的物理結(jié)構(gòu)如表1和表2所示.
用戶(hù)表、閑置資源表中的內(nèi)容都是動(dòng)態(tài)生成,注冊(cè)成功一個(gè)用戶(hù)生成一條用戶(hù)數(shù)據(jù),用戶(hù)發(fā)布一個(gè)閑置資源則生成一條閑置資源數(shù)據(jù),這部分?jǐn)?shù)據(jù)直接由代碼自動(dòng)添加到數(shù)據(jù)表中,系統(tǒng)管理員也可以直接在數(shù)據(jù)表視圖中主動(dòng)添加.根據(jù)需求,部分?jǐn)?shù)據(jù)需要管理員提前導(dǎo)入,如資源類(lèi)型、需求類(lèi)型、付款方式等.
表1 用戶(hù)基本信息表Table 1 tbl_User
表2 閑置資源信息表Table 2 tbl_Resource
3.1.2 JAVA部分
JAVA程序運(yùn)行在服務(wù)器端,承擔(dān)系統(tǒng)業(yè)務(wù)邏輯的處理工作,是分析數(shù)據(jù)的關(guān)鍵部分,是連接客戶(hù)端和數(shù)據(jù)庫(kù)的紐帶.在本研究中JAVA程序承擔(dān)對(duì)數(shù)據(jù)庫(kù)的增刪改查操作、數(shù)據(jù)的校驗(yàn)及消息的輪詢(xún)功能,它作為功能層的核心元素是整個(gè)系統(tǒng)更具有智能化的特征.以下就以用戶(hù)上傳閑置資源為例做簡(jiǎn)要說(shuō)明,具體流程如圖5所示.
圖5 用戶(hù)上傳閑置資源流程Fig.5 Flow chart of user upload idle resource
如圖5所示,服務(wù)端首先打開(kāi)接收客戶(hù)端數(shù)據(jù)模式;第二步是JAVA部分接收到用戶(hù)端上傳的閑置資源數(shù)據(jù);第三步是JAVA部分先對(duì)數(shù)據(jù)進(jìn)行整合分析;第四步JAVA處理邏輯部分對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),若是合法數(shù)據(jù)則直接將數(shù)據(jù)自動(dòng)添加到數(shù)據(jù)庫(kù)中,否則反饋到客戶(hù)端提示用戶(hù)重新填寫(xiě)資源數(shù)據(jù);第五步是判斷數(shù)據(jù)是否成功添加到數(shù)據(jù)庫(kù)中,若添加成功則反饋到客戶(hù)端提示用戶(hù)數(shù)據(jù)已提交成功,流程結(jié)束,否則重新再將數(shù)據(jù)添加到數(shù)據(jù)庫(kù)中.
用戶(hù)上傳資源需求的流程也與閑置資源的上傳流程類(lèi)似,此處不再贅述.以上就是JAVA程序部分在客戶(hù)端與數(shù)據(jù)庫(kù)交互及處理業(yè)務(wù)邏輯所發(fā)揮的主要作用.
3.1.3 客戶(hù)端與服務(wù)端通信
①客戶(hù)端根據(jù)HTTP和UDP傳輸協(xié)議向服務(wù)器傳輸數(shù)據(jù)
用戶(hù)編輯完聊天內(nèi)容點(diǎn)擊發(fā)送按鈕后,將消息內(nèi)容、消息類(lèi)型、發(fā)送者ID、接收者ID等必填參數(shù)按照HTTP傳輸協(xié)議傳遞給服務(wù)器,此時(shí)根據(jù)第三方網(wǎng)絡(luò)框架AFNetworking的回調(diào)函數(shù)監(jiān)聽(tīng)服務(wù)器返回的數(shù)據(jù),采取不同的操作.
用戶(hù)根據(jù)UDP傳輸協(xié)議接受對(duì)方消息,成功接收到UDP消息后主動(dòng)給消息服務(wù)器推送一條接收成功的信息,告訴消息服務(wù)器不用在推送該條消息.與此同時(shí),解析出UDP消息中所包含的消息ID,通過(guò)消息ID再次向服務(wù)器發(fā)起HTTP請(qǐng)求,獲取該條消息詳細(xì)參數(shù).
②服務(wù)器端返回?cái)?shù)據(jù)
服務(wù)器接收到客戶(hù)端發(fā)送的消息.第一步,根據(jù)事先約定的消息傳送規(guī)則及組合規(guī)則檢查消息,若通過(guò)檢測(cè)則直接存入消息數(shù)據(jù)庫(kù)中,并向客戶(hù)端傳回消息存儲(chǔ)成功的標(biāo)志;若檢測(cè)失敗,則數(shù)據(jù)不入庫(kù),并返回失敗標(biāo)志;第二步,消息存儲(chǔ)成功后,消息輪詢(xún)服務(wù)器會(huì)自動(dòng)讀取消息表中的數(shù)據(jù),并將本條消息的ID、發(fā)送者ID及接收者ID重新包裝對(duì)外發(fā)送UDP消息,直到對(duì)應(yīng)的用戶(hù)接收到該條消息為止,或者一定的時(shí)間后自動(dòng)取消對(duì)該條消息的發(fā)送,節(jié)約輪詢(xún)服務(wù)器資源.
3.2.1 客戶(hù)端整體功能劃分
根據(jù)系統(tǒng)模塊設(shè)計(jì),客戶(hù)端的功能模塊劃分為:首頁(yè)、發(fā)布、訂單、消息、個(gè)人中心.首頁(yè)模塊主要是用于資源列表的展示、APP使用導(dǎo)航、搜索資源等;發(fā)布模塊分為直播發(fā)布和圖文發(fā)布,要求用戶(hù)按照平臺(tái)協(xié)議填寫(xiě)所要發(fā)布的閑置資源和資源需求的詳細(xì)信息;訂單模塊展示正在進(jìn)行的訂單和預(yù)約訂單列表,即只展示未完成的服務(wù)訂單;消息模塊主要展示系統(tǒng)消息和私聊消息,系統(tǒng)消息顯示的是平臺(tái)的各種通知信息(如更新消息、公告),私聊消息顯示的是用戶(hù)之間溝通資源詳情的信息;個(gè)人中心模塊則展示個(gè)人基本資料、實(shí)名認(rèn)證、歷史訂單等等信息.客戶(hù)端具體功能模塊劃分如圖6所示.
圖6 客戶(hù)端整體功能劃分Fig.6 Functional division of the client
3.2.2 注冊(cè)界面
注冊(cè)界面主體使用UITableView控件,自定義了UITableViewCell控件顯示用戶(hù)信息,利用UITextField控件接收用戶(hù)填寫(xiě)的信息,調(diào)用了系統(tǒng)相機(jī)和系統(tǒng)相冊(cè)選擇上傳身份證照片,用UIImageView控件展示身份證照片.布局采用手寫(xiě)UI,xib和storyboard三種方式嵌套使用,整體布局使用storyboard,單頁(yè)面布局使用xib,細(xì)節(jié)布局直接手寫(xiě)UI[13].
3.2.3 直播分享資源
本項(xiàng)目直播功能主要是用于直播分享閑置資源和直播發(fā)布資源需求,由于直播開(kāi)發(fā)技術(shù)難度大,成本高昂,本項(xiàng)目組選擇使用三方視頻服務(wù).
目前市面上比較流行的視頻服務(wù)提供商有阿里云視頻、騰訊云視頻、七牛直播云等,經(jīng)過(guò)綜合對(duì)比,本項(xiàng)目最終選擇了七牛直播云.七牛進(jìn)入直播領(lǐng)域做直播解決方案較早,直播技術(shù)較為成熟,它走精品路線,側(cè)重于提供直播服務(wù).由于七牛提供詳細(xì)完整的開(kāi)發(fā)文檔、一對(duì)一QQ群技術(shù)支持,本項(xiàng)目組只花了一天時(shí)間就將直播功能集成成功,大大節(jié)約開(kāi)發(fā)時(shí)間.
3.2.4 聊天功能
客戶(hù)端聊天實(shí)現(xiàn)使用GitHub上的第三方框架CocoaAsyncSocket中的 GCDAsyncUdpSocket,該框架是基于Socket編程,是用UDP協(xié)議進(jìn)行通信的一組編程接口[14],本地聊天數(shù)據(jù)緩存使用蘋(píng)果自帶的Core Data數(shù)據(jù)庫(kù).
聊天分為兩種形式:程序在前臺(tái)運(yùn)行和程序在后臺(tái)掛起,兩種聊天形式對(duì)數(shù)據(jù)的處理方式截然不同.
程序在前臺(tái)運(yùn)行:用戶(hù)發(fā)送聊天消息是通過(guò)HTTP協(xié)議實(shí)現(xiàn);消息發(fā)送成功之后將本條消息存入客戶(hù)端本地?cái)?shù)據(jù)庫(kù)中,以便以后調(diào)用聊天記錄;用戶(hù)接收消息是通過(guò)UDP協(xié)議實(shí)現(xiàn),成功接收到消息后直接存入客戶(hù)端本地?cái)?shù)據(jù)庫(kù)中,然后再在聊天界面顯示 接收到的消息,消息傳遞的具體流程如圖7所示.
圖7 程序在前臺(tái)運(yùn)行時(shí)消息的發(fā)送流程Fig.7 The sending process of the message when the program runs in the foreground
程序在后臺(tái)掛起:用戶(hù)不能發(fā)送消息,只能接收來(lái)自蘋(píng)果信息推送服務(wù)(APNS)的消息[15].由于蘋(píng)果嚴(yán)格控制程序后臺(tái)掛起時(shí)間,消息不能被及時(shí)的存入到客戶(hù)端本地?cái)?shù)據(jù)庫(kù)中;當(dāng)客戶(hù)端接收到APNS的推送消息后,用戶(hù)點(diǎn)擊通知欄消息重新激活掛起的程序,進(jìn)入到應(yīng)用程序中查看消息詳情,此時(shí)會(huì)重新向服務(wù)器請(qǐng)求APNS推送的消息,存入客戶(hù)端本地?cái)?shù)據(jù)庫(kù),顯示在聊天界面中.之后的消息操作流程與程序在前臺(tái)運(yùn)行時(shí)一致.APNS的機(jī)制如圖8所示.
圖8 蘋(píng)果遠(yuǎn)程推送機(jī)制Fig.8 Apple remote push mechanism
系統(tǒng)功能性測(cè)試主要是對(duì)平臺(tái)的各個(gè)功能點(diǎn)進(jìn)行驗(yàn)證,在平臺(tái)正式上線之前盡早發(fā)現(xiàn)平臺(tái)中可能存在地問(wèn)題.測(cè)試方法基本是通過(guò)設(shè)計(jì)一些合適的測(cè)試用例,驗(yàn)證平臺(tái)的各項(xiàng)功能是否能按照最初的平臺(tái)設(shè)計(jì)正常運(yùn)行.
客戶(hù)端主要是運(yùn)行在iPhone手機(jī)上,需要適配iPhone各個(gè)屏幕尺寸以及兼容市面上流行的多個(gè)iOS系統(tǒng)版本,根據(jù)測(cè)試地不同目的選擇對(duì)應(yīng)地測(cè)試環(huán)境:
①測(cè)試手機(jī):iPhone SE,iPhone 6/6Plus,iPhone 7/7Plus,iPhone 8/8Plus,iPhone X 等機(jī)型.
②系統(tǒng)版本:iOS 9,iOS 10,iOS 11,iOS 11.2 等版本.
③網(wǎng)絡(luò)模式:3G,4G,WIFI.
根據(jù)“樂(lè)助”的功能設(shè)計(jì),“樂(lè)助”APP為社區(qū)居民提供了發(fā)布閑置資源和資源需求,聯(lián)結(jié)資源供需雙方地的功能.當(dāng)小區(qū)居民注冊(cè)成為“樂(lè)助”的會(huì)員,資源擁有者就可以發(fā)布閑置資源提供給資源需求方,整合居民閑置資源,降低居民獲取信息的成本.本文主要選取注冊(cè)登錄模塊、發(fā)布模塊、訂單模塊的測(cè)試過(guò)程進(jìn)行闡述.
1)注冊(cè)登錄模塊
用戶(hù)首次使用“樂(lè)助”APP時(shí),點(diǎn)擊注冊(cè)按鈕,跳轉(zhuǎn)到注冊(cè)頁(yè)面,填寫(xiě)注冊(cè)信息,點(diǎn)擊提交按鈕,將注冊(cè)信息發(fā)送到服務(wù)器驗(yàn)證是否合法,服務(wù)器會(huì)給出相應(yīng)的結(jié)果,客戶(hù)端再展示給用戶(hù).成為會(huì)員之后,再次登錄APP直接輸入已注冊(cè)的帳號(hào)和密碼,將登錄信息上傳到服務(wù)器驗(yàn)證是否合法,服務(wù)給出相應(yīng)結(jié)果,客戶(hù)端再展示給用戶(hù).注冊(cè)登錄功能模塊測(cè)試用例如表3所示.
表3 注冊(cè)登錄測(cè)試用例Table 3 login test cases
2)發(fā)布模塊
發(fā)布模塊,給用戶(hù)提供圖文和直播發(fā)布閑置資源和資源需求的功能,表4是用戶(hù)發(fā)布閑置資源和資源需求功能模塊的測(cè)試用例.
表4 發(fā)布測(cè)試用例Table 4 Release test cases
3)訂單模塊
訂單模塊是整個(gè)系統(tǒng)的核心模塊,該模塊為用戶(hù)提供接單、取消訂單、付款、確認(rèn)收貨、送回資源、評(píng)價(jià)等一系列功能.表5是訂單功能模塊的測(cè)試用例.
表5 訂單測(cè)試用例Table 5 Order test cases
根據(jù)以上測(cè)試,“樂(lè)助”APP所有功能模塊能夠正常運(yùn)行,基本上能滿足用戶(hù)分享資源,尋找資源需求的功能.APP的界面能夠適配iPhone SE,iPhone 6/6 Plus,iPhone 7/7Plus,iPhone 8/8Plus,iPhone X 的市面上流行的iPhone機(jī)型.APP在iOS 10、iOS 11和iOS 11.2系統(tǒng)上能夠正常運(yùn)行,在iOS 9系統(tǒng)上直播功能運(yùn)行略微卡頓.在3G、4G、WIFI網(wǎng)絡(luò)模式情況下,注冊(cè)登錄、訂單功能、圖文發(fā)布功能可以正常使用,直播發(fā)布功能只能在4G、WIFI網(wǎng)絡(luò)模式下使用.
根據(jù)測(cè)試結(jié)果分析,“樂(lè)助”APP滿足提出的業(yè)務(wù)需求,性能達(dá)到可以接受的范圍,不存在明顯的內(nèi)存泄露問(wèn)題,能夠達(dá)到預(yù)期目標(biāo).
本文基于iOS平臺(tái)的華陽(yáng)社區(qū)資訊共享服務(wù)“樂(lè)助”APP連接了閑置資源供需雙方,為雙方直觀明了地描述資源的供需細(xì)節(jié)而提供直播服務(wù),而聊天服務(wù)則是為雙方更進(jìn)一步地溝通供需訴求提供更及時(shí)、更便捷的方式.
隨著服務(wù)人數(shù)的增加和服務(wù)小區(qū)范圍的擴(kuò)大,對(duì)用戶(hù)的真實(shí)身份鑒別難度隨之加大,難以全面可靠地保證用戶(hù)分享出去的財(cái)產(chǎn)安全.下一個(gè)版本的“樂(lè)助”著重對(duì)用戶(hù)真實(shí)身份的鑒別、用戶(hù)信譽(yù)的評(píng)價(jià)制度、用戶(hù)間的相互監(jiān)督方面進(jìn)行完善;其次是根據(jù)用戶(hù)的反饋意見(jiàn)增加或者調(diào)整部分功能,為用戶(hù)提供更安全、更便捷的共享服務(wù);最后,隨著用戶(hù)基數(shù)增大,基于平臺(tái)上產(chǎn)生的數(shù)據(jù)量引入大數(shù)據(jù)統(tǒng)計(jì)方法及機(jī)器學(xué)習(xí)算法,分析用戶(hù)偏好,預(yù)測(cè)用戶(hù)需求,給用戶(hù)提供個(gè)性化推薦服務(wù),與用戶(hù)建立密切關(guān)系.盡本團(tuán)隊(duì)的一切努力,為用戶(hù)打造一個(gè)鄰里互助、資源共享的面向社區(qū)的小眾綠色生態(tài)圈.
[1]栗飛.分享經(jīng)濟(jì)國(guó)內(nèi)外研究文獻(xiàn)綜述[J].時(shí)代金融,2017(9):13-17.
[2]黃駿.對(duì)我國(guó)共享經(jīng)濟(jì)發(fā)展的研究[J].經(jīng)營(yíng)管理者,2016(2):245.
[3]鄭志來(lái).共享經(jīng)濟(jì)的成因、內(nèi)涵與商業(yè)模式研究[J].現(xiàn)代經(jīng)濟(jì)探討,2016(3):32-36.
[4]黃昇.解讀“社區(qū)共享經(jīng)濟(jì)”[J].城市開(kāi)發(fā),2016(6):68-69.
[5]李勇.iOS系統(tǒng)與應(yīng)用安全分析方法研究[D].上海:上海交通大學(xué),2015.
[6]石坤泉.基于MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)隱私與安全策略研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(1):79-81.
[7]杜麗娟.關(guān)系型數(shù)據(jù)庫(kù)與NoSQL數(shù)據(jù)庫(kù)的性能對(duì)比[J].智能計(jì)算機(jī)與應(yīng)用,2017(3):132-134.
[8]章沖,楊東,等.基于iOS平臺(tái)的移動(dòng)智慧校園系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2016(2):75-77.
[9]王錚,趙穎.基于學(xué)習(xí)分析技術(shù)的藏漢雙語(yǔ)數(shù)學(xué)題庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)[J].西南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2016(4):436-442.
[10]譚穎,胡俊平,等.基于iOS的“同學(xué)幫”移動(dòng)應(yīng)用軟件設(shè)計(jì)與開(kāi)發(fā)[J].軟件導(dǎo)刊,2015(8):103-105.
[11]SCOTT KNASTER.Objective-C基礎(chǔ)教程[M].周慶成,譯.2版.北京:人民郵電出版社,2013:264-273.
[12]BARON SCHWARTZ.高性能MySQL[M].寧海元,譯.3版.北京:電子工業(yè)出版社,2013:1-34.
[13]MATT GALLOWAY.EffectiveObjective-C2.0(編寫(xiě)高質(zhì)量iOS與OSX代碼的52個(gè)有效方法)[M].愛(ài)飛翔,譯.北京:機(jī)械工業(yè)出版社,2014:46-67.
[14]涂耀輝.iOS即時(shí)通訊,從入門(mén)到“放棄”?[EB/OL].(2017-01-03)[2017-10-30].http://www.jianshu.com/p/2dbb360886a8.
[15]陳思.iOS推送之遠(yuǎn)程推送[EB/OL].(2016-02-16)[2017-10-30].http://ios.jobbole.com/83952/.