基于Android的圖書(shū)館服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于Android的圖書(shū)館服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于Android的圖書(shū)館服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于Android的圖書(shū)館服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于Android的圖書(shū)館服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 畢業(yè)設(shè)計(jì)(論文)題目: 基于Android的圖書(shū)館服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)湖南理工學(xué)院畢業(yè)設(shè)計(jì)(論文)摘 要 針對(duì)現(xiàn)有圖書(shū)館手機(jī)服務(wù)系統(tǒng)的開(kāi)發(fā)和使用成本高昂、移動(dòng)數(shù)據(jù)流量消耗大、響應(yīng)速度慢,不適應(yīng)移動(dòng)互聯(lián)網(wǎng)時(shí)代的現(xiàn)象。本文開(kāi)發(fā)了一個(gè)基于Android平臺(tái)的圖書(shū)館移動(dòng)智能終端系統(tǒng)。該系統(tǒng)利用HTTP通信、條碼掃描、Oracle及MySQL數(shù)據(jù)庫(kù)等技術(shù)進(jìn)行開(kāi)發(fā),為讀者提供基于OPAC檢索的書(shū)籍資源檢索功能,方便讀者快速簡(jiǎn)單的使用圖書(shū)館服務(wù),實(shí)現(xiàn)了傳統(tǒng)圖書(shū)館服務(wù)的移動(dòng)化和智能化。在關(guān)聯(lián)化、云端化和社交化的移動(dòng)互聯(lián)網(wǎng)服務(wù)趨勢(shì)下,這款集資源、社交等為一體的該APP將為用戶提供更加便捷,高效的服務(wù)。關(guān)鍵詞:A

2、ndroid;圖書(shū)館;移動(dòng)互聯(lián)網(wǎng)29 Abstract Development and use of cell phone service costs for existing library system's high, mobile data traffic consumption, slow response, suited to the phenomenon of the mobile Internet era. This paper develops a library based on Android platform for mobile intelligent term

3、inal system. The system uses HTTP communications, bar code scanning, Oracle and MySQL database technology for development, to provide readers with quick and easy to use library services resources based OPAC search function to retrieve the books, allow readers to realize the mobile and traditional li

4、brary services intelligent. In association based, cloud and social trends of mobile Internet services, this set of resources, and social, as one of the APP will provide users with more convenient and efficient services.Key words: Android; Library; Mobile Internet目 錄摘 要IAbstractII 第1章 緒 論11.1研究背景11.2

5、 移動(dòng)圖書(shū)館的發(fā)展優(yōu)勢(shì)與分析11.3 本文組織結(jié)構(gòu)2第2章 相關(guān)技術(shù)32.1 Android Studio集成開(kāi)發(fā)環(huán)境32.2 MySQL數(shù)據(jù)庫(kù)和SQLite數(shù)據(jù)庫(kù)32.3 匯文OPAC系統(tǒng)42.4 C/S結(jié)構(gòu)42.5 B/S結(jié)構(gòu)52.6 小結(jié)6第3章 需求分析與概要設(shè)計(jì)73.1 需求分析73.2 功能概要設(shè)計(jì)73.3 系統(tǒng)架構(gòu)83.4 小結(jié)8第4章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)94.1 客戶端設(shè)計(jì)與實(shí)現(xiàn)94.2 服務(wù)端設(shè)計(jì)與實(shí)現(xiàn)194.3 系統(tǒng)服務(wù)224.4 小結(jié)23第5章 系統(tǒng)測(cè)試與優(yōu)化245.1測(cè)試245.2綜合優(yōu)化265.3小結(jié)27結(jié) 論28參考文獻(xiàn)29致 謝30湖南理工學(xué)院畢業(yè)設(shè)計(jì)(論文)第1

6、章 緒 論 1.1 研究背景移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展,各行各業(yè)都與之靠攏,傳統(tǒng)的服務(wù)行業(yè)都在這次浪潮中改革,新型的智能化服務(wù)被移動(dòng)互聯(lián)網(wǎng)所覆蓋。移動(dòng)通信技術(shù)的發(fā)展為高速網(wǎng)上瀏覽提供了基礎(chǔ),為電子文獻(xiàn)技術(shù)的傳播與共享提供了保障,而且圖書(shū)館信息的服務(wù)在移動(dòng)信息技術(shù)的發(fā)展下也向移動(dòng)圖書(shū)館服務(wù)系統(tǒng)的轉(zhuǎn)變,移動(dòng)圖書(shū)館服務(wù)系統(tǒng)是圖書(shū)館一個(gè)新的改革的方向,也是圖書(shū)館的未來(lái)給予讀者服務(wù)、吸引讀者的方向。同時(shí),移動(dòng)圖書(shū)館這門新興服務(wù)的發(fā)展給高校圖書(shū)館傳統(tǒng)服務(wù)帶來(lái)沖擊,高校圖書(shū)館的工作面臨著新的機(jī)遇和挑戰(zhàn)。當(dāng)智能手機(jī)上網(wǎng)成為一大主流的時(shí)候,移動(dòng)圖書(shū)館服務(wù)將成為圖書(shū)館另一個(gè)重要的服務(wù)方式1。在傳統(tǒng)行業(yè)紛紛轉(zhuǎn)向提供移動(dòng)互

7、聯(lián)網(wǎng)服務(wù)的趨勢(shì)下,圖書(shū)館需要一款移動(dòng)智能終端系統(tǒng),集資源、社交等為一體的APP來(lái)為用戶提供更加便捷,高效的服務(wù)。同時(shí)也推廣自己提高話語(yǔ)權(quán),讀者在移動(dòng)終端(包括平板電腦、手機(jī)、電子書(shū)閱讀器等)安裝APP應(yīng)用后,可以快速隨時(shí)方便的享受圖書(shū)館提供的傳統(tǒng)服務(wù),這樣提高了讀者的效率,也增加了圖書(shū)館的用戶。 1.2 移動(dòng)圖書(shū)館的發(fā)展優(yōu)勢(shì)與分析伴隨著智能設(shè)備的普及,圖書(shū)館提供的傳統(tǒng)服務(wù)已經(jīng)不能滿足讀者日益增長(zhǎng)的各種需求,例如閱讀的社交性、實(shí)時(shí)性等,圖書(shū)館需要進(jìn)行服務(wù)的改革。移動(dòng)圖書(shū)館2是隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展而誕生的一個(gè)詞,由于移動(dòng)設(shè)備的便攜性以及互聯(lián)網(wǎng)的實(shí)時(shí)性,從而能夠更方便的為讀者提供更多的服務(wù)

8、,讀者通過(guò)隨身的移動(dòng)設(shè)備,享受諸如實(shí)時(shí)了解圖書(shū)館信息,查書(shū)找書(shū)等圖書(shū)館服務(wù)。隨著智能手機(jī)登移動(dòng)終端設(shè)備的普及和移動(dòng)通信技術(shù)的飛速發(fā)展,移動(dòng)個(gè)人數(shù)字圖書(shū)館服務(wù)對(duì)移動(dòng)終端的要求越來(lái)越高,比如硬件配置、操作系統(tǒng)等。需要一個(gè)開(kāi)放性很強(qiáng)的平臺(tái)來(lái)作為承載體,Android是基于Linux系統(tǒng)的,以移動(dòng)設(shè)備為主要載體的開(kāi)源操作系統(tǒng),在今天的智能手機(jī)市場(chǎng)中,Android系統(tǒng)的份額是最大的。隨著3G、4G技術(shù)的發(fā)展,移動(dòng)互聯(lián)網(wǎng)的時(shí)代,對(duì)于隨身圖書(shū)館服務(wù)需求是特別大的。移動(dòng)圖書(shū)館擴(kuò)大了高校圖書(shū)館的服務(wù)范圍與服務(wù)質(zhì)量,使圖書(shū)館的服務(wù)不再僅僅局限于圖書(shū)館內(nèi),用戶能隨時(shí)隨地的享受圖書(shū)館提供的各種服務(wù),了解圖書(shū)館的最新

9、動(dòng)態(tài)。移動(dòng)圖書(shū)館能相對(duì)于傳統(tǒng)的圖書(shū)館服務(wù)更好地滿足用戶的個(gè)性化需求,同時(shí)移動(dòng)圖書(shū)館的發(fā)展會(huì)改變高校圖書(shū)館的管理模式并提高服務(wù)水平,移動(dòng)圖書(shū)館的發(fā)展加速推動(dòng)了高校圖書(shū)館信息資源的共建共享。移動(dòng)圖書(shū)館在移動(dòng)互聯(lián)網(wǎng)下誕生,其繼承了移動(dòng)智能設(shè)備與互聯(lián)網(wǎng)的優(yōu)勢(shì),擁有大量的用戶與發(fā)展空間。又因?yàn)槠潇`活性與良好的用戶體驗(yàn),必將為讀者提供更好的圖書(shū)館服務(wù)。1.3 本文組織結(jié)構(gòu) 移動(dòng)互聯(lián)網(wǎng)的發(fā)展,各種公共服務(wù)均因此得到一個(gè)新的發(fā)展平臺(tái)。本文基于此主要研究了以Android為平臺(tái),以O(shè)PAC為主要檢索服務(wù)的移動(dòng)圖書(shū)館服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。論文的主要研究?jī)?nèi)容與結(jié)構(gòu)安排如下: 第1章,緒論,包含了論文的研究背景以及對(duì)移

10、動(dòng)圖書(shū)館發(fā)展的分析。第2章,介紹了系統(tǒng)開(kāi)發(fā)過(guò)程中使用的關(guān)鍵技術(shù)及相關(guān)的準(zhǔn)備知識(shí)。第3章,對(duì)系統(tǒng)的架構(gòu)以及各個(gè)功能模塊進(jìn)行了概括介紹。第4章,具體介紹了系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),包括客戶端、服務(wù)端的設(shè)計(jì)與實(shí)現(xiàn),數(shù)據(jù)庫(kù)的設(shè)計(jì)與優(yōu)化,系統(tǒng)服務(wù)的實(shí)現(xiàn)。第5章是系統(tǒng)測(cè)試和綜合優(yōu)化的實(shí)現(xiàn)過(guò)程,保證最好的用戶體驗(yàn)。結(jié)論部分,包括本文的展望與總結(jié)。第2章 相關(guān)技術(shù) 2.1 Android Studio集成開(kāi)發(fā)環(huán)境Android Studio是一個(gè)Android開(kāi)發(fā)環(huán)境,基IntelliJIDEA,由Google公司推出。類似Eclipse ADT,Android Studio提供了集成的Android 開(kāi)發(fā)工具用于開(kāi)

11、發(fā)和調(diào)試。利用Android Studio,開(kāi)發(fā)者能夠開(kāi)發(fā)眾多硬件平臺(tái)如手機(jī)、TV、手表、Glass等的Android應(yīng)用程序。本系統(tǒng)客戶端的開(kāi)發(fā)中,采用的版本是Android Studio 1.1.0。Android Studio基于IntelliJIDEA開(kāi)發(fā),它在IntelliJIDEA的基礎(chǔ)上,又針對(duì)Android應(yīng)用程序開(kāi)發(fā)為開(kāi)發(fā)組提供了許多特色的功能,使開(kāi)發(fā)人員能夠快速創(chuàng)建高質(zhì)量、高性能、高穩(wěn)定性以及高用戶體驗(yàn)的Android應(yīng)用程序。使用Android Studio開(kāi)發(fā)的應(yīng)用程序,具有快速創(chuàng)建、安全高效和易于管理等優(yōu)點(diǎn)。Android Studio解決了Android應(yīng)用開(kāi)發(fā)中常

12、見(jiàn)的一些問(wèn)題,首先解決的一個(gè)問(wèn)題是多分辨率適配。在大量的Android設(shè)備中,大量不同尺寸的屏幕和分辨率一直是開(kāi)發(fā)者開(kāi)發(fā)過(guò)程中適配的一個(gè)惱人的問(wèn)題,使用Android Studio,開(kāi)發(fā)者可以輕松方便為自己的應(yīng)用適配各種不同分辨率的屏幕;同時(shí)Android Studio還解決全球化語(yǔ)言的解決方案,多語(yǔ)言版本、快速翻譯都讓開(kāi)發(fā)者更輕松的進(jìn)行全球開(kāi)發(fā)環(huán)境;Android Studio還提供收入記錄功能;最后提供的Beta Testing,可以讓開(kāi)發(fā)者很方便試運(yùn)行應(yīng)用。相比于其他的集成開(kāi)發(fā)環(huán)境,采用Android Studio開(kāi)發(fā)的應(yīng)用程序具有如下幾個(gè)明顯優(yōu)勢(shì): 1) 基于Gradle3的構(gòu)建支持;

13、2) Android專屬的重構(gòu)和快速修復(fù)BUG;3) 提示工具方便顯示可用性、捕獲性能、版本兼容性等問(wèn)題;4) 支持ProGuard和應(yīng)用簽名;5) 提供使用向?qū)?lái)生成常用的 Android 應(yīng)用設(shè)計(jì)和組件模板;6) 提供強(qiáng)大的布局編輯器,輕松的拖拉 UI 控件到布局上就能進(jìn)行效果預(yù)覽。2.2 MySQL數(shù)據(jù)庫(kù)和SQLite數(shù)據(jù)庫(kù)MySQL4是一個(gè)開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由MySQL AB公司開(kāi)發(fā),目前由Oracle公司管理。MySQL是目前最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在WEB應(yīng)用軟件開(kāi)發(fā)中方面是最好的RDBMS (Relational Database Management Sys

14、tem),關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件。MySQL將不同的數(shù)據(jù)分別保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)相同的倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了使用的靈活性。MySQL使用標(biāo)準(zhǔn)SQL語(yǔ)言用于訪問(wèn)數(shù)據(jù)庫(kù)。MySQL軟件是開(kāi)源的,所以采用了兩種授權(quán)使用的政策,MySQL分為普通社區(qū)版和商業(yè)版,因?yàn)槠渌俣瓤?、體積小、總體使用成本低,尤其是開(kāi)放源代碼這一特性,很多系統(tǒng)都是用它作為數(shù)據(jù)存放的數(shù)據(jù)庫(kù)。與 Oracle、DB2、SQL Server等大型數(shù)據(jù)庫(kù)相比,MySQL 肯定也有自己的缺點(diǎn),對(duì)于中小型企業(yè)和個(gè)人使用者來(lái)說(shuō),MySQL提供的功能已經(jīng)足夠了,最關(guān)鍵是 MySQL是開(kāi)放源碼的軟件,它提供了

15、授權(quán)使用政策是使用者能降低總體擁有成本。由于性能卓越,免費(fèi)等特點(diǎn),它與同樣開(kāi)源的PHP、Linux和Apache可組成非常好的開(kāi)發(fā)環(huán)境。SQLite5,是一款體積輕小的數(shù)據(jù)庫(kù),常用于嵌入式設(shè)備中。遵守ACID的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它包含在一個(gè)相對(duì)小的C庫(kù)中。它是D.RichardHipp建立的公共項(xiàng)目。因?yàn)樗脑O(shè)計(jì)目標(biāo)就是針對(duì)嵌入式產(chǎn)品,所以目前在嵌入式產(chǎn)品中使用廣泛,它占用資源非常的低,只需要幾百K的內(nèi)存在嵌入式設(shè)備中就夠了。它是跨平臺(tái)的一個(gè)數(shù)據(jù)庫(kù),支持Windows/Linux/Unix等主流的操作系統(tǒng),同時(shí)能夠跟類似C+、C#、PHP、Java等編程語(yǔ)言相結(jié)合使用,非常方便。另有ODB

16、C接口,比起MySQL、PostgreSQL這兩款開(kāi)源的數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)講,它的處理速度比他們都快。2.3 匯文OPAC系統(tǒng)匯文OPAC系統(tǒng)是基于OPAC檢索的一款圖書(shū)管理系統(tǒng)。移動(dòng)互聯(lián)采用Client/Server、Browse/Server體系結(jié)構(gòu),運(yùn)用中間件技術(shù),創(chuàng)建了開(kāi)放的、友好的、創(chuàng)新的、易擴(kuò)展的、基于圖書(shū)館文獻(xiàn)資源共享和文獻(xiàn)服務(wù)共享的分布式應(yīng)用軟件系統(tǒng)。該系統(tǒng)被大多數(shù)高校圖書(shū)館使用,其特點(diǎn)如下:1) 支持多種操作系統(tǒng)平臺(tái)。如Windows 2003,各種Linux版本,Solaris,AIX, HP-UNIX,SCO UnixWare等。2) 采用大型關(guān)系型數(shù)據(jù)庫(kù)Oracle作為數(shù)

17、據(jù)存儲(chǔ)服務(wù)平臺(tái)。 3) 支持TCP/IP、NetBEUI等多種通訊協(xié)議。2.4 C/S結(jié)構(gòu)C/S 結(jié)構(gòu),客戶機(jī)和服務(wù)器結(jié)構(gòu)。經(jīng)常我們使用的只能設(shè)備上的大多數(shù)應(yīng)用就屬于C/S結(jié)構(gòu),移動(dòng)應(yīng)用屬于客戶端,遠(yuǎn)程服務(wù)器屬于服務(wù)端。C/S結(jié)構(gòu)是一種常見(jiàn)的軟件系統(tǒng)體系結(jié)構(gòu),使用C/S結(jié)構(gòu)可以充分發(fā)揮客戶端和服務(wù)端的硬件環(huán)境,任務(wù)可以通過(guò)合理分配,使分配后的任務(wù)通過(guò)客戶端和服務(wù)端來(lái)實(shí)現(xiàn),大大降低了系統(tǒng)的通訊開(kāi)銷,目前幾乎所有的智能設(shè)備上運(yùn)行的軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu)。傳統(tǒng)的C/S體系結(jié)構(gòu)雖然是開(kāi)發(fā)的模式,但是在客戶端和服務(wù)端都需要特定的軟件系統(tǒng)來(lái)維持,使整個(gè)系統(tǒng)得以運(yùn)行。C/S結(jié)構(gòu)

18、能充分發(fā)揮客戶端的處理能力,再客戶端將很多工作做完后,再提交給服務(wù)器處理,這樣對(duì)于移動(dòng)互聯(lián)網(wǎng)下的通信是很有優(yōu)勢(shì)的。C/S 結(jié)構(gòu)采用“功能分布”原則,計(jì)算機(jī)應(yīng)用的一個(gè)任務(wù)被分解成了多個(gè)子任務(wù)分別取執(zhí)行,由多臺(tái)計(jì)算機(jī)分工完成。客戶端完成數(shù)據(jù)采集處理,數(shù)據(jù)表示和與用戶交互的一些接口的功能;服務(wù)器端需要完成數(shù)據(jù)庫(kù)的增刪查改等相關(guān)的數(shù)據(jù)庫(kù)核心功能??蛻舭l(fā)起服務(wù)請(qǐng)求、服務(wù)端處理客戶端請(qǐng)求并提供服務(wù)的處理方式是一種新型的計(jì)算機(jī)應(yīng)用模式。C/S結(jié)構(gòu)中,客戶端和服務(wù)端相隔通常很遠(yuǎn),客戶端程序的任務(wù)是向服務(wù)端發(fā)起請(qǐng)求,再將服務(wù)端程序返回的結(jié)果以特定的形式顯示給用戶;服務(wù)端程序的任務(wù)是接收客戶程序提出的服務(wù)請(qǐng)求,并

19、對(duì)請(qǐng)求進(jìn)行相應(yīng)的處理(常見(jiàn)的就是數(shù)據(jù)庫(kù)操作),再將結(jié)果通過(guò)特定的數(shù)據(jù)格式返回給客戶程序處理。對(duì)應(yīng)的優(yōu)點(diǎn)具體表現(xiàn)在以下兩點(diǎn):1) 應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕;2) 數(shù)據(jù)的儲(chǔ)存管理功能較為透明。2.5 B/S結(jié)構(gòu)B/S結(jié)構(gòu)是WEB服務(wù)興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端獲取信息服務(wù)的最主要的應(yīng)用軟件。Browser/Server,瀏覽器/服務(wù)器模式將客戶端所有的應(yīng)用統(tǒng)一成了瀏覽器這門軟件,開(kāi)發(fā)者只需要專注于系統(tǒng)功能實(shí)現(xiàn)核心部分集中到服務(wù)器上,大大簡(jiǎn)化了程序的開(kāi)發(fā)、維護(hù)和使用的一些過(guò)程??蛻舳税惭b瀏覽器軟件后,如Netscape Navigator或Internet Explorer瀏覽器

20、,服務(wù)器安裝SQL Server、Oracle、MySQL等數(shù)據(jù)庫(kù),通過(guò)服務(wù)器軟件和服務(wù)端應(yīng)用程序,客戶端就能通過(guò)安裝的瀏覽器軟件進(jìn)行信息獲取。瀏覽器軟件通過(guò)與Web Server 同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。由于Client/Server結(jié)構(gòu)開(kāi)發(fā)、使用過(guò)程中存在問(wèn)題,因此人們又在它原有的基礎(chǔ)上提出了一種具有三層模式(3-Tier)的應(yīng)用系統(tǒng)結(jié)構(gòu)瀏覽器/服務(wù)器(Browser/Server)結(jié)構(gòu)。Browser/Server結(jié)構(gòu)的發(fā)展是伴隨著Internet的興起與發(fā)展才發(fā)展起來(lái)的,更是對(duì)Client/Server結(jié)構(gòu)的一種改進(jìn)。從某些使用程度與方便性上來(lái)講,B/S模式是由于C/S模式的。不過(guò)從本質(zhì)

21、上說(shuō),Browser/Server結(jié)構(gòu)也是一種Client/Server結(jié)構(gòu),它可看作是一種由傳統(tǒng)的二層模式Client/Server結(jié)構(gòu)發(fā)展而來(lái)的三層模式Client/Server結(jié)構(gòu)在Web上應(yīng)用的特例。隨著Web瀏覽器技術(shù)的不斷發(fā)展與成熟,Browser/Server結(jié)構(gòu)也得到了很大的發(fā)展?,F(xiàn)在隨著瀏覽器的多種腳本語(yǔ)言和ActiveX技術(shù)發(fā)展,用一個(gè)簡(jiǎn)單的瀏覽器軟件就能實(shí)現(xiàn)原來(lái)需要客戶端安裝的專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,同時(shí)節(jié)省了開(kāi)發(fā)者的開(kāi)發(fā)成本。B/S結(jié)構(gòu)最突出的優(yōu)點(diǎn)是只要有一臺(tái)能上網(wǎng)的設(shè)備就能使用服務(wù)端的服務(wù),而不用安裝任何專門的軟件,客戶端零安裝、零維護(hù)。系統(tǒng)也非常容易進(jìn)行擴(kuò)展。B

22、/S結(jié)構(gòu)的使用越來(lái)越多,隨著AJAX6技術(shù)的發(fā)展,B/S結(jié)構(gòu)的程序也能在客戶端電腦上進(jìn)行部分功能是我處理,類似C/S結(jié)構(gòu)。減輕了服務(wù)器的負(fù)擔(dān);也增加了與用戶交互性,能進(jìn)行網(wǎng)頁(yè)內(nèi)容的局部實(shí)時(shí)更新。B/S和C/S并沒(méi)有本質(zhì)的區(qū)別。B/S基于HTTP協(xié)議的一種C/S架構(gòu),是特殊的C/S架構(gòu)。B/S 結(jié)構(gòu)的優(yōu)點(diǎn)如下:1) 分布性操作,可以隨時(shí)隨地進(jìn)行類似C/S的信息查詢、瀏覽等操作;2) 業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過(guò)增加網(wǎng)頁(yè)即可增加服務(wù)器功能;3) 開(kāi)發(fā)和維護(hù)簡(jiǎn)單方便,只要在服務(wù)端進(jìn)行相關(guān)程序的編寫(xiě)操作,就能實(shí)現(xiàn)所有用戶的同步更新;4) 開(kāi)發(fā)簡(jiǎn)單,共享性強(qiáng)。2.6 小結(jié)本章介紹了整個(gè)系統(tǒng)開(kāi)發(fā)前的知識(shí)準(zhǔn)備與開(kāi)

23、發(fā)過(guò)程中涉及的一些關(guān)鍵技術(shù)。主要包括Android Studio集成開(kāi)發(fā)環(huán)境、數(shù)據(jù)庫(kù)、OPAC系統(tǒng)介紹等內(nèi)容,最后也對(duì)系統(tǒng)結(jié)構(gòu)作了簡(jiǎn)要說(shuō)明。第3章 需求分析與概要設(shè)計(jì) 3.1 需求分析系統(tǒng)整體采用C/S結(jié)構(gòu)開(kāi)發(fā),擁有開(kāi)發(fā)過(guò)程靈活,運(yùn)行效率高,技術(shù)也很成熟等特點(diǎn)??蛻舳碎_(kāi)發(fā)語(yǔ)言選擇JAVA,JAVA是一種設(shè)計(jì)非常優(yōu)秀的面向?qū)ο缶幊陶Z(yǔ)言,靈活強(qiáng)大。服務(wù)端使用PHP編寫(xiě),PHP是一門輕巧簡(jiǎn)單的服務(wù)端腳本語(yǔ)言,通過(guò)和Apache服務(wù)器,MySQL數(shù)據(jù)庫(kù)一起使用,更能體現(xiàn)出其優(yōu)勢(shì)及開(kāi)發(fā)效率??蛻舳碎_(kāi)發(fā)工具選擇Android Studio,服務(wù)端開(kāi)發(fā)工具選擇Zend Studio,兩者都是使用廣泛的集成開(kāi)

24、發(fā)環(huán)境。服務(wù)端,在匯文OPAC系統(tǒng)的基礎(chǔ)上編寫(xiě)圖書(shū)信息接口,提高開(kāi)發(fā)效率。3.2 功能概要設(shè)計(jì)系統(tǒng)將原本基于WEB圖書(shū)館服務(wù)轉(zhuǎn)移到Android手機(jī)上,用戶通過(guò)Android手機(jī)就能夠使用所有的原本W(wǎng)EB圖書(shū)館提供的服務(wù),并針對(duì)移動(dòng)設(shè)備提供了更多有特色的功能。系統(tǒng)的主要功能模塊如下:1) OPAC檢索:圖書(shū)館書(shū)籍檢索。2) 掃碼服務(wù):通過(guò)掃一掃功能,體驗(yàn)快速獲取圖書(shū)館書(shū)籍信息、續(xù)借圖書(shū)、推薦圖書(shū)等眾多服務(wù)。3) 新聞公告:為讀者帶來(lái)最新的圖書(shū)館新聞公告。4) 我的圖書(shū)館:個(gè)人圖書(shū)館模塊,提供讀者信息查詢、借閱查詢、違章記錄查詢等眾多個(gè)人信息服務(wù)。5) 認(rèn)識(shí)圖書(shū)館:帶領(lǐng)新生快速認(rèn)識(shí)圖書(shū)館,使用圖

25、書(shū)館。6) 資源動(dòng)態(tài):提供圖書(shū)館講座、數(shù)字資源等信息。7) 我的名片:社交模塊,每個(gè)讀者擁有自己唯一一張圖書(shū)館名片,包括了讀者入校以來(lái)在圖書(shū)館的一些記錄。8) 設(shè)置模塊:提供客戶端APP設(shè)置操作。9) 登錄模塊:用戶需要登錄后才能使用APP的主要功能。10) 幫助模塊:提供圖書(shū)館服務(wù)系統(tǒng)常見(jiàn)的問(wèn)題與解答,用戶自己的反饋回復(fù)也在該模塊中體現(xiàn)。11) 意見(jiàn)反饋模塊:為了提高用戶體驗(yàn),用戶可以將遇到的問(wèn)題或者對(duì)圖書(shū)館服務(wù)的意見(jiàn)通過(guò)使用該模塊進(jìn)行反饋。12) 其它功能模塊:包含一些常用的小功能,如推薦圖書(shū)、座位預(yù)約、圖書(shū)館書(shū)籍分類查閱等。3.3 系統(tǒng)架構(gòu)系統(tǒng)主要模式為Client/Server模式,共

26、包含三層體系結(jié)構(gòu),分別為客戶端、服務(wù)端和數(shù)據(jù)庫(kù)。1) 客戶端:基于Android平臺(tái),使用HTTP請(qǐng)求及Socket與服務(wù)器進(jìn)行通信,HTTP請(qǐng)求簡(jiǎn)化了開(kāi)發(fā)過(guò)程中的繁瑣性,Socket方式編程又保證了數(shù)據(jù)的安全性與持久性,將兩者結(jié)合在一起以獲得更好的效果與用戶體驗(yàn)。使用客戶端獲取外部信息,例如手機(jī)的相機(jī)獲取書(shū)本條碼信息,并對(duì)信息進(jìn)行相應(yīng)的處理??蛻舳颂峁┝艘粋€(gè)友好的可視化操作界面,良好的交互,帶給用戶最好的體驗(yàn)。2) 服務(wù)端:解析所有客戶端發(fā)送的請(qǐng)求,使用PHP應(yīng)用程序操作數(shù)據(jù)庫(kù)。服務(wù)端上運(yùn)行著匯文OPAC系統(tǒng)用于提供OPAC檢索相關(guān)服務(wù),基于匯文OPAC系統(tǒng)的Oracle數(shù)據(jù)庫(kù)編寫(xiě)客戶端需要

27、的API。作為客戶端與數(shù)據(jù)庫(kù)之間的橋梁,保證了并發(fā)處理多用戶請(qǐng)求以及數(shù)據(jù)的完整性。3) 數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)服務(wù)器。接受服務(wù)端程序的SQL請(qǐng)求對(duì)數(shù)據(jù)庫(kù)本身進(jìn)行操作,實(shí)現(xiàn)數(shù)據(jù)的檢索與存儲(chǔ)。系統(tǒng)使用MySQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)。客戶端使用SQLite數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)。Client/Server結(jié)構(gòu)的系統(tǒng)中,用戶可以通過(guò)客戶端程序向分布在網(wǎng)絡(luò)上的服務(wù)器發(fā)出請(qǐng)求,服務(wù)器通過(guò)服務(wù)端程序?qū)蛻舳税l(fā)起的請(qǐng)求進(jìn)行處理并對(duì)數(shù)據(jù)庫(kù)操作,再將操作結(jié)果返回到客戶端。系統(tǒng)架構(gòu)如圖3.1所示。服務(wù)端匯文OPAC系統(tǒng) 客戶端 HTTP/SOCKET 數(shù)據(jù)庫(kù) HTTP/SOCKET圖3.1 系統(tǒng)架構(gòu)圖3.4 小結(jié)本章首先進(jìn)行了系

28、統(tǒng)需求分析,重點(diǎn)對(duì)技術(shù)可行性做了分析。根據(jù)系統(tǒng)分析得到整個(gè)系統(tǒng)的功能概要設(shè)計(jì),再由功能概要設(shè)計(jì)了系統(tǒng)架構(gòu)圖,主要包括客戶端、服務(wù)端和數(shù)據(jù)庫(kù)三部分,以及它們之間的通信方式。第4章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 本章主要介紹了系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)過(guò)程。系統(tǒng)主要包括客戶端模塊、服務(wù)端模塊以及系統(tǒng)服務(wù)模塊。這三個(gè)模塊相對(duì)獨(dú)立,通過(guò)模塊之間的互相協(xié)作共同為用戶提供圖書(shū)館的服務(wù)。4.1 客戶端設(shè)計(jì)與實(shí)現(xiàn)客戶端基于Android平臺(tái)開(kāi)發(fā),系統(tǒng)要求Android2.3及以上。客戶端主要采用C/S結(jié)構(gòu)開(kāi)發(fā),但在C/S結(jié)構(gòu)內(nèi),又嵌套了一層B/S結(jié)構(gòu),即部分功能使用B/S結(jié)構(gòu)開(kāi)發(fā),包括新聞公告模塊、資源動(dòng)態(tài)、幫助模塊均使用B

29、/S結(jié)構(gòu)開(kāi)發(fā)。系統(tǒng)接入圖書(shū)館數(shù)據(jù)庫(kù),所有用戶需要登錄后才能使用所有功能。系統(tǒng)還提供免登錄功能,用戶在登錄之日后七天內(nèi)可以不用重復(fù)驗(yàn)證身份而直接使用系統(tǒng)提供的服務(wù)。該客戶端面向圖書(shū)館服務(wù)的全體師生提供服務(wù)。部分模塊(如“認(rèn)識(shí)圖書(shū)館”模塊)帶有緩存功能(第一次客戶端主動(dòng)從服務(wù)端請(qǐng)求加載數(shù)據(jù),數(shù)據(jù)將持久化存儲(chǔ)在本地),以節(jié)省用戶流量,或在沒(méi)有網(wǎng)絡(luò)的環(huán)境下讀者仍能獲取這些信息。如讀者需要更新,可自行主動(dòng)更新數(shù)據(jù)。業(yè)務(wù)流程圖如4.1所示。登錄客戶端主功能主模塊OPAC檢索認(rèn)識(shí)圖書(shū)館個(gè)人圖書(shū)館密碼管理啟動(dòng)APP登錄頁(yè)面 初次啟動(dòng)初始化 失敗緩存 忘記密碼 成功(一周內(nèi)自動(dòng)登錄)圖4.1 客戶端功能模塊圖客

30、戶端整體框架下包含以下若干個(gè)功能模塊,分別為:認(rèn)識(shí)圖書(shū)館、OPAC檢索、掃碼服務(wù)、新聞公告、資源動(dòng)態(tài)、我的名片、設(shè)置、幫助、意見(jiàn)反饋、密碼管理、其它功能和登錄12個(gè)大功能模塊,每個(gè)功能模塊下包含若干小的功能。功能模塊圖如圖4.2所示。認(rèn)識(shí)圖書(shū)館資源動(dòng)態(tài)OPAC檢索掃碼服務(wù)新聞公告基于Android的圖書(shū)館服務(wù)系統(tǒng)客戶端功能模塊圖用戶登錄模塊我的名片設(shè)置模塊幫助模塊意見(jiàn)反饋模塊其它功能密碼管理圖4.2 客戶端功能模塊圖程序界面與程序邏輯分離開(kāi),遵循MVC開(kāi)發(fā)模式。1) 程序啟動(dòng)界面和用戶登錄模塊,用戶在此模塊可以使用修改密碼、登錄、了解圖書(shū)館等功能。在系統(tǒng)UI設(shè)計(jì)中,對(duì)一些與用戶交互的地方進(jìn)行了

31、簡(jiǎn)單驗(yàn)證,如在登錄頁(yè)面中,由用戶輸入一卡通號(hào)碼和密碼,必須保證所有的用戶必填的信息都填寫(xiě)正確之后才能提交至服務(wù)器請(qǐng)求驗(yàn)證,以防止惡意提交。在客戶端本地,利用正則表達(dá)式過(guò)濾掉一些非法的可能是SQL注入7的字符,通過(guò)本地的驗(yàn)證后,客戶端才會(huì)向服務(wù)端發(fā)起驗(yàn)證請(qǐng)求。服務(wù)端通過(guò)請(qǐng)求所帶的數(shù)據(jù)與數(shù)據(jù)庫(kù)進(jìn)行匹配,服務(wù)端返回JSON格式數(shù)據(jù),客戶端解析JSON8格式數(shù)據(jù),驗(yàn)證成功,客戶端跳轉(zhuǎn)至主模塊界面,否則提示對(duì)應(yīng)的錯(cuò)誤。運(yùn)行如圖4.3所示:圖4.3程序啟動(dòng)界面和用戶登錄頁(yè)面圖2) 程序主模塊。該模塊是所有子模塊的入口,通過(guò)主模塊能進(jìn)入客戶端程序各個(gè)子模塊。該頁(yè)面主要使用Android SDK中提供的Vie

32、wPager實(shí)現(xiàn)。運(yùn)行如圖4.4所示:圖4.4程序主頁(yè)面圖3) OPAC書(shū)目檢索模塊,用戶可以使用資源、文獻(xiàn)和書(shū)籍檢索功能,用戶可直接輸入書(shū)名檢索或根據(jù)條件檢索。檢索過(guò)程描述如下:(1) 檢索過(guò)程由客戶端發(fā)起,客戶端通過(guò)HTTP請(qǐng)求,向服務(wù)端請(qǐng)求所需要的信息,請(qǐng)求信息中包含了客戶端當(dāng)前檢索的條件;(2) 服務(wù)端接收到客戶端的檢索請(qǐng)求,執(zhí)行數(shù)據(jù)庫(kù)查詢,將檢索到的數(shù)據(jù)通過(guò)JSON格式返還給客戶端;(3) 客戶端收到服務(wù)端返還的JSON格式數(shù)據(jù),解析并顯示。檢索過(guò)程如圖4.5所示:客戶端 HTTP請(qǐng)求 JSON格式數(shù)據(jù)客戶端服務(wù)端 HTTP請(qǐng)求 JSON格式數(shù)據(jù) HTTP請(qǐng)求 JSON格式數(shù)據(jù)圖4.

33、5 OPAC檢索過(guò)程圖檢索運(yùn)行如圖4.6所示:圖4.6 OPAC書(shū)目檢索頁(yè)面圖4) 書(shū)籍列表頁(yè)與詳細(xì)信息頁(yè),此頁(yè)面展示了檢索得到的書(shū)籍列表和每本書(shū)籍的詳細(xì)信息,包括館藏信息、查閱信息、書(shū)籍狀態(tài)、書(shū)籍出版信息、館藏地、還書(shū)地點(diǎn)等。運(yùn)行如圖4.7所示:圖4.7 書(shū)籍列表及書(shū)籍詳情圖5) 圖書(shū)館新聞公告模塊,用戶可以查看圖書(shū)館最新的圖書(shū)館新聞公告。該模塊基于B/S結(jié)構(gòu)開(kāi)發(fā),類似于WEB開(kāi)發(fā)。步驟描述如下:(1) 通過(guò)客戶端APP內(nèi)置的基于WebKit9的瀏覽器,使用AJAX對(duì)象異步向服務(wù)端請(qǐng)求數(shù)據(jù);(2) 服務(wù)端處理請(qǐng)求并進(jìn)行查詢操作,并返回查詢后得到的數(shù)據(jù);(3) 客戶端對(duì)返回的數(shù)據(jù)進(jìn)行顯示。運(yùn)行

34、如圖4.8所示:圖4.8 新聞公告頁(yè)面圖6) 掃碼模塊,該模塊提供條碼、二維碼掃描功能。用戶可以輕松進(jìn)行書(shū)籍掃碼續(xù)借、掃碼薦購(gòu)、檢索等服務(wù)。客戶端使用ZXing庫(kù)10編碼和解碼。掃碼流程如下:(1) 客戶端程序調(diào)用手機(jī)攝像頭,進(jìn)行二維碼或條形碼圖像資源獲??;(2) 通過(guò)ZXing庫(kù)對(duì)圖像資源解碼;(3) 將解碼后得到的條碼或二維碼信息通過(guò)HTTP請(qǐng)求發(fā)送到服務(wù)端;(4) 服務(wù)端根據(jù)接收到的請(qǐng)求類別分別進(jìn)行書(shū)籍續(xù)借、檢索、薦購(gòu)等操作,并將操作結(jié)果通過(guò)JSON格式數(shù)據(jù)返還給客戶端;(5) 客戶端解析請(qǐng)求返回?cái)?shù)據(jù),并解析,根據(jù)結(jié)果做相應(yīng)的操作。掃碼流程圖如圖4.9所示:客戶端ZXing攝像頭 調(diào)用服

35、務(wù)端 圖像 HTTP請(qǐng)求 JSON格式數(shù)據(jù)圖4.9 掃碼流程圖運(yùn)行如圖4.10所示圖4.10 掃碼模塊頁(yè)面圖7) 幫助模塊,用戶在此模塊可以瀏覽使用圖書(shū)館服務(wù)的常見(jiàn)問(wèn)題,以及自己的反饋的回復(fù)信息等。此模塊使用同新聞公告模塊同樣的技術(shù)實(shí)現(xiàn),使用B/S結(jié)構(gòu)開(kāi)發(fā)。運(yùn)行如圖4.11所示:圖4.11 幫助模塊頁(yè)面圖8) 設(shè)置模塊,此模塊提供客戶端APP相關(guān)設(shè)置選項(xiàng),包括是否接送消息推送、是否接收提醒、修改密碼等功能。設(shè)置過(guò)程中,程序會(huì)根據(jù)用戶的操作對(duì)客戶端APP的配置信息進(jìn)行對(duì)應(yīng)的修改,以保證全局生效和持久化。運(yùn)行如圖4.12所示:圖4.12 設(shè)置模塊頁(yè)面圖9) 我的圖書(shū)館模塊,用戶通過(guò)該模塊,可以查閱

36、當(dāng)前借閱、歷史借閱、違章記錄、薦購(gòu)歷史、借閱歷史、預(yù)約到書(shū)等信息。并可對(duì)當(dāng)前借閱書(shū)籍進(jìn)行續(xù)借等操作??蛻舳薝I設(shè)計(jì)方面對(duì)常用的控件進(jìn)行了自定義編寫(xiě)和封裝。部分代碼如下:NewProgressDialog.java,自定義封裝的ProgressDialog。public class NewProgressDialog extends ProgressDialog public NewProgressDialog(Context context)super(context);public NewProgressDialog(Context context, int theme)super(cont

37、ext, theme);public NewProgressDialog(Context context, int theme, String msg)super(context, theme);this.setCanceledOnTouchOutside(false);this.setMessage(msg); 對(duì)代碼中常用的對(duì)象模型進(jìn)行封裝。部分代碼如下:User.java,用戶對(duì)象模型。public class User private String mUserName;private String mUserCid; private String mUserPwd;private St

38、ring mUserDepartment;private String mUserDevice; public void setUserCid(String cid)this.mUserCid = cid;public void setUserPwd(String pwd)this.mUserPwd = pwd;public void setUserDep(String dep)this.mUserDepartment = dep;public void setUserName(String name)this.mUserName = name;public void setUserDevic

39、e(String device)this.mUserDevice = device;public String getUserCid()return this.mUserCid;public String getUserPwd()return this.mUserPwd;public String getUserDep()return this.mUserDepartment;public String getUserName()return this.mUserName;public String gerUserDevice()return this.mUserDevice;客戶端持久化存儲(chǔ)

40、實(shí)現(xiàn)方式,使用SQLite數(shù)據(jù)庫(kù)和本地文件進(jìn)行數(shù)據(jù)持久化存儲(chǔ)。通過(guò)對(duì)常用的操作類進(jìn)行封裝,實(shí)現(xiàn)代碼的模塊化,增強(qiáng)代碼的復(fù)用性。部分封裝好的工具類如下所示:1) SqliteUtil.java,操作SQLite數(shù)據(jù)庫(kù),部分方法如下。public boolean insert(String table, ArrayList<Object> value)方法用于向本地?cái)?shù)據(jù)庫(kù)增加一條記錄。public boolean update(String table, ArrayList<Object> value, String whereClause)方法用于更新數(shù)據(jù)庫(kù)中的記錄。pu

41、blic boolean delete(String table, String whereClause)方法用于刪除數(shù)據(jù)庫(kù)中的一條記錄。public Cursor query(String table, String columnName, String whereClause, String orderWhat, int orderWay, int limitCase)方法用于查詢數(shù)據(jù)庫(kù)中的記錄。public void onCloseDB()方法用于關(guān)閉數(shù)據(jù)庫(kù)。2) NetWorkInfo.java,封裝客戶端網(wǎng)絡(luò)監(jiān)測(cè)相關(guān)方法,部分方法如下。public static boolean is

42、NetWorkConnected(Context context)用于判斷當(dāng)前網(wǎng)絡(luò)是否連接。public static boolean isWifiConnected(Context context)方法判斷當(dāng)前WIFI是否連接。public static boolean isMobileConnected(Context context)方法判斷當(dāng)前移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)是否連接。public static int getConnectedType(Context context)方法獲取當(dāng)前網(wǎng)絡(luò)的類型。3) HttpOperation.java,一個(gè)通用的HTTP請(qǐng)求操作類,部分方法如下。publi

43、c boolean setHttpRequest(ArrayList<NameValuePair> postValue)用于設(shè)置HTTP請(qǐng)求并發(fā)送請(qǐng)求方法。public boolean sendGetRequest()方法用于發(fā)送GET請(qǐng)求。public boolean sendPostRequest(ArrayList<NameValuePair> valuePairs)方法發(fā)送POST請(qǐng)求。4) FileOperation.java,用于本地文件的I/O操作,部分方法如下。public static boolean writeFile(Context context

44、,String db_name, String pathName,String fileName, String text, int where, Handler handler)方法用于寫(xiě)文件操作。public static String readFile(Context context,String db_name, String pathName, String fileName, int where,Handler handler)方法用于讀文件操作。public static ArrayList<String> getPackagePath(Context context

45、, String db_name)方法用于獲取當(dāng)前程序所在的相關(guān)路徑。5) ParseData.java,用于解析JSON格式和XML格式的數(shù)據(jù),部分方法如下。public String parseGeneralData(Context context, boolean isFromFile, int where, String relativePath, String parseStr, String regRule)方法用于解析普通的格式的數(shù)據(jù),可以指定一個(gè)解析正則表達(dá)式規(guī)則。public ArrayList<ArrayList<String>> parseJson

46、Data(String jsonName, String jsonObject, String keys)方法用于解析JSON格式數(shù)據(jù)。public ArrayList<ArrayList<String>> parseXmlDada(String xmlObject)用于解析XML格式數(shù)據(jù)。public String parseJSONArraytoString(JSONArray arr)方法將JSON數(shù)組解析成字符串。4.2 服務(wù)端設(shè)計(jì)與實(shí)現(xiàn)4.2.1服務(wù)端腳本服務(wù)端應(yīng)用程序使用PHP編寫(xiě),使用Apache作為Web服務(wù)器。為了提高代碼的復(fù)用性與安全性,使用面向?qū)ο?/p>

47、方式編程,抽象出常用的方法。1) 用戶通用類:class Userprivate $cid; /登錄名private $pwd; /登錄密碼private $con; /驗(yàn)證狀態(tài)public function _construct($cid, $pwd, $obj);public function verify($cid, $pwd);public function getCid();public function getPwd();public function getCon();關(guān)于以上類中的方法說(shuō)明如下:public function _construct($cid, $pwd, $ob

48、j)是類的構(gòu)造方法。public function verify($cid, $pwd)方法用于驗(yàn)證用戶合法性,需要要戶名以及密碼兩個(gè)參數(shù),返回true或false。public function getCid()方法用于獲取當(dāng)前用戶對(duì)象的一卡通號(hào)碼。public function getPwd()方法用于獲取當(dāng)前用戶對(duì)象經(jīng)過(guò)加密的密碼。public function getCon()方法用于獲取當(dāng)前用戶對(duì)象驗(yàn)證狀態(tài),通過(guò)系統(tǒng)驗(yàn)證返回true,否則返回false。2) 數(shù)據(jù)庫(kù)操作通用類常用方法: public function connect($host, $user, $pwd, $dbna

49、me, $pconnect ,$charset)方法用于連接數(shù)據(jù)庫(kù)。public function query($sql)方法用來(lái)執(zhí)行不帶參數(shù)的存儲(chǔ)過(guò)程。public function insert($table,$array)方法用于增加一條記錄。public function update( $table,$array,$condition)方法用于更新一條記錄。public function delete( $table,$condition)方法用于刪除一條記錄。public function fetch_array($query, $result_type = MYSQL_ASSOC

50、)方法用于返回結(jié)果集。 public function num_rows($results)方法用于獲取記錄條數(shù)。4.2.2數(shù)據(jù)庫(kù)設(shè)計(jì)一個(gè)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接決定了系統(tǒng)的性能,本系統(tǒng)在使用階段將會(huì)有大量用戶同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)的情況,因而數(shù)據(jù)庫(kù)設(shè)計(jì)顯得尤為重要。本系統(tǒng)以匯文OPAC系統(tǒng)為基礎(chǔ),采用MySQL數(shù)據(jù)庫(kù)開(kāi)發(fā),具有高效、方便、快捷等特性。就本系統(tǒng)對(duì)數(shù)據(jù)的需求而言,MySQL可以簡(jiǎn)化很多效率方面的設(shè)計(jì),因而可以把更多的精力放在數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)方面。本系統(tǒng)部分?jǐn)?shù)據(jù)表如下:圖書(shū)館導(dǎo)航信息表記錄了學(xué)校圖書(shū)館以及書(shū)庫(kù)的基本信息,如圖書(shū)館編號(hào)、樓層編號(hào)、借閱地點(diǎn)、藏書(shū)類型等。表中字段如表1所示:表1

51、 圖書(shū)館導(dǎo)航信息表(libguide)字段名中文描述類型長(zhǎng)度可否為空是否為主鍵idIDInt11否是gwhichlib圖書(shū)館編號(hào)Varchar1否是glendplace借閱地點(diǎn)Varchar2否是gbooktype藏書(shū)類型Text否否gfloorpic樓層導(dǎo)航圖urlText否否gfloor樓層編號(hào)Text否否常見(jiàn)問(wèn)題表記錄了使用圖書(shū)館服務(wù)中經(jīng)常會(huì)遇見(jiàn)的問(wèn)題以及解決方式等信息,包括問(wèn)題類型、問(wèn)題詳情、問(wèn)題答案、最新答案更新時(shí)間等。表中字段如表2所示:表2 常見(jiàn)問(wèn)題表(faq)字段名中文描述類型長(zhǎng)度可否為空是否為主鍵idIDInt11否是f_type問(wèn)題類型Varchar1否是f_questio

52、n問(wèn)題詳情Text否否f_answer問(wèn)題答案Text否否f_time答案最新更新時(shí)間Varchar20否是問(wèn)題意見(jiàn)反饋表記錄了所有讀者通過(guò)客戶端反饋的問(wèn)題或意見(jiàn)以及圖書(shū)館回復(fù)等內(nèi)容信息,包括用戶編號(hào)、用戶姓名、意見(jiàn)內(nèi)容、反饋時(shí)間等。表中字段如表3所示:表3 問(wèn)題意見(jiàn)反饋表(suggestion)字段名中文描述類型長(zhǎng)度可否為空是否為主鍵idIDInt11否是r_cid用戶編號(hào)Varchar20否是r_name用戶姓名Varchar20否是r_dep用戶單位Varchar50否是s_text問(wèn)題意見(jiàn)內(nèi)容Text否否s_time問(wèn)題意見(jiàn)反饋時(shí)間Varchar20否否s_flag是否解決Varchar1否否s_ftime解決時(shí)間Varchar20是否s_fadmin解決者Varchar20是否S_fanswer反饋回復(fù)內(nèi)容Text是否圖書(shū)館信息表記錄了圖書(shū)館相關(guān)信息,包括圖書(shū)館介紹、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論