基于安卓的圖書館座位管理系統(tǒng)論文_第1頁
基于安卓的圖書館座位管理系統(tǒng)論文_第2頁
基于安卓的圖書館座位管理系統(tǒng)論文_第3頁
基于安卓的圖書館座位管理系統(tǒng)論文_第4頁
基于安卓的圖書館座位管理系統(tǒng)論文_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、職場大變樣社區(qū)():下載畢業(yè)設(shè)計成品全套資料,全部50元以下畢業(yè)設(shè)計(論文)任務(wù)書 第1頁 畢業(yè)設(shè)計(論文)題目:基于android的圖書館座位管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計(論文)要求及原始數(shù)據(jù)(資料):1綜述當(dāng)前國內(nèi)外圖書館座位管理技術(shù)研究現(xiàn)狀和意義;2深入了解Android應(yīng)用程序開發(fā)的相關(guān)技術(shù);3熟練掌握相關(guān)API提供的方法,訓(xùn)練編寫應(yīng)用程序的能力;4設(shè)計并實(shí)現(xiàn)Android圖書館選座的功能;5深入分析在線選座的關(guān)鍵技術(shù)和編寫語言;6訓(xùn)練檢索文獻(xiàn)資料和利用文獻(xiàn)資料的能力;7訓(xùn)練撰寫技術(shù)文檔與學(xué)位論文的能力。 第2頁畢業(yè)設(shè)計(論文)主要內(nèi)容:1綜述圖書館座位管理在Android開發(fā)中的應(yīng)用

2、;2了解Android圖書館座位管理系統(tǒng)的相關(guān)技術(shù);3熟悉Android圖書館座位管理的開發(fā)環(huán)境; 4設(shè)計Android圖書館座位管理系統(tǒng)應(yīng)用開發(fā)的主要模塊;5. 深入分析Android圖書館座位管理系統(tǒng)的關(guān)鍵技術(shù);6熟練掌握基于Android圖書館座位管理系統(tǒng)應(yīng)用程序編寫;7設(shè)計與實(shí)現(xiàn)Android圖書館座位管理系統(tǒng)的程序。學(xué)生應(yīng)交出的設(shè)計文件(論文):1內(nèi)容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設(shè)計論文;2包括畢業(yè)設(shè)計論文、源程序等內(nèi)容在內(nèi)的畢業(yè)設(shè)計電子文檔及其它相關(guān)材料。 第3頁 主要參考文獻(xiàn)(資料):范紅月.圖書館自習(xí)室自動排做系統(tǒng)J.圖書館雜志,2008顧朝兵,高校移動圖書館服務(wù)平

3、臺及應(yīng)用研究.安徽大學(xué),2013李睿.高校手機(jī)圖書館系統(tǒng)研究.遼寧師范大學(xué),2013方勝華,李舒寧.走向移動互聯(lián)時代的圖書館服務(wù).圖書情報工作,2011,(23)岳傳真.Android系統(tǒng)移植和應(yīng)用程序開發(fā).復(fù)旦大學(xué),2010公磊,周聰.基于Android的移動終端應(yīng)用程序開發(fā)與研究.計算機(jī)與現(xiàn)代化,2008,(08)Domenico Amalfitano,Anna Rita Fasolino,Porfirio Tramontana,Bryan Robbins. Testing Android Mobile Applications: Challenges,Strategies,and App

4、roaches.Advances In Computers,2013,Vol.89Drazen Hizak,Matija Mikac.Development of a Simple Tool for Audio Analysis on Mobile Platform.Technical Journal,2013,Vol.7(2)Margaret Butler.Android : Changing the Mobile landscape.IEEE Pervasive Computing.2011遠(yuǎn)紅亮.中美高校手機(jī)圖書館現(xiàn)狀分析J.圖書情報工作網(wǎng)刊,2011,(11)王藝璇.基于Android

5、平臺得到移動圖書館客戶端設(shè)計與實(shí)現(xiàn)J.智能計算機(jī)與應(yīng)用.2011,(06)專業(yè)班級學(xué)生要求設(shè)計(論文)工作起止日期指導(dǎo)教師簽字日期教研室主任審查簽字日期系主任批準(zhǔn)簽字日期基于android的圖書館座位管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)摘 要 隨著移動終端的普及,手機(jī)成為當(dāng)代人不可或缺的通信工具。這種趨勢逐漸地改變了我們的生活習(xí)慣,也在不知不覺中改變了我們生活和工作中用到的一些系統(tǒng)的管理模式。我們可以看到當(dāng)前市場上使用的手機(jī)移動終端系統(tǒng)中,android系統(tǒng)占有相當(dāng)大的份額,這使得圖書館座位管理系統(tǒng)運(yùn)行在手機(jī)終端有了極大的可行性。 本系統(tǒng)就是基于android開發(fā)的圖書館座位管理系統(tǒng)。系統(tǒng)提供了后臺的服務(wù)以及

6、前臺與用戶交互的界面,后臺服務(wù)主要包括數(shù)據(jù)庫的建立,維護(hù)以及業(yè)務(wù)的處理。前臺界面主要提供給用戶用來選擇服務(wù)。系統(tǒng)采用了android開發(fā)中常用的控件來設(shè)計界面,運(yùn)用了MVC模式來設(shè)計整體的架構(gòu),采用了eclipse編譯工具集成android的SDK來進(jìn)行開發(fā),SQLite作為系統(tǒng)的數(shù)據(jù)庫。系統(tǒng)講解和論述了基于android的圖書館座位管理系統(tǒng)的實(shí)現(xiàn)過程,其中還介紹了一些android開發(fā)的知識點(diǎn)。 最終成果為使用本系統(tǒng)可以解決當(dāng)前高校圖書館亟待解決的圖書館選座困難的問題,緩解了圖書館選座終端的壓力,高效的利用移動終端完成圖書館選座座位自習(xí)的操作。關(guān)鍵詞:android;圖書館;座位;管理系統(tǒng)L

7、ibrary Seat Management System Design andImplementation Base on AndroidAbstractWith the popularity of mobile terminals, mobile phone become indispensable to modern communication tools. This trend gradually changed our living habits, also unknowingly changed our life and work in the use of some of the

8、 management mode of the system. We can see that the current use of mobile phones on the market in the mobile terminal system, occupies a large share of the android system, which makes the librarys seat management system is running in the mobile terminal has great feasibility. This system is based on

9、 the seat for android development of library management system. This system solved the problem urgently to be solved in current university library, system provides the background of service and the foreground of interaction with the user interface, the background service mainly includes the establis

10、hment of the database maintenance and processing business. Front desk interface is mainly used to select service provided to users. System USES a control to design the interface is commonly used in android development, using the MVC pattern to design the overall architecture, using the eclipse compi

11、ler tool integration android SDK for development, SQLite as the database system. Seat system is explained and discussed based on the android library management system implementation process, which also introduces some knowledge of android development. Final results for using this system can resolve

12、the current university library needs to solve the library selected a difficult problem and alleviate the library a terminal pressure, efficient use of mobile terminal complete library seat self-study.Key words: Android;library;seat;management system目 錄TOC o 1-3 h u HYPERLINK l _Toc14623 1 緒論 PAGEREF

13、 _Toc14623 1 HYPERLINK l _Toc10811 1.1課題背景 PAGEREF _Toc10811 1 HYPERLINK l _Toc12496 1.2國內(nèi)外的研究發(fā)展現(xiàn)狀 PAGEREF _Toc12496 2 HYPERLINK l _Toc13449 1.3國內(nèi)外使用的技術(shù)及其優(yōu)缺點(diǎn) PAGEREF _Toc13449 2 HYPERLINK l _Toc13154 1.3.1國內(nèi)使用的技術(shù)及其優(yōu)缺點(diǎn) PAGEREF _Toc13154 2 HYPERLINK l _Toc26491 1.3.2 國外的使用的技術(shù)以及優(yōu)缺點(diǎn) PAGEREF _Toc26491 3

14、HYPERLINK l _Toc3379 1.4本文的主要研究內(nèi)容 PAGEREF _Toc3379 4 HYPERLINK l _Toc6706 2 android開發(fā)技術(shù)和MVC模式的簡介 PAGEREF _Toc6706 5 HYPERLINK l _Toc27699 2.1 android技術(shù)簡介 PAGEREF _Toc27699 5 HYPERLINK l _Toc28903 2.2 MVC模式技術(shù)簡介 PAGEREF _Toc28903 7 HYPERLINK l _Toc405 2.4 HTTP協(xié)議簡介: PAGEREF _Toc405 11 HYPERLINK l _Toc1

15、625 3 可行性分析 PAGEREF _Toc1625 12 HYPERLINK l _Toc23057 3.1 技術(shù)可行性 PAGEREF _Toc23057 13 HYPERLINK l _Toc26000 3.2 經(jīng)濟(jì)可行性 PAGEREF _Toc26000 13 HYPERLINK l _Toc26898 3.3 操作可行性 PAGEREF _Toc26898 14 HYPERLINK l _Toc32448 4 系統(tǒng)總體設(shè)計 PAGEREF _Toc32448 15 HYPERLINK l _Toc26251 4.1系統(tǒng)的組成結(jié)構(gòu) PAGEREF _Toc26251 15 HYP

16、ERLINK l _Toc22618 4.2系統(tǒng)工作的流程 PAGEREF _Toc22618 16 HYPERLINK l _Toc23628 4.3系統(tǒng)功能設(shè)計概要 PAGEREF _Toc23628 17 HYPERLINK l _Toc1418 4.4系統(tǒng)數(shù)據(jù)庫設(shè)計概要 PAGEREF _Toc1418 18 HYPERLINK l _Toc26371 5 系統(tǒng)詳細(xì)設(shè)計 PAGEREF _Toc26371 20 HYPERLINK l _Toc30127 5.1系統(tǒng)歡迎界面設(shè)計 PAGEREF _Toc30127 21 HYPERLINK l _Toc4181 5.2系統(tǒng)登陸界面設(shè)計

17、PAGEREF _Toc4181 21 HYPERLINK l _Toc3221 5.3系統(tǒng)主界面設(shè)計 PAGEREF _Toc3221 23 HYPERLINK l _Toc4786 5.3.1查看圖書館座位情況界面與邏輯設(shè)計 PAGEREF _Toc4786 29 HYPERLINK l _Toc12660 5.3.2選擇座位界面與邏輯設(shè)計 PAGEREF _Toc12660 31 HYPERLINK l _Toc7375 5.4 web服務(wù)器搭建: PAGEREF _Toc7375 36 HYPERLINK l _Toc13065 6 系統(tǒng)測試 PAGEREF _Toc13065 40

18、HYPERLINK l _Toc6636 6.1登錄界面功能測試 PAGEREF _Toc6636 40 HYPERLINK l _Toc4412 總 結(jié) PAGEREF _Toc4412 43 HYPERLINK l _Toc27985 參考文獻(xiàn) PAGEREF _Toc27985 44 HYPERLINK l _Toc305 致謝 PAGEREF _Toc305 451 緒論1.1課題背景每逢考試臨近,清晨各個高校的圖書館門前都排起了長龍。圖書館座位緊張的問題也亟待解決。其原因有如下幾個:一是在眾多的自習(xí)室中,圖書館自習(xí)室的硬件設(shè)施最為齊備,環(huán)境最為良好,更有大量的資料可以查詢,網(wǎng)絡(luò)覆蓋率

19、廣。這使得圖書館自習(xí)室成為多數(shù)學(xué)子的第一選擇,造成了圖書館自習(xí)室的訪問流量大的問題。二是由于高校資源不足的問題,無法提供充裕的自習(xí)室資源給數(shù)量眾多的學(xué)子和老師。三是由于部分學(xué)生不能合理地運(yùn)用座位,存在占座現(xiàn)象。使得十分有限的座位的資源無法發(fā)揮最高的效用,進(jìn)一步加劇了圖書館座位緊張的問題。 通過對部分高校的圖書館的調(diào)查,各大高校有不同的解決方案。我校解決方案有如下幾點(diǎn):通過建設(shè)新校區(qū)圖書館增加可用資源,太原理工大學(xué)新校區(qū)圖書館總建筑面積65589.17平方米,建筑高達(dá)86米。二是通過在圖書館大廳以及各個樓層使用終端機(jī)預(yù)訂座位,智能管理座位。三是通過學(xué)生在圖書館自習(xí)狀態(tài)的不良記錄的處罰。如有三次及

20、三次以上違規(guī)占座,代刷座位,延時未續(xù)的現(xiàn)象,將作出一周內(nèi)禁止刷座的處罰。如果處罰多次,將作出一個學(xué)期禁止刷座的嚴(yán)厲處罰。這些方案在一定程度上緩解了圖書館座位緊張的問題,但是還是無法解決一些問題。比如在考試臨近期間,大廳以及終端機(jī)前大量的學(xué)生排隊等候的問題,以至于大量的學(xué)生在清晨圖書館尚未開放之前就早早的來到圖書館門前排隊。這極大的影響了學(xué)生日常學(xué)習(xí),浪費(fèi)了學(xué)生大量寶貴的時間。所以以上的方案還有很大的改進(jìn)空間。1993年世界上第一款智能手機(jī)是由IBM公司推出的Simon。直到2011年安卓手機(jī)在全球市場份額首度超過塞班系統(tǒng),躍居全球首位。截至2015年底,根據(jù)eMarketer的研究,全球智能手

21、機(jī)用戶數(shù)量已經(jīng)超過19億。智能手機(jī)由于其方便靈巧,以及隨時隨地上網(wǎng)的特性已經(jīng)深入我們的日常生活當(dāng)中,與我們密不可分。截至2016年4月1日。國際消息市場研究公司ABI Research發(fā)表報告稱,預(yù)計android智能手機(jī)市場份額將在2016年將達(dá)到45%,蘋果ios和Rim黑莓市場份額分別為19%和14%,三星Bada為10%。Android智能手機(jī)依舊領(lǐng)跑,蘋果ios緊隨其后。而在整個智能手機(jī)系統(tǒng)中,android智能手機(jī)系統(tǒng)的占有率截至2016年高達(dá)68.3%。可以看出android手機(jī)的市場占有份額是極大的。所以在android智能手機(jī)平臺上發(fā)布一款圖書館座位管理App是有很大的前景,

22、也可以解決當(dāng)下存在的圖書館座位緊張,終端機(jī)排隊等候的問題。并且當(dāng)今幾乎每個大學(xué)生都有一部智能手機(jī),還可以節(jié)約大量的資金問題。1.2國內(nèi)外的研究發(fā)展現(xiàn)狀根據(jù)網(wǎng)上資料了解到,美國斯坦福大學(xué)的圖書館和自習(xí)室在考試前上座率也會大大提升,但是司法部學(xué)校的圖書館和自習(xí)室管理比較完善。學(xué)生到圖書館或者自習(xí)室去自習(xí),學(xué)生首先需要進(jìn)行實(shí)名制的刷卡,離開和進(jìn)入都必須刷卡,如果離開半小時沒有回來的話,不管有沒有來使用該座位,圖書館管理人員都會將桌上的物品收起來。而且斯坦福大學(xué)實(shí)施分流考試的制度,不會在一段集中的時間進(jìn)行所有專業(yè)的考試,這樣會減少自習(xí)室或者圖書館的壓力。英國的大學(xué)占座現(xiàn)象也時有發(fā)生,因?yàn)樵趫D書館和自習(xí)

23、室的工作和學(xué)習(xí)效率很高,所以在期末的時候圖書館和自習(xí)室還是壓力很大的。值得一提的是,在英國的大學(xué)除了自習(xí)室和圖書館的位置緊張的問題,搶車位的問題也比較嚴(yán)重,英國的研究生甚至本科生都會開車去上學(xué),所以導(dǎo)致了車位緊缺的問題。澳大利亞的大學(xué)圖書館占座的問題不是很嚴(yán)重,澳大利亞本地的大學(xué)生更喜歡在戶外讀書,他們比較喜歡在自由的環(huán)境下進(jìn)行學(xué)習(xí)。但是臨近考試,圖書館也會忙碌起來。不過,澳大利亞的大學(xué)圖書館預(yù)約工作做的比較規(guī)范,你可以提前提前預(yù)約圖書館的座位。國內(nèi)的大學(xué)由于中國自身國情的原因,每個大學(xué)的圖書館和自習(xí)室的資源總是嚴(yán)重的不足。大量的學(xué)生和相對很少的自習(xí)室之間產(chǎn)生的矛盾亟待解決。每逢考試季,大量的

24、學(xué)生需要在圖書館門前排隊,嚴(yán)重浪費(fèi)了學(xué)生寶貴的學(xué)習(xí)時間。1.3國內(nèi)外使用的技術(shù)及其優(yōu)缺點(diǎn)1.3.1國內(nèi)使用的技術(shù)及其優(yōu)缺點(diǎn)由于國情原因,谷歌的公司的android技術(shù)不能面對面的和國內(nèi)的開發(fā)和學(xué)習(xí)人員做交流。但是這并不妨礙android開發(fā)在國內(nèi)的發(fā)展。不過相對國外,國內(nèi)的一些公司在整個產(chǎn)品開發(fā),管理,維護(hù)做的依舊沒有國外的公司完善。在國內(nèi)大學(xué)中,C語言的學(xué)習(xí)已經(jīng)成為了大學(xué)生的一門必修課。對于學(xué)習(xí)方向是移動互聯(lián)的計算機(jī)科學(xué)專業(yè)的學(xué)生了解和學(xué)習(xí)android是不可或缺的。通過對國內(nèi)大學(xué)的一些了解,大部分的大學(xué)計算機(jī)科學(xué)與軟件工程專業(yè)的學(xué)生學(xué)習(xí)android開發(fā)使用的課本只是早些年間的技術(shù)和理論,

25、無法跟上當(dāng)前社會android開發(fā)的腳步,對于企業(yè)的開發(fā)要求還有很大的差距。這需要大學(xué)和有關(guān)部門及時的對教材進(jìn)行更新,也需要聘請一些一線的資深的工程師來為在校大學(xué)生講解一些當(dāng)下先進(jìn)的理論和技術(shù),這樣就不會使大學(xué)生學(xué)習(xí)的內(nèi)容和企業(yè)需要的技術(shù)產(chǎn)生太大的差距。對于開發(fā)工具來說,IDE是每一個程序腦力產(chǎn)出的工具,它的功能在很大程度上對程序員的效率有影響。一款智能并且符合程序員編程習(xí)慣的IDE會極大的提升程序員的工作效率,也會幫助程序員發(fā)散思維,利用自身充分的想象力結(jié)合IDE完善的功能編寫出令人愉悅的代碼,甚至可以幫助程序員作出令人難以想象的作品。國內(nèi)的絕大部分程序員使用的IDE是eclipse和mye

26、clipse.這兩款I(lǐng)DE有相當(dāng)長時間的歷史,功能比較完善。國內(nèi)相關(guān)計算機(jī)科學(xué)類的授課時講解和使用的也基本都是eclipse。對于android開發(fā)使用的SDK,由于國情的限制,無法直接到谷歌公司的網(wǎng)址下進(jìn)行下載。我們可以通過網(wǎng)上的資源或者到同濟(jì)大學(xué)相關(guān)的鏡像上下載資源。還有一點(diǎn)就是技術(shù)的共享方面,國內(nèi)也有很多的程序員的論壇和交流網(wǎng)址。一些資深的android開發(fā)工程師在自己的博客定時或者不定時的通過微博或者其他途徑進(jìn)行技術(shù)的分享。但是對于國內(nèi)的很多程序員想要從網(wǎng)上查詢一些資料,一般的途徑都是論壇或者百度。這并不利于技術(shù)的分享和發(fā)展。而且好多先進(jìn)的思想和理論都是從國外產(chǎn)生再傳入國內(nèi),我們需要自

27、己產(chǎn)生好的理論并運(yùn)用在社會生活中。1.3.2國外的使用的技術(shù)以及優(yōu)缺點(diǎn)國外與國內(nèi)對比計算機(jī)科學(xué)和軟件的發(fā)展要更加先進(jìn)和規(guī)范。國外的企業(yè)在進(jìn)行軟件的開發(fā)時很大一部分采用的是敏捷開發(fā)的模式,將工作劃分為幾個階段,每個階段有自己的固定的開發(fā)時間,一般是3周到4周不等。在一個相同的階段,不同的隊伍可以同時進(jìn)行不同的開發(fā)工作。利用Git軟件或者其他的分布式開發(fā)工具進(jìn)行不同分支上的開發(fā),利用自動化的測試對代碼的質(zhì)量作出保證。產(chǎn)品經(jīng)理和相關(guān)經(jīng)理對產(chǎn)品的完成進(jìn)度和質(zhì)量進(jìn)行把控。這樣的軟件開發(fā)流程十分清晰和完善。使得產(chǎn)品的質(zhì)量有可靠的保證,也使得產(chǎn)品在開發(fā)的環(huán)節(jié)上更加容易把控。由于在2015年,為了簡化andr

28、oid的開發(fā)力度,谷歌公司宣布放棄對eclipse等IDE的支持,轉(zhuǎn)而支持Android Studio。Android Studio雖然不算新的IDE,但是這款I(lǐng)DE的更新速度十分快,對Android的適配也十分完美。所以國外有不少的開發(fā)人員使用的是Android Studio,其他例如JAVA的開發(fā)人員也有很多在使用IDEA,這款I(lǐng)DE的全稱為intelij idea。由于國外的開發(fā)人員和學(xué)習(xí)人員可以直接訪問谷歌的主頁,這樣使得他們及時的了解到android的技術(shù)的更新。也便于他們與谷歌的開發(fā)人員進(jìn)行交流。1.4本文的主要研究內(nèi)容本文的主要研究內(nèi)容是研究和設(shè)計了一個基于android的圖書館

29、座位管理系統(tǒng),該系統(tǒng)設(shè)計的出發(fā)點(diǎn)是大學(xué)的日常學(xué)習(xí)和生活,聯(lián)系了一些了圖書館日常管理的業(yè)務(wù),針對當(dāng)前大學(xué)圖書館座位資源面臨的問題,提出了一些解決的方案。系統(tǒng)允許用戶進(jìn)行登錄,系統(tǒng)會對用戶的身份進(jìn)行驗(yàn)證。登錄成功用戶可以選擇座位來自習(xí)。系統(tǒng)分配用戶座位,用戶使用座位來進(jìn)行日常的學(xué)習(xí)或者工作。大概的內(nèi)容如下圖所示:圖 1-1總體框架圖從圖中我們可以看到,用戶通過自己的手機(jī)連接到網(wǎng)絡(luò),然后進(jìn)行用戶登錄的動作,系統(tǒng)會通過網(wǎng)絡(luò)訪問服務(wù)器,服務(wù)器又會去數(shù)據(jù)庫查詢用戶的相關(guān)的信息,返回給客戶端,這樣客戶端就可以來斷定用戶是否是一個有效的用戶。登錄成功,用戶進(jìn)行選擇座位也要通過業(yè)務(wù)邏輯去訪問服務(wù)器,服務(wù)器去數(shù)據(jù)

30、庫去數(shù)據(jù)返回給客戶端,客戶端來顯示哪些座位是可用的。選擇完畢后,客戶端將數(shù)據(jù)發(fā)給服務(wù)器,服務(wù)器將更新的數(shù)據(jù)儲存到數(shù)據(jù)庫中。2 android開發(fā)技術(shù)和MVC模式的簡介2.1android技術(shù)簡介Android在中國被翻譯為安卓,是一個基于Linux核心的系統(tǒng)。由Google成立的Open Handset Alliance即開放手機(jī)聯(lián)盟持續(xù)領(lǐng)導(dǎo)和開發(fā)。該系統(tǒng)主要運(yùn)用在手機(jī)和平板的終端。Android在最初是由Andy Rubin等人開發(fā)研究,他們研究的主要方向和目的就是開發(fā)出一款適配智能手機(jī)的系統(tǒng)。在2005年被美國的谷歌公司收購。Andy等人繼續(xù)帶領(lǐng)團(tuán)隊進(jìn)行Android的開發(fā)和研究工作。在2

31、005年的7月11日,谷歌聯(lián)合了全球84家硬件制造商,軟件開發(fā)商及電信運(yùn)營商成立了開放手持設(shè)備聯(lián)盟。聯(lián)盟的目的是協(xié)作和共同對Android系統(tǒng)進(jìn)行發(fā)展,改善。隨后谷歌發(fā)布了Android 的源代碼。這使得手機(jī)制造商如雨后春筍般發(fā)展起來,也使得Android系統(tǒng)搭載到了平板電腦上。2010年底的數(shù)據(jù)顯示,推出僅僅只有兩年的Android系統(tǒng)首次在市場份額上超越了制霸十年之久的塞班系統(tǒng),成為了全球第一大智能手機(jī)的操作系統(tǒng)。這也標(biāo)志著諾基亞的統(tǒng)治地位結(jié)束,手機(jī)市場迎來了智能化的嶄新時代。這是Android 的系統(tǒng)架構(gòu),android的系統(tǒng)架構(gòu)和其他的操作系統(tǒng)有著異曲同.工之妙,從上倒下分為四層,分別

32、是Applications層,即應(yīng)用程序?qū)?、Application Framework層,即應(yīng)用程序框架層、Libraries層,即系統(tǒng)運(yùn)行庫層、Linux Kernel層,即Linux核心層。圖2-1 Android系統(tǒng)架構(gòu)圖應(yīng)用程序?qū)樱篈ndroid會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。應(yīng)用框架層:開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用; 任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)

33、布的功能塊。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。隱藏在每個應(yīng)用后面的是一系列的服務(wù)和系統(tǒng), 其中包括;豐富而又可擴(kuò)展的視圖(Views),可以用來構(gòu)建應(yīng)用程序, 它包括列表(lists),網(wǎng)格(grids),文本框(text boxes),按鈕(buttons), 甚至可嵌入的web瀏覽器。內(nèi)容提供器(Content Providers)使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或者共享它們自己的數(shù)據(jù) 資源管理器(Resource Manager)提供 非代碼資源的訪問,如本地字符串,圖形,和布局文件( layout files )。通知管理器 (Not

34、ification Manager) 使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息?;顒庸芾砥? Activity Manager) 用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。系統(tǒng)運(yùn)行庫:程序庫Android 包含一些C/C+庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫:系統(tǒng) C 庫 - 一個從 BSD 繼承來的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫( libc ), 它是專門為基于 embedded Linux 的設(shè)備定制的。媒體庫 - 基于 PacketVideo,OpenCode。該庫支持多種常用的音頻、視頻格式回放和

35、錄制,同時支持靜態(tài)圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。Surface Manager - 對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提 供了2D和3D圖層的無縫融合。LibWebCore : 一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。SGL - 底層的2D圖形引擎 3D libraries : 基于OpenGL ES 1.0 APIs實(shí)現(xiàn);該庫可以使用硬件 3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。FreeType :位圖(bitmap)和矢量(vector)字體顯示。SQLite - 一

36、個對于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎。Android 運(yùn)行庫Android 囊括了一個核心庫,該庫包含了JAVA編程語言類庫的絕大多數(shù)功能。每一個Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik被設(shè)計成一個設(shè)備可以同時高效地運(yùn)行多個虛擬系統(tǒng)。 Dalvik虛擬機(jī)執(zhí)行(.dex)的Dalvik可執(zhí)行文件,該格式文件針對小內(nèi)存使用做了優(yōu)化。同時虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由JAVA編譯器編譯,然后通過SDK中 的 dx 工具轉(zhuǎn)化成.dex格式由虛擬機(jī)執(zhí)行。Dalvik虛擬機(jī)依賴于Linux內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)

37、存管理機(jī)制。Linux 內(nèi)核:Android 的核心系統(tǒng)服務(wù)依賴于 Linux 2.6 內(nèi)核,如安全性,內(nèi)存管理,進(jìn)程管理, 網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。 Linux 內(nèi)核也同時作為硬件和軟件棧之間的抽象層。2.2 MVC模式技術(shù)簡介MVC 概念MVC全名是Model View Controller,是模型(model)、視圖(view)、控制器(controller)的縮寫,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進(jìn)和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。其中M層處理數(shù)據(jù),業(yè)務(wù)邏輯等;V層處理界面的顯示結(jié)果;C層起到橋

38、梁的作用,來控制V層和M層通信以此來達(dá)到分離視圖顯示和業(yè)務(wù)邏輯層。圖2-2 MVC架構(gòu)圖MVC for Android在Android開發(fā)中,比較流行的開發(fā)框架模式采用的是MVC框架模式,采用MVC模式的好處是便于UI界面部分的顯示和業(yè)務(wù)邏輯,數(shù)據(jù)處理分開。M層:適合做一些業(yè)務(wù)邏輯處理,比如數(shù)據(jù)庫存取操作,網(wǎng)絡(luò)操作,復(fù)雜的算法,耗時的任務(wù)等都在model層處理。 V層:應(yīng)用層中處理數(shù)據(jù)顯示的部分,XML布局可以視為V層,顯示Model層的數(shù)據(jù)結(jié)果。 C層:在Android中,Activity處理用戶交互問題,因此可以認(rèn)為Activity是控制器,Activity讀取V視圖層的數(shù)據(jù),控制用戶輸入

39、,并向Model發(fā)送數(shù)據(jù)請求。MVC使用總結(jié)利用MVC設(shè)計模式,使得項(xiàng)目有了很好的可擴(kuò)展和維護(hù)性,當(dāng)需要改變UI顯示的時候,無需修改Contronller(控制器)Activity的代碼和Model(模型)中的業(yè)務(wù)邏輯代碼,很好的將業(yè)務(wù)邏輯和界面顯示分離。在Android項(xiàng)目中,業(yè)務(wù)邏輯,數(shù)據(jù)處理等擔(dān)任了Model(模型)角色,XML界面顯示等擔(dān)任了View(視圖)角色,Activity擔(dān)任了Contronller(控制器)角色。contronller(控制器)是一個中間橋梁的作用,通過接口通信來協(xié)同 View(視圖)和Model(模型)工作,起到了兩者之間的通信作用。什么時候適合使用MVC設(shè)

40、計模式?當(dāng)然一個小的項(xiàng)目且無需頻繁修改需求就不用MVC框架來設(shè)計了,那樣反而覺得代碼過度設(shè)計,代碼臃腫。一般在大的項(xiàng)目中,且業(yè)務(wù)邏輯處理復(fù)雜,頁面顯示比較多,需要模塊化設(shè)計的項(xiàng)目使用MVC就有足夠的優(yōu)勢了。在MVC模式中我們發(fā)現(xiàn),其實(shí)控制器Activity主要是起到解耦作用,將View視圖和Model模型分離,雖然Activity起到交互作用,但是找Activity中有很多關(guān)于視圖UI的顯示代碼,因此View視圖和Activity控制器并不是完全分離的,也就是說一部分View視圖和Contronller控制器Activity是綁定在一個類中的。MVC的優(yōu)點(diǎn):耦合性低。所謂耦合性就是模塊代碼之間

41、的關(guān)聯(lián)程度。利用MVC框架使得View(視圖)層和Model(模型)層可以很好的分離,這樣就達(dá)到了解耦的目的,所以耦合性低,減少模塊代碼之間的相互影響??蓴U(kuò)展性好。由于耦合性低,添加需求,擴(kuò)展代碼就可以減少修改之前的代碼,降低bug的出現(xiàn)率。模塊職責(zé)劃分明確。主要劃分層M、V、C三個模塊,利于代碼的維護(hù)。Eclipse IDE 簡介Eclipse是著名的跨平臺開源集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),目前亦有人通過插件使其作為C+、Python、PHP等其他語言的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持,使得Eclipse擁有較佳的靈活性,所以許多軟件

42、開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse最初是由IBM公司開發(fā)的替代商業(yè)軟件Visual Age for Java的下一代IDE開發(fā)環(huán)境,2001年11月貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會(Eclipse Foundation)管理。2003年,Eclipse 3.0選擇OSGi服務(wù)平臺規(guī)范為運(yùn)行時架構(gòu)。2007年6月,穩(wěn)定版3.3發(fā)布;2008年6月發(fā)布代號為Ganymede的3.4版;2009年6月發(fā)布代號為Galileo的3.5版;2010年6月發(fā)布代號為Helios的3.6版;2011年6月發(fā)布代號為Indigo的3.7版;2012年6

43、月發(fā)布代號為Juno的4.2版;2013年6月發(fā)布代號為Kepler的4.3版;2014年6月發(fā)布代號為Luna的4.4版;2015年6月發(fā)布代號為Mars的4.5版。Eclipse的基礎(chǔ)是富客戶機(jī)平臺(即RCP)。RCP包括下列組件:核心平臺(啟動Eclipse,運(yùn)行插件)OSGi(標(biāo)準(zhǔn)集束框架)SWT(可移植構(gòu)件工具包)JFace(文件緩沖,文本處理,文本編輯器)Eclipse工作臺(即Workbench,包含視圖(views)、編輯器(editors)、視角(perspectives)、和向?qū)В╳izards)Eclipse采用的技術(shù)是IBM公司開發(fā)的(SWT),這是一種基于Java的窗

44、口組件,類似Java本身提供的AWT和Swing窗口組件;不過IBM聲稱SWT比其他Java窗口組件更有效率。Eclipse的用戶界面還使用了GUI中間層JFace,從而簡化了基于SWT的應(yīng)用程序的構(gòu)建。2.3 apache服務(wù)器簡介:Apache是當(dāng)前世界應(yīng)用最為普遍和廣泛的web服務(wù)器,根據(jù)權(quán)威調(diào)查,世界上以上的web一半以上的服務(wù)器在使用apache.所以Apache當(dāng)之無愧的可以說是世界第一的web服務(wù)器。Apache是一個開源的網(wǎng)頁服務(wù)器,開源的特性使得它的活力進(jìn)一步提升。它經(jīng)過多次的修改,廣泛的被應(yīng)用在全球各大公司。它的跨平臺性也在一定程度上使得學(xué)習(xí)者可以方便的應(yīng)和學(xué)習(xí)它。apac

45、he的特性:1)幾乎可以運(yùn)行在所有的計算機(jī)平臺上.2)支持最新的http/1.1協(xié)議3)簡單而且強(qiáng)有力的基于文件的配置(httpd.conf).4)支持通用網(wǎng)關(guān)接口(cgi)5)支持虛擬主機(jī).6)支持http認(rèn)證.7)集成perl.8)集成的代理服務(wù)器9)可以通過web瀏覽器監(jiān)視服務(wù)器的狀態(tài),可以自定義日志.10)支持服務(wù)器端包含命令(ssi).11)支持安全socket層(ssl).12)具有用戶會話過程的跟蹤能力.13)支持fastcgi2.4 HTTP協(xié)議簡介Http協(xié)議是一鐘超文本傳輸協(xié)議 HyperText Transfer Protocol 屬于應(yīng)用層的協(xié)議,主要通過傳輸層TCP/

46、IP協(xié)議在服務(wù)器與客戶端之間實(shí)現(xiàn)數(shù)據(jù)傳輸,我們在使用IE或Firefox瀏覽網(wǎng)頁或下載Web資源時,通過在地址欄中輸入,開頭的4個字母http就相當(dāng)于通知瀏覽器使用HTTP協(xié)議來和host所確定的服務(wù)器進(jìn)行通訊。Http的工作方式HTTP協(xié)議采用了請求/響應(yīng)的工作方式?;贖TTP1.0協(xié)議的客戶端在每次向服務(wù)器發(fā)出請求后,服務(wù)器就會向客戶端返回響應(yīng)消息(包括請求是否正確以及所請求的數(shù)據(jù)),在確認(rèn)客戶端已經(jīng)收到響應(yīng)消息后,服務(wù)端就會關(guān)閉網(wǎng)絡(luò)連接(其實(shí)是關(guān)閉TCP連接)。在這個數(shù)據(jù)傳輸過程中,并不保存任何歷史信息和狀態(tài)信息,因此,HTTP協(xié)議也被認(rèn)為是無狀態(tài)的協(xié)議(這也就是所謂的短連接)。圖2-

47、3Http請求過程圖Http協(xié)議簡介在HTTP1.0協(xié)議中,當(dāng)Web瀏覽器發(fā)出請求時,就意味著一個請求/響應(yīng)會話已經(jīng)開始。在請求、響應(yīng)結(jié)束后,服務(wù)器就會立刻關(guān)閉這個連接。這種會話方式雖然簡便,但它會帶來另外一個問題。如果客戶端瀏覽器訪問的某個HTML或其他類型的Web頁中包含有其他的Web資源,如JavaScript文件、圖像文件、CSS文件等;當(dāng)瀏覽器每遇到這樣一個Web資源,就會建立一個HTTP會話。如果這樣的資源很多的話,就會加重服務(wù)器的負(fù)擔(dān),同時也會影響客戶端瀏覽器加載HTML等Web資源的效率。在對上述的缺陷進(jìn)行改進(jìn)和完善后,HTTP1.1協(xié)議進(jìn)入了我們的視線。HTTP1.1和HTT

48、P1.0相比較而言,最大的區(qū)別就是增加了持久連接(也就是長臉接)支持。當(dāng)客戶端使用HTTP1.1協(xié)議連接到服務(wù)器后,服務(wù)器就將關(guān)閉客戶端連接的主動權(quán)交還給客戶端,也就是說,在客戶端向服務(wù)器發(fā)送一個請求并接收以一個響應(yīng)后,只要不調(diào)用Socket類的close方法關(guān)閉網(wǎng)絡(luò)連接,就可以繼續(xù)向服務(wù)器發(fā)送HTTP請求。當(dāng)HTML中含有其他的Web資源時,瀏覽器就可以使用同一個網(wǎng)絡(luò)連接向下載這些資源,這樣就可以大大減輕服務(wù)器的壓力。Http協(xié)議簡介HTTP1.1除了支持持久連接外,還將HTTP1.0的請求方法從原來的三個(GET、POST和HEAD)擴(kuò)展到了八個(OPTIONS、GET、HEAD、POST

49、、PUT、DELETE、TRACE和CONNECT)。而且還增加了很多請求和響應(yīng)字段,如上述的持久連接的字段Connection。這個字段有兩個值,Close和Keep-Alive。如果使用Connection:Close,則關(guān)閉HTTP1.1的持久連接的功能,要打開HTTP1.1的持久連接的功能,必須使用Connection:Keep-Alive,或者不加Connection字段(因?yàn)镠TTP1.1在默認(rèn)情況下就是持久連接的)。除了這些,還提供了身份認(rèn)證、狀態(tài)管理和緩存(Cache)等相關(guān)的請求頭和響應(yīng)頭。Http工作原理一次HTTP操作稱為一個事務(wù),其工作過程可分為四步:首先客戶機(jī)與服務(wù)器

50、需要建立連接。只要單擊某個超級鏈接,HTTP的工作就開始了。建立連接后,客戶機(jī)發(fā)送一個請求給服務(wù)器,請求方式的格式為:統(tǒng)一資源標(biāo)識符(URL)、協(xié)議版本號,后邊是MIME信息包括請求修飾符、客戶機(jī)信息和可能的內(nèi)容。服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息,其格式為一個狀態(tài)行,包括信息的協(xié)議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容??蛻舳私邮辗?wù)器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開連接。如果在以上過程中的某一步出現(xiàn)錯誤,那么產(chǎn)生錯誤的信息將返回到客戶端,由顯示屏輸出。對于用戶來說,這些過程是由HTTP自己完成的,用戶只要用鼠

51、標(biāo)點(diǎn)擊,等待信息顯示就可以了。許多HTTP通訊是由一個用戶代理初始化的并且包括一個申請在源服務(wù)器上資源的請求。最簡單的情況可能是在用戶代理和服務(wù)器之間通過一個單獨(dú)的連接來完成。在Internet上,HTTP通訊通常發(fā)生在TCP/IP連接之上。缺省端口是TCP 80,但其它的端口也是可用的。但這并不預(yù)示著HTTP協(xié)議在Internet或其它網(wǎng)絡(luò)的其它協(xié)議之上才能完成。HTTP只預(yù)示著一個可靠的傳輸。3 可行性分析3.1 技術(shù)可行性本系統(tǒng)是在Window環(huán)境下進(jìn)行開發(fā),使用的集成開發(fā)環(huán)境工具為eclipse,eclipse集成了Android 的SDK。數(shù)據(jù)庫為android虛擬機(jī)自帶的SQLit

52、e數(shù)據(jù)庫。測試的設(shè)備可以選擇搭載Android系統(tǒng)的實(shí)體機(jī),也可以選擇Android自帶的虛擬機(jī),本系統(tǒng)選擇的測試設(shè)備為Genymotion。Genymotion是一款十分出眾,性能優(yōu)秀的Android虛擬機(jī),相對于Android SDK自帶的虛擬機(jī),Genymotion啟動速度要快非常多,而且在畫質(zhì)上、流暢度上也比Android AVD優(yōu)異很多。IDE方面,Genymotion也支持多款的集成開發(fā)環(huán)境工具,例如Intelij idea和eclipse。這使得Genymotion不僅在開發(fā)工程師這備受歡迎,也深得Android游戲玩家的青睞。Genymotion虛擬機(jī)的優(yōu)點(diǎn):速度快性能好,資源

53、占用低,系統(tǒng)要求512MB內(nèi)存就能運(yùn)行。支持 OpenGL 3D加速,可以流暢玩大型3D游戲。支持同時啟動多個模擬器,可以實(shí)現(xiàn)軟件或游戲多開。支持多種虛擬傳感器,如電池狀態(tài)、GPS、NFC、重力加速器等模擬,在微信、陌陌之類的App上有特別用處。支持?jǐn)z像頭、藍(lán)牙等設(shè)備??梢耘渲媚M器參數(shù),如屏幕分辨率、內(nèi)存大小、CPU數(shù)量。直接拖拽窗口即可調(diào)整畫面大小,支持多種分辨率。能支持幾乎全部版本的 Android 系統(tǒng)。支持直接拖放文件到虛擬設(shè)備。啟動速度以及運(yùn)行速度都優(yōu)于 Android SDK 官方的模擬器。3.2 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性分析的目的主要是對本系統(tǒng)運(yùn)營成本的分析。首先我們可以從市場調(diào)查

54、上得到,Android手機(jī)的市場占有率在中國以及全球范圍內(nèi)都是第一位的。從大學(xué)生的調(diào)查也可以得出,當(dāng)代大學(xué)生使用的手機(jī)系統(tǒng)絕大多數(shù)是使用的是搭載了Android系統(tǒng)的手機(jī),其中各種各樣的Android手機(jī)品牌都有,主流品牌是三星、華為、小米、魅族、Oppo。所以說大學(xué)生的手持設(shè)備的普及在極大程度上保證我們不需要對硬件設(shè)備上投入大量的資金。而且門禁設(shè)備也無需更換,完全可以在原有的圖書館設(shè)備基礎(chǔ)上進(jìn)行改造和部署。另一方面,項(xiàng)目的開發(fā)軟件都是免費(fèi)或者開源的軟件,所以在開發(fā)期間的資金投入也基本沒有。對于項(xiàng)目部署之后的維護(hù)工作,因?yàn)樵撓到y(tǒng)面向的對象主要是高校的圖書館,所以高??梢哉心家恍┲驹笇W(xué)習(xí)的、相關(guān)

55、專業(yè)的以及有能力勝任的學(xué)生來對程序進(jìn)行后期的維護(hù)、更新。這樣高校不僅可以節(jié)省大量的資金,還可以使得參與該項(xiàng)目的學(xué)生得到極好的鍛煉。3.3 操作可行性操作可行性分析的主要目的是看系統(tǒng)提供的服務(wù)是否真的可以滿足用戶的需求。本系統(tǒng)主體功能就是提供一個選擇圖書館座位的界面來滿足在圖書館用座高峰時期,圖書館的選座終端壓力驟增的情況下,學(xué)生不用排隊等候選擇座位。從而減少圖書館選座終端的壓力,也節(jié)省了學(xué)生寶貴的學(xué)習(xí)時間。而且安卓設(shè)備相應(yīng)的操作比較智能化,操作簡單。安卓的設(shè)備輕便,便于攜帶的特點(diǎn)使得學(xué)生無需在圖書館選座終端前排隊等待選座??梢栽趫D書館內(nèi)任意的地點(diǎn)進(jìn)行選擇座位,緩解了圖書館選座終端的壓力。4 系

56、統(tǒng)總體設(shè)計4.1系統(tǒng)的組成結(jié)構(gòu)系統(tǒng)的主要用戶是學(xué)生。下圖是用戶的用例圖。用戶,即學(xué)生要首先進(jìn)行登錄操作,登錄后用戶可以進(jìn)行查看當(dāng)前的圖書館的座位情況、選擇空閑座位、釋放座位、暫時離開、查看當(dāng)前用戶的狀態(tài)的操作。用戶登錄成功后,系統(tǒng)會跳轉(zhuǎn)到主界面,你在主界面可以有三個操作,查看當(dāng)前圖書館的座位情況、選擇座位和查看當(dāng)前用戶的狀態(tài)。查看當(dāng)前圖書館的座位情況可以直觀向用戶展示當(dāng)前圖書館各個樓層自習(xí)室的座位空閑以及占用狀況,以便用戶自身來判斷是否合適選擇圖書館作為自習(xí)的地點(diǎn),這樣使學(xué)生不必要去圖書館才可以得知座位的使用情況,方便學(xué)生及時的查看圖書館座位資源的使用情況。選擇座位的操作是該系統(tǒng)的最核心、重要

57、的模塊。用戶通過各個樓層的座位的列表來了解哪些座位是被占用的,哪些是空閑。用戶的個人管理界面只提供查看當(dāng)前用戶的在圖書館不良的狀態(tài)的記錄。座位被用戶選擇了之后,系統(tǒng)會跳到用戶使用座位的顯示界面。在這個界面用戶的可以有釋放座位、暫時離開、和續(xù)時的操作。圖 4-1 系統(tǒng)用例圖4.2 系統(tǒng)工作的流程該系統(tǒng)是部署在搭載了Android手機(jī)系統(tǒng)的終端,在用戶的終端上系統(tǒng)時采用了Android項(xiàng)目普遍采用的MVC模式。即Model層(模型層)、View層(視圖層)、Controller層(控制層)。這三層將整個系統(tǒng)的架構(gòu)清晰的分為三個部分,每個模塊各司其職。將與用戶交互的界面部分放入View層,這層主要負(fù)

58、責(zé)和用戶的交互,方便統(tǒng)一管理系統(tǒng)的前臺界面。將系統(tǒng)的一些跳轉(zhuǎn)的控制語句放在Controller層,這一層主要功能是為了將界面和最下層的業(yè)務(wù)處理層聯(lián)系在一起,也擔(dān)任著傳遞一些必要參數(shù)的功能。最后將業(yè)務(wù)邏輯處理的部分放在最下層的Model層,這一層是將所有用戶的操作進(jìn)行處理并將處理結(jié)果反饋給用戶的部分。這一層還擔(dān)負(fù)著和本地和遠(yuǎn)程數(shù)據(jù)交互、插入更新、刪除的操作。遠(yuǎn)程服務(wù)器采用的web服務(wù)器,用戶通過HTTP請求訪問到服務(wù)器,服務(wù)器將數(shù)據(jù)庫中用戶信息、以及傳輸給用戶。圖4-2 系統(tǒng)總體架構(gòu)圖由上圖可以看出系統(tǒng)的大致流程,用戶用過View層的用戶界面進(jìn)行操作,系統(tǒng)將用戶的操作信息通過Controller

59、層發(fā)送給Model層,Model層會通過HTTP請求與遠(yuǎn)程的server端進(jìn)行交互,server端會去origin Database中去取數(shù)據(jù)然后傳給Model層,Model層將得到數(shù)據(jù)的存入本地數(shù)據(jù)。將數(shù)據(jù)經(jīng)過處理后給Controller層,Controller層在將最后的處理結(jié)果返回給用戶。4.3 系統(tǒng)功能設(shè)計概要本系統(tǒng)包括用戶登錄,用戶個人信息查詢,用戶選擇座位,用戶使用座位時長提示,用戶延長座位使用時間,用戶暫時離開座位,用戶釋放座位等功能。一、用戶登錄本系統(tǒng)需要使用用戶本人大學(xué)教務(wù)系統(tǒng)的賬號及密碼,用戶登錄時需要與服務(wù)器進(jìn)行身份驗(yàn)證。二、用戶可以在個人信息中查看自己的圖書館自習(xí)的狀態(tài)

60、,也可以查詢最近是否有不良記錄和處罰。三、用戶可以查看當(dāng)前圖書館座位的使用情況來判斷圖書館是否可以滿足自己的自習(xí)需求。四、用戶可以選擇座位,但是必須在使用校園一卡通刷過門禁后,服務(wù)器會將信息發(fā)送給用戶手機(jī)的客戶端,將用戶的狀態(tài)由不可選座狀態(tài)變?yōu)榭蛇x擇座位的狀態(tài)。用戶可以進(jìn)入選擇座位的界面來選擇樓層的自習(xí)室。系統(tǒng)會提示用戶進(jìn)行自動分配座位或者手動選擇座位。五、自動選擇座位的功能會從服務(wù)器的數(shù)據(jù)中查找未被占用的座位,系統(tǒng)將未被使用的座位自動分配給用戶。六、手動選擇座位功能,用戶需要先進(jìn)行樓層的選擇,系統(tǒng)將把座位的情況以列表的形式的展現(xiàn)給用戶,未被占用的座位標(biāo)記為可選擇的狀態(tài),已經(jīng)被占用的座位標(biāo)記為

溫馨提示

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

評論

0/150

提交評論