




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、職場大變樣社區(qū)():下載畢業(yè)設計成品全套資料,全部50元以下畢業(yè)設計(論文)任務書 第1頁 畢業(yè)設計(論文)題目:基于android的圖書館座位管理系統的設計與實現畢業(yè)設計(論文)要求及原始數據(資料):1綜述當前國內外圖書館座位管理技術研究現狀和意義;2深入了解Android應用程序開發(fā)的相關技術;3熟練掌握相關API提供的方法,訓練編寫應用程序的能力;4設計并實現Android圖書館選座的功能;5深入分析在線選座的關鍵技術和編寫語言;6訓練檢索文獻資料和利用文獻資料的能力;7訓練撰寫技術文檔與學位論文的能力。 第2頁畢業(yè)設計(論文)主要內容:1綜述圖書館座位管理在Android開發(fā)中的應用
2、;2了解Android圖書館座位管理系統的相關技術;3熟悉Android圖書館座位管理的開發(fā)環(huán)境; 4設計Android圖書館座位管理系統應用開發(fā)的主要模塊;5. 深入分析Android圖書館座位管理系統的關鍵技術;6熟練掌握基于Android圖書館座位管理系統應用程序編寫;7設計與實現Android圖書館座位管理系統的程序。學生應交出的設計文件(論文):1內容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設計論文;2包括畢業(yè)設計論文、源程序等內容在內的畢業(yè)設計電子文檔及其它相關材料。 第3頁 主要參考文獻(資料):范紅月.圖書館自習室自動排做系統J.圖書館雜志,2008顧朝兵,高校移動圖書館服務平
3、臺及應用研究.安徽大學,2013李睿.高校手機圖書館系統研究.遼寧師范大學,2013方勝華,李舒寧.走向移動互聯時代的圖書館服務.圖書情報工作,2011,(23)岳傳真.Android系統移植和應用程序開發(fā).復旦大學,2010公磊,周聰.基于Android的移動終端應用程序開發(fā)與研究.計算機與現代化,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遠紅亮.中美高校手機圖書館現狀分析J.圖書情報工作網刊,2011,(11)王藝璇.基于Android
5、平臺得到移動圖書館客戶端設計與實現J.智能計算機與應用.2011,(06)專業(yè)班級學生要求設計(論文)工作起止日期指導教師簽字日期教研室主任審查簽字日期系主任批準簽字日期基于android的圖書館座位管理系統的設計與實現摘 要 隨著移動終端的普及,手機成為當代人不可或缺的通信工具。這種趨勢逐漸地改變了我們的生活習慣,也在不知不覺中改變了我們生活和工作中用到的一些系統的管理模式。我們可以看到當前市場上使用的手機移動終端系統中,android系統占有相當大的份額,這使得圖書館座位管理系統運行在手機終端有了極大的可行性。 本系統就是基于android開發(fā)的圖書館座位管理系統。系統提供了后臺的服務以及
6、前臺與用戶交互的界面,后臺服務主要包括數據庫的建立,維護以及業(yè)務的處理。前臺界面主要提供給用戶用來選擇服務。系統采用了android開發(fā)中常用的控件來設計界面,運用了MVC模式來設計整體的架構,采用了eclipse編譯工具集成android的SDK來進行開發(fā),SQLite作為系統的數據庫。系統講解和論述了基于android的圖書館座位管理系統的實現過程,其中還介紹了一些android開發(fā)的知識點。 最終成果為使用本系統可以解決當前高校圖書館亟待解決的圖書館選座困難的問題,緩解了圖書館選座終端的壓力,高效的利用移動終端完成圖書館選座座位自習的操作。關鍵詞:android;圖書館;座位;管理系統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國內外的研究發(fā)展現狀 PAGEREF _Toc12496 2 HYPERLINK l _Toc13449 1.3國內外使用的技術及其優(yōu)缺點 PAGEREF _Toc13449 2 HYPERLINK l _Toc13154 1.3.1國內使用的技術及其優(yōu)缺點 PAGEREF _Toc13154 2 HYPERLINK l _Toc26491 1.3.2 國外的使用的技術以及優(yōu)缺點 PAGEREF _Toc26491 3
14、HYPERLINK l _Toc3379 1.4本文的主要研究內容 PAGEREF _Toc3379 4 HYPERLINK l _Toc6706 2 android開發(fā)技術和MVC模式的簡介 PAGEREF _Toc6706 5 HYPERLINK l _Toc27699 2.1 android技術簡介 PAGEREF _Toc27699 5 HYPERLINK l _Toc28903 2.2 MVC模式技術簡介 PAGEREF _Toc28903 7 HYPERLINK l _Toc405 2.4 HTTP協議簡介: PAGEREF _Toc405 11 HYPERLINK l _Toc1
15、625 3 可行性分析 PAGEREF _Toc1625 12 HYPERLINK l _Toc23057 3.1 技術可行性 PAGEREF _Toc23057 13 HYPERLINK l _Toc26000 3.2 經濟可行性 PAGEREF _Toc26000 13 HYPERLINK l _Toc26898 3.3 操作可行性 PAGEREF _Toc26898 14 HYPERLINK l _Toc32448 4 系統總體設計 PAGEREF _Toc32448 15 HYPERLINK l _Toc26251 4.1系統的組成結構 PAGEREF _Toc26251 15 HYP
16、ERLINK l _Toc22618 4.2系統工作的流程 PAGEREF _Toc22618 16 HYPERLINK l _Toc23628 4.3系統功能設計概要 PAGEREF _Toc23628 17 HYPERLINK l _Toc1418 4.4系統數據庫設計概要 PAGEREF _Toc1418 18 HYPERLINK l _Toc26371 5 系統詳細設計 PAGEREF _Toc26371 20 HYPERLINK l _Toc30127 5.1系統歡迎界面設計 PAGEREF _Toc30127 21 HYPERLINK l _Toc4181 5.2系統登陸界面設計
17、PAGEREF _Toc4181 21 HYPERLINK l _Toc3221 5.3系統主界面設計 PAGEREF _Toc3221 23 HYPERLINK l _Toc4786 5.3.1查看圖書館座位情況界面與邏輯設計 PAGEREF _Toc4786 29 HYPERLINK l _Toc12660 5.3.2選擇座位界面與邏輯設計 PAGEREF _Toc12660 31 HYPERLINK l _Toc7375 5.4 web服務器搭建: PAGEREF _Toc7375 36 HYPERLINK l _Toc13065 6 系統測試 PAGEREF _Toc13065 40
18、HYPERLINK l _Toc6636 6.1登錄界面功能測試 PAGEREF _Toc6636 40 HYPERLINK l _Toc4412 總 結 PAGEREF _Toc4412 43 HYPERLINK l _Toc27985 參考文獻 PAGEREF _Toc27985 44 HYPERLINK l _Toc305 致謝 PAGEREF _Toc305 451 緒論1.1課題背景每逢考試臨近,清晨各個高校的圖書館門前都排起了長龍。圖書館座位緊張的問題也亟待解決。其原因有如下幾個:一是在眾多的自習室中,圖書館自習室的硬件設施最為齊備,環(huán)境最為良好,更有大量的資料可以查詢,網絡覆蓋率
19、廣。這使得圖書館自習室成為多數學子的第一選擇,造成了圖書館自習室的訪問流量大的問題。二是由于高校資源不足的問題,無法提供充裕的自習室資源給數量眾多的學子和老師。三是由于部分學生不能合理地運用座位,存在占座現象。使得十分有限的座位的資源無法發(fā)揮最高的效用,進一步加劇了圖書館座位緊張的問題。 通過對部分高校的圖書館的調查,各大高校有不同的解決方案。我校解決方案有如下幾點:通過建設新校區(qū)圖書館增加可用資源,太原理工大學新校區(qū)圖書館總建筑面積65589.17平方米,建筑高達86米。二是通過在圖書館大廳以及各個樓層使用終端機預訂座位,智能管理座位。三是通過學生在圖書館自習狀態(tài)的不良記錄的處罰。如有三次及
20、三次以上違規(guī)占座,代刷座位,延時未續(xù)的現象,將作出一周內禁止刷座的處罰。如果處罰多次,將作出一個學期禁止刷座的嚴厲處罰。這些方案在一定程度上緩解了圖書館座位緊張的問題,但是還是無法解決一些問題。比如在考試臨近期間,大廳以及終端機前大量的學生排隊等候的問題,以至于大量的學生在清晨圖書館尚未開放之前就早早的來到圖書館門前排隊。這極大的影響了學生日常學習,浪費了學生大量寶貴的時間。所以以上的方案還有很大的改進空間。1993年世界上第一款智能手機是由IBM公司推出的Simon。直到2011年安卓手機在全球市場份額首度超過塞班系統,躍居全球首位。截至2015年底,根據eMarketer的研究,全球智能手
21、機用戶數量已經超過19億。智能手機由于其方便靈巧,以及隨時隨地上網的特性已經深入我們的日常生活當中,與我們密不可分。截至2016年4月1日。國際消息市場研究公司ABI Research發(fā)表報告稱,預計android智能手機市場份額將在2016年將達到45%,蘋果ios和Rim黑莓市場份額分別為19%和14%,三星Bada為10%。Android智能手機依舊領跑,蘋果ios緊隨其后。而在整個智能手機系統中,android智能手機系統的占有率截至2016年高達68.3%??梢钥闯鯽ndroid手機的市場占有份額是極大的。所以在android智能手機平臺上發(fā)布一款圖書館座位管理App是有很大的前景,
22、也可以解決當下存在的圖書館座位緊張,終端機排隊等候的問題。并且當今幾乎每個大學生都有一部智能手機,還可以節(jié)約大量的資金問題。1.2國內外的研究發(fā)展現狀根據網上資料了解到,美國斯坦福大學的圖書館和自習室在考試前上座率也會大大提升,但是司法部學校的圖書館和自習室管理比較完善。學生到圖書館或者自習室去自習,學生首先需要進行實名制的刷卡,離開和進入都必須刷卡,如果離開半小時沒有回來的話,不管有沒有來使用該座位,圖書館管理人員都會將桌上的物品收起來。而且斯坦福大學實施分流考試的制度,不會在一段集中的時間進行所有專業(yè)的考試,這樣會減少自習室或者圖書館的壓力。英國的大學占座現象也時有發(fā)生,因為在圖書館和自習
23、室的工作和學習效率很高,所以在期末的時候圖書館和自習室還是壓力很大的。值得一提的是,在英國的大學除了自習室和圖書館的位置緊張的問題,搶車位的問題也比較嚴重,英國的研究生甚至本科生都會開車去上學,所以導致了車位緊缺的問題。澳大利亞的大學圖書館占座的問題不是很嚴重,澳大利亞本地的大學生更喜歡在戶外讀書,他們比較喜歡在自由的環(huán)境下進行學習。但是臨近考試,圖書館也會忙碌起來。不過,澳大利亞的大學圖書館預約工作做的比較規(guī)范,你可以提前提前預約圖書館的座位。國內的大學由于中國自身國情的原因,每個大學的圖書館和自習室的資源總是嚴重的不足。大量的學生和相對很少的自習室之間產生的矛盾亟待解決。每逢考試季,大量的
24、學生需要在圖書館門前排隊,嚴重浪費了學生寶貴的學習時間。1.3國內外使用的技術及其優(yōu)缺點1.3.1國內使用的技術及其優(yōu)缺點由于國情原因,谷歌的公司的android技術不能面對面的和國內的開發(fā)和學習人員做交流。但是這并不妨礙android開發(fā)在國內的發(fā)展。不過相對國外,國內的一些公司在整個產品開發(fā),管理,維護做的依舊沒有國外的公司完善。在國內大學中,C語言的學習已經成為了大學生的一門必修課。對于學習方向是移動互聯的計算機科學專業(yè)的學生了解和學習android是不可或缺的。通過對國內大學的一些了解,大部分的大學計算機科學與軟件工程專業(yè)的學生學習android開發(fā)使用的課本只是早些年間的技術和理論,
25、無法跟上當前社會android開發(fā)的腳步,對于企業(yè)的開發(fā)要求還有很大的差距。這需要大學和有關部門及時的對教材進行更新,也需要聘請一些一線的資深的工程師來為在校大學生講解一些當下先進的理論和技術,這樣就不會使大學生學習的內容和企業(yè)需要的技術產生太大的差距。對于開發(fā)工具來說,IDE是每一個程序腦力產出的工具,它的功能在很大程度上對程序員的效率有影響。一款智能并且符合程序員編程習慣的IDE會極大的提升程序員的工作效率,也會幫助程序員發(fā)散思維,利用自身充分的想象力結合IDE完善的功能編寫出令人愉悅的代碼,甚至可以幫助程序員作出令人難以想象的作品。國內的絕大部分程序員使用的IDE是eclipse和mye
26、clipse.這兩款IDE有相當長時間的歷史,功能比較完善。國內相關計算機科學類的授課時講解和使用的也基本都是eclipse。對于android開發(fā)使用的SDK,由于國情的限制,無法直接到谷歌公司的網址下進行下載。我們可以通過網上的資源或者到同濟大學相關的鏡像上下載資源。還有一點就是技術的共享方面,國內也有很多的程序員的論壇和交流網址。一些資深的android開發(fā)工程師在自己的博客定時或者不定時的通過微博或者其他途徑進行技術的分享。但是對于國內的很多程序員想要從網上查詢一些資料,一般的途徑都是論壇或者百度。這并不利于技術的分享和發(fā)展。而且好多先進的思想和理論都是從國外產生再傳入國內,我們需要自
27、己產生好的理論并運用在社會生活中。1.3.2國外的使用的技術以及優(yōu)缺點國外與國內對比計算機科學和軟件的發(fā)展要更加先進和規(guī)范。國外的企業(yè)在進行軟件的開發(fā)時很大一部分采用的是敏捷開發(fā)的模式,將工作劃分為幾個階段,每個階段有自己的固定的開發(fā)時間,一般是3周到4周不等。在一個相同的階段,不同的隊伍可以同時進行不同的開發(fā)工作。利用Git軟件或者其他的分布式開發(fā)工具進行不同分支上的開發(fā),利用自動化的測試對代碼的質量作出保證。產品經理和相關經理對產品的完成進度和質量進行把控。這樣的軟件開發(fā)流程十分清晰和完善。使得產品的質量有可靠的保證,也使得產品在開發(fā)的環(huán)節(jié)上更加容易把控。由于在2015年,為了簡化andr
28、oid的開發(fā)力度,谷歌公司宣布放棄對eclipse等IDE的支持,轉而支持Android Studio。Android Studio雖然不算新的IDE,但是這款IDE的更新速度十分快,對Android的適配也十分完美。所以國外有不少的開發(fā)人員使用的是Android Studio,其他例如JAVA的開發(fā)人員也有很多在使用IDEA,這款IDE的全稱為intelij idea。由于國外的開發(fā)人員和學習人員可以直接訪問谷歌的主頁,這樣使得他們及時的了解到android的技術的更新。也便于他們與谷歌的開發(fā)人員進行交流。1.4本文的主要研究內容本文的主要研究內容是研究和設計了一個基于android的圖書館
29、座位管理系統,該系統設計的出發(fā)點是大學的日常學習和生活,聯系了一些了圖書館日常管理的業(yè)務,針對當前大學圖書館座位資源面臨的問題,提出了一些解決的方案。系統允許用戶進行登錄,系統會對用戶的身份進行驗證。登錄成功用戶可以選擇座位來自習。系統分配用戶座位,用戶使用座位來進行日常的學習或者工作。大概的內容如下圖所示:圖 1-1總體框架圖從圖中我們可以看到,用戶通過自己的手機連接到網絡,然后進行用戶登錄的動作,系統會通過網絡訪問服務器,服務器又會去數據庫查詢用戶的相關的信息,返回給客戶端,這樣客戶端就可以來斷定用戶是否是一個有效的用戶。登錄成功,用戶進行選擇座位也要通過業(yè)務邏輯去訪問服務器,服務器去數據
30、庫去數據返回給客戶端,客戶端來顯示哪些座位是可用的。選擇完畢后,客戶端將數據發(fā)給服務器,服務器將更新的數據儲存到數據庫中。2 android開發(fā)技術和MVC模式的簡介2.1android技術簡介Android在中國被翻譯為安卓,是一個基于Linux核心的系統。由Google成立的Open Handset Alliance即開放手機聯盟持續(xù)領導和開發(fā)。該系統主要運用在手機和平板的終端。Android在最初是由Andy Rubin等人開發(fā)研究,他們研究的主要方向和目的就是開發(fā)出一款適配智能手機的系統。在2005年被美國的谷歌公司收購。Andy等人繼續(xù)帶領團隊進行Android的開發(fā)和研究工作。在2
31、005年的7月11日,谷歌聯合了全球84家硬件制造商,軟件開發(fā)商及電信運營商成立了開放手持設備聯盟。聯盟的目的是協作和共同對Android系統進行發(fā)展,改善。隨后谷歌發(fā)布了Android 的源代碼。這使得手機制造商如雨后春筍般發(fā)展起來,也使得Android系統搭載到了平板電腦上。2010年底的數據顯示,推出僅僅只有兩年的Android系統首次在市場份額上超越了制霸十年之久的塞班系統,成為了全球第一大智能手機的操作系統。這也標志著諾基亞的統治地位結束,手機市場迎來了智能化的嶄新時代。這是Android 的系統架構,android的系統架構和其他的操作系統有著異曲同.工之妙,從上倒下分為四層,分別
32、是Applications層,即應用程序層、Application Framework層,即應用程序框架層、Libraries層,即系統運行庫層、Linux Kernel層,即Linux核心層。圖2-1 Android系統架構圖應用程序層:Android會同一系列核心應用程序包一起發(fā)布,該應用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。應用框架層:開發(fā)人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用; 任何一個應用程序都可以發(fā)布它的功能塊并且任何其它的應用程序都可以使用其所發(fā)
33、布的功能塊。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。隱藏在每個應用后面的是一系列的服務和系統, 其中包括;豐富而又可擴展的視圖(Views),可以用來構建應用程序, 它包括列表(lists),網格(grids),文本框(text boxes),按鈕(buttons), 甚至可嵌入的web瀏覽器。內容提供器(Content Providers)使得應用程序可以訪問另一個應用程序的數據(如聯系人數據庫), 或者共享它們自己的數據 資源管理器(Resource Manager)提供 非代碼資源的訪問,如本地字符串,圖形,和布局文件( layout files )。通知管理器 (Not
34、ification Manager) 使得應用程序可以在狀態(tài)欄中顯示自定義的提示信息?;顒庸芾砥? Activity Manager) 用來管理應用程序生命周期并提供常用的導航回退功能。系統運行庫:程序庫Android 包含一些C/C+庫,這些庫能被Android系統中不同的組件使用。它們通過 Android 應用程序框架為開發(fā)者提供服務。以下是一些核心庫:系統 C 庫 - 一個從 BSD 繼承來的標準 C 系統函數庫( libc ), 它是專門為基于 embedded Linux 的設備定制的。媒體庫 - 基于 PacketVideo,OpenCode。該庫支持多種常用的音頻、視頻格式回放和
35、錄制,同時支持靜態(tài)圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。Surface Manager - 對顯示子系統的管理,并且為多個應用程序提 供了2D和3D圖層的無縫融合。LibWebCore : 一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。SGL - 底層的2D圖形引擎 3D libraries : 基于OpenGL ES 1.0 APIs實現;該庫可以使用硬件 3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。FreeType :位圖(bitmap)和矢量(vector)字體顯示。SQLite - 一
36、個對于所有應用程序可用,功能強勁的輕型關系型數據庫引擎。Android 運行庫Android 囊括了一個核心庫,該庫包含了JAVA編程語言類庫的絕大多數功能。每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik被設計成一個設備可以同時高效地運行多個虛擬系統。 Dalvik虛擬機執(zhí)行(.dex)的Dalvik可執(zhí)行文件,該格式文件針對小內存使用做了優(yōu)化。同時虛擬機是基于寄存器的,所有的類都經由JAVA編譯器編譯,然后通過SDK中 的 dx 工具轉化成.dex格式由虛擬機執(zhí)行。Dalvik虛擬機依賴于Linux內核的一些功能,比如線程機制和底層內
37、存管理機制。Linux 內核:Android 的核心系統服務依賴于 Linux 2.6 內核,如安全性,內存管理,進程管理, 網絡協議棧和驅動模型。 Linux 內核也同時作為硬件和軟件棧之間的抽象層。2.2 MVC模式技術簡介MVC 概念MVC全名是Model View Controller,是模型(model)、視圖(view)、控制器(controller)的縮寫,一種軟件設計典范,用一種業(yè)務邏輯、數據、界面顯示分離的方法組織代碼,將業(yè)務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務邏輯。其中M層處理數據,業(yè)務邏輯等;V層處理界面的顯示結果;C層起到橋
38、梁的作用,來控制V層和M層通信以此來達到分離視圖顯示和業(yè)務邏輯層。圖2-2 MVC架構圖MVC for Android在Android開發(fā)中,比較流行的開發(fā)框架模式采用的是MVC框架模式,采用MVC模式的好處是便于UI界面部分的顯示和業(yè)務邏輯,數據處理分開。M層:適合做一些業(yè)務邏輯處理,比如數據庫存取操作,網絡操作,復雜的算法,耗時的任務等都在model層處理。 V層:應用層中處理數據顯示的部分,XML布局可以視為V層,顯示Model層的數據結果。 C層:在Android中,Activity處理用戶交互問題,因此可以認為Activity是控制器,Activity讀取V視圖層的數據,控制用戶輸入
39、,并向Model發(fā)送數據請求。MVC使用總結利用MVC設計模式,使得項目有了很好的可擴展和維護性,當需要改變UI顯示的時候,無需修改Contronller(控制器)Activity的代碼和Model(模型)中的業(yè)務邏輯代碼,很好的將業(yè)務邏輯和界面顯示分離。在Android項目中,業(yè)務邏輯,數據處理等擔任了Model(模型)角色,XML界面顯示等擔任了View(視圖)角色,Activity擔任了Contronller(控制器)角色。contronller(控制器)是一個中間橋梁的作用,通過接口通信來協同 View(視圖)和Model(模型)工作,起到了兩者之間的通信作用。什么時候適合使用MVC設
40、計模式?當然一個小的項目且無需頻繁修改需求就不用MVC框架來設計了,那樣反而覺得代碼過度設計,代碼臃腫。一般在大的項目中,且業(yè)務邏輯處理復雜,頁面顯示比較多,需要模塊化設計的項目使用MVC就有足夠的優(yōu)勢了。在MVC模式中我們發(fā)現,其實控制器Activity主要是起到解耦作用,將View視圖和Model模型分離,雖然Activity起到交互作用,但是找Activity中有很多關于視圖UI的顯示代碼,因此View視圖和Activity控制器并不是完全分離的,也就是說一部分View視圖和Contronller控制器Activity是綁定在一個類中的。MVC的優(yōu)點:耦合性低。所謂耦合性就是模塊代碼之間
41、的關聯程度。利用MVC框架使得View(視圖)層和Model(模型)層可以很好的分離,這樣就達到了解耦的目的,所以耦合性低,減少模塊代碼之間的相互影響??蓴U展性好。由于耦合性低,添加需求,擴展代碼就可以減少修改之前的代碼,降低bug的出現率。模塊職責劃分明確。主要劃分層M、V、C三個模塊,利于代碼的維護。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月貢獻給開源社區(qū),現在它由非營利軟件供應商聯盟Eclipse基金會(Eclipse Foundation)管理。2003年,Eclipse 3.0選擇OSGi服務平臺規(guī)范為運行時架構。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的基礎是富客戶機平臺(即RCP)。RCP包括下列組件:核心平臺(啟動Eclipse,運行插件)OSGi(標準集束框架)SWT(可移植構件工具包)JFace(文件緩沖,文本處理,文本編輯器)Eclipse工作臺(即Workbench,包含視圖(views)、編輯器(editors)、視角(perspectives)、和向導(wizards)Eclipse采用的技術是IBM公司開發(fā)的(SWT),這是一種基于Java的窗
44、口組件,類似Java本身提供的AWT和Swing窗口組件;不過IBM聲稱SWT比其他Java窗口組件更有效率。Eclipse的用戶界面還使用了GUI中間層JFace,從而簡化了基于SWT的應用程序的構建。2.3 apache服務器簡介:Apache是當前世界應用最為普遍和廣泛的web服務器,根據權威調查,世界上以上的web一半以上的服務器在使用apache.所以Apache當之無愧的可以說是世界第一的web服務器。Apache是一個開源的網頁服務器,開源的特性使得它的活力進一步提升。它經過多次的修改,廣泛的被應用在全球各大公司。它的跨平臺性也在一定程度上使得學習者可以方便的應和學習它。apac
45、he的特性:1)幾乎可以運行在所有的計算機平臺上.2)支持最新的http/1.1協議3)簡單而且強有力的基于文件的配置(httpd.conf).4)支持通用網關接口(cgi)5)支持虛擬主機.6)支持http認證.7)集成perl.8)集成的代理服務器9)可以通過web瀏覽器監(jiān)視服務器的狀態(tài),可以自定義日志.10)支持服務器端包含命令(ssi).11)支持安全socket層(ssl).12)具有用戶會話過程的跟蹤能力.13)支持fastcgi2.4 HTTP協議簡介Http協議是一鐘超文本傳輸協議 HyperText Transfer Protocol 屬于應用層的協議,主要通過傳輸層TCP/
46、IP協議在服務器與客戶端之間實現數據傳輸,我們在使用IE或Firefox瀏覽網頁或下載Web資源時,通過在地址欄中輸入,開頭的4個字母http就相當于通知瀏覽器使用HTTP協議來和host所確定的服務器進行通訊。Http的工作方式HTTP協議采用了請求/響應的工作方式?;贖TTP1.0協議的客戶端在每次向服務器發(fā)出請求后,服務器就會向客戶端返回響應消息(包括請求是否正確以及所請求的數據),在確認客戶端已經收到響應消息后,服務端就會關閉網絡連接(其實是關閉TCP連接)。在這個數據傳輸過程中,并不保存任何歷史信息和狀態(tài)信息,因此,HTTP協議也被認為是無狀態(tài)的協議(這也就是所謂的短連接)。圖2-
47、3Http請求過程圖Http協議簡介在HTTP1.0協議中,當Web瀏覽器發(fā)出請求時,就意味著一個請求/響應會話已經開始。在請求、響應結束后,服務器就會立刻關閉這個連接。這種會話方式雖然簡便,但它會帶來另外一個問題。如果客戶端瀏覽器訪問的某個HTML或其他類型的Web頁中包含有其他的Web資源,如JavaScript文件、圖像文件、CSS文件等;當瀏覽器每遇到這樣一個Web資源,就會建立一個HTTP會話。如果這樣的資源很多的話,就會加重服務器的負擔,同時也會影響客戶端瀏覽器加載HTML等Web資源的效率。在對上述的缺陷進行改進和完善后,HTTP1.1協議進入了我們的視線。HTTP1.1和HTT
48、P1.0相比較而言,最大的區(qū)別就是增加了持久連接(也就是長臉接)支持。當客戶端使用HTTP1.1協議連接到服務器后,服務器就將關閉客戶端連接的主動權交還給客戶端,也就是說,在客戶端向服務器發(fā)送一個請求并接收以一個響應后,只要不調用Socket類的close方法關閉網絡連接,就可以繼續(xù)向服務器發(fā)送HTTP請求。當HTML中含有其他的Web資源時,瀏覽器就可以使用同一個網絡連接向下載這些資源,這樣就可以大大減輕服務器的壓力。Http協議簡介HTTP1.1除了支持持久連接外,還將HTTP1.0的請求方法從原來的三個(GET、POST和HEAD)擴展到了八個(OPTIONS、GET、HEAD、POST
49、、PUT、DELETE、TRACE和CONNECT)。而且還增加了很多請求和響應字段,如上述的持久連接的字段Connection。這個字段有兩個值,Close和Keep-Alive。如果使用Connection:Close,則關閉HTTP1.1的持久連接的功能,要打開HTTP1.1的持久連接的功能,必須使用Connection:Keep-Alive,或者不加Connection字段(因為HTTP1.1在默認情況下就是持久連接的)。除了這些,還提供了身份認證、狀態(tài)管理和緩存(Cache)等相關的請求頭和響應頭。Http工作原理一次HTTP操作稱為一個事務,其工作過程可分為四步:首先客戶機與服務器
50、需要建立連接。只要單擊某個超級鏈接,HTTP的工作就開始了。建立連接后,客戶機發(fā)送一個請求給服務器,請求方式的格式為:統一資源標識符(URL)、協議版本號,后邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。服務器接到請求后,給予相應的響應信息,其格式為一個狀態(tài)行,包括信息的協議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務器信息、實體信息和可能的內容??蛻舳私邮辗掌魉祷氐男畔⑼ㄟ^瀏覽器顯示在用戶的顯示屏上,然后客戶機與服務器斷開連接。如果在以上過程中的某一步出現錯誤,那么產生錯誤的信息將返回到客戶端,由顯示屏輸出。對于用戶來說,這些過程是由HTTP自己完成的,用戶只要用鼠
51、標點擊,等待信息顯示就可以了。許多HTTP通訊是由一個用戶代理初始化的并且包括一個申請在源服務器上資源的請求。最簡單的情況可能是在用戶代理和服務器之間通過一個單獨的連接來完成。在Internet上,HTTP通訊通常發(fā)生在TCP/IP連接之上。缺省端口是TCP 80,但其它的端口也是可用的。但這并不預示著HTTP協議在Internet或其它網絡的其它協議之上才能完成。HTTP只預示著一個可靠的傳輸。3 可行性分析3.1 技術可行性本系統是在Window環(huán)境下進行開發(fā),使用的集成開發(fā)環(huán)境工具為eclipse,eclipse集成了Android 的SDK。數據庫為android虛擬機自帶的SQLit
52、e數據庫。測試的設備可以選擇搭載Android系統的實體機,也可以選擇Android自帶的虛擬機,本系統選擇的測試設備為Genymotion。Genymotion是一款十分出眾,性能優(yōu)秀的Android虛擬機,相對于Android SDK自帶的虛擬機,Genymotion啟動速度要快非常多,而且在畫質上、流暢度上也比Android AVD優(yōu)異很多。IDE方面,Genymotion也支持多款的集成開發(fā)環(huán)境工具,例如Intelij idea和eclipse。這使得Genymotion不僅在開發(fā)工程師這備受歡迎,也深得Android游戲玩家的青睞。Genymotion虛擬機的優(yōu)點:速度快性能好,資源
53、占用低,系統要求512MB內存就能運行。支持 OpenGL 3D加速,可以流暢玩大型3D游戲。支持同時啟動多個模擬器,可以實現軟件或游戲多開。支持多種虛擬傳感器,如電池狀態(tài)、GPS、NFC、重力加速器等模擬,在微信、陌陌之類的App上有特別用處。支持攝像頭、藍牙等設備??梢耘渲媚M器參數,如屏幕分辨率、內存大小、CPU數量。直接拖拽窗口即可調整畫面大小,支持多種分辨率。能支持幾乎全部版本的 Android 系統。支持直接拖放文件到虛擬設備。啟動速度以及運行速度都優(yōu)于 Android SDK 官方的模擬器。3.2 經濟可行性經濟可行性分析的目的主要是對本系統運營成本的分析。首先我們可以從市場調查
54、上得到,Android手機的市場占有率在中國以及全球范圍內都是第一位的。從大學生的調查也可以得出,當代大學生使用的手機系統絕大多數是使用的是搭載了Android系統的手機,其中各種各樣的Android手機品牌都有,主流品牌是三星、華為、小米、魅族、Oppo。所以說大學生的手持設備的普及在極大程度上保證我們不需要對硬件設備上投入大量的資金。而且門禁設備也無需更換,完全可以在原有的圖書館設備基礎上進行改造和部署。另一方面,項目的開發(fā)軟件都是免費或者開源的軟件,所以在開發(fā)期間的資金投入也基本沒有。對于項目部署之后的維護工作,因為該系統面向的對象主要是高校的圖書館,所以高??梢哉心家恍┲驹笇W習的、相關
55、專業(yè)的以及有能力勝任的學生來對程序進行后期的維護、更新。這樣高校不僅可以節(jié)省大量的資金,還可以使得參與該項目的學生得到極好的鍛煉。3.3 操作可行性操作可行性分析的主要目的是看系統提供的服務是否真的可以滿足用戶的需求。本系統主體功能就是提供一個選擇圖書館座位的界面來滿足在圖書館用座高峰時期,圖書館的選座終端壓力驟增的情況下,學生不用排隊等候選擇座位。從而減少圖書館選座終端的壓力,也節(jié)省了學生寶貴的學習時間。而且安卓設備相應的操作比較智能化,操作簡單。安卓的設備輕便,便于攜帶的特點使得學生無需在圖書館選座終端前排隊等待選座。可以在圖書館內任意的地點進行選擇座位,緩解了圖書館選座終端的壓力。4 系
56、統總體設計4.1系統的組成結構系統的主要用戶是學生。下圖是用戶的用例圖。用戶,即學生要首先進行登錄操作,登錄后用戶可以進行查看當前的圖書館的座位情況、選擇空閑座位、釋放座位、暫時離開、查看當前用戶的狀態(tài)的操作。用戶登錄成功后,系統會跳轉到主界面,你在主界面可以有三個操作,查看當前圖書館的座位情況、選擇座位和查看當前用戶的狀態(tài)。查看當前圖書館的座位情況可以直觀向用戶展示當前圖書館各個樓層自習室的座位空閑以及占用狀況,以便用戶自身來判斷是否合適選擇圖書館作為自習的地點,這樣使學生不必要去圖書館才可以得知座位的使用情況,方便學生及時的查看圖書館座位資源的使用情況。選擇座位的操作是該系統的最核心、重要
57、的模塊。用戶通過各個樓層的座位的列表來了解哪些座位是被占用的,哪些是空閑。用戶的個人管理界面只提供查看當前用戶的在圖書館不良的狀態(tài)的記錄。座位被用戶選擇了之后,系統會跳到用戶使用座位的顯示界面。在這個界面用戶的可以有釋放座位、暫時離開、和續(xù)時的操作。圖 4-1 系統用例圖4.2 系統工作的流程該系統是部署在搭載了Android手機系統的終端,在用戶的終端上系統時采用了Android項目普遍采用的MVC模式。即Model層(模型層)、View層(視圖層)、Controller層(控制層)。這三層將整個系統的架構清晰的分為三個部分,每個模塊各司其職。將與用戶交互的界面部分放入View層,這層主要負
58、責和用戶的交互,方便統一管理系統的前臺界面。將系統的一些跳轉的控制語句放在Controller層,這一層主要功能是為了將界面和最下層的業(yè)務處理層聯系在一起,也擔任著傳遞一些必要參數的功能。最后將業(yè)務邏輯處理的部分放在最下層的Model層,這一層是將所有用戶的操作進行處理并將處理結果反饋給用戶的部分。這一層還擔負著和本地和遠程數據交互、插入更新、刪除的操作。遠程服務器采用的web服務器,用戶通過HTTP請求訪問到服務器,服務器將數據庫中用戶信息、以及傳輸給用戶。圖4-2 系統總體架構圖由上圖可以看出系統的大致流程,用戶用過View層的用戶界面進行操作,系統將用戶的操作信息通過Controller
59、層發(fā)送給Model層,Model層會通過HTTP請求與遠程的server端進行交互,server端會去origin Database中去取數據然后傳給Model層,Model層將得到數據的存入本地數據。將數據經過處理后給Controller層,Controller層在將最后的處理結果返回給用戶。4.3 系統功能設計概要本系統包括用戶登錄,用戶個人信息查詢,用戶選擇座位,用戶使用座位時長提示,用戶延長座位使用時間,用戶暫時離開座位,用戶釋放座位等功能。一、用戶登錄本系統需要使用用戶本人大學教務系統的賬號及密碼,用戶登錄時需要與服務器進行身份驗證。二、用戶可以在個人信息中查看自己的圖書館自習的狀態(tài)
60、,也可以查詢最近是否有不良記錄和處罰。三、用戶可以查看當前圖書館座位的使用情況來判斷圖書館是否可以滿足自己的自習需求。四、用戶可以選擇座位,但是必須在使用校園一卡通刷過門禁后,服務器會將信息發(fā)送給用戶手機的客戶端,將用戶的狀態(tài)由不可選座狀態(tài)變?yōu)榭蛇x擇座位的狀態(tài)。用戶可以進入選擇座位的界面來選擇樓層的自習室。系統會提示用戶進行自動分配座位或者手動選擇座位。五、自動選擇座位的功能會從服務器的數據中查找未被占用的座位,系統將未被使用的座位自動分配給用戶。六、手動選擇座位功能,用戶需要先進行樓層的選擇,系統將把座位的情況以列表的形式的展現給用戶,未被占用的座位標記為可選擇的狀態(tài),已經被占用的座位標記為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國普通軟管行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國圣誕節(jié)飾品行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國12丙二醇數據監(jiān)測研究報告
- 2025至2030年中國調溫型除濕機數據監(jiān)測研究報告
- 2025至2030年中國茜素黃R數據監(jiān)測研究報告
- 2025至2030年中國空氣凈化塔數據監(jiān)測研究報告
- 2025至2030年中國瑪瑙罐數據監(jiān)測研究報告
- 2025至2030年中國塑料擠出機電氣控制箱數據監(jiān)測研究報告
- 2025至2030年中國固轉支承吊數據監(jiān)測研究報告
- 2025至2030年中國雙層保溫飯盒數據監(jiān)測研究報告
- 《做自己的心理醫(yī)生 現代人的心理困惑和自我療愈策略》讀書筆記思維導圖PPT模板下載
- 2022-2023學年上海市楊浦區(qū)上海同濟大附屬存志學校七年級數學第二學期期中綜合測試模擬試題含解析
- 小學音樂組集體備課計劃
- XX學校服采購工作方案(含一封信、備案表、反饋表)
- 血液透析安全注射臨床實踐專家共識解讀
- GB/T 41873-2022塑料聚醚醚酮(PEEK)樹脂
- SB/T 10940-2012商用制冰機
- GB/T 33107-2016工業(yè)用碳酸二甲酯
- GB/T 25945-2010鋁土礦取樣程序
- GB/T 18938-2008家用和類似用途的面包片電烘烤器性能測試方法
- GB/T 16604-2017滌綸工業(yè)長絲
評論
0/150
提交評論