基于Android平臺的圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc_第1頁
基于Android平臺的圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc_第2頁
基于Android平臺的圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc_第3頁
基于Android平臺的圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc_第4頁
基于Android平臺的圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

程序及數(shù)據(jù)庫文件加 q1973189227 畢業(yè)設(shè)計(jì) 題 目 基于android平臺的圖書管理系統(tǒng)手機(jī)客戶端開發(fā) 學(xué)生姓名 學(xué) 號 xxxxx 專業(yè)班級 xxxx 指導(dǎo)教師 xxx 學(xué) 院 xxxxxx 答辯日期 2014 年某月 程序及數(shù)據(jù)庫文件加 q1973189227 i 基于 android 平臺的圖書管理系統(tǒng)手機(jī)客戶端開發(fā) the development of library management system is based on the android platform 摘摘 要要 傳統(tǒng) web 應(yīng)用只能在 pc 機(jī)上使用,不能做到隨時(shí)隨地的使用,為了解決這樣的不足, 基于 android 平臺的圖書館管理系統(tǒng)客戶端就應(yīng)運(yùn)而生。本設(shè)計(jì)闡述了在 android 平臺下圖 書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,其目的是讓人們能夠在基于 google android 平臺的移動(dòng)設(shè) 備上享用傳統(tǒng) web 上圖書館管理系統(tǒng)的基本功能。本系統(tǒng)采用 android 布局技術(shù)完成 ui 的 設(shè)計(jì),后臺使用 sqlserver 數(shù)據(jù)庫,基于 java 語言開發(fā)完成,在不同型號的設(shè)備模擬器上 測試通過。系統(tǒng)實(shí)現(xiàn)了用戶注冊、登錄、查詢圖書以及學(xué)生用戶預(yù)約和密碼找回等功能。 “操作簡單,功能實(shí)用”這是本軟件設(shè)計(jì)的核心理念,本系統(tǒng)力求創(chuàng)造最好的用戶體驗(yàn)。 關(guān)鍵詞:關(guān)鍵詞:圖書館管理系統(tǒng);android;客戶端;數(shù)據(jù)庫設(shè)計(jì);服務(wù)器端 abstract the web application can only in traditional pc use, cant do it at any time and place to use, in order to solve the shortage of such, based on the android platform of library management system client is made. this paper expounds the workbench android library management system design and implementation process, and its purpose is to let people can be based on the google android platform of mobile devices to enjoy the traditional web on the basic functions of the library management system. the system uses the c/s structure, mvc software development model, use android ui design layout complete technology, use sqlserver2005 database,based on the java language development completed, in different types of equipment simulator test is passed. the system realizes the user register, login, inquires the books and the students user management and reservate books etc. function. “the operation is simple, functional practical“ this is the core idea of the software design, this system is the best tries to create user experience. key words : library management system; android; client; database design; server 程序及數(shù)據(jù)庫文件加 q1973189227 ii 目目 錄錄 摘 要.i abstracti 第 1 章 前 言1 1.1 研究的目的及意義 .1 1.2 圖書管理系統(tǒng)的現(xiàn)狀.1 1.3 本系統(tǒng)的研究內(nèi)容.2 第 2 章 軟件設(shè)計(jì)及開發(fā)工具介紹3 2.1 總體設(shè)計(jì).3 2.2 開發(fā)工具介紹.3 2.2.1 eclipse 的介紹.3 2.2.2 myeclipse 與 tomcat 介紹.4 2.3 關(guān)鍵技術(shù)介紹.6 第 3 章 系統(tǒng)功能設(shè)計(jì)7 3.1 前臺管理.7 3.1.1 注冊 7 3.1.2 用戶登錄 7 3.1.3 圖書查詢 7 3.1.4 用戶管理 8 3.1.5 圖書管理 8 3.2 后臺管理.8 3.2.1 注冊管理 8 3.2.2 登錄管理 9 3.2.3 圖書查詢管理 9 3.2.4 用戶管理 9 3.2.5 圖書管理 9 第 4 章 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)10 4.1 服務(wù)器端數(shù)據(jù)庫設(shè)計(jì).10 4.1.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 10 4.1.2 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì) 12 第 5 章 系統(tǒng)實(shí)現(xiàn)14 5.1 服務(wù)器端的設(shè)計(jì)-搭建java web服務(wù)器.14 5.3 服務(wù)器功能模塊.14 5.3.1 注冊模塊 14 程序及數(shù)據(jù)庫文件加 q1973189227 iii 5.3.2 登錄模塊 15 5.3.3 書籍查詢模塊 17 5.3.4 特定用戶查詢模塊 18 5.3.5 查詢所有用戶模塊 19 5.3.6 添加書籍模塊 19 5.4 客戶端的設(shè)計(jì)-設(shè)計(jì) android ui 界面.21 5.5 具體功能模塊.22 5.5.1 注冊界面 22 5.5.2 登錄界面 24 5.5.3 學(xué)生用戶書籍查詢界面 25 5.5.4 管理員界面 26 5.5.5 管理學(xué)生用戶界面 26 5.5.6 管理圖書界面 27 5.5.7 圖書增加界面 29 第 6 章 系統(tǒng)測試30 6.1 用戶注冊測試.30 6.2 用戶登錄測試.30 6.3 圖書查詢測試.32 6.4 用戶管理測試.32 6.5 書籍管理測試.33 總 結(jié)35 參考文獻(xiàn)36 致 謝38 1 第第 1 章章 前前 言言 1.1 研究的目的及意義 移動(dòng)互聯(lián)網(wǎng)時(shí)代的來臨,說明一個(gè)嶄新的時(shí)代開始了。所謂移動(dòng)互聯(lián)網(wǎng)是 將移動(dòng)通信和互聯(lián)網(wǎng)整合在一起,移動(dòng)設(shè)備(包括手機(jī)和上網(wǎng)本)可以隨時(shí)隨 地地訪問互聯(lián)網(wǎng)資源和應(yīng)用。 智能手機(jī)是移動(dòng)互聯(lián)網(wǎng)時(shí)代一個(gè)標(biāo)志性的客戶端工具,它和傳統(tǒng)的手機(jī)是 有區(qū)別的,它就像一臺“小電腦” ,具有獨(dú)立的操作系統(tǒng),可以自由安裝、卸載 軟件,具有強(qiáng)大的計(jì)算和存儲(chǔ)能力,可以通過移動(dòng)通信網(wǎng)絡(luò)來實(shí)現(xiàn)無線網(wǎng)絡(luò)接 入。 對于移動(dòng)終端設(shè)備飛速發(fā)展的今天,傳統(tǒng) web 上的應(yīng)用出現(xiàn)在手機(jī)終端 是一個(gè)大的趨勢。而基于 android 開發(fā)的圖書館管理系統(tǒng)手機(jī)客戶端,正是對 這一趨勢的良好體現(xiàn),android 平臺下的圖書館管理系統(tǒng)的開發(fā),能很好的為用 戶提供方便,用戶能通過它能隨時(shí)隨地的了解系統(tǒng)的實(shí)時(shí)信息,做到信息的實(shí) 時(shí)化。通過 android 平臺下的圖書館管理系統(tǒng)客戶端的開發(fā),與傳統(tǒng) web 應(yīng)用 進(jìn)行良好的互補(bǔ)。 同時(shí),對于校內(nèi)的圖書館管理系統(tǒng)來說,手機(jī)對于學(xué)生是必不可少的一個(gè) 物品,手機(jī)客戶端這種形式的圖書館管理系統(tǒng),能更加貼近學(xué)生的生活習(xí)慣, 并且適合學(xué)生年齡段的習(xí)性,這對學(xué)生更多的接觸到圖書館的信息有一定得促 進(jìn)作用。 1.2 圖書管理系統(tǒng)的現(xiàn)狀 目前國內(nèi)的基于 android 平臺的圖書館管理系統(tǒng)客戶端還不成熟,大多數(shù)的 圖書館管理系統(tǒng)都出現(xiàn)在傳統(tǒng)的 web 應(yīng)用上,在這個(gè)環(huán)境下,基于 android 平 臺的圖書館管理系統(tǒng)客戶端屬于一個(gè)嶄新的應(yīng)用。作為一個(gè)不太成熟的應(yīng)用, 大多數(shù)圖書館管理系統(tǒng)都是出現(xiàn)在學(xué)習(xí) android 開發(fā)的一個(gè)項(xiàng)目中,作為學(xué)習(xí)中 的一個(gè)練習(xí)作業(yè)。目前,絕大部分的網(wǎng)絡(luò)應(yīng)用都還是傳統(tǒng)的 web 應(yīng)用,但面 對 android 手機(jī)如此迅速發(fā)展的今天,傳統(tǒng) web 的應(yīng)用不能滿足人們隨時(shí)隨地 體驗(yàn)網(wǎng)絡(luò)應(yīng)用的想法,所以,出現(xiàn)在手機(jī)終端的應(yīng)用將會(huì)越來越多,同時(shí)其發(fā) 展的速度也會(huì)越來越快。校內(nèi)圖書館管理系統(tǒng)作為傳統(tǒng) web 應(yīng)用,也必將在 手機(jī)客戶端上得到應(yīng)用。 2 1.3 本系統(tǒng)的研究內(nèi)容 由此出現(xiàn)大量的應(yīng)用出現(xiàn)在手機(jī)上,基于 android 平臺的圖書館管理系統(tǒng)手 機(jī)客戶端是依據(jù)現(xiàn)在的形式所開發(fā)的,它是一套基于開放性的圖書館管理系統(tǒng), 它有傳統(tǒng) web 上圖書館管理系統(tǒng)的大部分功能。整個(gè)系統(tǒng)分為前臺界面管理 和后臺服務(wù)器管理兩部分,劃分為用戶管理、圖書管理、信息管理等三個(gè)部分。 在前臺管理中,用戶進(jìn)行注冊、登錄、查詢特定圖書等功能;后臺管理模塊, 負(fù)責(zé)控制前臺界面管理的所有功能;本系統(tǒng)設(shè)置了學(xué)生用戶和管理員兩類,兩 類用戶都是使用同一個(gè)平臺,只是權(quán)限不同。學(xué)生用戶只能注冊、查詢、預(yù)約 圖書等功能;管理員擁有最高權(quán)限,可以對已經(jīng)畢業(yè)的學(xué)生用戶賬號進(jìn)行刪除, 查詢學(xué)生用戶信息,實(shí)時(shí)更新圖書館的新書,刪除或者修改已經(jīng)存在的書籍信 息,并可以添加新的管理員賬號等權(quán)限。 本圖書館管理系統(tǒng),能夠適用于各類圖書館,具有良好的可操作性,可以 隨時(shí)的查詢你所需要的圖書信息,只要你的智能手機(jī)安裝了本系統(tǒng)客戶端,接 入互聯(lián)網(wǎng)后就可以訪問到圖書館的書籍信息,大大的方便了學(xué)生對圖書館書籍 的查詢、預(yù)約等。 本系統(tǒng) mvc 結(jié)構(gòu),后臺服務(wù)器使用 servlet 編寫服務(wù)器,同時(shí)用 tomcat 發(fā) 布服務(wù),前臺客戶端環(huán)境使用的是 android 控件。通過 jdbc 來調(diào)用 sqlserver 數(shù)據(jù)庫,來實(shí)現(xiàn)手機(jī)客戶端與服務(wù)器之間數(shù)據(jù)傳輸。 3 第第 2 章章 軟件設(shè)計(jì)及開發(fā)工具介紹軟件設(shè)計(jì)及開發(fā)工具介紹 為了使軟件開發(fā)能夠順利進(jìn)行,使開發(fā)人員對系統(tǒng)各個(gè)模塊的性能、系統(tǒng) 接口、系統(tǒng)開發(fā)及運(yùn)行環(huán)境和計(jì)算機(jī)內(nèi)部處理的邏輯及物理流程有更清晰的認(rèn) 識,更利于源程序的開發(fā),現(xiàn)對系統(tǒng)的總體設(shè)計(jì)和系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及開發(fā)工具和 關(guān)鍵技術(shù)做詳細(xì)說明。 2.1 總體設(shè)計(jì) 基于 android 平臺開發(fā)的圖書館管理系統(tǒng)客戶端從設(shè)計(jì)者的角度來看,用 戶角色分為學(xué)生用戶和管理員兩類;功能包括注冊、登錄、密碼找回、書籍查 詢、圖書實(shí)時(shí)更新、普通用戶管理共六大部分。其中系統(tǒng)管理中的學(xué)生用戶權(quán) 限包括注冊、登錄、密碼找回、書籍查詢、預(yù)約、評論等六個(gè)模塊;管理員的 權(quán)限則是查詢、修改、刪除、增加圖書信息、管理學(xué)生用戶、添加管理員賬號 等模塊。從使用者的角度來看分為前臺和后臺管理兩大部分。后臺管理模塊是 本系統(tǒng)的關(guān)鍵部分之一,它是系統(tǒng)維護(hù)和信息管理平臺。這兩類用戶使用的系 統(tǒng)管理平臺都是同一個(gè)平臺上,只不過他們執(zhí)行的權(quán)限不同。 2.2 開發(fā)工具介紹 2.2.1 eclipse 的介紹 eclipse 是一個(gè)開放源代碼的、基于 java 的可擴(kuò)展開發(fā)平臺。就其本身而 言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是, eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 java 開發(fā)工具(java development kit,jdk) 。 eclipse 是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā) 提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由 eclipse 項(xiàng)目、eclipse 工具項(xiàng)目和 eclipse 技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成eclipse platform、jdt、cdt 和 pde。jdt 支持 java 開發(fā)、cdt 支持 c 開發(fā)、pde 用 來支持插件開發(fā),eclipse platform 則是一個(gè)開放的可擴(kuò)展 ide,提供了一個(gè)通 用的開發(fā)平臺。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。eclipse platform 允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一 個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開始。 android 工程是在 eclipse 工具上編寫的,進(jìn)行 android 工程的編寫,首先需 4 要在 eclipse 上安裝 adt 插件,然后指定 sdk 所在的路徑,便可以創(chuàng)建 android 虛擬機(jī)了。 創(chuàng)建好虛擬機(jī)后,點(diǎn)擊開始便可以運(yùn)行一個(gè) android 虛擬機(jī),虛擬機(jī)運(yùn)行成 功界面如下: 圖 2.4 android 虛擬機(jī)視圖 虛擬機(jī)模擬的是 android 智能手機(jī)的界面,通過操作虛擬機(jī)可以體驗(yàn)到 android 智能手機(jī)的部分應(yīng)用。同時(shí)虛擬機(jī)是作為開發(fā)的 android 應(yīng)用運(yùn)行的場 所,他提供基本的人機(jī)交互功能。 2.2.2 myeclipse 與 tomcat 介紹 myeclipse 是一個(gè)十分優(yōu)秀的用于開發(fā) java, j2ee 的 eclipse 插件集合。 myeclipse 企業(yè)級工作平臺(myeclipse enterprise workbench ,簡稱 myeclipse)是對 eclipseide 的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和 javaee 的開 發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富 的 javaee 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,支持 html,struts,jsp,javascript, hibernate,myeclipse,css, spring,sql 的功能非 常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯(cuò)。 在結(jié)構(gòu)上,myeclipse 的特征可以被分為 7 類: 1 javaee 模型 5 2 web 開發(fā)工具 3 ejb 開發(fā)工具 4 應(yīng)用程序服務(wù)器的連接器 5 javaee 項(xiàng)目部署服務(wù) 6 數(shù)據(jù)庫服務(wù) 7 myeclipse 整合幫助 對于以上每一種功能上的類別,在 eclipse 中都有相應(yīng)的功能部件,并通過 一系列的插件來實(shí)現(xiàn)它們。myeclipse 結(jié)構(gòu)上的這種模塊化,可以讓我們在不影 響其他模塊的情況下,對任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級。簡單而言, myeclipse 是 eclipse 的插件,也是一款功能強(qiáng)大的 javaee 集成開發(fā)環(huán)境,支持 代碼編寫、配置、測試以及除錯(cuò),myeclipse6.0 以前版本需先安裝 eclipse。myeclipse6.0 以后版本安裝時(shí)不需安裝 eclipse。 本系統(tǒng)是基于 mvc 架構(gòu)的,所以需要在 myeclipse 上創(chuàng)建服務(wù)器端,利 用 java ee 中的 servlet 來提供服務(wù),并將其部署在 tomcat 下。需要解決的是創(chuàng) 建不同的 servlet 來提供不同的服務(wù)。 tomcat 是 apache 軟件基金會(huì)(apache software foundation)的 jakarta 項(xiàng) 目中的一個(gè)核心項(xiàng)目,由 apache、sun 和其他一些公司及個(gè)人共同開發(fā)而成。 由于有了 sun 的參與和支持,最新的 servlet 和 jsp 規(guī)范總是能在 tomcat 中 得到體現(xiàn),tomcat 5 支持最新的 servlet 2.4 和 jsp 2.0 規(guī)范。因?yàn)?tomcat 技 術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受 java 愛好者的喜愛并得到了部分軟件 開發(fā)商的認(rèn)可,成為目前比較流行的 web 應(yīng)用服務(wù)器。目前最新版本是 7.0。 tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性 好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的 改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。 tomcat 是一個(gè)輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多 的場合下被普遍使用,是開發(fā)和調(diào)試 jsp 程序的首選。對于一個(gè)初學(xué)者來說, 可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好 apache 服務(wù)器,可利用它響應(yīng)對 html 頁面的訪問請求。實(shí)際上 tomcat 部分是 apache 服務(wù)器的擴(kuò)展,但它 是獨(dú)立運(yùn)行的,所以當(dāng)你 apache tomcat 運(yùn)行 tomcat 時(shí),它實(shí)際上作為一個(gè) 與 apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。而 tomcat 實(shí)際上運(yùn)行 jsp 頁面和 6 servlet。另外,tomcat 和 iis、apache 等 web 服務(wù)器一樣,具有處理 html 頁面的功能,另外它還是一個(gè) servlet 和 jsp 容器,獨(dú)立的 servlet 容器是 tomcat 的默認(rèn)模式。不過,tomcat 處理靜態(tài) html 的能力不如 apache 服務(wù)器。 目前 tomcat 最新版本為 7.0.27 released。 2.3 關(guān)鍵技術(shù)介紹 本軟件采用 java 作為開發(fā)語言,布局和數(shù)據(jù)存儲(chǔ)是開發(fā)本軟件的關(guān)鍵技術(shù), 布局用來設(shè)計(jì)用戶交互界面,用戶界面的設(shè)計(jì)是否美觀和合理直接影響用戶體 驗(yàn),因此運(yùn)用好布局技術(shù)是直接和用戶相關(guān)的,而數(shù)據(jù)存儲(chǔ)技術(shù)則記錄了用戶 所有的操作數(shù)據(jù)和用戶所需要提取的數(shù)據(jù)。 在 android 中,軟件 ui 通常使用 xml 技術(shù)設(shè)計(jì),而 xml 中控件的位置和狀 態(tài)則離不開布局的使用,android 中常用的布局有 5 種,分別是: absolutelayout、linearlayout、relativelayout、framelayout、tablelayout,由 于布局的使用,并且布局之間可以互相嵌套,使得 android 軟件 ui 的設(shè)計(jì)變得 非常靈活,即使是一些非常復(fù)雜的界面設(shè)計(jì),只要合理的使用布局,也會(huì)使開 發(fā)變得很容易。 android 中數(shù)據(jù)存儲(chǔ)技術(shù)主要有:文件存儲(chǔ)、 preference、sqlite、contentprovider 和網(wǎng)絡(luò)存儲(chǔ),文件存儲(chǔ)是以流的形式讀寫文 件,可以以文格的格式,也可以以二進(jìn)制的形式,在 java 語言中要使用流,則 寫入文件的對象必須進(jìn)行序列化,sqlite 是嵌入式移動(dòng)設(shè)備中常用的輕量級數(shù)據(jù) 庫,可看作計(jì)算機(jī)上使用的 sql server、oracle 數(shù)據(jù)庫。本系統(tǒng)中,采用的是 oracle 數(shù)據(jù)庫進(jìn)行儲(chǔ)存圖書館里的基本信息。 7 第第 3 章章 系統(tǒng)功能設(shè)計(jì)系統(tǒng)功能設(shè)計(jì) 本系統(tǒng)采用 mvc 模式開發(fā)的,該系統(tǒng)的客戶端和服務(wù)器端是獨(dú)立分開的, 這樣的分開也就形成了前臺管理和后臺管理。前臺管理注重用戶的交互是否簡 便,后臺管理注重功能的邏輯和與數(shù)據(jù)庫數(shù)據(jù)交互的功能。 3.1 前臺管理 前臺客戶端的所有功能畫出的功能流程圖如下: 圖書管理系統(tǒng) 圖書管理系統(tǒng)圖書管理系統(tǒng) 注冊 登錄 找回密碼 書籍查詢 用戶管理 書籍管理 添加管理員 查詢用戶 刪除用戶 查詢圖書 增加圖書 更新圖書 刪除圖書 網(wǎng)上預(yù)約 圖 3.1 前臺客戶端流程圖 3.1.1 注冊 用戶通過手機(jī)客戶端主界面上的注冊按鈕注冊新的學(xué)生用戶,注冊用戶的 信息通過服務(wù)器端和數(shù)據(jù)庫連接,數(shù)據(jù)庫中的用戶表則會(huì)添加新的注冊的信息, 同時(shí)在手機(jī)客戶端提示注冊成功。 3.1.2 用戶登錄 用戶登錄分為兩類用戶:管理員和學(xué)生用戶??梢酝ㄟ^登錄界面中選定身 份登錄,服務(wù)器根據(jù)登錄選定的信息選擇數(shù)據(jù)庫中的數(shù)據(jù)表進(jìn)行匹配,用戶名 和密碼正確則登錄成功。 3.1.3 圖書查詢 8 在查詢界面輸入所需查詢書籍的書名,通過服務(wù)器端查詢數(shù)據(jù)庫即可顯示 出所查詢的書籍信息,書籍信息包括:書名、作者、是否可預(yù)約等信息。點(diǎn)擊 要查詢的書籍行,即可查看到書籍的詳細(xì)信息,包括圖書簡介、評論列表及預(yù) 約選項(xiàng),如果可以預(yù)約,則顯示“我要預(yù)約”按鈕,否則不顯示。用戶也可以 點(diǎn)擊“我要評論”選項(xiàng)對本書進(jìn)行評論。 3.1.4 用戶管理 用戶管理模塊是管理員對學(xué)生用戶賬號的管理,對于某些特殊原因賬號不 使用了,比如:學(xué)生畢業(yè)等原因不再使用賬號的問題,管理員有權(quán)利對這類賬 號進(jìn)行刪除,同時(shí)可以根據(jù)學(xué)生用戶的用戶名查詢學(xué)生用戶的信息。 3.1.5 圖書管理 這個(gè)功能也只有管理員身份才能擁有,管理員通過此功能,可以對圖書進(jìn) 行增加、刪出等操作。 通過這個(gè)模塊,管理員可以對新進(jìn)的圖書進(jìn)行添加處理,也可以對已經(jīng)上 架的圖書信息進(jìn)行修改,并能實(shí)時(shí)發(fā)布新增書籍。對于刪除功能,管理員可以 把一些已經(jīng)下架,不再外借的書籍進(jìn)行刪除,以便造成不必要的麻煩。 3.2 后臺管理 后臺服務(wù)器端的任務(wù)是根據(jù)客戶端發(fā)送過來的請求,根據(jù)客戶端不同功能 模塊,通過檢索數(shù)據(jù)庫不同表格,把檢索結(jié)果返回給客戶端顯示給以用戶,其 基本流程圖如下: 圖 3.2 后臺服務(wù)器端流程圖 3.2.1 注冊管理 注冊用戶提交:向服務(wù)器提交用戶注冊的信息,同時(shí)更新到數(shù)據(jù)庫。 9 注冊管理是后臺的一個(gè)重要內(nèi)容,注冊只提供學(xué)生用戶的注冊,這樣可以 保證圖書館用戶權(quán)限的穩(wěn)定和安全。通過注冊用戶,用戶才能享受來自手機(jī)客 戶端的所有功能。通過手機(jī)客戶端注冊用戶,來作為以后通過手機(jī)客戶端登錄 圖書館管理系統(tǒng)的唯一身份認(rèn)證。 3.2.2 登錄管理 登錄管理:根據(jù)你登錄的信息向服務(wù)器發(fā)送請求,然后和數(shù)據(jù)庫信息進(jìn)行 對比,來確認(rèn)用戶登錄的成功與否。 登錄時(shí)候,首先你必須選定你的登錄身份,是以學(xué)生用戶還是管理員身份 登錄,根據(jù)你選擇的不同身份,服務(wù)器向不同的數(shù)據(jù)庫表來核對信息,以通過 對用戶信息的核對,以確定所登錄的賬號密碼是否正確。 3.2.3 圖書查詢管理 圖書查詢管理主要通過圖書的幾個(gè)關(guān)鍵信息進(jìn)行查詢,根據(jù)圖書名字和圖 書作者向數(shù)據(jù)庫提交信息進(jìn)行條件檢索。通過輸入信息的檢索,返回檢索書籍 的基本信息,比如:圖書名字、圖書作者、是否可預(yù)約等基本信息。 3.2.4 用戶管理 后臺的用戶管理,是處理管理員對有特殊情況(例如退學(xué))的學(xué)生用戶和 查詢特定學(xué)生用戶的服務(wù),是與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)更新與交互的服務(wù)。 3.2.5 圖書管理 后臺的圖書管理,是處理管理員把新書添加到書籍?dāng)?shù)據(jù)庫表的服務(wù),通過 添加到數(shù)據(jù)庫表,學(xué)生用戶才能在書籍查詢功能中查詢到新更新的書籍信息。 同時(shí),對于不再外借的書籍從數(shù)據(jù)庫刪除,以此來更新數(shù)據(jù)庫中的書籍名稱。 10 第第 4 章章 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì) 4.1 服務(wù)器端數(shù)據(jù)庫設(shè)計(jì) 采用的是 sqlserver2005 數(shù)據(jù)庫。首先創(chuàng)建數(shù)據(jù)表,以滿足圖書館管理的日 常需要,表格名稱分別為: admin,students,book,content,各個(gè)數(shù)據(jù)表的儲(chǔ) 存的信息分別為:管理員信息、學(xué)生用戶信息、書籍信息、書籍評論信息表。 4.1.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念 模型,已經(jīng)得出滿足系統(tǒng)設(shè)計(jì)要求的幾個(gè)關(guān)系描述,該階段的主要工作就是把 前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫。 管理員用戶有用戶名和密碼兩個(gè)屬性,通過這兩個(gè)屬性來確定管理員用戶 的身份是否合法,其中 id 為主鍵,其 e-r 圖如下: 圖 4.1 管理員 e-r 圖 學(xué)生用戶有用戶名、密碼身份證號、入學(xué)年份、性別、所在學(xué)院名稱等屬 性,通過這些屬性,來確認(rèn)學(xué)生信息表的信息,其中主鍵為 id,其 e-r 圖如下: 11 圖 4.2 學(xué)生用戶 e-r 圖 書籍信息表,是用來存儲(chǔ)書籍的基本信息,其數(shù)星星包括書名、作者名、 書籍位置、出版社名稱、所屬科目、是否借出、最大借閱時(shí)間等,其中自動(dòng)分 配的 id 和書名作為聯(lián)合主鍵,其 e-r 圖如下: 圖 4.3 圖書信息 e-r 圖 外借書籍信息表是用來存儲(chǔ)外借書籍的有關(guān)信息,通過此表格,來獲取該 外借書籍的基本狀態(tài),其屬性有書籍編號、書籍名、書籍作者、最大外借時(shí)間、 實(shí)際外借時(shí)間、外借時(shí)間、借閱者 id,其 e-r 圖如下: 12 圖 4.4 圖書評論信息 e-r 圖 對于各個(gè)實(shí)體之間的關(guān)系 e-r 圖如下: 圖 4.5 實(shí)體關(guān)系圖 4.1.2 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì) 依據(jù)數(shù)據(jù)庫的原理,并結(jié)合以上 e-r 圖,經(jīng)過轉(zhuǎn)化,即可進(jìn)行數(shù)據(jù)庫的物 理設(shè)計(jì)?;谝陨蠑?shù)據(jù)庫的邏輯設(shè)計(jì),考慮程序設(shè)計(jì)的簡易性,同時(shí)考慮題目 的時(shí)間,該系統(tǒng)的數(shù)據(jù)庫采用 oracle 簡易版本建立一個(gè)數(shù)據(jù)庫,在其下創(chuàng)建 4 個(gè)數(shù)據(jù)表,其結(jié)構(gòu)分別如下各表: 表 4-1 數(shù)據(jù)表清單 表名說明 管理員用戶表用于存儲(chǔ)管理員信息表格 學(xué)生用戶表用于存儲(chǔ)學(xué)生用戶信息表格 圖書信息表用于存儲(chǔ)圖書基本信息表格 圖書評論信息表用于儲(chǔ)存圖書評論的信息 表 4-2 管理員用戶信息表 字段名數(shù)據(jù)類型長度主鍵備注 13 idnvarchar20是 根據(jù)添加用戶時(shí)的日期自 動(dòng)生成 namenvarchar50否管理員的登錄賬號 pwdnvarchar50否管理員登錄的密碼 表 4-3 學(xué)生用戶信息表 字段名數(shù)據(jù)類型長度主鍵備注 useridnvarchar20是 根據(jù)添加用戶時(shí)的日期 自動(dòng)生成 usernamenvarchar50否用戶名 userpwdnvarchar50否用戶登錄密碼 namenvarchar20否用戶姓名 gradenvarchar50否用戶年級 classnamenvarchar50否用戶班級 sexnvarchar4否用戶性別 emailnvarchar50否用戶郵箱 表 4-4 圖書信息表 字段名數(shù)據(jù)類型長度主鍵備注 bookidnvarchar15 主鍵根據(jù)添加圖書的日期自 動(dòng)生成 booknamenvarchar50 否 圖書名稱 authornvarchar50否作者名 pdatenvarchar10否出版日期 pressnvarchar50否出版社 bookintronvarchar500否圖書簡介 lmarkernvarchar50否借閱標(biāo)記 ltimenvarchar10否借出時(shí)間 rtimenvarchar10否歸還時(shí)間 lnoint4否借出次數(shù) 表 4-5 外借書籍信息表 字段名數(shù)據(jù)類型長度主鍵備注 cidnvarchar20是根據(jù)評論日期時(shí)間自 動(dòng)生成 bookidnvarchar15否圖書編號 contentmentnvarchar200否評論內(nèi)容 usernamenvarchar50否用戶名 14 第第 5 章章 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn) 5.1 服務(wù)器端的設(shè)計(jì)-搭建 java web 服務(wù)器 本軟件是 c/s 結(jié)構(gòu)的系統(tǒng),因此要先搭建服務(wù)器端,利用 java ee 中的 servlet 來提供服務(wù),并將其部署在 tomcat 下。 在 myeclipse 中新建一個(gè) web project,取名為 libraryservice,其結(jié)構(gòu)如下圖: 圖 5.1 服務(wù)器端代碼結(jié)構(gòu) 5.3 服務(wù)器功能模塊 com.briup.dao 是 cvm 模式中的 dao 層,為 service 提供服務(wù),封裝對數(shù)據(jù)庫 的操作的方法。 com.briup.servlet 包中就各個(gè)不同的 servlet 類,其具體情況如下: 5.3.1 注冊模塊 15 提供用戶注冊 servlet 為 registerservlet,重寫其 dopost()和 doget()方法,該 servlet 是用來處理學(xué)生用戶注冊請求。注冊的參數(shù)有 username、password、indentityid、year、gender、college,其 url 為: :8088/libraryservice/servlet/registerservlet 部分代碼如下: printwriter out = response.getwriter(); string username = request.getparameter(“username“); string password = request.getparameter(“password“); string indentityid = request.getparameter(“indentityid“); string year = request.getparameter(“year“); string gender = request.getparameter(“gender“); string college = request.getparameter(“college“); librarydao dao =new librarydaoimpl(); try user user1=(user)dao.findbyusername(username); if(user1!=null) xml=makexml.makexml(“該用戶名已存在了“,false); else user user=new user(); user.setusername(username); user.setpassword(password); user.setindentityid(indentityid); user.setyear(year); user.setgender(gender); user.setcollege(college); dao.save(user); xml=makexml.makexml(“恭喜您注冊成功了“,true); 5.3.2 登錄模塊 提供用戶登錄的 servlet 為 loginservlet,重寫其 dopost()和 doget()方法, 該 servlet 是用來處理學(xué)生用戶和管理員登錄的請求。登錄的參數(shù)有 username、password,其 url 為: :8088/libraryservice/servlet/loginservlet 部分代碼如下: printwriter out = response.getwriter(); system.out.println(“welcome clientlogin“); 16 string xml=null; /獲得帳號 string flag=request.getparameter(“flag“).trim(); string username = request.getparameter(“username“).trim(); string password= (string)request.getparameter(“password“).trim(); librarydao dao=new librarydaoimpl(); if(flag.equals(“normal“) if(username!=null) try com.briup.pojo.user user=dao.findbyusername(username); if(user!=null) if(user.getpassword().equalsignorecase(password) xml=makexml.makexml(“恭喜您登錄成功了“,true); else xml=makexml.makexml(“密碼不對“,false); else xml=makexml.makexml(“用戶名不正確“,false); catch (exception e) / todo auto-generated catch block system.out.println(“網(wǎng)絡(luò)異?!?; out.println(“); out.println(“網(wǎng)絡(luò)異?!?; else if(flag.equals(“admin“) try admin admin=dao.findbyadminname(username); 17 if(admin!=null) if(admin.getpassword().equals(password) xml=makexml.makexml(“恭喜您登錄成功了“,true); else xml=makexml.makexml(“密碼不對“,false); else xml=makexml.makexml(“用戶名不存在“,false); catch (exception e) / todo auto-generated catch block e.printstacktrace(); 5.3.3 書籍查詢模塊 提供特定書籍查詢 servlet 為 findbookservlet,重寫其 dopost()和 doget()方 法,該 servlet 是用來處理學(xué)生用戶查詢特定書籍的請求。查詢書籍參數(shù)有 bookname、bookauthor,其 url 為: 01:8088/libraryservice/servlet/findbooksservlet 部分代碼如下: string bookname=request.getparameter(“bookname“).trim(); string authorname=request.getparameter(“authorname“).trim(); string status=request.getparameter(“status“).trim(); /status 為yes表示被借出了 為no表示沒被借出沒 system.out.println(“-hello i am in findbooksservlet-“); string xml=null; list list=null; librarydao dao=new librarydaoimpl(); if(status.equals(“) try list=dao.findbookbyname(bookname, authorname); if(list!=null) xml=makexml.makexml(list,list.size()+“); 18 else xml=makexml.makexml(list,“抱歉圖書館沒有該書了“); catch (exception e) / todo auto-generated catch block e.printstacktrace(); else try list=dao.findbookbyname(bookname, authorname,status); if(list!=null) xml=makexml.makexml(list,list.size()+“); else xml=makexml.makexml(list,“抱歉圖書館沒有該書了“); catch (exception e) / todo auto-generated catch block e.printstacktrace(); 5.3.4 特定用戶查詢模塊 提供特定用戶查詢 servlet 為 finduserservlet,重寫其 dopost()和 doget()方法, 該 servlet 是用來處理管理員用戶查詢特定學(xué)生用戶信息的請求。管理員查詢特 定學(xué)生用戶參數(shù)有 username,其 url 為: :8088/libraryservice/servlet/finduserservlet 部分代碼如下: printwriter out = response.getwriter(); string username = request.getparameter(“username“).trim(); string xml=null; librarydao dao=new librarydaoimpl(); try com.briup.pojo.user user=dao.findbyusername(username); if(user!=null) 19 try xml=makexml.makexml(user,“); catch (exception e) / todo auto-generated catch block e.printstacktrace(); else try xml=makexml.makexml(“密碼不對“,false); catch (exception e) / todo auto-generated catch block e.printstacktrace(); catch (dataaccessexception e) / todo auto-generated catch block e.printstacktrace(); 5.3.5 查詢所有用戶模塊 提供所有用戶查詢servlet為findalluserservlet,重寫其dopost()和doget()方法, 該servlet是用來處理管理員用戶查詢所有學(xué)生用戶信息的請求。查詢所有學(xué)生 用戶信息不需要提供任何參數(shù),只需要點(diǎn)擊查詢所有按鈕便可以查詢出所有, 其url為: :8088/libraryservice/servlet/findalluserservlet 部分代碼如下: printwriter out = response.getwriter(); string xml=null; list list=null; librarydao dao=new librarydaoimpl(); try list=dao.findalluser(); xml=makexml.makexml(list,“); catch (exception e) / todo auto-generated catch block try xml=makexml.makexml(“網(wǎng)絡(luò)異?!?false); catch (exception e1) / todo auto-generated catch block 20 e1.printstacktrace(); e.printstacktrace(); 5.3.6 添加書籍模塊 提供管理員添加書籍servlet為savebookservlet,重寫其dopost()和doget()方 法,該servlet是用來處理管理員用戶對新書籍進(jìn)行添加上架的請求。對需要上 架處理的書籍需要提供參數(shù)有書籍名、書籍作者、書籍所屬科目、書籍所在位 置,書籍出版社名字、最大借閱時(shí)間等參數(shù),其url為: :8088/libraryservice/servlet/savebookservlet 部分代碼如下: printwriter out = response.getwriter(); string bookname=request.getparameter(“bookname“).trim(); string authorname=request.getparameter(“authorname“).trim(); string phname=request.getparameter(“phname“).trim(); string location=request.getparameter(“l(fā)ocation“).trim(); string category=request.getparameter(“category“).trim(); /string status=request.getparameter(“status“).trim(); string renttime=request.getparameter(“renttime“).trim(); string num=request.getparameter(“num“).trim(); string xml=null; int number=integer.parseint(num); if(number0) librarydao dao =new librarydaoimpl(); for(int i=0;inumber;i+) book book=new book(); book.setbookname(bookname); book.setauthorname(authorname); book.setphname(phname); book.setlocation(location); book.setcategory(category); book.setstatus(“no“); book.setrenttime(renttime); try dao.save(book); system.out.println(“i have save this book “); catch (exception e) 21 / todo auto-generated catch block try xml=makexml.makexml(“抱歉出錯(cuò)了“,false); catch (exception e1) / todo auto-generated catch block e1.printstacktrace(); e.printstacktrace(); try xml=makexml.makexml(“恭喜已保存了該圖書“,true); catch (exception e) / todo auto-generated catch block e.printstacktrace(); 5.4 客戶端的設(shè)計(jì)-設(shè)計(jì) android ui 界面 在eclipse安裝好了adt插件并且導(dǎo)入了androidsdk后,創(chuàng)建一個(gè)android project,此工程是作為圖書館管理系統(tǒng)的客戶端,是為廣大用戶下載使用的, 所以,該ui界面的主要要求是要操作性強(qiáng)和交互簡單??蛻舳说淖⒁馐马?xiàng)為: 一個(gè)是數(shù)據(jù)庫的設(shè)計(jì),一個(gè)是各個(gè)功能的布局。 android project 名稱:library 工程結(jié)構(gòu)如圖所示: 22 圖 5.2 客戶端系統(tǒng)結(jié)構(gòu) com.briup.utils 中包含的是各種工具類和封裝的方法;com.briup 中則是客戶 端中實(shí)現(xiàn)各個(gè)功能的類,每一個(gè)界面的類都在此包中,詳細(xì)情況如下: libraryactivity.java 是系統(tǒng)主界面,用于選擇登錄或者注冊; registeactivity.java 是注冊界面; loginactivity.java 是登錄界面; nuactivity.java 是學(xué)生用戶查詢書籍信息界面; adminactivity.java 是管理員管理界面; managerbook.java 是管理員管理書籍界面,包括書籍的添加、查詢、刪除; manageruser.java 是管理學(xué)生用戶界面; findoneuser.java 是管理員查詢特定學(xué)生界面; findalluseractivity.java 是管理員查詢所有學(xué)生界面。 5.5 具體功能模塊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論