基于Android平臺(tái)的房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)_第1頁
基于Android平臺(tái)的房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)_第2頁
基于Android平臺(tái)的房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)_第3頁
基于Android平臺(tái)的房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)_第4頁
基于Android平臺(tái)的房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄前言 3第一章緒論 41.1Android系統(tǒng)簡(jiǎn)介 41.2房屋租賃平臺(tái)介紹 41.3本文組織結(jié)構(gòu) 5第二章技術(shù)介紹 62.1Android操作系統(tǒng)簡(jiǎn)介 62.2ProtocolBuffer數(shù)據(jù)傳輸介紹 82.3MySQL數(shù)據(jù)庫簡(jiǎn)介 92.4軟件體系應(yīng)用結(jié)構(gòu):B/S結(jié)構(gòu)C/S結(jié)構(gòu) 92.5本章小結(jié) 10第三章系統(tǒng)需求分析 113.1功能需求 113.2性能需求 123.3運(yùn)行需求 123.4其他需求 123.5需求用例圖 133.6本章總結(jié) 14第四章系統(tǒng)設(shè)計(jì) 154.1結(jié)構(gòu)設(shè)計(jì) 154.2接口設(shè)計(jì) 184.3本章總結(jié) 19第五章系統(tǒng)實(shí)現(xiàn) 205.1Android客戶端實(shí)現(xiàn) 205.2Web管理端實(shí)現(xiàn) 355.3服務(wù)端實(shí)現(xiàn) 375.4本章總結(jié) 42第六章系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 436.1PowerDesigner表設(shè)計(jì): 436.2數(shù)據(jù)庫表: 436.3本章總結(jié) 44第七章總結(jié)與展望 457.1本文總結(jié) 457.2工作展望 45參考文獻(xiàn) 46致謝 47摘要隨著互聯(lián)網(wǎng)的不斷發(fā)展,手機(jī)的功能不斷豐富,在日常生活中為人們提供了各種各樣的便利,本文介紹的房屋租賃管理系統(tǒng)就是處于這個(gè)大環(huán)境中。每一年中國都會(huì)出現(xiàn)龐大的就業(yè)需求和就業(yè)者,而就業(yè)者在一個(gè)地方的工作對(duì)住宿的需求是硬性的,于是租房成了第一選擇,傳統(tǒng)模式下一位租客需要租房時(shí)一般會(huì)通過中介獲取更多的可租房源信息,房東在出租房屋時(shí)也無法定位租客人群,于是在尋找租房和出租住房的過程中產(chǎn)生了極大的不便。隨著手機(jī)的普及和Android操作系統(tǒng)的用戶量增長(zhǎng),我們可以將兩者結(jié)合創(chuàng)建一個(gè)基于Android系統(tǒng)的房屋租賃管理平臺(tái),使房東與房客可以進(jìn)行點(diǎn)對(duì)點(diǎn)的交流和選擇,同時(shí)也沒有了中介,提升了便利性。Android龐大的用戶基數(shù)可以對(duì)平臺(tái)提供良好的數(shù)據(jù)支持,因此基于Android系統(tǒng)的房屋租賃管理平臺(tái)會(huì)具有良好的發(fā)展前景。本文對(duì)Android操作系統(tǒng)和房屋租賃平臺(tái)進(jìn)行了簡(jiǎn)要的介紹,對(duì)平臺(tái)的系統(tǒng)分析和設(shè)計(jì)以及實(shí)現(xiàn)進(jìn)行了較為詳細(xì)的介紹,最后介紹了系統(tǒng)的演示。關(guān)鍵詞:Android;房屋租賃;APP;無中介AbstractWiththecontinuousdevelopmentoftheInternet,thefunctionsofmobilephoneshavebeencontinuouslyenriched,providingpeoplewithvariousconveniencesindailylife.Thehousingrentalmanagementsystemintroducedinthisarticleisinthislargeenvironment.EveryyearinChina,therewillbehugeemploymentdemandandemployment,andthedemandforaccommodationintheworkofapersoninoneplaceisrigid.Therefore,rentinghasbecomethefirstchoice.Underthetraditionalmodel,whenatenantneedstorent,itwillgenerallyacquiremorerentablehouseinformationthroughtheintermediary,andthelandlordcannotchoosetherentergroupwhenrentingthehouse,thuscausinggreatinconvenienceintheprocessofsearchingforrentingandrentingthehouse.WiththepopularityofmobilephonesandthegrowingnumberofusersoftheAndroidoperatingsystem,wecancombinethetwotocreateahousingrentalmanagementplatformbasedontheAndroidsystem,sothatlandlordsandtenantscanconductpeer-to-peerexchangesandchoices,andthereisnointermediarytoupgrade.It'sconvenience.Android'shugeusercanprovidegooddatasupportfortheplatform,sotheAndroid-basedhousingrentalmanagementplatformwillhaveagooddevelopmentinthefuture.ThisarticlebrieflyintroducestheAndroidoperatingsystemandthehousingrentalplatform,introducesthesystemanalysis,designandimplementationoftheplatformindetail,andfinallyintroducesthesystemdemonstration.Keywords:Android;rental;APP;nointermediary

前言Android發(fā)展勢(shì)頭兇猛,在移動(dòng)設(shè)備操作系統(tǒng)上占據(jù)半壁江山,近年來Google的大力支持讓Android平臺(tái)跨上了新的臺(tái)階,本次的應(yīng)用程序是基于Android的房屋租賃管理系統(tǒng),在移動(dòng)設(shè)備作用越來越重要的今天,Android移動(dòng)應(yīng)用程序的良好體驗(yàn)離不開Android本身的進(jìn)步和發(fā)展。本文主要闡述房屋租賃平臺(tái)的Android客戶端開發(fā),管理員網(wǎng)頁界面開發(fā),和整個(gè)系統(tǒng)的服務(wù)端開發(fā)。主要工作包括:使用AndroStudio完成Android客戶端開發(fā),主要完成的有注冊(cè)登錄、房源信息展示、房源推薦、房源篩選、個(gè)人信息管理、發(fā)布房源和收藏房源等功能。使用Eclipse+Tomcat完成服務(wù)端相應(yīng)需求的接口和業(yè)務(wù)邏輯邏輯編碼,以及網(wǎng)頁的設(shè)計(jì)和服務(wù)端的網(wǎng)絡(luò)部署。使用MySQL數(shù)據(jù)庫保存系統(tǒng)涉及到的用戶和房源數(shù)據(jù)。

緒論本章首先對(duì)Android系統(tǒng)和房屋租賃系統(tǒng)做簡(jiǎn)單的介紹,然后介紹本文組織結(jié)構(gòu)。Android系統(tǒng)簡(jiǎn)介Android一詞英文本義指“機(jī)器人”,它是由Google公司于2007年11月推出的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng),依靠Google公司的強(qiáng)大開發(fā)和媒體資源,Android成為眾多手機(jī)廠商競(jìng)相追逐的對(duì)象,逐漸發(fā)展成為當(dāng)下流行的手機(jī)開發(fā)平臺(tái)[1]。Android是一個(gè)包括操作系統(tǒng)、中間件、用戶界面和關(guān)鍵應(yīng)用軟件的移動(dòng)設(shè)備軟件堆。換言之,Android是基于Java并運(yùn)行在Linux內(nèi)核上的輕量級(jí)操作系統(tǒng),其功能全面,包括一系列Google公司在其上內(nèi)置的應(yīng)用軟件,如電話、短信等基本應(yīng)用功能。Android系統(tǒng)具有很強(qiáng)的開放性,開放的系統(tǒng)允許任何移動(dòng)終端廠商能夠加入到Android聯(lián)盟中來。Android系統(tǒng)主要使用在手機(jī)和平板上,但隨著時(shí)間的推移,Google還為電視推出了AndroidTV,為汽車推出了AndroidAuto以及為可穿戴設(shè)備推出了AndroidWear[2]。房屋租賃平臺(tái)介紹用戶可以通過該系統(tǒng)進(jìn)行出租房屋和租住房屋的操作,提供雙向選擇的機(jī)會(huì),沒有中介。中國每年都有無數(shù)人踏入社會(huì)尋找工作,同時(shí)很多城市也有數(shù)量眾多的外來務(wù)工人員,面對(duì)住宿的硬性需求,租房成為不二之選,于是租房的需求持續(xù)而穩(wěn)定。該系統(tǒng)可提供大量的房屋租賃資源,租客使用該系統(tǒng)可直接與房東進(jìn)行交流,不需要去尋找中介或者租客自己苦苦尋覓位置、價(jià)位、配置等適合自己的租房,提高生活質(zhì)量。房東使用該系統(tǒng)將自己需要出租的房屋放在平臺(tái)上,提高租出去的機(jī)會(huì)。系統(tǒng)會(huì)對(duì)提交的房屋資源進(jìn)行核實(shí),避免平臺(tái)出現(xiàn)虛假房屋信息,與此同時(shí),租房用戶也有舉報(bào)入口舉報(bào)虛假資源和其他問題等等,一旦核實(shí)為虛假資源或者是惡意舉報(bào),則進(jìn)行相應(yīng)處罰。管理員和用戶一同監(jiān)督平臺(tái),維護(hù)平臺(tái)上信息的真實(shí)性。本文組織結(jié)構(gòu)第一章:緒論。本章介紹課題背景和本文的組織結(jié)構(gòu)。第二章:技術(shù)介紹。本章介紹系統(tǒng)的技術(shù)背景。在系統(tǒng)開發(fā)過程中使用到的一些技術(shù),如Android操作系統(tǒng)、J2EE、ProtoBuf和MySQL等,以及B/S和C/S軟件體系結(jié)構(gòu)。第三章:系統(tǒng)需求分析。本章介紹系統(tǒng)的功能需求、性能需求、運(yùn)行需求和其他需求,以及需求腦圖。第四章:系統(tǒng)設(shè)計(jì)。本章介紹系統(tǒng)的結(jié)構(gòu)和使用流程設(shè)計(jì)。第五章:系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)。本章介紹系統(tǒng)的數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)。第六章:系統(tǒng)實(shí)現(xiàn)。本章對(duì)系統(tǒng)的具體實(shí)現(xiàn)進(jìn)行了詳細(xì)的闡述。包括Android客戶端、Web管理端和服務(wù)端實(shí)現(xiàn)。第七章:總結(jié)與展望??偨Y(jié)全文,提出了系統(tǒng)可以優(yōu)化的地方并對(duì)系統(tǒng)未來的發(fā)展方向做了規(guī)劃。

技術(shù)介紹本章詳細(xì)介紹開發(fā)房屋租賃平臺(tái)過程中所使用的技術(shù):Android技術(shù)、J2EE技術(shù)、ProtocolBuffer數(shù)據(jù)傳輸技術(shù)、MySQL數(shù)據(jù)庫技術(shù)。以及軟件系統(tǒng)體系結(jié)構(gòu):客戶端/服務(wù)器(C/S)結(jié)構(gòu)、瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)。2.1Android操作系統(tǒng)簡(jiǎn)介2.1.1結(jié)構(gòu)Android是一種基于Linux的自由開放源代碼的操作系統(tǒng),主要用于移動(dòng)設(shè)備,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。Android提供了一個(gè)統(tǒng)一的應(yīng)用程序開發(fā)方法,使Android應(yīng)用程序能夠運(yùn)行在不同的搭載了Android的移動(dòng)設(shè)備上[3]。Android采用了四層的分層架構(gòu),從第到高分別是Linux內(nèi)核層、系統(tǒng)運(yùn)行庫層、應(yīng)用程序框架層和應(yīng)用程序?qū)?。Linux內(nèi)核層:在所有層的最底下是Linux3.6,提供了如進(jìn)程管理、內(nèi)存管理、設(shè)備管理等基本的系統(tǒng)功能,同時(shí)內(nèi)核也會(huì)處理網(wǎng)絡(luò)和設(shè)備驅(qū)動(dòng)。系統(tǒng)運(yùn)行層:系統(tǒng)運(yùn)行庫層包括了開源的瀏覽器引擎Webkit,用于存儲(chǔ)和應(yīng)用數(shù)據(jù)共享的SQLite數(shù)據(jù)庫,libc庫以及用于網(wǎng)絡(luò)安全的SSL庫等。與此同時(shí),也包括為Android開發(fā)的基于Java的程序庫,如用戶界面構(gòu)建、圖形繪制和數(shù)據(jù)庫訪問需要使用。應(yīng)用程序框架層:應(yīng)用框架層則以Java類的形式為應(yīng)用程序提供許多高級(jí)的服務(wù)。如活動(dòng)管理者,內(nèi)容提供者,資源管理器,通知管理器以及視圖系統(tǒng)。應(yīng)用程序?qū)樱何覀儜?yīng)用程序的開發(fā)則在應(yīng)用程序?qū)又羞M(jìn)行[4]。2.1.2組件Android應(yīng)用程序組件是Android應(yīng)用程序的基本構(gòu)建塊,這些組件由應(yīng)用清單文件進(jìn)行松耦合的組織,包括四個(gè)主要組件:Activities、Service、BroadcastReceivers和ContentProviders。Activities:一個(gè)Activity標(biāo)識(shí)一個(gè)具有用戶界面的單一屏幕。Service:是運(yùn)行在后臺(tái),執(zhí)行長(zhǎng)時(shí)間操作的組件。BroadcastReceivers:簡(jiǎn)單的響應(yīng)從系統(tǒng)或其他應(yīng)用程序發(fā)來的廣播消息。ContentProviders:通過請(qǐng)求從一個(gè)應(yīng)用程序到另一個(gè)應(yīng)用程序提供數(shù)據(jù)。2.1.3特點(diǎn)Android操作系統(tǒng)有很多特點(diǎn)讓他能夠如此的快速發(fā)展:開源性:開源性是Android平臺(tái)最大的特點(diǎn)。開源使得Android移動(dòng)設(shè)備廠商降低了操作系統(tǒng)開發(fā)成本,進(jìn)而使移動(dòng)設(shè)備價(jià)格更加親民。在Android開源的大環(huán)境中具有很多的開發(fā)者和豐富的軟件資源,當(dāng)積累到一定規(guī)模之后,能吸引更多的人力和物力資源從而形成良性循環(huán)[5]。豐富的硬件選擇:由于Android的開放性,廠商為了吸引用戶會(huì)在Android原生系統(tǒng)上進(jìn)行改造加入具有自己特色功能,豐富了用戶的選擇和體驗(yàn)。良好的結(jié)合Google應(yīng)用:得益于Google的支持,使得使用Android系統(tǒng)的手機(jī)可以良好的使用Google的其他服務(wù),比如搜索、郵件、Google地圖等。開發(fā)的便捷性:Android的開放使得第三方非常方便的開發(fā)需要的軟件,眾多的開源代碼庫也使得開發(fā)變得更加簡(jiǎn)單方便。使用Android開發(fā)的軟件的功能也在不斷的推陳出新,新的思想也在不斷涌現(xiàn)[6]。跨平臺(tái):Android使用java開發(fā)也繼承了java跨平臺(tái)的優(yōu)點(diǎn),任何Android應(yīng)用幾乎無需任何修改就能運(yùn)行于所有的Android設(shè)備。Google強(qiáng)大的技術(shù)支持:Android得益于Google的支持變得越來越強(qiáng)大,Google豐厚的技術(shù)實(shí)力,讓Chrome瀏覽器、GoogleNow語音命令、谷歌地圖等優(yōu)質(zhì)服務(wù)在Android平臺(tái)上完美支持,同時(shí)Google在互聯(lián)網(wǎng)界的強(qiáng)大號(hào)召力,讓Android在短期內(nèi)迅速吸引到了運(yùn)營商、制造商和開發(fā)者的支持,更重要的是Google強(qiáng)大的開發(fā)能力也保證了Android有著持續(xù)有效的產(chǎn)品迭代,使其不斷完善。2.1.4不足作為Android應(yīng)用的開發(fā)者,也應(yīng)該了解到Android的不足:安全性:Android由于歷史遺留原因,權(quán)限管理方面的機(jī)制不完善,導(dǎo)致安全性成為一個(gè)被人所詬病的點(diǎn)。同時(shí)在國內(nèi)GoogleStore的缺失,導(dǎo)致Android用戶不得不安裝各種渠道的應(yīng)用,從而帶來較大的安全隱患。由于Android的開放性,用戶打開過哪些網(wǎng)頁,瀏覽過哪些信息,保存過哪些信息等等,這些足跡都可能被暴露出去,因此當(dāng)用戶打開網(wǎng)頁時(shí)會(huì)發(fā)現(xiàn)一些推薦功能或廣告。功能依賴第三方:新功能一直在努力的添加,但這需要時(shí)間和努力。比如曾經(jīng)SDK中沒有內(nèi)置音樂播放器,全部依賴第三方開發(fā)。跨平臺(tái)犧牲了部分性能:使用虛擬機(jī)技術(shù),Android在性能上是有一些劣勢(shì)的。曾經(jīng)很長(zhǎng)一段時(shí)間Android使用自研Dalvik虛擬機(jī)提供應(yīng)用程序框架支持并運(yùn)行各種應(yīng)用程序。Dalvik虛擬機(jī)的優(yōu)點(diǎn)是可以讓各種各樣的應(yīng)用程序運(yùn)行在多種硬件架構(gòu)上,但應(yīng)用程序每次運(yùn)行時(shí)其中一部分代碼都要需要機(jī)器重新編譯。這個(gè)過程即消耗時(shí)間又要消耗系統(tǒng)資源,所以執(zhí)行效率會(huì)降低[7]。Android為支持各種不同的硬件,兼容性也會(huì)帶來性能的犧牲。由于版權(quán)問題,很多硬件的驅(qū)動(dòng)并沒有放在linux內(nèi)核層而是放在了用戶態(tài),這也一定程度上犧牲了性能。然而Android的運(yùn)行性能正在得到逐步改善。從Android5.0開始Dalvik虛擬機(jī)被徹底廢棄,改為使用ART運(yùn)行環(huán)境。相比Dalvik,ART的處理機(jī)制完全不同,它會(huì)在應(yīng)用程序安裝時(shí)就把程序代碼轉(zhuǎn)換成機(jī)器語言,讓程序成為真正的本地應(yīng)用[8]。這樣做的好處是程序的啟動(dòng)時(shí)間被極大的提高,運(yùn)行速度也會(huì)更快。電量消耗的更少,系統(tǒng)行也跟著更加流暢。我們也期待未來Android還會(huì)有進(jìn)一步的優(yōu)化。2.2ProtocolBuffer數(shù)據(jù)傳輸介紹ProtocolBuffers是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)格式,可以用于結(jié)構(gòu)化數(shù)據(jù)串行化,或者說序列化。它很適合做數(shù)據(jù)存儲(chǔ)或RPC數(shù)據(jù)交換格式??捎糜谕ㄓ崊f(xié)議、數(shù)據(jù)存儲(chǔ)等領(lǐng)域的語言無關(guān)、平臺(tái)無關(guān)、可擴(kuò)展的序列化結(jié)構(gòu)數(shù)據(jù)格式。目前提供了C++、Java、Python三種語言的API。它是一種效率和兼容性都很優(yōu)秀的二進(jìn)制數(shù)據(jù)傳輸格式,可以用于諸如網(wǎng)絡(luò)傳輸、配置文件、數(shù)據(jù)存儲(chǔ)等諸多領(lǐng)域。ProtocalBuffer簡(jiǎn)稱protobuf,在前后端進(jìn)行消息傳輸過程中會(huì)先確定消息結(jié)構(gòu)。如圖2.1所示:圖2.1proto示例使用protobuf提供的編譯器將以上結(jié)構(gòu)編碼生成.java文件即可在代碼中通過對(duì)象的方式獲取傳輸?shù)南ⅰ?.3MySQL數(shù)據(jù)庫簡(jiǎn)介MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQLAB公司開發(fā),目前屬于

Oracle

旗下產(chǎn)品。MySQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,在WEB應(yīng)用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件。MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL具有單點(diǎn)(Single)、復(fù)制(Replication)、集群(Cluster)的應(yīng)用架構(gòu)特點(diǎn)。支持多線程,可以充分利用CPU資源,既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中,并且提供多語言支持,常見的編碼如中文的

GB2312、BIG5,日文的

Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名[9]。在5.6版本中也新增了一些功能,如:在線DDL/更改功能,使數(shù)據(jù)架構(gòu)支持動(dòng)態(tài)應(yīng)用程序;支持自我修復(fù)式集群;復(fù)制無崩潰從機(jī),提高可用性;復(fù)制多線程從機(jī),可提高性能;原生JSON支持;GIS的空間擴(kuò)展等等。2.4軟件體系應(yīng)用結(jié)構(gòu):B/S結(jié)構(gòu)C/S結(jié)構(gòu)2.4.1C/S結(jié)構(gòu)C/S結(jié)構(gòu)是客戶端/服務(wù)器結(jié)構(gòu),傳統(tǒng)的C/S結(jié)構(gòu)中,客戶端承擔(dān)了整個(gè)系統(tǒng)很多的處理工作,與之不同的是,我們的客戶端是在Android手機(jī)上,并且由于用戶量的可增長(zhǎng)性,對(duì)運(yùn)行速度和響應(yīng)速度提出了更高的要求[10]。如今的手機(jī)應(yīng)用更像是CSBS結(jié)構(gòu)的復(fù)合結(jié)構(gòu),兼具兩者特點(diǎn):從Android端和服務(wù)端來看它是C/S結(jié)構(gòu),但它又不是嚴(yán)格的C/S結(jié)構(gòu),因?yàn)檫@里Android主要負(fù)責(zé)顯示,而復(fù)雜的事務(wù)處理是通過廣域網(wǎng)絡(luò)交給服務(wù)端來完成的,從這一點(diǎn)來看又有B/S結(jié)構(gòu)的特點(diǎn)。2.4.2B/S結(jié)構(gòu)B/S結(jié)構(gòu)是瀏覽器/服務(wù)器結(jié)構(gòu),無須特別安裝客戶端,通過瀏覽器就可以實(shí)現(xiàn)多客戶訪問的目的,而且可以接受不可知用戶和數(shù)量巨大的訪問,但是對(duì)安全性和負(fù)載均衡設(shè)計(jì)會(huì)有較高要求[11]。相比于C/S結(jié)構(gòu),B/S不需要體量龐大的客戶端,同時(shí)瀏覽器的升級(jí)相對(duì)于對(duì)每個(gè)C/S中的客戶端升級(jí)來說會(huì)更加方便,在成本方面也得到了很好的控制[12]。實(shí)際上瀏覽器也可以看做一種特殊的客戶端,只是這個(gè)客戶端是輕量級(jí)的。隨著Internet的發(fā)展,B/S結(jié)構(gòu)也逐漸顯現(xiàn)出優(yōu)勢(shì):升級(jí)和維護(hù)在服務(wù)端進(jìn)行即可,極大的降低了成本。房屋租賃系統(tǒng)后臺(tái)管理采用瀏覽器/服務(wù)器模式,即使用了B/S結(jié)構(gòu),管理員通過瀏覽器登錄驗(yàn)證后,即可進(jìn)行相應(yīng)的管理操作。2.5本章小結(jié)本章介紹的Android技術(shù)、服務(wù)端開發(fā)技術(shù)、protobuf數(shù)據(jù)傳輸技術(shù)、MySQL數(shù)據(jù)庫技術(shù)等等為房屋租賃系統(tǒng)的完成提供了良好的技術(shù)支持。一個(gè)系統(tǒng)的開發(fā)涉及方方面面,需要不同技術(shù)的良好使用和配合。

系統(tǒng)需求分析主要對(duì)系統(tǒng)的需求分析進(jìn)行敘述。首先闡述功能需求,總體上介紹系統(tǒng)的功能,功能的劃分以及詳細(xì)的功能需求;其次,簡(jiǎn)要敘述下其他需求,如性能需求、運(yùn)行需求和安全性、可維護(hù)性等其它需求;在分析過程中,通過系統(tǒng)用例圖來詳細(xì)說明。3.1功能需求本系統(tǒng)是為Android用戶提供的一個(gè)房屋租賃平臺(tái),主要解決用戶自己找房租房的問題,提供房客和房東直接對(duì)話的便利性。用戶能通過APP找到合適滿意的租房。該平臺(tái)的主要服務(wù)對(duì)象是租房的用戶和出租的用戶。同時(shí)還有平臺(tái)的管理員,進(jìn)行房源審核和舉報(bào)處理。3.1.1Android客戶端功能該租賃系統(tǒng)Android客戶端主要包含以下功能:用戶進(jìn)入系統(tǒng)通過手機(jī)號(hào)和密碼進(jìn)行注冊(cè)登錄,之后自動(dòng)登錄首頁默認(rèn)顯示用戶當(dāng)前所在地三千米范圍內(nèi)的有效房源信息用戶可搜索指定地點(diǎn)周圍的房源信息,無城市限制用戶可設(shè)定租金和范圍和房源信息排序方式用戶查找房源,有多種篩選條件(租金,出租方式,戶型,房屋配置,性別,特色)房源位置信息支持百度地圖顯示提供舉報(bào)功能用戶發(fā)布房源,點(diǎn)擊發(fā)布房源按鈕進(jìn)行房源詳細(xì)信息編輯功能房源收藏功能,用戶可在個(gè)人界面查看收藏的房源信息用戶可查看自己發(fā)布的房源信息用戶可修改自己發(fā)布的房源狀態(tài)(可租、已滿)用戶可修改個(gè)人信息支持切換登錄3.1.2平臺(tái)管理員Web端功能Web端管理員主要包含以下功能:賬號(hào)密碼登錄房源信息審核舉報(bào)處理3.2性能需求支持高并發(fā)連接數(shù)要做到連接穩(wěn)定,用戶后臺(tái)運(yùn)行時(shí)依然保持連接,保證信息及時(shí)接收,系統(tǒng)響應(yīng)時(shí)間應(yīng)在人的感覺和視覺范圍內(nèi)(<1s),數(shù)據(jù)傳輸足夠迅速(<3s),能夠滿足用戶要求3.3運(yùn)行需求3.3.1用戶界面需求:界面簡(jiǎn)潔清晰,易操作,格式嚴(yán)謹(jǐn),能匹配不同尺寸的手機(jī)設(shè)備應(yīng)包含提醒機(jī)制,提示用戶正確輸入和正確操作配色溫和簡(jiǎn)約,扁平化風(fēng)格信息位置分配合理,租房?jī)r(jià)格重點(diǎn)突出3.3.2接口需求:Android用戶使用移動(dòng)設(shè)備進(jìn)行訪問,適用于安卓版本4.0以上的用戶管理員以使用瀏覽器進(jìn)行訪問,Web端適用于現(xiàn)代瀏覽器,不兼容IE6/73.3.3故障處理需求:支持日志記錄,記錄用戶的操作及故障信息,便于查錯(cuò)和維護(hù)3.4其他需求3.4.1安全性需求:登錄具有唯一性(不同手機(jī)登錄成功時(shí)先登錄的會(huì)下線)登錄需要賬號(hào)密碼都正確無誤才能通過驗(yàn)證客戶端做驗(yàn)證,服務(wù)端也做驗(yàn)證,保證信息無誤3.4.2可維護(hù)性需求:支持增量更新,支持在現(xiàn)有版本上進(jìn)行進(jìn)一步的開發(fā)豐富功能良好的可擴(kuò)展性,使用成熟的Android和JavaEE開發(fā)技術(shù),以及成熟的應(yīng)用框架使客戶端和服務(wù)端具有良好的可擴(kuò)展性在操作方式、運(yùn)行環(huán)境、軟件接口或開發(fā)計(jì)劃發(fā)生變化時(shí),應(yīng)具有適應(yīng)能力3.5需求用例圖用于形象展示系統(tǒng)中各種對(duì)象的功能需求,直觀地理解系統(tǒng)的功能組成。如圖3.1所示是平臺(tái)管理員的功能需求用例圖,圖3.2是系統(tǒng)用戶的功能需求用例圖。圖3.1管理員需求用例圖圖3.2用戶需求用例圖3.6本章總結(jié)需求分析是軟件計(jì)劃階段的重要活動(dòng),也是軟件生存周期中的一個(gè)重要環(huán)節(jié),該階段是分析系統(tǒng)在功能上需要做什么,確定用戶對(duì)系統(tǒng)軟件的需求。通過用戶對(duì)該租賃系統(tǒng)提出的“要求”或“需要”進(jìn)行分析與整理后,得到了完整、清晰、具體的要求,確定了軟件需要實(shí)現(xiàn)以上的功能。于開發(fā)者來講,與用戶的溝通至關(guān)重要,準(zhǔn)確的抓取用戶的需求點(diǎn)才能做好需求分析的工作,才能提高軟件的質(zhì)量。

系統(tǒng)設(shè)計(jì)本章介紹房屋租賃系統(tǒng)的設(shè)計(jì)過程,在著手編程之前,系統(tǒng)設(shè)計(jì)尤為重要。良好的結(jié)構(gòu)設(shè)計(jì)可以使系統(tǒng)具有更好的擴(kuò)展性。包括軟件的模塊組成和接口設(shè)計(jì)以及使用流程設(shè)計(jì)。4.1結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)包括各類用戶的使用流程,合理的流程設(shè)計(jì)可以更快的理解系統(tǒng)的功能劃分。如圖4.1是租房用戶的使用流程圖,如圖4.2是作為房東的用戶的使用流程圖,如圖4.3是web管理端的用戶管理流程圖,如圖4.4是系統(tǒng)模塊結(jié)構(gòu)圖。圖4.1租房用戶流程圖圖4.2房東用戶流程圖圖4.3web端管理流程圖圖4.4系統(tǒng)模塊結(jié)構(gòu)圖4.1.1Android客戶端功能模塊設(shè)計(jì):注冊(cè)登錄模塊:第一次登錄需要使用手機(jī)號(hào)和密碼注冊(cè)登錄,之后再登錄時(shí)自動(dòng)登入。個(gè)人信息模塊:用戶個(gè)人賬號(hào)等信息,以及收藏的房源和作為房東發(fā)布的房源信息。尋找房源模塊:登入時(shí)會(huì)顯示用戶所在地三千米范圍內(nèi)的可租房源,也可指定地點(diǎn)和多種篩選條件尋找房源。發(fā)布房源模塊:發(fā)布房源時(shí)需要提供房源的詳細(xì)信息甚至是對(duì)租客的要求。4.1.2Web管理端功能模塊設(shè)計(jì):管理員登錄模塊:對(duì)管理員的身份信息進(jìn)行驗(yàn)證。房源信息審核模塊:對(duì)用戶提交的房源進(jìn)行真實(shí)性審核,如果內(nèi)容虛假則返回通知信息告知用戶房源出現(xiàn)問題。舉報(bào)信息處理模塊:對(duì)用戶提交的舉報(bào)信息進(jìn)行處理和審核,如若屬實(shí)則進(jìn)行相應(yīng)記錄和處罰。4.2接口設(shè)計(jì)4.2.1Android內(nèi)部接口設(shè)計(jì)通過Intent控制器進(jìn)行各個(gè)界面Activity之間的切換,訪問百度地圖API接口獲取玩家所在位置信息。4.2.2服務(wù)端訪問接口設(shè)計(jì)服務(wù)端一個(gè)訪問接口代表了客戶端的一個(gè)訪問需求,主要如下:注冊(cè)登錄接口查詢房屋信息接口舉報(bào)虛假信息接口房源收藏接口查看已收藏房源接口修改個(gè)人信息接口修改房屋租住狀態(tài)接口提交新房源信息接口查看自己發(fā)布的房源接口4.3本章總結(jié)本章介紹了系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),包括Android端、web端的功能模塊劃分;也介紹了接口設(shè)計(jì),包括Android客戶端內(nèi)部接口設(shè)計(jì)和服務(wù)端的信息訪問接口設(shè)計(jì)。通過系統(tǒng)的設(shè)計(jì)過程讓編碼的目標(biāo)和實(shí)現(xiàn)更加有方向性和指導(dǎo)性。

系統(tǒng)實(shí)現(xiàn)本章介紹房屋租賃系統(tǒng)的實(shí)現(xiàn)過程,包括三個(gè)方面:Android手機(jī)客戶端、Web平臺(tái)管理端、服務(wù)器端。5.1Android客戶端實(shí)現(xiàn)5.1.1注冊(cè)登錄模塊和主界面用戶第一次進(jìn)入系統(tǒng)時(shí),需要輸入手機(jī)號(hào)和密碼進(jìn)行注冊(cè)登錄,在這個(gè)過程中會(huì)保存用戶的手機(jī)號(hào)和密碼使之能自動(dòng)登錄。如圖5.1,顯示了系統(tǒng)的注冊(cè)登錄界面。圖5.1系統(tǒng)登錄界面應(yīng)用通過SharedPreferences保存手機(jī)號(hào)和密碼,在進(jìn)入主界面時(shí)進(jìn)行賬號(hào)的注冊(cè)或登錄以及主界面的初始化。在主界面使用了三個(gè)Fragment和一個(gè)導(dǎo)航欄進(jìn)行首頁房源信息、通知信息和用戶信息的界面切換,如圖5.2是主界面的三個(gè)Fragment對(duì)應(yīng)的界面。如圖5.3是主界面的初始化代碼,圖5.4是通過Service進(jìn)行的請(qǐng)求socket連接的代碼。圖5.2系統(tǒng)主界面:首頁、消息、用戶圖5.3主界面初始化圖5.4請(qǐng)求socket連接主界面首頁顯示了默認(rèn)推薦的房源和尋找以及發(fā)布房源的入口。消息界面顯示了用戶收到的通知信息,如用戶發(fā)布房源等操作需要系統(tǒng)給出反饋,通過消息模塊,使系統(tǒng)能及時(shí)的和用戶進(jìn)行信息交互,被判定為發(fā)布虛假信息也會(huì)通知處理結(jié)果。用戶界面顯示了個(gè)人簡(jiǎn)略信息以及提供查看收藏的房源和發(fā)布的房源入口。5.1.2尋找房源模塊尋找房源模塊是系統(tǒng)的核心模塊,主要是用戶對(duì)查詢到的房源信息進(jìn)行查看和篩選。進(jìn)入主界面時(shí),系統(tǒng)會(huì)默認(rèn)為用戶推送用戶所在地點(diǎn)的附近三千米以內(nèi)的可用房源,點(diǎn)擊尋找房源按鈕,即可進(jìn)行進(jìn)一步的篩選,并提供了豐富的篩選條件。如圖5.5所示,是房源信息界面,通過ListView進(jìn)行房源簡(jiǎn)略信息的顯示,圖5.6是相關(guān)代碼。圖5.5房源信息 圖5.6房源篩選上系統(tǒng)默認(rèn)提供了三個(gè)篩選方向和一些具體的條件。三個(gè)方向包括租金、排序、和范圍,如圖5.7所示是篩選條件的三個(gè)下拉框中具體的條件設(shè)置。其他條件的設(shè)置如圖5.8所示,通過使用CheckedTextView和復(fù)選樣式的結(jié)合實(shí)現(xiàn)多選的效果,相比于多選框更加具有靈活性并且樣式也更加容易多變和控制。圖5.7篩選條件 圖5.8其他條件在主界面或房源界面點(diǎn)擊房源簡(jiǎn)略信息即可進(jìn)入房屋信息界面查看房屋的具體信息,如圖5.9是房屋的詳細(xì)信息的展示界面。圖5.9房屋詳細(xì)信息界面5.1.3發(fā)布房源模塊發(fā)布房源需要填寫非常詳細(xì)的關(guān)于房源的信息,包括:所在小區(qū)和樓層。出租方式:整租、合租。戶型:幾室?guī)讖d幾衛(wèi)。租金:多少元/月。面積:出租面積。設(shè)施:冰箱、洗衣機(jī)、寬帶、衛(wèi)生間、沙發(fā)等等。房間配置:?jiǎn)稳舜?、雙人床、寫字臺(tái)、衣柜等等。裝修:毛坯、普通裝修、精裝修、豪華裝修。付款方式:付三押一、付一押二、半年付、整年付等等。對(duì)租客的要求:不抽煙、男生、女生、作息規(guī)律等等。通過主界面的發(fā)布房源入口可進(jìn)行房源的發(fā)布,如圖5.10所示是發(fā)布房源界面,圖5.11是房屋設(shè)施的選擇界面,圖5.12是裝修和付款方式選擇界面,圖5.13是房間配置和出租方式選擇界面。圖5.10發(fā)布房源界面 圖5.11設(shè)施選擇界面圖5.12裝修和付款方式選擇界面圖5.13房間配置和出租方式選擇界面發(fā)布房源時(shí)對(duì)提供的房源信息的描述越詳細(xì),租客就可以越方便根據(jù)自己的特定喜好去查找心儀房源。5.1.4收藏房源模塊在房屋的詳細(xì)信息界面可以對(duì)房源進(jìn)行收藏操作,收藏房源之后,可以在個(gè)人信息的收藏房源的收藏夾中查看收藏的房源信息,做進(jìn)一步的對(duì)比選擇更加滿意的房源。在用戶對(duì)房源進(jìn)行收藏之后,同時(shí)按鈕將會(huì)變成取消收藏,表示用戶已經(jīng)對(duì)此房源進(jìn)行了收藏,在用戶進(jìn)入查看房屋信息界面也同樣會(huì)對(duì)該房屋是否已經(jīng)被該用戶收藏進(jìn)行檢測(cè),動(dòng)態(tài)變化按鈕樣式。同時(shí)收藏或取消收藏都會(huì)會(huì)向服務(wù)端發(fā)送消息更新用戶相關(guān)數(shù)據(jù)。界面如圖5.14,注意按鈕的變化,圖5.15是按鈕信息改變和向服務(wù)端請(qǐng)求消息相關(guān)代碼實(shí)現(xiàn)。圖5.14收藏和取消收藏圖5.15更新按鈕樣式并發(fā)送請(qǐng)求消息代碼6.1.5個(gè)人信息模塊個(gè)人信息包括用戶的基礎(chǔ)信息和用戶收藏的房源,以及用戶發(fā)布的房源。點(diǎn)擊用戶界面的用戶頭像,可查看用戶基本信息,選擇修改個(gè)人信息則可以對(duì)基本信息進(jìn)行修改,同時(shí)提供切換登錄的功能,如圖5.16所示。圖5.16用戶界面和基礎(chǔ)信息界面用戶在收藏房源界面可以查看自己收藏過的房源信息,以進(jìn)行進(jìn)一步的對(duì)比和選擇,如圖5.17所示,如果在此界面想取消收藏,點(diǎn)進(jìn)房屋信息取消收藏即可。如圖5.18是向服務(wù)端發(fā)送請(qǐng)求獲取用戶收藏的房源信息代碼實(shí)現(xiàn)。圖5.17收藏的房源界面圖5.18請(qǐng)求獲取用戶收藏的房源用戶發(fā)布的房源,用戶可以在這個(gè)界面查看自己發(fā)布的房源,并根據(jù)實(shí)際情況,對(duì)房屋租住狀態(tài)進(jìn)行修改,如圖5.19,房源的信息獲取邏輯同獲取用戶收藏房源。房東對(duì)租房的可租狀態(tài)進(jìn)行設(shè)置的時(shí)候,會(huì)向服務(wù)端發(fā)送消息,更改租房當(dāng)前狀態(tài),可租或不可租。

圖5.23發(fā)布的房源界面5.1.6舉報(bào)信息模塊在房源具體信息的底部有舉報(bào)功能入口,如果用戶發(fā)現(xiàn)此房源信息不屬實(shí)或存在其他問題,可通過舉報(bào)接口進(jìn)行舉報(bào),如圖5.20所示。圖5.20舉報(bào)5.2Web管理端實(shí)現(xiàn)5.2.1登錄模塊該模塊為管理員提供登錄功能,驗(yàn)證登錄者身份是否是該平臺(tái)的管理員。如圖5.21是系統(tǒng)后臺(tái)的登錄界面。圖5.21登錄界面5.2.2房源審核模塊驗(yàn)證通過之后,進(jìn)入房源信息審核界面,對(duì)房源的真實(shí)性和重復(fù)性進(jìn)行核查。界面如圖5.22所示,審核通過的房源會(huì)在提交時(shí)將uid一并提交到服務(wù)端進(jìn)行處理,代碼如圖5.23所示。圖5.22房源審核界面圖5.23設(shè)計(jì)提交信息5.2.3舉報(bào)信息處理模塊在web端顯示用戶提交的舉報(bào)信息,管理員通過舉報(bào)信息進(jìn)行用戶信息驗(yàn)證,屬實(shí)將會(huì)進(jìn)行記錄和進(jìn)一步處理。界面如圖5.24所示,對(duì)于確定存在非法操作的用戶,會(huì)在提交時(shí)將用戶id一并發(fā)送給服務(wù)端。圖5.24舉報(bào)信息處理界面5.3服務(wù)端實(shí)現(xiàn)服務(wù)端承擔(dān)了消息處理,數(shù)據(jù)存儲(chǔ),信息驗(yàn)證等等重要功能。良好的服務(wù)端結(jié)構(gòu)將使應(yīng)用程序具有更強(qiáng)的擴(kuò)展性。服務(wù)端結(jié)構(gòu)框架如圖5.25。圖5.25服務(wù)端結(jié)構(gòu)框架對(duì)于消息的處理,會(huì)通過消息中的header字段來確定使用哪一個(gè)具體的消息處理器來進(jìn)行業(yè)務(wù)邏輯處理。如圖5.26是系統(tǒng)的Header定義。圖5.26Header定義由于Server采用的是Socket,而數(shù)據(jù)通信協(xié)議使用的ProtoBuf,所以需要實(shí)現(xiàn)消息的編碼和解碼,如圖5.27是消息的解碼,圖5.28是消息的編碼。圖5.27消息的解碼圖5.28消息的編碼為了不在請(qǐng)求的業(yè)務(wù)邏輯處理過程中每一次都直接操作數(shù)據(jù)庫進(jìn)行增刪改查,則實(shí)現(xiàn)了一個(gè)緩存系統(tǒng),緩存部分?jǐn)?shù)據(jù)庫信息,定時(shí)進(jìn)行清理和同步,如圖5.29所示。圖5.29緩存使用注解為具體的業(yè)務(wù)處理器Handler設(shè)定Header,下圖是系統(tǒng)中實(shí)現(xiàn)的Handler,對(duì)應(yīng)各種需求,如圖5.30所示。圖5.30Handlers以返回用戶周圍三千米內(nèi)可用房源為例,如圖5.31是該Handler代碼。圖5.31Handler代碼示例在服務(wù)端代碼結(jié)構(gòu)設(shè)計(jì)好之后,當(dāng)有新的需求產(chǎn)生的時(shí)候,在業(yè)務(wù)邏輯上只需要設(shè)計(jì)新需求的請(qǐng)求消息和返回消息結(jié)構(gòu)、創(chuàng)建新需求的業(yè)務(wù)邏輯處理器Handler以及為Handler唯一指定Header消息頭,即可將注意力集中在需求的業(yè)務(wù)邏輯處理上。這樣的結(jié)構(gòu)使應(yīng)用程序具有良好的擴(kuò)展性和健壯性,同時(shí)也更加方便定位問題和維護(hù)。5.4本章總結(jié)本章詳細(xì)的介紹了系統(tǒng)各個(gè)部

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論