基于android studio的圖書管理系統(tǒng)的APP開發(fā)

上傳人:文*** 文檔編號:53920367 上傳時間:2022-02-11 格式:DOC 頁數(shù):42 大小:1.10MB
收藏 版權申訴 舉報 下載
基于android studio的圖書管理系統(tǒng)的APP開發(fā)_第1頁
第1頁 / 共42頁
基于android studio的圖書管理系統(tǒng)的APP開發(fā)_第2頁
第2頁 / 共42頁
基于android studio的圖書管理系統(tǒng)的APP開發(fā)_第3頁
第3頁 / 共42頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于android studio的圖書管理系統(tǒng)的APP開發(fā)》由會員分享,可在線閱讀,更多相關《基于android studio的圖書管理系統(tǒng)的APP開發(fā)(42頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、目錄摘要IABSTRACTII1 緒論11.1 課題研究的目的及意義11.2 國內(nèi)課題研究現(xiàn)狀21.3 課題綜述22 系統(tǒng)分析與設計32.1 需求分析32.1.1 功能需求32.1.2 性能需求32.2 可行性分析42.2.1 經(jīng)濟可行性42.2.2 技術可行性42.3 開發(fā)工具介紹和關鍵技術42.3.1 eclipse介紹42.3.2 SQL Server 2008介紹72.3.3 Tomcat介紹82.3.4 關鍵技術介紹93 系統(tǒng)總體設計103.1 設計原則103.2 系統(tǒng)結(jié)構113.3 設計思想113.4 用戶使用模塊113.4.1 用戶注冊123.4.2 用戶登錄123.4.3 書籍

2、查詢133.4.4 用戶管理133.4.5 圖書管理133.5 管理員管理模塊133.5.1 注冊管理143.5.2 登錄管理143.5.3 書籍查詢管理143.5.4 用戶管理143.5.5 圖書管理143.6 系統(tǒng)數(shù)據(jù)分析和設計153.6.1 數(shù)據(jù)庫邏輯結(jié)構設計153.6.2 數(shù)據(jù)庫物理結(jié)構設計164 詳細設計184.1 客戶端的設計Android的界面設計184.2 服務端的設計搭建web服務器194.3 具體功能界面224.3.1 注冊界面224.3.2 登陸界面234.3.3 圖書查詢預約界面264.3.4 添加圖書界面294.3.5 管理學生用戶界面315 系統(tǒng)測試與性能測試325

3、.1 軟件測試325.2 本系統(tǒng)測試325.2.1用戶普通功能模塊測試335.2.2 用戶管理模塊測試335.3 本章小結(jié)33結(jié)束語34致謝35參考文獻36基于Android的圖書管理系統(tǒng)客戶端設計與實現(xiàn)摘要傳統(tǒng)的WEB應用只能在電腦上使用,不方便用戶隨時隨地的使用。為了解決這樣的不足,基于Android 平臺的各種應用客戶端就應運而生。為了能夠讓人們在基于 Android 平臺的移動設備上享用圖書管理系統(tǒng)的功能,本設計闡述了在 Android 平臺下圖書管理系統(tǒng)的設計和實現(xiàn)過程,該系統(tǒng)采用C/S結(jié)構,使用Android 布局技術完成界面設計,使用java語言開發(fā)完成。系統(tǒng)實現(xiàn)了用戶注冊、登陸

4、、查詢圖書,以及學生用戶管理和圖書管理等功能,并在不同型號的設備模擬器上測試通過。關鍵詞:圖書管理系統(tǒng),Android,客戶端,數(shù)據(jù)庫設計,服務端。DESIGN AND IMPLEMENTATION OF LIBRARY MANAGEMENT SYSTEM CLIENT BASED ON ANDROID ABSTRACTTraditional WEB application only on computer use, convenient to use anytime, anywhere. To address this deficiency, the client-based applica

5、tions on the Android platform came into being. In order to allow people to enjoy the function library management systems on mobile devices based on the Android platform, the design describes the design and implementation process of library management system in the Android platform, the system uses C

6、 / S structure, layout techniques to complete the Android interface design, use java language development is completed. System user registration, login, check books, and student user management and library management functions, and tested on different types of equipment simulator through. KEY WORDS

7、Library Management System, Android, Client, Database Design, Server.371 緒論1.1 課題研究的目的及意義隨著計算機和通信技術的發(fā)展,人類已經(jīng)逐漸的進入信息化社會。信息和材料能源一樣成為一種社會的基本生產(chǎn)材料,在人類社會生產(chǎn)活動中發(fā)揮著重要的作用,大幅度地提高了社會生產(chǎn)力。同時人們對信息和數(shù)據(jù)的利用與處理也已進入自動化、網(wǎng)絡化和社會化的階段。因此,開發(fā)相關的管理信息系統(tǒng)已經(jīng)成為各行各業(yè)D的必須1。管理信息系統(tǒng)作為一門邊緣科學,集管理科學、信息科學、系統(tǒng)科學、現(xiàn)代通信技術和電子計算機技術與一體,可以解決企業(yè)或組織所面臨的問題。

8、對內(nèi)來看,可以提高工作效率;對外來看,可以獲得競爭優(yōu)勢2。圖書作為一種信息資源,用戶閱讀的資料繁多,包含很多的信息數(shù)據(jù)的管理。以前,有很多的圖書管理都是手工的,尚未使用計算機進行管理。根據(jù)調(diào)查得知,人們對圖書管理的方式主要是計算機管理,及少量的基于文本、表格等紙質(zhì)媒介的手工處理。手工處理對于大量的圖書信息管理很不方便,耗時耗力,而且容易出錯。對于大中型的圖書館來說,計算機管理已經(jīng)成為家常便飯,好的計算機圖書管理系統(tǒng)可以相當容易的實現(xiàn)對圖書、用戶的管理,安全性和穩(wěn)定性較高,已經(jīng)成為這些圖書管理主流管理方式3。但是,這只是對于圖書管理人員來說的。對那些我那個圖書館來回跑的用戶來說,這樣的情況還是很

9、不方便的。在移動互聯(lián)發(fā)展極速的今天,作為主流管理的計算機已經(jīng)不能滿足一些人們的要求,所以,作為移動互聯(lián)時代標志性的客戶端工具智能手機的出現(xiàn)就顯得有些理所當然了4。而基于android 平臺的智能手機就是其中的代表。智能手機就像一臺微型電腦,具有強大的計算和存儲能力,可以通過通信網(wǎng)絡來實現(xiàn)網(wǎng)絡的介入,可以隨時隨地的使用。這樣的功能彌補了計算機攜帶不方便的不足。所以,基于android 平臺的圖書管理系統(tǒng)客戶端,也就滿足了用戶與圖書館交互的不足5。通過android 平臺的圖書管理系統(tǒng)客戶端,用戶可以很好地為用戶提供方便,隨時隨地了解圖書信息及圖書借閱。而智能手機的普及可以使得這個圖書管理系統(tǒng)得到

10、廣泛的使用6。1.2 國內(nèi)課題研究現(xiàn)狀計算機技術的快速發(fā)展及計算機網(wǎng)絡的普及,英特網(wǎng)成為人們查找信息的重要途徑。本世紀是信息的時代,所以信息的交換流通就顯得特別的重要10。因此,快速的實現(xiàn)信息交互就顯得非常很有必要。目前,國內(nèi)基于Android 平臺的圖書管理系統(tǒng)還不太成熟,大多數(shù)的圖書館都采用計算機管理的方式,基于Android 平臺的圖書管理系統(tǒng)就顯得不太成熟,暫時,還沒有太大的市場。但是,在計算機管理漸顯弊端的今天,Android技術逐漸走進了人們的視線。隨著智能手機的市場占有率的不斷提高,基于Android技術的應用將會越來越多,圖書管理系統(tǒng)作為傳統(tǒng)的計算機應用,也必將在手機客戶端得到

11、廣泛的應用7。1.3 課題綜述 智能手機的普及,使得Android技術的到廣泛的推廣,基于Android的圖書管理系統(tǒng)作為出現(xiàn)在手機上,已經(jīng)是必不可擋的趨勢。該系統(tǒng)是一套簡單,實用性強的系統(tǒng),可以簡化戶對圖書的操作,方便用戶的使用7。技術方面,Java語言是Internet 開發(fā)的一個強大工具,運用Java來開發(fā)這樣一個管理系統(tǒng)軟件,不僅功能強大,可復用性強,更能為使用者到來方便。對于該系統(tǒng)的設計,一般采用java服務器端、客戶端的開發(fā),采用Microsoft SQL Server 2008 作為后臺數(shù)據(jù)庫開發(fā)工具,以Jdk 作為JavaBean、Servlet開發(fā)工具,在Windows 系統(tǒng)

12、中用jdbc連接技術進行服務器連接8。本系統(tǒng)增加了管理員功能,管理員可以通過該系統(tǒng)實現(xiàn)對用戶信息和圖書信息的簡單操作。而用戶可以通過該系統(tǒng)的搜索功能來實現(xiàn)圖書的查找以及對圖書借閱信息的掌握。本系統(tǒng)以PC機模擬圖書館服務器,在同一局域網(wǎng)wifi下就可連接手機客戶端。2 系統(tǒng)分析與設計2.1 需求分析需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。簡單點說需求分析就是告訴系統(tǒng)必須完成哪些工作。它主要包括以下兩方面。2.1.1 功能需求本系統(tǒng)會涉及到圖書信息、圖書借閱信息、讀者信息以及管理員的多種數(shù)據(jù)管理。從管理的角度出發(fā)可以將圖書管理分為圖書管

13、理和用戶管理。圖書管理包括添加圖書,刪除圖書,查詢圖書等。用戶管理包括讀者的個人信息管理,借閱管理等??蛻舳松系膱D書管理主要有以下幾個部分組成:(1)添加圖書:把新進的圖書添加進入數(shù)據(jù)庫。(2)圖書信息管理:把圖書的詳細信息(如:作者,價格等)寫入數(shù)據(jù)庫。(3)圖書查詢管理:用戶可以根據(jù)圖書名稱等對圖書進行查詢。(4) 圖書預約管理:用戶可以根據(jù)查詢反饋信息來預約圖書。用戶管理主要功能有以下組成:(1)用戶信息管理:可以對用戶信息進行操作。(2)用戶借書管理:用戶可以預約圖書。2.1.2 性能需求系統(tǒng)的運行對運行環(huán)境的一些要求:(1)硬件環(huán)境:處理器:現(xiàn)有Inter Pentium系列或更高內(nèi)

14、存:不小于1G硬盤空間:100G顯卡:AMD/Intel現(xiàn)有系列(2)軟件環(huán)境:開發(fā)環(huán)境:Win7/Windows XP開發(fā)工具:Eclipse數(shù)據(jù)庫管理系統(tǒng):SQL Server2008運行環(huán)境:Win7、WindowsXP2.2 可行性分析2.2.1 經(jīng)濟可行性本設計是基于Android的 圖書管理系統(tǒng),在使用方面向用戶體驗靠攏,所以本系統(tǒng)設計目的就是簡單,使用,經(jīng)濟。開發(fā)成本:本系統(tǒng)開發(fā)只需要一臺個人電腦,另可選擇免費的Eclipse,Android SDK,SQL Server 2008等開發(fā)工具。使用成本:Android 2.0以上手機一部。2.2.2 技術可行性基于Android

15、的圖書管理系統(tǒng)客戶端是可行的,因為在移動互聯(lián)技術快速發(fā)展的今天,智能手機已經(jīng)普及大眾了,而且Android技術以相當?shù)某墒?。我們可以使用Android開發(fā)出適用于手機客戶端的各種應用。本系統(tǒng)在開發(fā)工具方面采用了Java EE 版本的Eclipse,并且配置好Android環(huán)境,開發(fā)簡單,方便。數(shù)據(jù)庫方面則使用了SQL Server 2008,這是一個功能強大,最重要的是可跨平臺的數(shù)據(jù)庫,適用于各種Web 和 Android開發(fā)。2.3 開發(fā)工具介紹和關鍵技術2.3.1 Eclipse介紹Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,

16、用于通過插件澤建構建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),通過安裝不通過的插件Eclipse可以支持不同的計算機語言,比如C+和Python等開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse是一個開放源代碼的軟件開發(fā)項目,專注于高度集成的工具開發(fā)提供一個全功能的

17、、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由Eclipse項目、Eclipse工具項目和Eclipse技術項目三個項目組成,具體包括四個部分組成Eclipse Platform、JDT、CDT和PDE。 Eclipse發(fā)展史如表2-1所示。表2-1 Eclipse版本號版本代號版本平臺主要版本發(fā)布日期SR1發(fā)行日期SR2發(fā)行日期Callisto3.22006.6.26N/AN/AEuropa3.32007.6.272007.9.282008.2.29Ganymede3.42008.6.252009.9.242009.2.25Galileo3.52009.6.242009.9.252010.2.26Hel

18、ios3.62010.6.232010.9.242011.2.25Indigo3.72011.6.222011.9.232012.2.24Juno3.8及4.22012.6.272012.9.282013.3.1Kepler4.32013.6.262013.9.272014.2.28Luna4.42014.6.25N/AN/AAndroid工程是在Eclipse工具上編寫的12,進行android工程的編寫,首先需要在Eclipse上安裝ADT插件,然后指定SDK所在的路徑,便可以創(chuàng)建android虛擬機了。在Eclipse下創(chuàng)建虛擬機的步驟如下:(1)安裝ADT插件在Eclipse單擊菜單欄

19、的Help,在Help里面選中Install NewSoftware選項,之后便可以出現(xiàn)界面如圖2-2所示。圖2-2 ADT安裝步驟界面指定好你的ADT路徑后,便可以安裝好ADT插件。(2)導入AndroidSDK安裝好ADT插件后,單擊Eclipse菜單欄Windows下找到preperence,點擊進入,得到如圖2-3所示。圖2-3 AndroidSDK安裝界面在左邊選項選中Android,在SDK Location下導入AndroidSDK路徑,點擊Apply應用,便會導入Android的各個版本。(3)創(chuàng)建虛擬機安裝好ADT和導入AndroidSDK成功后,便可以在菜單欄Windows

20、下找到AVD manage選項,單擊進入后便有新建android虛擬機界面,在創(chuàng)建界面設置好虛擬機參數(shù)點擊確定后,就創(chuàng)建好了一個android虛擬機。創(chuàng)建好虛擬機后,點擊開始便可以運行一個android虛擬機,虛擬機運行成功界面如圖2-4所示。圖2-4 android虛擬機視圖虛擬機模擬的是android智能手機的界面,通過操作虛擬機可以體驗到android智能手機的部分應用。同時虛擬機是作為開發(fā)的android應用運行的場所,他提供基本的人機交互功能。2.3.2 SQL Server 2008介紹SQL Server 2008實在Microsoftd的數(shù)據(jù)平臺上發(fā)布,可以組織管理任何數(shù)據(jù)???/p>

21、以將結(jié)構化、半結(jié)構化和非結(jié)構化額文檔的數(shù)據(jù)直接存儲到數(shù)據(jù)庫中??梢詫?shù)據(jù)驚醒查詢、搜索、同步、報告和分析之類的操作。數(shù)據(jù)可以存儲在各種設備上,從數(shù)據(jù)中心最大的服務器一直到桌面設計和移動設備,它都可以控制數(shù)據(jù)為不用管數(shù)據(jù)存儲在哪里13。SQL Server 2008出現(xiàn)在微軟數(shù)據(jù)平臺遠景上是因為它使得公司可以運行他們最關鍵任務的應用程序,同時降低了管理數(shù)據(jù)基礎設施和發(fā)送觀察信息給所有用戶的成本。這個平臺有以下特點:(1)可信任的使得公司可以以很高的安全性、可靠性和可擴展性來運行他們最關鍵任務的應用程序。(2)高效的使得公司可以降低開發(fā)和管理他們的數(shù)據(jù)基礎設施的時間和成本。(3)智能的提供了一個全

22、面的平臺,可以在你的用戶需要的時候給他們發(fā)送觀察和信息。SQL(Structured Query Language,結(jié)構查詢語言)是一個功能強大的數(shù)據(jù)庫語言。SQL通常使用于數(shù)據(jù)庫的通訊。ANSI(美國國家標準學會)聲稱,SQL是關系數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操作任務,比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。標準的SQL命令,比如“Select”、 “Insert”、 “Update”、 “Delete”、 “Create”和 “Drop”常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。SQL功能強大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中

23、的數(shù)據(jù)修改和更新,概括起來,它可以分成以下幾組:(1)DML(Data Manipulation Language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù)。 (2)DDL(Data Definition Language,數(shù)據(jù)定義語言): 用于定義數(shù)據(jù)的結(jié)構,比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象。(3)DCL(Data Control Language,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫用戶的權限。其中DML組可以細分為以下的幾個語句:SELECT:用于檢索數(shù)據(jù);INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫;UPDATE:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù);DELETE:用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。2.3.3 Tomca

24、t介紹Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務器,在中小型新系統(tǒng)和并發(fā)訪問用戶不是很多的場合被普遍使用,是開發(fā)和調(diào)試jsp程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache服務器,可利用它響應對HTML(標準通用標記語言下的一個應用。)頁面的請求。史記山Tomcat部分是Apache服務器的擴展,但他是獨立運行的,所以當你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。訣竅是,的那個配置正確時,Apache為HTML頁面服務,而Tomcat實際上運行JSP頁面和Servlet。另外,Tomcat和IIS等

25、Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務器。Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源少,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷地改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。2.3.4 關鍵技術介紹本系統(tǒng)開發(fā)采用的語言是java,使用的關鍵技術是布局和數(shù)據(jù)存儲。布局是用來設計用戶交互界面,用運好頁面布局技術可以是該系統(tǒng)有個良好美觀的界面以及很好地用戶體驗,因此運

26、用好布局技術直接和用戶使用是相關的。而操作者所有的操作數(shù)據(jù)和用戶需要提取的數(shù)據(jù)都存儲在數(shù)據(jù)庫中,它使用了數(shù)據(jù)庫存儲技術。Android中,軟件界面設計常用布局有五種:AbsoluteLayout、LinearLayout、RelativeLayout、FrameLayout、TableLayout,由于布局的使用,并且布局之間可以相互嵌套,使得android軟甲的界面設計變得相當?shù)撵`活,只要運用的合理,即使一些復雜的頁面也可以變得簡單。Android中數(shù)據(jù)存儲技術有文件存儲、preference、sqlite、ContentProvider和網(wǎng)絡存儲,文件存儲是以流的形式讀寫文件,可以以文件的

27、格式,也可以以二進制的形式,在java語言中要使用硫,則寫入文件的對象必須進行序列化,sqlite是嵌入式移動設備中常用的輕量級數(shù)據(jù)庫,可以看做是計算機上的sql server、oracle等數(shù)據(jù)庫。本系統(tǒng)中采用的sql server。3 系統(tǒng)總體設計 3.1 設計原則軟件開發(fā)需要遵循一定的原則,其原則有以下幾個方面(1)軟件可靠性原則:可靠性直接關系到涉及自身的聲譽和生存發(fā)展競爭能力,意味著該軟件在測試運行過程中避免可能發(fā)生故障的能力,且一旦發(fā)生故障后,具有解脫和排除故障的能力。(2)實用性原則:要力求最大限度得滿足實際工作的需要,考慮各業(yè)務層次、各管理環(huán)節(jié)數(shù)據(jù)處理的實用性,把滿足用戶生產(chǎn)的

28、和管理業(yè)務作為第一要素進行考慮。用戶接口和操作界面設計盡可能做到界面美觀大方、操作簡便實用。(3)可擴展性原則:為適應將來的發(fā)展,系統(tǒng)應具有良好的可擴展性和可維護性。軟件設計應盡可能模塊化、組織化,使應用系統(tǒng)可靈活配置,適應不同的情況。數(shù)據(jù)庫的設計應盡可能考慮到未來的需要。(4)安全性原則:應用軟件與數(shù)據(jù)庫系統(tǒng)的設計要做到安全可靠,防止非法用戶的入侵。數(shù)據(jù)庫的備份策略恰當,以防災難性事故的發(fā)生。(5)用戶界面設計原則:用戶界面的設計應符合Windows規(guī)范的圖形用戶界面(GUI),做到美觀大方。用戶界面應當直觀、明了、條理清晰。實現(xiàn)“傻瓜型”管理-易學、易用、易管理。(6)數(shù)據(jù)庫設計原則:一致

29、性原則:對信息進行統(tǒng)一的分析與設計,協(xié)調(diào)好各數(shù)據(jù)源,保證系統(tǒng)數(shù)據(jù)的一致性和有效性;完整性原則:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性,要防止合法用戶使用數(shù)據(jù)庫時向數(shù)據(jù)庫加入不規(guī)范的數(shù)據(jù),對輸入到數(shù)據(jù)庫中的數(shù)據(jù)要審核和約束機制;安全性原則:數(shù)據(jù)庫的安全性是指保護數(shù)據(jù),防止非法用戶使用數(shù)據(jù)庫或合法用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄漏、更改或破壞,數(shù)據(jù)庫要有人證和授權機制;可伸縮性原則:數(shù)據(jù)庫的設計應充分考慮發(fā)展的需要、移植的需要,應具有良好的擴展性,伸縮性和適度冗余;規(guī)范化數(shù)據(jù)庫的設計:應遵循規(guī)范化理論。規(guī)范化程度過低的數(shù)據(jù)庫,可能會存在插入/刪除異常、修改復雜、數(shù)據(jù)冗余等問題,解決的方法就是對關系模式

30、進行分解或合并,轉(zhuǎn)換成高級范式。3.2 系統(tǒng)結(jié)構基于Android 圖書管理系統(tǒng)手機客戶端從設計者角度劃分,可以分為用戶(學生)和管理員。學生用戶具有的權限包括行實名注冊、用戶登錄、查找圖書、圖書借閱、定制借閱時間;管理員權限則是通過該系統(tǒng)進行圖書更新、書籍查詢、以及用戶管理等15。從使用者角度可以分為前臺和后臺兩大部分。后臺是本系統(tǒng)的最重要部分,該部分是本系統(tǒng)的信息維護和管理平臺。根據(jù)顯示要求,本系統(tǒng)后臺有兩類用戶:用戶和管理員。用戶和管理員都可以通過該系統(tǒng)進行操作,只不過權限會有所不同。本系統(tǒng)總體設計結(jié)構為C/S結(jié)構,結(jié)構如圖3-1所示。圖3-1 C/S結(jié)構圖3.3 設計思想基于Andro

31、id的圖書管理系統(tǒng)客戶端共分為兩大模塊:圖書管理和用戶管理。圖書管理模塊主要是對新書的錄入,破損下架圖書的刪除以及對圖書的查詢。用戶管理模塊主要是對用戶的管理,查找,刪除等。結(jié)構上看,Android圖書管理系統(tǒng)客戶端是C/S結(jié)構,該設計包括了服務器端和客戶端的設計。3.4 用戶使用模塊普通用戶功能流程圖如圖3-2所示。圖3-2 用戶使用流程圖3.4.1 用戶注冊用戶可以通過手機客戶端上的注冊按鈕來打開注冊界面,然后根據(jù)注冊界面提示信息填入對應數(shù)據(jù)來完成用戶注冊,注冊信息會添加到數(shù)據(jù)庫,滿足注冊條件后會返回注冊成功。注冊完成后即可登錄,執(zhí)行用戶相關操作。3.4.2 用戶登錄登錄用戶按照功能角色分

32、為兩類:學生和管理員。用戶可點擊登陸界面角色按鈕選定角色后進行登錄,點擊登錄后,數(shù)據(jù)庫會匹配用戶信息,用戶信息正確后,即可完成登錄。3.4.3 書籍查詢在查詢界面輸入書名,通過服務器連接數(shù)據(jù)庫來返回查詢信息,查詢信息包括:書名,作者,圖書價格,是否被訂閱等信息。3.4.4 用戶管理用戶管理模塊式管理員對學生用戶賬號的管理,對于不使用的賬號,管理員可以對它進行刪除,同時管理員還有權限對用戶信息進行查詢。3.4.5 圖書管理圖書管理模塊可以讓管理員通過此功能,對圖書進行添加和刪除等功能。通過這個模塊,管理員可以對最近購買的圖書進行添加處理,而且管理員還可以對一些下架或者破損嚴重的書籍進行刪除,以免

33、誤導學生,造成不必要的麻煩。3.5 管理員管理模塊后臺管理的功能是可以把用戶請求,通過不同功能模塊,去檢索數(shù)據(jù)庫,然后把結(jié)果返回個客戶端的用戶,如圖3-3所示。圖3-3 管理流程圖3.5.1 注冊管理用戶提交注冊信息:用戶填寫完注冊信息后,點擊注冊按鈕,向服務器發(fā)送注冊信息,服務器保留其信息,并且更新數(shù)據(jù)庫。注冊管理在后臺功能里面是很重要的,注冊不僅可以實現(xiàn)學生的注冊,而且還可以實現(xiàn)管理員的注冊。管理員注冊會增加一個管理員注冊激活碼,以免被人胡亂注冊,保證圖書管理系統(tǒng)的安全性。3.5.2 登錄管理登錄管理:登陸管理可以把登錄用戶名和密碼發(fā)送到數(shù)據(jù)庫,和數(shù)據(jù)庫中用戶信息進行對比,對比正確則可以登

34、錄成功,反之失??!用戶進入登陸界面,會有用戶名、密碼以及角色選擇輸入框,角色包括學生和管理員。用戶選定角色并且輸入正確的用戶名和密碼之后則可完成登錄。登錄過程包括填寫信息和數(shù)據(jù)庫請求和響應。3.5.3 書籍查詢管理用戶通過圖書查詢輸入框來對圖書進行查詢,如輸入圖書名稱,之后把信息發(fā)送給服務器端的數(shù)據(jù)庫,數(shù)據(jù)庫會對書籍進行查找,查找完成之后把查找信息發(fā)送給用戶,該信息會包括圖書名稱,作者,是否被借閱等。3.5.4 用戶管理管理員具有刪除和查詢用戶信息的權限,對于一些有特殊情況,比如學生畢業(yè),退學等學生進行刪除,實時保持數(shù)據(jù)庫的最新狀態(tài)。3.5.5 圖書管理管理員具有該功能的權限。最為管理員,需要

35、經(jīng)常對數(shù)據(jù)庫進行更新。新購進的圖書,管理員需要把它添加進數(shù)據(jù)庫;破損圖書,下架圖書,管理員會將之從數(shù)據(jù)庫刪除;同時管理員還可以查詢圖書的借閱信息。3.6 系統(tǒng)數(shù)據(jù)分析和設計3.6.1 數(shù)據(jù)庫邏輯結(jié)構設計本系統(tǒng)設計階段完成數(shù)據(jù)分析,并且根據(jù)數(shù)據(jù)信息建立相應的關系,目的是把該階段的數(shù)據(jù)結(jié)果轉(zhuǎn)化為數(shù)據(jù)庫。管理員和學生用戶有以下屬性:id、username、password、college_name、sex、type幾個屬性。數(shù)據(jù)庫通過用戶的name、password這兩個屬性來確定用戶身份是否合法。E-R圖如圖3-4所示。圖 3-4 用戶E-R圖圖書信息表:專門用來存儲書籍的信息。E-R圖如圖3-5

36、所示。圖3-5 圖書E-R圖對于各個實體之間的關系E-R圖如圖3-6所示。圖3-6 實體E-R圖3.6.2 數(shù)據(jù)庫物理結(jié)構設計根據(jù)以上的E-R圖,轉(zhuǎn)化成數(shù)據(jù)庫的物理設計?;谝陨线壿嬙O計,考慮程序設計的簡易性,該系采用SQL Server 2008建立簡單數(shù)據(jù)庫,在下邊創(chuàng)建兩個表。表數(shù)據(jù)清單設計如表3-1所示。表3-1 數(shù)據(jù)表清單表名說明用戶表用于存儲用戶信息書籍信息表用于存儲書籍基本信息用戶表中存儲了用戶的各種信息,如表3-2所示。表3-2 用戶表字段名數(shù)據(jù)類型長度主鍵備注Usernamevarchar50否PasswordVarchar50否IDcardVarchar50否In_timeV

37、archar10否College_nameChar10否Regist_idChar10否允許為空SexChar10否TypeChar10否IDInt 是圖書表中存儲了圖書的全部狀態(tài),如表3-3所示。表 3-3 圖書表字段名數(shù)據(jù)類型長度主鍵備注Bookidvarchar50主鍵BookbuyVarchar50否BookauthorVarchar50否IsborrowChar10否UsernameVarchar50否允許nullTimeVarchar20否允許nullTimestopVarchar20否允許nullBooknameVarchar50否StudentidVarvhar50否允許nul

38、l4 詳細設計4.1 客戶端的設計Android的界面設計在Eclipse安裝好了ADT插件并且導入了AndroidSDK后,創(chuàng)建一個android project,此工程是作為圖書館管理系統(tǒng)的客戶端,是為廣大用戶下載使用的,所以,該UI界面的主要要求是要操作性強和交互簡單??蛻舳说淖⒁馐马棡椋阂粋€是數(shù)據(jù)庫的設計,一個是各個功能的布局。Android Project 名稱:bookmanagement。工程結(jié)構圖如圖4-1所示。 圖4-1 客戶端工程圖4.2 服務端的設計搭建web服務器本軟件是C/S結(jié)構的系統(tǒng),因此要先搭建服務器端,利用Java EE中的servlet來提供服務,并將其部署在

39、Tomcat下。需要解決的是創(chuàng)建不同的servlet來提供不同的服務。Web服務的名稱:bookweb。工程界面如圖4-2所示。圖4-2 服務端工程圖構建服務器過程:打開eclipse-點擊file-new-other 如圖4-3所示。圖4-3 Servers構建圖1-server-next如圖4-4所示。圖 4-4 Servers構建圖2選擇對應tomcat版本-next 如圖4-5所示。圖 4-5 Servers構建圖3進入到Add and Remove界面雙擊available框中的項目,然后項目會移動到右邊框中-最后點擊finish。如圖4-6所示。圖4-6 Servers構建圖44.

40、3 具體功能界面4.3.1 注冊界面對于一個系統(tǒng)的開始,首先必須的是用戶的注冊界面,注冊模塊是為了登錄系統(tǒng)所進行的獲取通行證的步驟,注冊所有的信息都將提交給數(shù)據(jù)庫進行存儲,注冊的信息將作為用戶在本系統(tǒng)進行一切活動的標識。注冊功能對應的程序名為com.briup包下的RegisterActivity.java。注冊界面如圖4-7所示。圖4-7 注冊界面核心代碼如下:dialog_group.setOnCheckedChangeListener(new OnCheckedChangeListener() Overridepublic void onCheckedChanged(RadioGroup

41、 arg0, int checkedId) / TODO Auto-generated method stubif(checkedId = dialog_boy.getId()sextype = 男;else if(checkedId =dialog_girl.getId()sextype = 女;); dialog_regis.setOnClickListener(new OnClickListener() Overridepublic void onClick(View arg0) / TODO Auto-generated method stub username = user_name

42、.getText().toString(); password = user_password.getText().toString(); idcard = user_identity.getText().toString(); in_time = user_time.getText().toString(); college_name = collegename.getText().toString(); regist_id = tearher_regis.getText().toString();if(username !=null & password !=null & idcard !

43、=null & in_time !=null & college_name !=null)/ 處理注冊事件json = urlParameter.regist(username, password, idcard, in_time, college_name, regist_id, sextype, strtype);try if(json!=null & json.getBoolean(result)Toast.makeText(context, 注冊成功!,3000).show();dialog.dismiss();elseToast.makeText(context, 注冊失敗!,300

44、0).show(); catch (JSONException e) / TODO Auto-generated catch blocke.printStackTrace();elseToast.makeText(context, 參數(shù)不可為空!,3000).show();4.3.2 登陸界面登錄界面作為系統(tǒng)的門面,登錄界面完成的功能是驗證所登錄用戶的賬號是否正確,以驗證是否有進入系統(tǒng)的權限。登錄界面如圖4-8所示。圖4-8 登錄界面核心代碼如下: protected void doPost(HttpServletRequest req, HttpServletResponse res) th

45、rows ServletException, IOException if (null = req) return; res.setContentType(text/html;charset=utf-8); req.setCharacterEncoding(utf-8); res.setCharacterEncoding(utf-8); PrintWriter out = res.getWriter(); String username = req.getParameter(username); String password = req.getParameter(password); Str

46、ing type = req.getParameter(type);if(username != null & password != null & type != null) String sql = select top 1 username,password,type from user_name where username=+username+ and password=+password+ and type=+type+; System.out.print(sql); try resultSet = ControlDB.getInstance().executeQuery(sql)

47、;if(resultSet.next()maps.put(username, resultSet.getString(username);maps.put(password, resultSet.getString(password);maps.put(type, resultSet.getString(type);map.put(name, maps);map.put(result, true);out.println(Utils.getInstance().getMapJSONObject(map);resultSet.close();elsemap.put(result, false);

48、out.println(Utils.getInstance().getMapJSONObject(map); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();elsemap.put(result, false);map.put(name, 請求參數(shù)不可為空);out.println(Utils.getInstance().getMapJSONObject(map); out.flush(); out.close(); 4.3.3 圖書查詢預約界面學生用戶通過輸入所需查詢的書籍名字和書籍作者名

49、,便可以從數(shù)據(jù)庫中查詢到所查詢的圖書。界面如圖4-9所示。圖4-9查詢預約界面代碼如下:public class Subscription extends HttpServlet/* * */private static final long serialVersionUID = 1L;private int statement ;private Map maps = null;private Map map= null;Overridepublic void init() throws ServletException / TODO Auto-generated method stubmap

50、s = new HashMap(); map = new HashMap();super.init();Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException / TODO Auto-generated method stubres.setContentType(text/html;charset=utf-8); req.setCharacterEncoding(utf-8); res.setCharacterEncodin

51、g(utf-8);this.doPost(req, res);Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException / TODO Auto-generated method stubif (null = req) return; res.setContentType(text/html;charset=utf-8); req.setCharacterEncoding(utf-8); res.setCharacterEnc

52、oding(utf-8); PrintWriter out = res.getWriter(); String bookid = req.getParameter(bookid); String bookname = req.getParameter(bookname); String username = req.getParameter(username); String time = req.getParameter(time); String timestop = req.getParameter(timestop); String studentid = req.getParamet

53、er(studentid); if(bookid !=null & bookname !=null & username != null & time !=null & timestop !=null & studentid != null) String _bookname = new String(bookname.getBytes(ISO-8859-1),UTF-8); String sql = update book_name set isborrow=1, time=+time+,username=+username+,timestop=+timestop+,studentid=+s

54、tudentid+ where bookid=+bookid+ and bookname=+_bookname+; System.out.print(sql); try statement = ControlDB.getInstance().executeUpdate(sql);if(statement = 1)map.put(result, true);map.put(name, 借閱成功);out.println(Utils.getInstance().getMapJSONObject(map);elsemap.put(result, false);map.put(name, 借閱失敗);

55、out.println(Utils.getInstance().getMapJSONObject(map); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); else map.put(result, false);map.put(name, 請求參數(shù)不可為空);out.println(Utils.getInstance().getMapJSONObject(map); Overridepublic void destroy() / TODO Auto-generated method st

56、ubsuper.destroy();4.3.4 添加圖書界面該界面由于向數(shù)據(jù)庫中添加新進圖書。界面如圖4-10所示。圖4-10 添加界面核心代碼如下:if(bookid != null & bookname != null & bookbuy !=null & bookauthor !=null & isborrow !=null) if( !SqlStatm.getInstance().isselect(bookid) ) bookname =new String(bookname.getBytes(ISO-8859-1),UTF-8); bookbuy =new String(bookbu

57、y.getBytes(ISO-8859-1),UTF-8); bookauthor =new String(bookauthor.getBytes(ISO-8859-1),UTF-8); String sql = insert into book_name (bookid,bookname,bookbuy,bookauthor,isborrow,username,time,timestop,studentid) values (+bookid+,+bookname+,+bookbuy+,+bookauthor+,+isborrow+,+username+,+time+,+timestop+,+studentid+); System.out.println(sql); try statement = ControlDB.getInstance().executeUpdate(sql);if(statement = 1)map.put(result, true);map.put(name, 插入成功);out.println(Utils.getInstance().getMapJSONObject(map);else

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!