基于Android平臺的圖書管理系統(tǒng)手機客戶端開發(fā)設(shè)計)畢業(yè)論文_第1頁
基于Android平臺的圖書管理系統(tǒng)手機客戶端開發(fā)設(shè)計)畢業(yè)論文_第2頁
基于Android平臺的圖書管理系統(tǒng)手機客戶端開發(fā)設(shè)計)畢業(yè)論文_第3頁
基于Android平臺的圖書管理系統(tǒng)手機客戶端開發(fā)設(shè)計)畢業(yè)論文_第4頁
基于Android平臺的圖書管理系統(tǒng)手機客戶端開發(fā)設(shè)計)畢業(yè)論文_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 . . . 畢業(yè)設(shè)計題 目 基于Android平臺的圖書管理系統(tǒng)手機客戶端開發(fā) 學(xué)生 xxx 學(xué) 號 08250334專業(yè)班級 通信工程 指導(dǎo)教師 xxx 學(xué) 院 計算機與通信 答辯日期 2012 年 6 月 . . . 基于 Android 平臺的圖書管理系統(tǒng)手機客戶端開發(fā)The development of library management system is based on the Android platform xxx0825 . . . I / 67摘摘 要要 傳統(tǒng) WEB 應(yīng)用只能在 PC 機上使用,不能做到隨時隨地的使用,為了解決這樣的不足,基于 Android 平臺的

2、圖書館管理系統(tǒng)客戶端就應(yīng)運而生。本設(shè)計闡述了在 Android 平臺下圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)過程,其目的是讓人們能夠在基于 Google Android 平臺的移動設(shè)備上享用傳統(tǒng) WEB 上圖書館管理系統(tǒng)的基本功能。本系統(tǒng)采用 C/S 結(jié)構(gòu), MVC 軟件開發(fā)模式,使用 android 布局技術(shù)完成 UI 的設(shè)計,基于 Java 語言開發(fā)完成,在不同型號的設(shè)備模擬器上測試通過。系統(tǒng)實現(xiàn)了用戶注冊、登錄、查詢圖書以與學(xué)生用戶管理和圖書管理等功能。 “操作簡單,功能實用”這是本軟件設(shè)計的核心理念,本系統(tǒng)力求創(chuàng)造最好的用戶體驗。 關(guān)鍵詞:關(guān)鍵詞:圖書館管理系統(tǒng);ANDROID;客戶端;數(shù)據(jù)庫設(shè)計

3、;服務(wù)器端 . . . II / 67AbstractAbstractThe 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 managem

4、ent 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 an

5、droid UI design layout complete technology, 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 library management etc. Function. The operatio

6、n is simple, functional practical this is the core idea of the software design, this system is the best tries to create user experience.KeyKey words:words:library management system;ANDROID; client;database design; server . . . III / 67目目 錄錄摘要 IABSTRACTII第 1 章前言 11.1 課題研究的目的與意義 11.2 課題的現(xiàn)狀 11.3 課題的容 1

7、第 2 章軟件設(shè)計與開發(fā)工具介紹 32.1 總體設(shè)計 32.2 系統(tǒng)結(jié)構(gòu) 32.3 開發(fā)工具介紹和關(guān)鍵技術(shù) 32.3.1 Eclipse 的介紹 32.3.2 MyEclipse 與 Tomcat 介紹 62.3.3 關(guān)鍵技術(shù)介紹 7第 3 章系統(tǒng)功能設(shè)計 83.1 前臺管理 83.1.1 注冊 83.1.2 用戶登錄 83.1.3 圖書查詢 83.1.4 用戶管理 93.1.5 圖書管理 93.2 后臺管理 93.2.1 注冊管理 93.2.2 登錄管理 93.2.3 圖書查詢管理 103.2.4 用戶管理 103.2.5 圖書管理 10第 4 章數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 114.1 服務(wù)器端數(shù)據(jù)庫設(shè)

8、計 114.1.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 114.1.2 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計 13第 5 章模塊開發(fā)與編碼實現(xiàn) 15 . . . IV / 675.1 服務(wù)器端的設(shè)計-搭建JAVA WEB服務(wù)器 155.2 連接數(shù)據(jù)庫模塊 155.3 服務(wù)器功能模塊 165.3.1 注冊模塊 165.3.2 登錄模塊 175.3.3 書籍查詢模塊 185.3.4 特定用戶查詢模塊 195.3.5 查詢所有用戶模塊 205.3.6 添加書籍模塊 215.4 客戶端的設(shè)計-設(shè)計 ANDROID UI 界面 225.5 具體功能模塊 235.5.1 注冊界面 235.5.2 登錄界面 265.5.3 學(xué)生用戶書籍查詢

9、界面 285.5.4 管理員界面 295.5.5 管理學(xué)生用戶界面 305.5.6 管理圖書界面 315.5.7 圖書增加界面 32第 6 章系統(tǒng)測試 346.1 用戶注冊測試 346.2 用戶登錄測試 346.3 圖書查詢測試 366.4 用戶管理測試 366.5 書籍管理測試 37總 結(jié) 39參考文獻 41附錄一核心代碼 42附錄二外文文獻(原文)43附錄三外文文獻(譯文)52致 60 . . . 1 / 67第第 1 1 章章 前前 言言1.1 課題研究的目的與意義移動互聯(lián)網(wǎng)時代的來臨,說明一個嶄新的時代開始了。所謂移動互聯(lián)網(wǎng)是將移動通信和互聯(lián)網(wǎng)整合在一起,移動設(shè)備(包括手機和上網(wǎng)本)可

10、以隨時隨地地訪問互聯(lián)網(wǎng)資源和應(yīng)用。智能手機是移動互聯(lián)網(wǎng)時代一個標(biāo)志性的客戶端工具,它和傳統(tǒng)的手機是有區(qū)別的,它就像一臺“小電腦” ,具有獨立的操作系統(tǒng),可以自由安裝、卸載軟件,具有強大的計算和存儲能力,可以通過移動通信網(wǎng)絡(luò)來實現(xiàn)無線網(wǎng)絡(luò)接入。對于移動終端設(shè)備飛速發(fā)展的今天,傳統(tǒng) WEB 上的應(yīng)用出現(xiàn)在手機終端是一個大的趨勢。而基于 Android 開發(fā)的圖書館管理系統(tǒng)手機客戶端,正是對這一趨勢的良好體現(xiàn),Android平臺下的圖書館管理系統(tǒng)的開發(fā),能很好的為用戶提供方便,用戶能通過它能隨時隨地的了解系統(tǒng)的實時信息,做到信息的實時化。通過 Android 平臺下的圖書館管理系統(tǒng)客戶端的開發(fā),與傳

11、統(tǒng) WEB 應(yīng)用進行良好的互補。同時,對于校的圖書館管理系統(tǒng)來說,手機對于學(xué)生是必不可少的一個物品,手機客戶端這種形式的圖書館管理系統(tǒng),能更加貼近學(xué)生的生活習(xí)慣,并且適合學(xué)生年齡段的習(xí)性,這對學(xué)生更多的接觸到圖書館的信息有一定得促進作用。1.2 課題的現(xiàn)狀目前國的基于 Android 平臺的圖書館管理系統(tǒng)客戶端還不成熟,大多數(shù)的圖書館管理系統(tǒng)都出現(xiàn)在傳統(tǒng)的 WEB 應(yīng)用上,在這個環(huán)境下,基于 Android 平臺的圖書館管理系統(tǒng)客戶端屬于一個嶄新的應(yīng)用。作為一個不太成熟的應(yīng)用,大多數(shù)圖書館管理系統(tǒng)都是出現(xiàn)在學(xué)習(xí)android 開發(fā)的一個項目中,作為學(xué)習(xí)中的一個練習(xí)項目。目前,絕大部分的網(wǎng)絡(luò)應(yīng)用

12、都還是傳統(tǒng)的 WEB 應(yīng)用,但面對 Android 手機如此迅速發(fā)展的今天,傳統(tǒng) WEB 的應(yīng)用不能滿足人們隨時隨地體驗網(wǎng)絡(luò)應(yīng)用的想法,所以,出現(xiàn)在手機終端的應(yīng)用將會越來越多,同時其發(fā)展的速度也會越來越快。校圖書館管理系統(tǒng)作為傳統(tǒng) WEB 應(yīng)用,也必將在手機客戶端上得到應(yīng)用。1.3 課題的容由此出現(xiàn)大量的應(yīng)用出現(xiàn)在手機上,基于 Android 平臺的圖書館管理系統(tǒng)手機客戶端是依據(jù)現(xiàn)在的形式所開發(fā)的,它是一套基于開放性的圖書館管理系統(tǒng),它有傳統(tǒng) WEB 上圖書館管理系統(tǒng)的大部分功能。整個系統(tǒng)分為前臺界面管理和后臺服務(wù)器管理兩部分,劃分為用戶管理、圖書管理、信息管理等三個部分。在前臺管理中,用戶進

13、行注冊、登錄、查詢特定圖 . . . 2 / 67書等功能;后臺管理模塊,負責(zé)控制前臺界面管理的所有功能;本系統(tǒng)設(shè)置了學(xué)生用戶和管理員兩類,兩類用戶都是使用同一個平臺,只是權(quán)限不同。學(xué)生用戶只能注冊、查詢圖書等功能;管理員擁有最高權(quán)限,可以對已經(jīng)畢業(yè)的學(xué)生用戶賬號進行刪除,查詢學(xué)生用戶信息,實時更新圖書館的新書,發(fā)布圖書館最新信息等權(quán)限。本圖書館管理系統(tǒng),能夠適用于各類圖書館,具有良好的可操作性,可以隨時的查詢你所需要的圖書信息,只要你的智能手機安裝了本系統(tǒng)客戶端,系統(tǒng)大大的方便了學(xué)生的圖書查詢的。本系統(tǒng)采用 C/S 結(jié)構(gòu),后臺服務(wù)器使用 Servlet 編寫服務(wù)器,同時用 Tomcat 發(fā)布

14、服務(wù),前臺客戶端環(huán)境使用的是 ANDROID 控件。通過 JDBC 來調(diào)用 Oracle 數(shù)據(jù)庫,來實現(xiàn)手機客戶端與服務(wù)器之間數(shù)據(jù)傳輸。第第 2 2 章章 軟件設(shè)計與開發(fā)工具介紹軟件設(shè)計與開發(fā)工具介紹 . . . 3 / 67為了使軟件開發(fā)能夠順利進行,使開發(fā)人員對系統(tǒng)各個模塊的性能、系統(tǒng)接口、系統(tǒng)開發(fā)與運行環(huán)境和計算機部處理的邏輯與物理流程有更清晰的認識,更利于源程序的開發(fā),現(xiàn)對系統(tǒng)的總體設(shè)計和系統(tǒng)結(jié)構(gòu)設(shè)計與開發(fā)工具和關(guān)鍵技術(shù)做詳細說明。2.1 總體設(shè)計基于 ANDROID 平臺開發(fā)的圖書館管理系統(tǒng)客戶端從設(shè)計者的角度來看,用戶角色分為學(xué)生用戶和管理員兩類;功能包括注冊、登錄、密碼找回、書籍

15、查詢、圖書實時更新、普通用戶管理共六大部分。其中系統(tǒng)管理中的學(xué)生用戶權(quán)限包括注冊、登錄、密碼找回、書籍查詢等四個模塊;管理員的權(quán)限則是除了學(xué)生用戶具有的權(quán)限外還有實時更新圖書信息、學(xué)生用戶管理等模塊。從使用者的角度來看分為前臺和后臺管理兩大部分。后臺管理模塊是本系統(tǒng)的關(guān)鍵部分之一,它是系統(tǒng)維護和信息管理平臺。根據(jù)現(xiàn)實需要,本系統(tǒng)后臺管理用戶有兩類:管理員和學(xué)生用戶。這兩類用戶使用的系統(tǒng)管理平臺都是同一個平臺上,只不過他們執(zhí)行的權(quán)限不同。2.2 系統(tǒng)結(jié)構(gòu)本系統(tǒng)總體邏輯結(jié)構(gòu)為 C/S 結(jié)構(gòu),結(jié)構(gòu)圖如圖 2-1 所示:圖 2.1C/S 結(jié)構(gòu)圖2.3 開發(fā)工具介紹和關(guān)鍵技術(shù)2.3.1Eclipse 的

16、介紹Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Kit,JDK) 。Eclipse 的發(fā)展史,版本代號 平臺版本 主要版本發(fā)行日期 SR1 發(fā)行日期 SR2 發(fā)行日期,如下:表 2-1Eclipse 的版本號 . . . 4 / 67版本代號平臺版本主要版本發(fā)行日期SR1 發(fā)行日期SR2 發(fā)行日期Callisto3.22006 年 6 月 26 日N/AN/AEuropa3.32007 年

17、6 月 27 日2007 年 9 月 28 日2008 年 2 月 29 日Ganymede3.42008 年 6 月 25 日2006 年 9 月 24 日2009 年 2 月 25 日Galileo3.52009 年 6 月 24 日2006 年 9 月 25 日2010 年 2 月 26 日Helios3.62006 年 6 月 23 日2006 年 9 月 24 日2011 年 2 月 25 日Indigo3.72006 年 6 月 22 日2006 年 9 月 23 日2012 年 2 月 24 日Juno(預(yù)定)3.8 與4.22006 年 6 月 27 日2006 年 9 月 2

18、8 日2013 年 2 月 22 日Kepler4.32006 年 6 月 26 日2006 年 9 月 27 日2014 年 2 月 28 日Eclipse 是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由 Eclipse 項目、Eclipse 工具項目和 Eclipse技術(shù)項目三個項目組成,具體包括四個部分組成Eclipse Platform、JDT、CDT 和PDE。JDT 支持 Java 開發(fā)、CDT 支持 C 開發(fā)、PDE 用來支持插件開發(fā),Eclipse Platform 則是一個開放的可擴展 IDE,提供了一個通用的開發(fā)

19、平臺。它提供建造塊和構(gòu)造并運行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform 允許工具建造者獨立開發(fā)與他人工具無縫集成的工具從而無須分辨一個工具功能在哪里結(jié)束,而另一個工具功能在哪里開始。Android 工程是在 Eclipse 工具上編寫的,進行 android 工程的編寫,首先需要在Eclipse 上安裝 ADT 插件,然后指定 SDK 所在的路徑,便可以創(chuàng)建 android 虛擬機了。在 Eclipse 下創(chuàng)建虛擬機的步驟如下:(1)安裝 ADT 插件在 Eclipse 單擊菜單欄的 Help,在 Help 里面選中 Install NewSoftware 選項,之后便可以出現(xiàn)

20、如下界面:圖 2.2ADT 安裝步驟界面指定好你的 ADT 路徑后,便可以安裝好 ADT 插件。(2)導(dǎo)入 AndroidSDK . . . 5 / 67安裝好 ADT 插件后,單擊 Eclipse 菜單欄 Windows 下找到 preperence,點擊進入,得到如下界面:圖 2.3 AndroidSDK 安裝界面在左邊選項選中 Android,在 SDK Location 下導(dǎo)入 AndroidSDK 路徑,點擊 Apply 應(yīng)用,便會導(dǎo)入 Android 的各個版本。(3)創(chuàng)建虛擬機安裝好 ADT 和導(dǎo)入 AndroidSDK 成功后,便可以在菜單欄 Windows 下找到 AVD m

21、anage 選項,單擊進入后便有新建 android 虛擬機界面,在創(chuàng)建界面設(shè)置好虛擬機參數(shù)點擊確定后,就創(chuàng)建好了一個 android 虛擬機。創(chuàng)建好虛擬機后,點擊開始便可以運行一個 android 虛擬機,虛擬機運行成功界面如下:圖 2.4android 虛擬機視圖虛擬機模擬的是 android 智能手機的界面,通過操作虛擬機可以體驗到 android 智能手機的部分應(yīng)用。同時虛擬機是作為開發(fā)的 android 應(yīng)用運行的場所,他提供基本的人機交互 . . . 6 / 67功能。2.3.2 MyEclipse 與 Tomcat 介紹MyEclipse 是一個十分優(yōu)秀的用于開發(fā) Java, J

22、2EE 的 Eclipse 插件集合。MyEclipse 企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱 MyEclipse)是對 EclipseIDE 的擴展,利用它我們可以在數(shù)據(jù)庫和 JavaEE 的開發(fā)、發(fā)布以與應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的 JavaEE 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,支持 HTML,Struts,JSP,Javascript, Hibernate,MyEclipse,CSS, Spring,SQL 的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。在結(jié)構(gòu)上,My

23、Eclipse 的特征可以被分為 7 類: 1JavaEE 模型 2WEB 開發(fā)工具 3E 開發(fā)工具 4 應(yīng)用程序服務(wù)器的連接器 5JavaEE 項目部署服務(wù) 6 數(shù)據(jù)庫服務(wù) 7MyEclipse 整合幫助 對于以上每一種功能上的類別,在 Eclipse 中都有相應(yīng)的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse 結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,MyEclipse 是Eclipse 的插件,也是一款功能強大的 JavaEE 集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以與除錯,MyEclipse6.0 以前版本需先安裝 E

24、clipse。MyEclipse6.0 以后版本安裝時不需安裝 Eclipse。本系統(tǒng)是基于 C/S 架構(gòu)的,所以需要在 MyEclipse 上創(chuàng)建服務(wù)器端,利用 Java EE 中的servlet 來提供服務(wù),并將其部署在 Tomcat 下。需要解決的是創(chuàng)建不同的 servlet 來提供不同的服務(wù)。Tomcat 是 Apache 軟件基金會(Apache Software Foundation)的 Jakarta 項目中的一個核心項目,由 Apache、Sun 和其他一些公司與個人共同開發(fā)而成。由于有了 Sun 的參與和支持,最新的 Servlet 和 JSP 規(guī)總是能在 Tomcat 中得

25、到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和 JSP 2.0 規(guī)。因為 Tomcat 技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的 Web 應(yīng)用服務(wù)器。目前最新版本是 7.0。Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負 . . . 7 / 67載平衡與服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat 是一個輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試 JS

26、P 程序的首選。對于一個初學(xué)者來說,可以這樣認為,當(dāng)在一臺機器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對 HTML 頁面的訪問請求。實際上 Tomcat 部分是 Apache 服務(wù)器的擴展,但它是獨立運行的,所以當(dāng)你 Apache Tomcat 運行 tomcat 時,它實際上作為一個與 Apache 獨立的進程單獨運行的。而 Tomcat 實際上運行 JSP 頁面和 Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服務(wù)器一樣,具有處理 HTML 頁面的功能,另外它還是一個 Servlet 和 JSP 容器,獨立的 Servlet 容器是 Tomcat 的默認模式

27、。不過,Tomcat 處理靜態(tài) HTML 的能力不如 Apache 服務(wù)器。目前 Tomcat 最新版本為 7.0.27 Released。2.3.3 關(guān)鍵技術(shù)介紹本軟件采用 java 作為開發(fā)語言,布局和數(shù)據(jù)存儲是開發(fā)本軟件的關(guān)鍵技術(shù),布局用來設(shè)計用戶交互界面,用戶界面的設(shè)計是否美觀和合理直接影響用戶體驗,因此運用好布局技術(shù)是直接和用戶相關(guān)的,而數(shù)據(jù)存儲技術(shù)則記錄了用戶所有的操作數(shù)據(jù)和用戶所需要提取的數(shù)據(jù)。在 android 中,軟件 UI 通常使用 xml 技術(shù)設(shè)計,而 xml 中控件的位置和狀態(tài)則離不開布局的使用,android 中常用的布局有 5 種,分別是:AbsoluteLayou

28、t、LinearLayout、RelativeLayout、FrameLayout、TableLayout,由于布局的使用,并且布局之間可以互相嵌套,使得 android 軟件 UI 的設(shè)計變得非常靈活,即使是一些非常復(fù)雜的界面設(shè)計,只要合理的使用布局,也會使開發(fā)變得很容易。Android 中數(shù)據(jù)存儲技術(shù)主要有:文件存儲、preference、sqlite、ContentProvider和網(wǎng)絡(luò)存儲,文件存儲是以流的形式讀寫文件,可以以文格的格式,也可以以二進制的形式,在 java 語言中要使用流,則寫入文件的對象必須進行序列化,sqlite 是嵌入式移動設(shè)備中常用的輕量級數(shù)據(jù)庫,可看作計算機上

29、使用的 sql server、oracle 數(shù)據(jù)庫。本系統(tǒng)中,采用的是 Oracle 數(shù)據(jù)庫進行儲存圖書館里的基本信息。第第 3 3 章章 系統(tǒng)功能設(shè)計系統(tǒng)功能設(shè)計本系統(tǒng)采用 C/S 模式開發(fā)的,該系統(tǒng)的客戶端和服務(wù)器端是獨立分開的,這樣的分開也 . . . 8 / 67就形成了前臺管理和后臺管理。前臺管理注重用戶的交互是否簡便,后臺管理注重功能的邏輯和與數(shù)據(jù)庫數(shù)據(jù)交互的功能。3.1 前臺管理前臺客戶端的所有功能畫出的功能流程圖如下:圖 3.1 前臺客戶端流程圖3.1.1 注冊用戶通過手機客戶端主界面上的注冊按鈕注冊新的學(xué)生用戶,注冊用戶的信息通過服務(wù)器端和數(shù)據(jù)庫連接,數(shù)據(jù)庫中的用戶表則會生成

30、你注冊的信息,同時在手機客戶端提示注冊成功。3.1.2 用戶登錄用戶登錄分為兩類用戶:管理員和學(xué)生用戶。可以通過登錄界面中選定身份登錄,服務(wù)器根據(jù)登錄選定的信息選擇數(shù)據(jù)庫中的數(shù)據(jù)表進行匹配,用戶名和密碼正確則登錄成功。3.1.3 圖書查詢在查詢界面輸入所需查詢書籍的書名和作者名,通過服務(wù)器端查詢數(shù)據(jù)庫返回你所查詢的書籍信息,書籍信息包括:書名、作者、名、是否被接、剩余本數(shù)等信息。在圖書查詢功能中,運用到了 ANDROID 的一個自動完成文本的控件,該控件可以通過你輸入的查詢信息列出帶有你輸入字的書名,以方便你的檢索。通過此控件,大大的提高了用戶檢索書籍的效率,同時滿足了模糊查詢的功能,是用戶查

31、詢書籍方便、快捷。3.1.4 用戶管理用戶管理模塊是管理員對學(xué)生用戶賬號的管理,對于某些特殊原因賬號不使用了,比如: . . . 9 / 67學(xué)生畢業(yè)等原因不再使用賬號的問題,管理員有權(quán)利對這類賬號進行刪除,同時可以學(xué)生用戶的用戶名查詢學(xué)生用戶的信息。3.1.5 圖書管理這個功能也只有管理員身份才能擁有,管理員通過此功能,可以對圖書進行增加、刪出功能。通過這個模塊,管理員可以對新進的圖書進行添加處理,并能實時發(fā)布新增書籍。對于刪除功能,管理員可以把一些已經(jīng)下架,不再外借的書籍進行刪除,以便造成不必要的麻煩。3.2 后臺管理后臺服務(wù)器端的任務(wù)是根據(jù)客戶端送發(fā)送過來的請求,根據(jù)客戶端不同功能模塊,

32、通過檢索數(shù)據(jù)庫不同表格,把檢索結(jié)果返回給客戶端顯示給以用戶,其基本流程圖如下:圖 3.2 后臺服務(wù)器端流程圖3.2.1 注冊管理注冊用戶提交:向服務(wù)器提交用戶注冊的信息,同時更新到數(shù)據(jù)庫。 注冊管理是后臺的一個重要容,注冊只提供學(xué)生用戶的注冊,這樣可以保證圖書館用戶權(quán)限的穩(wěn)定和安全。通過注冊用戶,用戶才能享受來自手機客戶端的所有功能。通過手機客戶端注冊用戶,來作為以后通過手機客戶端登錄圖書館管理系統(tǒng)的唯一身份認證。3.2.2 登錄管理登錄管理:根據(jù)你登錄的信息向服務(wù)器發(fā)送請求,然后和數(shù)據(jù)庫信息進行對比,來確認用戶登錄的成功與否。登錄時候,首先你必須選定你的登錄身份,是以學(xué)生用戶還是管理員身份登

33、錄,根據(jù)你選擇的不同身份,服務(wù)器向不同的數(shù)據(jù)庫表來核對信息,以通過對用戶信息的核對,以確定所登錄的賬號密碼是否正確。 . . . 10 / 673.2.3 圖書查詢管理圖書查詢管理主要通過圖書的幾個關(guān)鍵信息進行查詢,根據(jù)圖書名字和圖書作者向數(shù)據(jù)庫提交信息進行條件檢索。通過輸入信息的檢索,返回檢索書籍的基本信息,比如:圖書名字、圖書作者、名、是否被借、剩余數(shù)量等基本信息。3.2.4 用戶管理后臺的用戶管理,是處理管理員對有特殊情況的學(xué)生用戶和查詢特定學(xué)生用戶的服務(wù),是與數(shù)據(jù)庫進行數(shù)據(jù)更新與交互的服務(wù)。3.2.5 圖書管理后臺的圖書管理,是處理管理員把新書添加到書籍?dāng)?shù)據(jù)庫表的服務(wù),通過添加到數(shù)據(jù)庫

34、表,學(xué)生用戶才能在書籍查詢功能中查詢到新更新的書籍信息。同時,對于不再外借的書籍從數(shù)據(jù)庫刪除,以此來更新數(shù)據(jù)庫中的書籍名稱。第第 4 4 章章 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計數(shù)據(jù)庫結(jié)構(gòu)設(shè)計4.1 服務(wù)器端數(shù)據(jù)庫設(shè)計采用的是 Oracle 數(shù)據(jù)庫。在本系統(tǒng)中采用了簡易版的 Oracle,即數(shù)據(jù)庫的名字為Oracle XE,首先要解決的是在該數(shù)據(jù)庫里某個用戶下創(chuàng)建表。首先配置 Oracle 數(shù)據(jù)庫,步驟如下: (1) 以 Oracle 管理員身份進入 Oracle,在終端輸入的命令為:sqlplus /as . . . 11 / 67sysdba;(2) 啟動 Oracle,在終端輸入的命令為:startup;(

35、3) 創(chuàng)建新的用戶,在終端的命令為:先以管理員身份登錄數(shù)據(jù)庫,然后創(chuàng)建新的用戶的命令為:create user liuyujuan identified by liuyujuan;grant resource,connect to liuyujuan;所創(chuàng)建的用戶賬號和密碼分別為:liuyujuan,liuyujuan;(4)然后以 liuyujuan 用戶登錄,命令為:sqlplus liuyujuan/liuyujuan。在賬戶 liuyujuan 下創(chuàng)建數(shù)據(jù)表,以滿足圖書館管理的日常需要,表格名稱分別為: lib_admin,lib_user,lib_books,lib_ret,各個數(shù)據(jù)

36、表的儲存的信息分別為:管理員信息、普通用戶信息、書籍信息、書籍外借信息表。4.1.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿足系統(tǒng)設(shè)計要求的幾個關(guān)系描述,該階段的主要工作就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫。管理員用戶有用戶名和密碼兩個屬性,通過這兩個屬性來確定管理員用戶的身份是否合法,其中 ID 為主鍵,其 E-R 圖如下:圖 4.1 管理員 E-R 圖學(xué)生用戶有用戶名、密碼號、入學(xué)年份、性別、所在學(xué)院名稱等屬性,通過這些屬性,來確認學(xué)生信息表的信息,其中主鍵為 ID,其 E-R 圖如下: . . . 12 / 67圖 4.2 學(xué)

37、生用戶 E-R 圖書籍信息表,是用來存儲書籍的基本信息,其數(shù)星星包括書名、作者名、書籍位置、名稱、所屬科目、是否借出、最大借閱時間等,其中自動分配的 ID 和書名作為聯(lián)合主鍵,其E-R 圖如下:圖 4.3 書籍信息 E-R 圖外借書籍信息表是用來存儲外借書籍的有關(guān)信息,通過此表格,來獲取該外借書籍的基本狀態(tài),其屬性有書籍編號、書籍名、書籍作者、最大外借時間、實際外借時間、外借時間、借閱者 ID,其 E-R 圖如下:圖 4.4 書籍外借信息 E-R 圖對于各個實體之間的關(guān)系 E-R 圖如下:圖 4.5 實體關(guān)系圖 . . . 13 / 674.1.2 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計依據(jù)數(shù)據(jù)庫的原理,并結(jié)合以

38、上 E-R 圖,經(jīng)過轉(zhuǎn)化,即可進行數(shù)據(jù)庫的物理設(shè)計?;谝陨蠑?shù)據(jù)庫的邏輯設(shè)計,考慮程序設(shè)計的簡易性,同時考慮題目的時間,該系統(tǒng)的數(shù)據(jù)庫采用 Oracle 簡易版本建立一個數(shù)據(jù)庫,在其下創(chuàng)建 4 個數(shù)據(jù)表,其結(jié)構(gòu)分別如下各表:表 4-1 數(shù)據(jù)表清單表名說明管理員用戶表用于存儲管理員信息表格普通用戶表用于存儲普通用戶信息表格書籍信息表用于存儲書籍基本信息表格書籍外借信息表用于儲存外借書籍的基本信息表 4-2 管理員用戶信息表字段名數(shù)據(jù)類型長度主鍵備注ID自動編號10是由數(shù)據(jù)庫 sequence 自動生成AdminnameVarchar250否管理員的登錄賬號PasswordVarchar250否管

39、理員登錄的密碼表 4-3 普通用戶信息表字段名數(shù)據(jù)類型長度主鍵備注ID自動編號10是由數(shù)據(jù)庫 sequence 自動生成UsernameVarchar250否唯一標(biāo)識用戶,不可缺PasswordVarchar250否普通用戶用戶登錄密碼IndentityidVarchar2100否用戶注冊的號YearVarchar250否用戶入學(xué)年份GenderVarchar230否用戶性別CollegeVarchar250否用戶所在學(xué)院表 4-4 書籍信息表字段名數(shù)據(jù)類型長度主鍵備注ID自動編號10聯(lián)合主鍵由數(shù)據(jù)庫 sequence 自動生成BooknameVarchar250聯(lián)合主鍵書籍名稱Bookaut

40、horVarchar250否書籍作者名PhnameVarchar250否名稱LocationVarchar260否所在位置CategoryVarchar280否所屬科目StatusVarchar220否書籍狀態(tài)RenttimeVarchar220否最大借閱時間 . . . 14 / 67表 4-5 外借書籍信息表字段名數(shù)據(jù)類型長度主鍵備注IDVarchar210是由數(shù)據(jù)庫自動生成Book_dateVarchar250否外借時間Act_ret_dateVarchar250否實際的外借時間Exp_ret_dateVarchar250否最大的外借時間Book_idVarchar210否書籍編號Boo

41、knameVarchar250否書籍名字AuthornameVarchar250否書籍作者名User_idVarchar210否借閱者 id第第 5 5 章章 模塊開發(fā)與編碼實現(xiàn)模塊開發(fā)與編碼實現(xiàn)5.1 服務(wù)器端的設(shè)計-搭建 java web 服務(wù)器本軟件是 C/S 結(jié)構(gòu)的系統(tǒng),因此要先搭建服務(wù)器端,利用 Java EE 中的 servlet 來提供服務(wù),并將其部署在 Tomcat 下。需要解決的是創(chuàng)建不同的 servlet 來提供不同的服務(wù)。Web 服務(wù)的名稱:LibraryService在 MyEclipse 中新建一個 web project,取名為 LibraryService,其結(jié)構(gòu)

42、如下圖: . . . 15 / 67圖 5.1 服務(wù)器端代碼結(jié)構(gòu)5.2 連接數(shù)據(jù)庫模塊.briup.jdbc 是 CVM 模式中的低層,數(shù)據(jù)庫層,包中的類是用來連接數(shù)據(jù)庫和操作數(shù)據(jù)庫的,其中 JDBCConnectionFactory.java 用來連接數(shù)據(jù)庫的,連接數(shù)據(jù)庫的三個變量為:private static String url;private static String userName;private static String userPwd;連接數(shù)據(jù)庫需要 url,username,userPassword 這三個值,而這三個值放入到 jdbcinfo 中,通過 Propert

43、ies 來獲取,部分代碼如下:Properties pro = new Properties();pro.load(new FileInputStream(E:Myeclipse6.5 workspaceLibraryServicesrcbriupjdbc jdbcinfo);url=pro.getProperty(“url”); userName = pro.getProperty(“userName”); userPwd = pro.getProperty(“userPwd”); . . . 16 / 67new oracle.jdbc.driver.OracleDriver();Conn

44、ection conn = DriverManager.getConnection(url,userName,userPwd);5.3 服務(wù)器功能模塊.briup.dao 是 CVM 模式中的 Dao 層,為 service 提供服務(wù),封裝對數(shù)據(jù)庫的操作的方法。.briup.servlet 包中就各個不同的 Servlet 類,其具體情況如下:5.3.1 注冊模塊提供用戶注冊 servlet 為 RegisterServlet,重寫其 doPost()和 doGet()方法,該servlet 是用來處理學(xué)生用戶注冊請求。注冊的參數(shù)有username、password、indentityid、y

45、ear、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 = requ

46、est.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);elseUser user=new User();user.setUsername(usern

47、ame);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,

48、其 . . . 17 / 67url 為: :8088/LibraryService/servlet/loginservlet部分代碼如下:PrintWriter out = response.getWriter();System.out.println(welcome clientlogin);String xml=null;/獲得String flag=request.getParameter(flag).trim();String username = request.getParameter(username).trim();String password=(S

49、tring)request.getParameter(password).trim(); LibraryDao dao=new LibraryDaoImpl(); if(flag.equals(normal) if(username!=null) try .briup.pojo.User user=dao.findByUsername(username); if(user!=null) if(user.getPassword().equalsIgnoreCase(password) xml=MakeXML.makeXml(恭喜您登錄成功了,true); else xml=MakeXML.mak

50、eXml(密碼不對,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);if(admin!=null) . . . 18 / 67if(admin.getPassword().equ

51、als(password)xml=MakeXML.makeXml(恭喜您登錄成功了,true);elsexml=MakeXML.makeXml(密碼不對,false);elsexml=MakeXML.makeXml(用戶名不存在,false); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();5.3.3 書籍查詢模塊提供特定書籍查詢 servlet 為 findBookServlet,重寫其 doPost()和 doGet()方法,該servlet 是用來處理學(xué)生用戶查詢特定書籍的請求。查詢書籍參

52、數(shù)有bookname、bookauthor,其 url 為: :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.pri

53、ntln(-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()+);elsexml=MakeXML.makeXml(list,抱歉圖書館沒有該書了); catch (Exception e) . . . 19

54、/ 67/ TODO Auto-generated catch blocke.printStackTrace();elsetry list=dao.findBookByName(bookname, authorname,status);if(list!=null)xml=MakeXML.makeXml(list,list.size()+);elsexml=MakeXML.makeXml(list,抱歉圖書館沒有該書了); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();5.3.4 特定用戶查詢模塊

55、提供特定用戶查詢 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;L

56、ibraryDao dao=new LibraryDaoImpl();try .briup.pojo.User user=dao.findByUsername(username);if(user!=null)try xml=MakeXML.makeXml(user,); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();elsetry xml=MakeXML.makeXml(密碼不對,false); . . . 20 / 67 catch (Exception e) / TODO Auto-gene

57、rated catch blocke.printStackTrace(); catch (DataAccessException e) / TODO Auto-generated catch blocke.printStackTrace();5.3.5 查詢所有用戶模塊提供所有用戶查詢servlet為findAllUserServlet,重寫其doPost()和doGet()方法,該servlet是用來處理管理員用戶查詢所有學(xué)生用戶信息的請求。查詢所有學(xué)生用戶信息不需要提供任何參數(shù),只需要點擊查詢所有按鈕便可以查詢出所有,其url為: :8088/LibraryServ

58、ice/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 blocktry xml=MakeXML.makeXml(網(wǎng)絡(luò)異常,false); catch (Ex

59、ception e1) / TODO Auto-generated catch blocke1.printStackTrace();e.printStackTrace();5.3.6 添加書籍模塊提供管理員添加書籍servlet為saveBookServlet,重寫其doPost()和doGet()方法,該servlet是用來處理管理員用戶對新書籍進行添加上架的請求。對需要上架處理的書籍需要提供參數(shù)有書籍名、書籍作者、書籍所屬科目、書籍所在位置,書籍名字、最大借閱時間等參數(shù),其url為: :8088/LibraryService/servlet/savebookserv

60、let . . . 21 / 67部分代碼如下: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(location).trim();String category=reque

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論