葉剛+劉卓
摘要:由于汽車(chē)租賃具有簡(jiǎn)單性,隨時(shí)隨地性等諸多特點(diǎn),因此它有著傳統(tǒng)計(jì)算機(jī)所無(wú)法比擬的優(yōu)點(diǎn)。這樣一來(lái),汽車(chē)租賃應(yīng)用的開(kāi)發(fā)工作就顯得尤為重要,開(kāi)發(fā)出一個(gè)集合手機(jī)應(yīng)用的“商店”極為重要,近年來(lái)iphone手機(jī)在中的發(fā)展趨勢(shì)日趨上升,iphone手機(jī)保密性很強(qiáng),很多東西都不對(duì)外開(kāi)放,汽車(chē)租賃系統(tǒng)就是針對(duì)iphone手機(jī)而開(kāi)發(fā)的一款手機(jī)應(yīng)用,日趨擴(kuò)大的市場(chǎng)也使得應(yīng)用于iphone手機(jī)的APP開(kāi)發(fā)日趨緊迫,可以說(shuō)汽車(chē)租賃的開(kāi)發(fā)不僅是客戶的需求更是市場(chǎng)的需求。
汽車(chē)租賃項(xiàng)目的開(kāi)發(fā)使用了iphone自己研發(fā)的開(kāi)發(fā)軟件xcode6.0,主要有UIkit框架和Foundation框架組成。汽車(chē)租賃的項(xiàng)目開(kāi)發(fā),對(duì)數(shù)據(jù)進(jìn)行展示主要應(yīng)用列表控制器UIableview,在使用UItableview是對(duì)cell的復(fù)用是此技術(shù)的難點(diǎn),主要避免在cell復(fù)用是出現(xiàn)內(nèi)存泄露狀況而導(dǎo)致的程序崩潰,數(shù)據(jù)的獲取應(yīng)用了AFHttpNetWork第三方庫(kù),對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行g(shù)et獲取,把獲取的數(shù)據(jù)用數(shù)據(jù)模型接收,這樣有利于降低耦合性,使程序更順暢。在對(duì)數(shù)據(jù)保存時(shí)用到了FMDB第三方數(shù)據(jù)庫(kù),此數(shù)據(jù)庫(kù)的底層也是對(duì)squlite的封裝,是開(kāi)發(fā)者應(yīng)用起來(lái)更順手簡(jiǎn)介,提高效率,界面之間的數(shù)據(jù)傳輸難點(diǎn)blcok的應(yīng)用,這點(diǎn)要求開(kāi)發(fā)者對(duì)block有比較深刻的理解,以及應(yīng)用熟練度。
關(guān)鍵詞:汽車(chē)租賃;商店;cell復(fù)用;iphone
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)16-0242-03
1 背景
汽車(chē)租賃業(yè)是社會(huì)高度發(fā)展的產(chǎn)物,它借助租賃特有優(yōu)勢(shì)推動(dòng)汽車(chē)產(chǎn)業(yè)發(fā)展并帶動(dòng)消費(fèi),還起到提高資源利用率、降低環(huán)境污染的作用,對(duì)國(guó)民經(jīng)濟(jì)發(fā)展有著不可替代的作用。1989年8月1日始建了國(guó)內(nèi)第一家汽車(chē)租賃公司,從最初的一家公司70輛車(chē)起步至今,在短短的十來(lái)年時(shí)間里,在國(guó)家工商部門(mén)注冊(cè)的汽車(chē)租賃公司就已經(jīng)有近500多家,運(yùn)營(yíng)車(chē)輛5萬(wàn)多輛,全國(guó)汽車(chē)租賃市場(chǎng)的營(yíng)業(yè)額約為17—22億元,隨著汽車(chē)租賃業(yè)的高速發(fā)展,預(yù)計(jì)到2015年,國(guó)內(nèi)汽車(chē)租賃市場(chǎng)的營(yíng)業(yè)總額將達(dá)到180億元。
在國(guó)外,有遍及全球的汽車(chē)租賃管理系統(tǒng)網(wǎng)絡(luò),如全球最大的汽車(chē)租賃公司赫茲公司有遍及美、加、英、愛(ài)爾蘭等國(guó)的5000多個(gè)汽車(chē)租賃點(diǎn),業(yè)務(wù)遍及全球140多個(gè)國(guó)家,全球營(yíng)運(yùn)車(chē)輛超過(guò)55萬(wàn)輛;世界第二大汽車(chē)租賃公司AVIS 可以在全球174 個(gè)國(guó)家布局,使它的會(huì)員做到一國(guó)入會(huì),各國(guó)租車(chē),已發(fā)展到“一地租車(chē),異地還車(chē)和修車(chē)”的程度。在國(guó)外,異地租賃是通?,F(xiàn)象,這源于汽車(chē)的普及率和人們對(duì)汽車(chē)租賃的認(rèn)知程度都已經(jīng)達(dá)到了一定高度。除此以外還有24小時(shí)預(yù)訂服務(wù),包括網(wǎng)絡(luò)、電話預(yù)訂;30公里以內(nèi)免費(fèi)送取車(chē),24小時(shí)緊急,路上救援服務(wù);信用卡及網(wǎng)上收費(fèi)。
在我國(guó),由于租車(chē)用戶對(duì)汽車(chē)的喜好及用途各有不同,而往往在汽車(chē)租賃公司挑選汽車(chē)時(shí)間過(guò)于長(zhǎng),而且沒(méi)有滿意的車(chē)輛還會(huì)去其他公司挑選,這樣不僅僅浪費(fèi)了時(shí)間同時(shí)也影響了客戶心情,而且在價(jià)格方面各個(gè)公司也有所不同,顧客有時(shí)也會(huì)出現(xiàn)現(xiàn)金不足等其他情況。鑒于以上情況的發(fā)生,汽車(chē)租賃管理系統(tǒng)的開(kāi)發(fā)已屬必然,汽車(chē)租賃管理系統(tǒng)的開(kāi)發(fā)可以在網(wǎng)站上直接選擇自己喜愛(ài)的車(chē)型,同時(shí)也可以時(shí)時(shí)了解到租金問(wèn)題,也可以了解汽車(chē)的性能等其他客戶所關(guān)心的信息。
汽車(chē)租賃管理系統(tǒng)結(jié)合我國(guó)汽車(chē)租賃業(yè)的發(fā)展特點(diǎn)而進(jìn)行開(kāi)發(fā),主要功能有系統(tǒng)用戶管理、站內(nèi)新聞管理、車(chē)輛信息管理、租車(chē)管理、系統(tǒng)公告管理、數(shù)據(jù)備份管理等幾大功能。用戶可以通過(guò)系統(tǒng)直接在網(wǎng)站上進(jìn)行租車(chē),管理人員可以及時(shí)獲得用戶租車(chē)信息,方便管理員調(diào)配車(chē)輛,管理信息。
汽車(chē)租賃管理系統(tǒng)的開(kāi)發(fā)其主要目標(biāo)是為客戶提供方便的租車(chē)方式,減少顧客在租車(chē)過(guò)程中繁瑣的步驟,幫助汽車(chē)租賃公司吸引更多的客戶。同樣也為汽車(chē)租賃公司提供便捷的管理方式??傮w實(shí)現(xiàn)汽車(chē)租賃業(yè)務(wù)管理的系統(tǒng)化、規(guī)范化、自動(dòng)化和人性化。
2 系統(tǒng)總體功能
2.1汽車(chē)租賃系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
汽車(chē)租賃系統(tǒng)結(jié)構(gòu)如圖1所示。
1)車(chē)輛信息管理
對(duì)車(chē)輛的檔案進(jìn)行增加、修改、刪除等功能,可以針對(duì)車(chē)輛的車(chē)牌號(hào)進(jìn)行數(shù)據(jù)庫(kù)檢索,也可以列出全部的車(chē)輛。
2)系統(tǒng)用戶管理
提供功能強(qiáng)大的瀏覽查詢畫(huà)面和方便快捷的錄入畫(huà)面,在記錄注冊(cè)用戶信息時(shí),可以進(jìn)行記載,可以增加、修改、刪除車(chē)輛的信息。
3)修改密碼管理
提供管理員及用戶修改密碼的功能。
4)站內(nèi)新聞管理
提供最新的汽車(chē)租賃相關(guān)的及其他新聞,方便用戶查詢查看,以便了解租車(chē)事宜。
5)系統(tǒng)公告管理
提供最新的系統(tǒng)公告,方便工作人員查看并管理系統(tǒng),及時(shí)修改租車(chē)信息等。
6)租車(chē)管理
系統(tǒng)提供全部的車(chē)輛檔案、注冊(cè)用戶檔案,可以記錄注冊(cè)用戶租車(chē)的所有細(xì)節(jié)信息。同時(shí)可以刪除和修改,并進(jìn)行還車(chē)操作。而在用戶后臺(tái)頁(yè)面的租車(chē)管理中提供了續(xù)租功能方便了用戶續(xù)租車(chē)輛。
7)數(shù)據(jù)備份管理
用以備份數(shù)據(jù)庫(kù)等操作。
8)個(gè)人資料管理
為注冊(cè)用戶提供自主修改用戶信息的功能。
管理員權(quán)限級(jí)別分為普通管理員以及超級(jí)管理員,其中超級(jí)管理員的功能模塊為:系統(tǒng)用戶管理、站內(nèi)新聞管理、租車(chē)管理、系統(tǒng)公告管理、車(chē)輛信息管理、數(shù)據(jù)備份模塊。普通管理員與超級(jí)管理員的權(quán)限區(qū)分在于系統(tǒng)用戶管理中,系統(tǒng)用戶管理中包含管理員添加,管理員查詢,注冊(cè)用戶查詢,密碼修改四個(gè)模塊。其中普通管理員僅僅可以使用修改密碼和注冊(cè)用戶查詢兩個(gè)模塊。
3 數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)系統(tǒng)的功能和實(shí)現(xiàn)要求,數(shù)據(jù)庫(kù)中建立以下幾張表:
站內(nèi)新聞表allgonggao:站內(nèi)新聞表主要保存管理員發(fā)布的站內(nèi)新聞,包括題目,類(lèi)別,內(nèi)容,發(fā)布時(shí)間等。主鍵是站內(nèi)新聞的編號(hào)。
用戶信息表allusers:用戶信息表主要保存用戶的信息,包括用戶名,密碼,權(quán)限,注冊(cè)時(shí)間等,主鍵是用戶的編號(hào)。
車(chē)輛信息表cheliangxinxi:車(chē)輛信息表主要保存公司出租汽車(chē)的基本信息,包括車(chē)牌號(hào),車(chē)型,品牌,顏色,新舊程度,換擋方式,排量,日租金,照片,出租狀態(tài),添加時(shí)間。主鍵是車(chē)輛的編號(hào)。
系統(tǒng)公告表dx:系統(tǒng)公告表只保存最新的系統(tǒng)公告
用戶注冊(cè)表yonghuzhuce:用戶注冊(cè)表主要保存注冊(cè)用戶的基本信息,包括用戶名,密碼,姓名,電話,郵箱,QQ,頭像,籍貫,地址,性別,備注,注冊(cè)日期。主鍵是用戶的編號(hào)。
友情鏈接表:youqinglianjie:友情鏈接主要為方便用戶瀏覽其他門(mén)戶網(wǎng)站,包括網(wǎng)站信息,網(wǎng)址,添加時(shí)間。主鍵是友情鏈接的編號(hào)。
租車(chē)記錄表zuchejilu:租車(chē)記錄表主要保存用戶租車(chē)的詳細(xì)信息。包括用戶名,車(chē)牌,車(chē)型,日租金,預(yù)租天數(shù),備注,添加時(shí)間,是否歸還。主鍵是編號(hào)。
4 系統(tǒng)設(shè)計(jì)
4.1 系統(tǒng)開(kāi)發(fā)環(huán)境
系統(tǒng)開(kāi)發(fā)環(huán)境:蘋(píng)果操作系統(tǒng)
編程語(yǔ)言:IOS
開(kāi)發(fā)軟件:Xcode6.0
4.2 功能設(shè)計(jì)
汽車(chē)租賃平臺(tái)由IOS移動(dòng)終端、SQL server 2008數(shù)據(jù)庫(kù)以及后臺(tái)的服務(wù)器組成。IOS移動(dòng)終端作為該平臺(tái)的前臺(tái),進(jìn)行頁(yè)面設(shè)計(jì),在使用OC語(yǔ)言在Xcode6中進(jìn)行代碼編程;SQL server 2008數(shù)據(jù)庫(kù)主要用于對(duì)客戶端上顯示的數(shù)據(jù)的存儲(chǔ),每次客戶端的進(jìn)入是通過(guò)移動(dòng)網(wǎng)絡(luò)平臺(tái)與后臺(tái)的服務(wù)器進(jìn)行數(shù)據(jù)的更新。服務(wù)區(qū)主要負(fù)責(zé)存儲(chǔ)用戶信息、微課資源推送信息等。IOS客服端與服務(wù)器端進(jìn)行json數(shù)據(jù)交互,主要是通過(guò)寫(xiě)入和解析json形式的數(shù)據(jù)。
1)IOS客服端與服務(wù)器端舉行json數(shù)據(jù)交互,主如果經(jīng)由過(guò)程寫(xiě)入和剖析json情勢(shì)的數(shù)據(jù)Server新建一個(gè)ServerSocket,使用accept()函數(shù),直到連接上Client;
2)客戶端新建一個(gè)Socket并要求與服務(wù)器端進(jìn)行毗連;
3)服務(wù)器端接管客戶端的要求,新建一個(gè)socket與該客戶端毗連;
4)在一個(gè)獨(dú)立的線程上,成立鏈接的socket相互交換;
5)服務(wù)器繼續(xù)等待下一個(gè)鏈接;
5 結(jié)束語(yǔ)
本項(xiàng)目的開(kāi)發(fā)目標(biāo),主要是為了提供iphone手機(jī)應(yīng)用平臺(tái),為用戶更好的體驗(yàn)iphone手機(jī)的汽車(chē)租賃功能。設(shè)計(jì)經(jīng)過(guò)緊張而有序的系統(tǒng)開(kāi)發(fā),收獲頗豐,感觸頗深。
編寫(xiě)程序前,對(duì)已完成設(shè)計(jì)構(gòu)思的系統(tǒng)進(jìn)行主次分析,排好功能實(shí)現(xiàn)順序,列出程序編、寫(xiě)步驟,對(duì)于理清編程思路很有幫助。人的邏輯思維可能很發(fā)達(dá),在設(shè)計(jì)當(dāng)中可以不用筆記,在腦中就能想好三到五個(gè)功能的邏輯關(guān)系和編寫(xiě)步驟。但以后我們面對(duì)的是一個(gè)龐大的系統(tǒng),大系統(tǒng)下分多個(gè)子系統(tǒng),子系統(tǒng)下分多個(gè)功能模塊,功能模塊下分多個(gè)功能頁(yè)面,功能頁(yè)面下分多個(gè)子功能,而且子系統(tǒng)、功能模塊、功能頁(yè)面、子功能之間的邏輯關(guān)系構(gòu)成了一張復(fù)雜龐大的邏輯關(guān)系網(wǎng)。這就需要我們?cè)谠茸龊玫脑O(shè)計(jì)流程圖上,系統(tǒng)規(guī)劃,全面分析,逐步細(xì)化,反復(fù)斟酌、推敲,然后列出編程計(jì)劃。在完成這個(gè)課題的過(guò)程中,遇到了很多問(wèn)題。對(duì)于iOS的開(kāi)發(fā)過(guò)程更是頭疼,因?yàn)樵趇OS中有些控件必須接收協(xié)議,而且不用手動(dòng)調(diào)用協(xié)議中的方法,系統(tǒng)自己調(diào)用,比如:UITableView。這個(gè)讓我感覺(jué)很不可思議,以至于每次非得手動(dòng)調(diào)用協(xié)議,但是每次都出錯(cuò),后來(lái)就記住這個(gè)問(wèn)題了。
本系統(tǒng)從汽車(chē)租賃的實(shí)際出發(fā),是符合現(xiàn)代社會(huì)實(shí)際需求的平臺(tái),對(duì)汽車(chē)租賃進(jìn)行便利的管理。改變了現(xiàn)代人買(mǎi)不起車(chē)的現(xiàn)狀,提高了工作效率,能夠提供準(zhǔn)確、及時(shí)的設(shè)備報(bào)修維修信息,從根本上解決了過(guò)多人工管理的滯后性、資源浪費(fèi)等問(wèn)題。
參考文獻(xiàn):
[1] Kochan S G. Objective-C程序設(shè)計(jì)[M]. 林翼, 范俊, 朱奕欣,譯. 4版.北京: 電子工業(yè)出版社, 2012.
[2] 51cto網(wǎng)站oc教學(xué)視頻自學(xué)以及對(duì)牛人博客的借鑒[EB].
[3] 虞斌. Ios軟件開(kāi)發(fā)揭秘:iPhone&iPad企業(yè)應(yīng)用和游戲開(kāi)發(fā)[M]. 北京: 電子出版社, 2011.
[4] 博客園學(xué)習(xí). 主要學(xué)習(xí)UI時(shí)對(duì)我的幫助[EB].
[5] Kernighan B W, Rirchie D M. TheCProgramming Language[M]. 徐寶文, 李志, 譯. 北京: 機(jī)械工業(yè)出版社, 2003.
[6] 克萊爾. Objective-C2.0Mac和ios開(kāi)發(fā)實(shí)踐指南[M]. 李強(qiáng),譯.北京: 機(jī)械工業(yè)出版社, 2011.
[7] Dave Mak, Jack Nutting, Jeff La Marche. ios5基礎(chǔ)教程[M]. 楊越, 孫文磊, 譯. 北京: 人民郵電出版社, 2013.
[8] Mark Dalrymple, Scott Knaster. Objective-C基礎(chǔ)教程[M]. 楊越, 譯.北京: 人民郵電出版社, 2012.
[9] 徐松林, 黃猛. cocos2D-x手機(jī)游戲開(kāi)發(fā)[M]. 北京: 人民郵電出版社,2012.