安卓期末大作業(yè)——圖書(shū)信息管理系統(tǒng)
前言
隨著信息技術(shù)的高速發(fā)展,科技逐漸走進(jìn)各行各業(yè),幫助人們快速、便利地完成一些工作。BMS系統(tǒng)是基于Android移動(dòng)設(shè)備的應(yīng)用軟件,該系統(tǒng)能夠幫助用戶(hù)在家里通過(guò)手機(jī)查看相應(yīng)圖書(shū)館的館藏情況,而不用到圖書(shū)館中查找。同時(shí)該系統(tǒng)還能夠幫助管理員更加方便的查閱相關(guān)圖書(shū)的借閱情況。
本系統(tǒng)使用Android Studio作為開(kāi)發(fā)工具進(jìn)行開(kāi)發(fā),以SQLite建立系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)儲(chǔ)存相關(guān)數(shù)據(jù),使用MVC模式進(jìn)行系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)。
關(guān)鍵詞:圖書(shū)管理,借閱,Android,移動(dòng)開(kāi)發(fā)
目 錄
前 言 3
第一章 緒論 6
1.1 開(kāi)發(fā)項(xiàng)目背景 6
1.2 開(kāi)發(fā)項(xiàng)目意義 6
1.3 客戶(hù)資料 6
1.4 項(xiàng)目成果……………………………………………………..7
1.5?資源需求……………………………………………………..7
1.6 項(xiàng)目風(fēng)險(xiǎn)……………………………………………………..8
1.7 分配任務(wù)……………………………………………………..9
第二章 系統(tǒng)功能需求分析 10
2.1 登陸注冊(cè)功能 10
2.2 用戶(hù)相關(guān)功能 10
2.3 管理員相關(guān)功能 11
第三章 系統(tǒng)分析與設(shè)計(jì) 12
3.1 系統(tǒng)實(shí)現(xiàn)目標(biāo) 12
3.2 系統(tǒng)總體結(jié)構(gòu) 12
3.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 13
3.4 邏輯結(jié)構(gòu)設(shè)計(jì) 14
第四章 系統(tǒng)實(shí)現(xiàn) 17
4.1 實(shí)現(xiàn)系統(tǒng)的關(guān)鍵技術(shù) 17
4.2 登錄界面 19
4.3 管理員用戶(hù)界面 20
4.4 圖書(shū)展示界面 20
4.5 圖書(shū)詳細(xì)信息展示界面 20
4.6 用戶(hù)收藏圖書(shū)界面 21
4.7 用戶(hù)借閱信息界面 22
第五章 系統(tǒng)測(cè)試與運(yùn)行 24
5.1 測(cè)試的主要內(nèi)容 24
5.2 登錄界面測(cè)試 25
5.3 主要功能模塊測(cè)試 26
5.3.1 圖書(shū)管理功能測(cè)試 26
5.3.2 用戶(hù)管理功能測(cè)試 28
5.3.3 圖書(shū)借閱管理功能測(cè)試 29
第六章 總結(jié) 30
第一章 緒論
1.1 開(kāi)發(fā)項(xiàng)目背景
在生活中,我們借閱圖書(shū)需要先前往圖書(shū)館,然后在碩大的圖書(shū)館中根據(jù)分類(lèi)等信息或者詢(xún)問(wèn)圖書(shū)管理員去查找我們所需要的書(shū)籍。有些熱門(mén)書(shū)籍還可能會(huì)因?yàn)榻栝喌娜硕鄷簳r(shí)不在館中,使得我們白跑一趟,并且我們也不能方便的知道借出去的書(shū)什么時(shí)候會(huì)被歸還。對(duì)于圖書(shū)的管理員來(lái)說(shuō),大量的借閱人群使得登記等相關(guān)工作變得繁瑣復(fù)雜。
隨著計(jì)算機(jī)科學(xué)技術(shù)的高速發(fā)展,越來(lái)越多的電子產(chǎn)品進(jìn)入了我們的生活,它們不僅能夠給豐富我們的空閑生活,在忙碌之后放松我們的精神,最主要的,高科技產(chǎn)品給我們的生活帶來(lái)了許多的便利。
1.2 開(kāi)發(fā)項(xiàng)目意義
傳統(tǒng)的圖書(shū)管理系統(tǒng)給用戶(hù)和管理員帶來(lái)的問(wèn)題,可以在如今這樣一個(gè)科技高速發(fā)展的環(huán)境下通過(guò)高科技產(chǎn)品得以解決。本文在這樣一個(gè)背景下,進(jìn)行了研究,并設(shè)計(jì)出一款基于Android移動(dòng)設(shè)備的應(yīng)用程序。
通過(guò)本系統(tǒng)可以使得用戶(hù)足不出戶(hù),便能查詢(xún)到想要借閱的圖書(shū)此時(shí)此刻是否在館中,同時(shí)還能夠查看自己借閱過(guò)的書(shū)籍的借閱時(shí)間,依次來(lái)計(jì)劃歸還時(shí)間。在滿(mǎn)足用戶(hù)需求的同時(shí),管理員能夠通過(guò)本程序增加、修改以及刪除圖書(shū)來(lái)完善館藏信息,同時(shí),管理員能夠通過(guò)程序查看被書(shū)籍的借閱情況,便于圖書(shū)的管理。提升了管理人員的工作效率以及用戶(hù)的生活品質(zhì)。
1.3 項(xiàng)目的內(nèi)容
本文所進(jìn)行研究的內(nèi)容,是建立在上文的研究背景以及研究意義的基礎(chǔ)之上的,對(duì)現(xiàn)實(shí)的圖書(shū)館圖書(shū)信息的錄入、查詢(xún)、借出、管理以及訂閱等流程進(jìn)行仔細(xì)的研究,從而可以設(shè)計(jì)出一種不僅方便圖書(shū)管理者完成圖書(shū)館中的各種圖書(shū)信息管理的工作,而且可以滿(mǎn)足借閱者方便快捷的查詢(xún)、借閱以及歸還圖書(shū)功能的一款基于Android的移動(dòng)設(shè)備的應(yīng)用軟件,使得圖書(shū)管理員的日常工作得到很大的便利以及使得圖書(shū)借閱者的生活需要得到大大的滿(mǎn)足,進(jìn)一步提高他們的工作效率以及節(jié)約他們?nèi)粘I畹臅r(shí)間。
本文具體的研究?jī)?nèi)容有如下兩點(diǎn):
1、整理上文所述圖書(shū)管理者和借閱者的系統(tǒng)需求,分析圖書(shū)的錄入、查詢(xún)、借閱歸還等管理流程,并根據(jù)需求和工作流程設(shè)計(jì)Android應(yīng)用軟件系統(tǒng)功能,從而進(jìn)行軟件設(shè)計(jì)開(kāi)發(fā)的可行性研究。
2、根據(jù)1中設(shè)計(jì)的應(yīng)用軟件系統(tǒng)功能以及軟件開(kāi)發(fā)的可行性分析,進(jìn)行軟件用戶(hù)友好界面的設(shè)計(jì)和功能框架的設(shè)計(jì)。
1.3客戶(hù)資料
客 戶(hù) 名 :湖南科技職業(yè)學(xué)院唐俊
客 戶(hù) 要 求:根據(jù)要求設(shè)計(jì)開(kāi)發(fā)一款基于Android系統(tǒng)的圖書(shū)管理軟件,功能完整、穩(wěn)定,使用方便。
最終使用人?:個(gè)人
用 途?:圖書(shū)管理。
1.4項(xiàng)目成果
表1.1 項(xiàng)目成果清單
序號(hào)內(nèi)容計(jì)劃時(shí)間實(shí)際時(shí)間狀態(tài)1文檔2021年6月25日2021年6月25日完成1.1項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū)2021年6月25日2021年6月25日完成1.2需求分析文檔2021年6月25日2021年6月25日完成1.3系統(tǒng)設(shè)計(jì)文檔2021年6月25日2021年6月25日完成1.4系統(tǒng)測(cè)試文檔2021年6月25日2021年6月25日完成1.5操作說(shuō)明書(shū)2021年6月25日2021年6月25日完成2源代碼2021年6月25日2021年6月25日完成3安裝文件2021年6月25日2021年6月25日完成
1.5資源需求
表1.2 項(xiàng)目資源需求表
序號(hào)資源用途時(shí)段可用否來(lái)源1開(kāi)發(fā)用計(jì)算機(jī)編寫(xiě)代碼、寫(xiě)文檔等全程可用自備2Android Studio 3.2,SQLiteViso 2016系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)全程可用下載3Office2007 套件編寫(xiě)文檔(Word)設(shè)計(jì)演示文稿(PPT)全程可用下載4資料書(shū)參考全程可用教材5示例代碼與文檔參考全程可用教師
1.6項(xiàng)目風(fēng)險(xiǎn)分析
表1.3 項(xiàng)目風(fēng)險(xiǎn)一覽表
序號(hào)風(fēng)險(xiǎn)概率(%)嚴(yán)重性(%)措施1需求變化,系統(tǒng)功能無(wú)法滿(mǎn)足用戶(hù)要求30901.加強(qiáng)溝通2.分級(jí)開(kāi)發(fā)2超時(shí),項(xiàng)目無(wú)法按期完成80801分解任務(wù),制定進(jìn)度表2.加強(qiáng)進(jìn)度目標(biāo)管理3代碼質(zhì)量難以保證,Bug數(shù)量多90901.制定測(cè)試計(jì)劃,加強(qiáng)測(cè)試2.實(shí)施代碼走查4代碼可讀性、可維護(hù)性差50301.制定編碼規(guī)范2.合理設(shè)定項(xiàng)目架構(gòu)
1.7分配任務(wù)
表1.6.1 任務(wù)分配表
序號(hào)任務(wù)負(fù)責(zé)人1文檔鄭如義1.1項(xiàng)目開(kāi)發(fā)計(jì)劃書(shū)鄭如義1.2需求分析文檔鄭如義1.3系統(tǒng)設(shè)計(jì)文檔鄭如義1.4系統(tǒng)測(cè)試文檔鄭如義1.5操作說(shuō)明書(shū)鄭如義2源代碼鄭如義2.1管理端鄭如義2.2教師端鄭如義2.3學(xué)生端鄭如義2.3數(shù)據(jù)庫(kù)鄭如義3安裝文件鄭如義
第二章 系統(tǒng)功能需求分析
本系統(tǒng)是運(yùn)行在Android移動(dòng)設(shè)備上的應(yīng)用程序,針對(duì)使用者的相關(guān)需求,我們需要進(jìn)行分析并進(jìn)行系統(tǒng)的開(kāi)發(fā),使得系統(tǒng)更加的完善以及便利。
2.1 登陸注冊(cè)功能
本功能提供用戶(hù)的注冊(cè)以及登錄,使得用戶(hù)能夠合理的進(jìn)行后續(xù)操作及查詢(xún)自己的相關(guān)信息。其中,登錄功能通過(guò)識(shí)別用戶(hù)的角色,決定用戶(hù)能夠使用后續(xù)的哪些功能。其中超級(jí)管理員賬號(hào)為admin,密碼為123456方便測(cè)試。
2.2 用戶(hù)相關(guān)功能
1、修改密碼功能
本功能實(shí)現(xiàn)用戶(hù)進(jìn)行修改本賬號(hào)的密碼,提高賬號(hào)的安全性。
2、忘記密碼功能
在用戶(hù)由于某些原因忘記自己賬號(hào)的密碼后,可通過(guò)注冊(cè)賬號(hào)時(shí)填寫(xiě)的相關(guān)密保問(wèn)題驗(yàn)證達(dá)到修改密碼的目的。
3、查看圖書(shū)功能
圖書(shū)展示頁(yè)面會(huì)以表的形式展示出庫(kù)中所有圖書(shū)的書(shū)名等相關(guān)簡(jiǎn)略信息提供給用戶(hù)進(jìn)行圖書(shū)的瀏覽,并且在用戶(hù)點(diǎn)擊后會(huì)跳轉(zhuǎn)到相關(guān)圖書(shū)的詳細(xì)介紹頁(yè)面,展示本書(shū)的所有信息。
4、搜索功能
用戶(hù)可在相應(yīng)頁(yè)面根據(jù)所需要的書(shū)名或者作者名的關(guān)鍵字來(lái)搜索庫(kù)中的相關(guān)書(shū)籍。
5、收藏功能
用戶(hù)可通過(guò)本功能將相關(guān)的圖書(shū)收藏到自己的信息中,并且能夠在相關(guān)頁(yè)面進(jìn)行用戶(hù)所收藏書(shū)籍的瀏覽。
6、借閱功能
用戶(hù)可通過(guò)本功能借閱相關(guān)的書(shū)籍,相關(guān)頁(yè)面會(huì)展示該用戶(hù)的借閱書(shū)籍的相關(guān)狀態(tài)以及相關(guān)屬性。
7、退出登錄功能
用戶(hù)可通過(guò)本功能將自己的賬號(hào)信息退出程序,提升賬號(hào)的安全性,或者達(dá)到切換登錄用戶(hù)的目的。
2.3 管理員相關(guān)功能
1、圖書(shū)管理功能
通過(guò)本功能,管理員可進(jìn)行圖書(shū)的添加、修改以及刪除。
2、用戶(hù)管理功能
通過(guò)本功能,管理員可設(shè)置普通的用戶(hù)賬號(hào)為管理員賬號(hào),使其獲得相關(guān) 的權(quán)限,或者將管理員賬號(hào)設(shè)置為普通用戶(hù)賬號(hào)。管理員可使用本功能修改用戶(hù)的密碼來(lái)幫助忘記密碼的用戶(hù)成功登錄,同時(shí)管理員可刪除某位用戶(hù)的信息,維護(hù)系統(tǒng)的穩(wěn)定。
3、借閱管理功能
管理員可通過(guò)本功能進(jìn)行借閱記錄的瀏覽,以及圖書(shū)的歸還。
第三章 系統(tǒng)分析與設(shè)計(jì)
3.1 系統(tǒng)實(shí)現(xiàn)目標(biāo)
面對(duì)圖書(shū)館復(fù)雜的圖書(shū)管理工作,開(kāi)發(fā)系統(tǒng)首先是要滿(mǎn)足目前的要求,又能適應(yīng)后期擴(kuò)展,所以系統(tǒng)性能應(yīng)符合以下幾個(gè)原則:
1、安全性:系統(tǒng)安全性是指既能保全存儲(chǔ)的數(shù)據(jù)信息的安全,又能保證系統(tǒng)本身的安全。
2、實(shí)用性:要求可容納的最大同時(shí)請(qǐng)求數(shù)和訪問(wèn)速度,符合實(shí)際管理。
3、數(shù)據(jù)庫(kù)設(shè)計(jì)合理:這就要求在設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候要保證數(shù)據(jù)的合理冗余、一致性、規(guī)范化存儲(chǔ)數(shù)據(jù)、合理選擇數(shù)據(jù)類(lèi)型。
本系統(tǒng)為圖書(shū)借閱者以及圖書(shū)管理員提供了基本的圖書(shū)信息自動(dòng)化管理功能,適應(yīng)于普通圖書(shū)管理人員及圖書(shū)借閱者的使用需求。
本系統(tǒng)使用身份驗(yàn)證及審核機(jī)制,能更有效的避免非法的訪問(wèn)。圖書(shū)借閱者注冊(cè)個(gè)人信息或登陸的時(shí)候,用戶(hù)必須提供有效的信息并進(jìn)行驗(yàn)證,通過(guò)對(duì)象保存帳號(hào)、密碼以及相關(guān)信息,防止非法用戶(hù)非法登錄及惡意破壞。根據(jù)用戶(hù)的不同類(lèi)型,訪問(wèn)權(quán)限級(jí)別也不同,按權(quán)限可分為:圖書(shū)借閱者和圖書(shū)管理員兩個(gè)權(quán)限。
3.2 系統(tǒng)總體結(jié)構(gòu)
通過(guò)對(duì)系統(tǒng)的總體要求進(jìn)行分析得出系統(tǒng)可以分為圖書(shū)借閱者的前臺(tái)操作和圖書(shū)管理員的后臺(tái)的圖書(shū)信息管理。
系統(tǒng)設(shè)計(jì)不僅要求功能完善,而且還要界面友好,因此,對(duì)于一個(gè)成功的系統(tǒng)設(shè)計(jì),功能模塊的設(shè)計(jì)是關(guān)鍵。由于本系統(tǒng)可執(zhí)行的是一般性質(zhì)的圖書(shū)管理工作,本系統(tǒng)具有一般適用性,其所實(shí)現(xiàn)的功能滿(mǎn)足圖書(shū)館對(duì)日常工作的圖書(shū)管理,方便管理員和圖書(shū)借閱者的日常生活。系統(tǒng)應(yīng)在前面說(shuō)到的功能需求分析的基礎(chǔ)上進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。首先,整個(gè)系統(tǒng)分成幾個(gè)小的模塊,小的問(wèn)題,然后,進(jìn)一步細(xì)分模塊,添加細(xì)節(jié)。
1、登錄功能
系統(tǒng)賬戶(hù)分2個(gè)模塊:圖書(shū)管理員和圖書(shū)借閱者兩個(gè)權(quán)限。各個(gè)模塊登錄之后能夠使用的功能是不同的,登錄時(shí)需要驗(yàn)證用戶(hù)名和密碼以及用戶(hù)的權(quán)限是否與數(shù)據(jù)庫(kù)中的匹配,驗(yàn)證通過(guò)后才允許賬戶(hù)登錄圖書(shū)管理系統(tǒng)。
2、圖書(shū)管理員功能
圖書(shū)管理員通過(guò)用戶(hù)名和密碼進(jìn)入圖書(shū)管理系統(tǒng),可以實(shí)現(xiàn)三大功能:圖書(shū)管理、用戶(hù)管理和借閱管理。圖書(shū)管理功能包括增加圖書(shū)信息、刪除圖書(shū)信息、查詢(xún)和修改圖書(shū)信息;用戶(hù)管理功能主要是管理用戶(hù)注冊(cè)的信息,包括注冊(cè)用戶(hù)或管理員信息、刪除用戶(hù)注冊(cè)的信息、以及修改用戶(hù)信息,保證圖書(shū)管理系統(tǒng)的登陸信息的安全性;借閱管理功能主要是查看借閱記錄以及歸還圖書(shū)功能。
3、圖書(shū)借閱者功能
圖書(shū)借閱者通過(guò)用戶(hù)名和密碼進(jìn)入圖書(shū)管理系統(tǒng)的用戶(hù)界面,用戶(hù)權(quán)限主要實(shí)現(xiàn)三個(gè)方面的功能:查詢(xún)圖書(shū)信息功能、借閱圖書(shū)功能以及借閱管理功能。查詢(xún)圖書(shū)信息功能主要是根據(jù)圖書(shū)的幾個(gè)基本信息,如:圖書(shū)名、作者、出版社、分類(lèi)等信息查詢(xún)所需要查看或借閱的圖書(shū)信息;借閱圖書(shū)功能主要完成用戶(hù)對(duì)需要的圖書(shū)進(jìn)行借閱的功能;借閱管理功能主要是對(duì)圖書(shū)借閱者的借閱信息進(jìn)行管理,可以查看已借閱的圖書(shū)信息以及對(duì)已借閱的圖書(shū)進(jìn)行取消借閱的功能。
由系統(tǒng)的登錄功能設(shè)計(jì)畫(huà)出圖書(shū)管理系統(tǒng)的登錄圖如下:
圖3-1 系統(tǒng)登錄圖
由系統(tǒng)的總體設(shè)計(jì)說(shuō)明畫(huà)出圖書(shū)管理系統(tǒng)的總體結(jié)構(gòu)圖如下:

圖3-2 系統(tǒng)總結(jié)構(gòu)圖
3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
對(duì)于實(shí)現(xiàn)系統(tǒng)的需求帶說(shuō),數(shù)據(jù)庫(kù)的設(shè)計(jì)是非常重要的部分,也是系統(tǒng)設(shè)計(jì)中最基本的一個(gè)部分,因此選擇合適的數(shù)據(jù)庫(kù)并創(chuàng)建合理的結(jié)構(gòu)式開(kāi)發(fā)程序是首要的問(wèn)題。數(shù)據(jù)庫(kù)系統(tǒng)是現(xiàn)代信息系統(tǒng)基礎(chǔ)設(shè)施。本系統(tǒng)的數(shù)據(jù)庫(kù)將采用Android自帶的Sqlite數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)與管理。根據(jù)以上章節(jié)對(duì)系統(tǒng)所做的需求分析和系統(tǒng)設(shè)計(jì),規(guī)劃出本系統(tǒng)中使用的數(shù)據(jù)庫(kù)實(shí)體分別為用戶(hù)實(shí)體、圖書(shū)實(shí)體、借閱信息實(shí)體,各個(gè)實(shí)體具體的描述如下圖所示:
描述概念模型的常用工具就是實(shí)體——聯(lián)系方法,即E-R模型。

圖3-3 用戶(hù)信息實(shí)體圖


圖3-4 圖書(shū)信息實(shí)體圖

圖3-5 借閱信息實(shí)體圖
3.4 邏輯結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)比較清晰,依據(jù)課程管理系統(tǒng)的功能要求,主要設(shè)計(jì)出數(shù)據(jù)庫(kù)的表有:用戶(hù)信息表(user)、圖書(shū)信息表(books)和借閱信息表(borrow)。
邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。本系統(tǒng)選用的是Sqlite數(shù)據(jù)庫(kù),關(guān)于數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)如下所示:
表3-1 用戶(hù)信息表(user)
列名類(lèi)型意義idAUTOINCREMENT用戶(hù)idusernamevarchar(20)用戶(hù)名passwordvarchar(20)密碼passlockvarchar(20)密保問(wèn)題passkeyvarchar(20)密保答案rolevarchar(20)權(quán)限組borrowlistvarchar(20)借閱圖書(shū)表collectionvarchar(20)收藏圖書(shū)表
表3-2 圖書(shū)信息表(book)
列名類(lèi)型意義idAUTOINCREMENT圖書(shū)idISBNvarchar(20)圖書(shū)ISBN號(hào)booknamevarchar(20)圖書(shū)名authorvarchar(20)作者pressvarchar(20)出版社publicationtimevarchar(20)出版時(shí)間categoryvarchar(20)分類(lèi)synosisvarchar(50)簡(jiǎn)介pageint頁(yè)數(shù)inventoryint館存數(shù)量
表3-3 借閱信息表(borrow)
列名類(lèi)型意義boidAUTOINCREMENT借閱idbotimevarchar(20)借閱時(shí)間bookidvarchar(20)借閱圖書(shū)iduseridvarchar(20)借閱用戶(hù)idbostateint借閱狀態(tài)backtimevarchar(20)還書(shū)時(shí)間reviewervarchar(20)還書(shū)審核人
表3-3 借閱信息表(borrow)
第四章 系統(tǒng)實(shí)現(xiàn)
4.1 實(shí)現(xiàn)系統(tǒng)的關(guān)鍵技術(shù)
根據(jù)第一章所設(shè)計(jì)的Android應(yīng)用軟件系統(tǒng)功能框架和界面的設(shè)計(jì),分析出實(shí)現(xiàn)這些功能和界面所需的各個(gè)關(guān)鍵的技術(shù)點(diǎn),并深入研究這些關(guān)鍵技術(shù)點(diǎn),這些技術(shù)點(diǎn)包括:
(1)Android的xml文件的編碼規(guī)則;
(2)系統(tǒng)各種界面布局的實(shí)現(xiàn)方式;
(3)系統(tǒng)中Activity的創(chuàng)建以及Activity間的自由切換;
(4)Sqlite數(shù)據(jù)庫(kù)的使用;
(5)使用信息提示框的彈出;
(6)以及圖片資源的加入。
下面舉例介紹數(shù)據(jù)庫(kù)的關(guān)鍵技術(shù):
SQLiteOpenHelper類(lèi)是Android下操作Sqlite的內(nèi)部實(shí)現(xiàn)類(lèi),它封裝了大部分函數(shù)和操作數(shù)據(jù)庫(kù)的具體功能,幫助創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)版本管理。
使用必須創(chuàng)建一個(gè)子類(lèi)來(lái)實(shí)現(xiàn)其onCreate(SQLiteDatabase), onUpgrade(SQLiteDatabase, int, int)方法,同時(shí)任意實(shí)現(xiàn)onOpen(SQLiteDatabase)方法,同時(shí)打開(kāi)數(shù)據(jù)庫(kù)操作必須保證數(shù)據(jù)庫(kù)存在,如果不存在則創(chuàng)建它,并且對(duì)其必要的升級(jí),維護(hù)其保持一個(gè)最佳的狀態(tài)。
使用本類(lèi)提供內(nèi)容開(kāi)始創(chuàng)建數(shù)據(jù)庫(kù)是非常容易的,首先必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行升級(jí),以避免在數(shù)據(jù)庫(kù)啟動(dòng)后長(zhǎng)期使用而阻塞數(shù)據(jù)。
因此,我們只需要基于此類(lèi)繼承出一個(gè)子類(lèi),實(shí)現(xiàn)子類(lèi)特有的屬性,即可完成此類(lèi)的開(kāi)發(fā):
public class DBHelper extends SQLiteOpenHelper {
private Context mcontext;
public DBHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version){
super(context, name, factory, version);
this.mcontext = context;
}
}
下列代碼實(shí)現(xiàn)了重要的數(shù)據(jù)庫(kù)表創(chuàng)建的功能:
private final static String CREATE_USER = “CREATE TABLE user(id INTEGER PRIMARY KEY ” +
“AUTOINCREMENT,username VARCHAR(20),password VARCHAR(20),passlock VARCHAR(20)” +
“,passkey VARCHAR(20),role VARCHAR(20),borrowlist VARCHAR(20),collection VARCHAR(20))”;
private final static String CREATE_BOOK = “CREATE TABLE book(id INTEGER PRIMARY KEY ” +
“AUTOINCREMENT,ISBN VARCHAR(20),bookname VARCHAR(20),author VARCHAR(20),press VARCHAR(20)” +
“,publicationtime VARCHAR(20),category VARCHAR(20),synopsis VARCHAR(50),page INTEGER” +
“,inventory INTEGER)”;
private final static String CREATE_BORROW = “CREATE TABLE borrow(boid INTEGER PRIMARY KEY ” +
“AUTOINCREMENT,botime VARCHAR(20),bookid VARCHAR(20),userid VARCHAR(20),bostate INTEGER” +
“,backtime VARCHAR(20),reviewer VARCHAR(20))”;
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_USER);
db.execSQL(CREATE_BOOK);
db.execSQL(CREATE_BORROW);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(“drop table if exists user”);
db.execSQL(“drop table if exists book”);
db.execSQL(“drop table if exists borrow”);
}
4.2 登錄界面
對(duì)于一個(gè)完整的圖書(shū)管理系統(tǒng),不僅要求功能完整、操作簡(jiǎn)單,還要有良好的設(shè)計(jì)風(fēng)格和另人耳目一新的界面。對(duì)于一個(gè)系統(tǒng)來(lái)說(shuō),登錄界面是很重要的,登錄界面設(shè)置了進(jìn)入本系統(tǒng)的用用戶(hù)名和密碼,防止非法用戶(hù)進(jìn)入本系統(tǒng)進(jìn)而破壞系統(tǒng)安全和所保存的數(shù)據(jù),故只有合法的用戶(hù)在輸入正確的密碼和選擇正確的權(quán)限后方可進(jìn)入相應(yīng)的系統(tǒng)界面,否則將會(huì)提示“帳號(hào)或密碼輸入錯(cuò)誤”,此時(shí)需要重新輸入帳號(hào)和密碼,直到通過(guò)系統(tǒng)驗(yàn)證,才可進(jìn)入系統(tǒng)[13]。未注冊(cè)過(guò)的用戶(hù)第一次進(jìn)入需要注冊(cè)新用戶(hù)信息。這些功能使得圖書(shū)管理系統(tǒng)對(duì)其使用者有了一定的限制,不僅增加了系統(tǒng)的安全性及保密性,而且便于系統(tǒng)的控制和管理,更加有利于系統(tǒng)的維護(hù)。

圖4-1 系統(tǒng)登陸界面
界面切換功能的實(shí)現(xiàn),填寫(xiě)完賬號(hào)和密碼后,點(diǎn)擊登陸按鈕,登陸按鈕被設(shè)置為了監(jiān)聽(tīng),點(diǎn)擊后會(huì)把用戶(hù)填寫(xiě)的信息和數(shù)據(jù)庫(kù)里的信息匹配,相符的話(huà),則跳轉(zhuǎn)到登陸后的主界面,若不相符,則會(huì)提示錯(cuò)誤信息,限制用戶(hù)進(jìn)入主界面。
4.3 管理員用戶(hù)界面
功能描述:圖書(shū)管理員是整個(gè)系統(tǒng)保持正常運(yùn)行的關(guān)鍵因素。在圖書(shū)管理員界面主要有四個(gè)大功能:在圖書(shū)管理功能中圖書(shū)管理員可以對(duì)系統(tǒng)的圖書(shū)信息進(jìn)行管理,有增加圖書(shū)信息、刪除圖書(shū)信息、修改圖書(shū)信息和查看圖書(shū)信息四個(gè)子功能,可以保證圖書(shū)管理系統(tǒng)中圖書(shū)信息的準(zhǔn)確性;在用戶(hù)管理功能中,管理員可以對(duì)用戶(hù)及管理員信息進(jìn)行注冊(cè)和管理,包括修改用戶(hù)權(quán)限、刪除用戶(hù)信息和修改用戶(hù)信息等功能,這確保了系統(tǒng)和資料的安全性和保密性;在借閱管理功能中,管理員可以對(duì)用戶(hù)的借閱信息進(jìn)行查看和管理,從而使得圖書(shū)的借閱信息能夠被管理員所了解,使得圖書(shū)管理系統(tǒng)正常的運(yùn)行。

圖4-2 圖書(shū)管理員界面
4.4 圖書(shū)展示界面
功能描述:用戶(hù)登陸成功后,此界面會(huì)展示所有的圖書(shū)信息,用戶(hù)可以瀏覽該界面或者在界面上方的搜索框中輸入圖書(shū)名或者作者的關(guān)鍵字查找想要的圖書(shū)。

圖4-3 圖書(shū)展示界面
4.5 圖書(shū)詳細(xì)信息展示界面
功能描述:當(dāng)用戶(hù)在圖書(shū)展示界面點(diǎn)擊一本圖書(shū)時(shí),系統(tǒng)將會(huì)跳轉(zhuǎn)到該圖書(shū)的詳細(xì)信息展示界面, 在該界面中,將會(huì)展示該圖書(shū)的書(shū)名、作者、所屬分類(lèi)、館存數(shù)量、出版社、出版時(shí)間、頁(yè)數(shù)以及簡(jiǎn)介等基本信息。同時(shí)該界面提供了收藏圖書(shū)和借閱圖書(shū)兩個(gè)核心功能的按鈕。

圖4-4 圖書(shū)詳細(xì)信息展示界面
4.6 用戶(hù)收藏圖書(shū)界面
功能描述:此界面將展示用戶(hù)收藏的圖書(shū)信息,當(dāng)用戶(hù)取消收藏該圖書(shū)后,該界面將不會(huì)顯示該圖書(shū)。

圖4-5 圖書(shū)收藏圖書(shū)界面
4.7 用戶(hù)借閱信息界面
功能描述:此界面將展示用戶(hù)的所有借閱信息,方便用戶(hù)查看,以及合理規(guī)劃還書(shū)時(shí)間防止時(shí)間過(guò)期。

圖4-6 用戶(hù)借閱信息界面
第五章 系統(tǒng)測(cè)試與運(yùn)行
在軟件的生命周期中,軟件測(cè)試是一個(gè)軟件的重要組成部分,是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行的一個(gè)程序或者系統(tǒng)的過(guò)程[14]。軟件的測(cè)試結(jié)果對(duì)軟件的可靠性有很重要的作用,軟件測(cè)試是軟件產(chǎn)品交付給大眾用戶(hù)使用之前用以保證軟件質(zhì)量的一個(gè)很重要的方法。在軟件每一階段中的生命周期都包含軟件測(cè)試活動(dòng),因此在軟件設(shè)計(jì)的整個(gè)過(guò)程中都應(yīng)該有軟件測(cè)試進(jìn)行。使得隨時(shí)能夠檢查本階段的成果能不能接近預(yù)期的結(jié)果目標(biāo),進(jìn)而盡可能早一點(diǎn)發(fā)現(xiàn)到錯(cuò)誤并加以改正。
5.1 測(cè)試的主要內(nèi)容
我們?cè)谶M(jìn)行測(cè)試工作的時(shí)候?yàn)榱吮WC系統(tǒng)的質(zhì)量,可以將測(cè)試工作的內(nèi)容分成以下所說(shuō)的幾個(gè)部分,即: 審查代碼、集成測(cè)試、單元測(cè)試、系統(tǒng)測(cè)試和確認(rèn)測(cè)試。
(1)單元測(cè)試
檢查系統(tǒng)設(shè)計(jì)最小的單位(—個(gè)模塊)就是單元測(cè)試,通過(guò)測(cè)試檢查出用來(lái)定義該模塊的功能說(shuō)明不符合與實(shí)現(xiàn)該模塊的實(shí)際功能的情況,以及編碼時(shí)的錯(cuò)誤。
(2)集成測(cè)試
我們可以將每個(gè)小的模塊按照設(shè)計(jì)的需求組裝起來(lái)后同時(shí)進(jìn)行集成測(cè)試,集成測(cè)試的主要目的是檢查與接口有關(guān)聯(lián)的某些問(wèn)題。假設(shè)一個(gè)模塊和另一個(gè)模塊可能會(huì)出現(xiàn)由于疏忽的問(wèn)題而引起有危害的影響;把子功能模塊組合起來(lái)后可能不能產(chǎn)生預(yù)期的主功能;有個(gè)別的看起來(lái)視乎能接受的誤差卻很有可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。
(3)確認(rèn)測(cè)試
確認(rèn)測(cè)試的目的是向未來(lái)的用戶(hù)表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),基本排除了接口的錯(cuò)誤,接下來(lái)我們就應(yīng)該進(jìn)一步的檢驗(yàn)系統(tǒng)軟件的有效性,就是確認(rèn)測(cè)試工作的任務(wù),是將系統(tǒng)軟件的性能和功能發(fā)揮到如用戶(hù)們合理期待的一樣。
(4)系統(tǒng)測(cè)試
完成軟件設(shè)計(jì)開(kāi)發(fā)以后,最后還要將它與系統(tǒng)中其他的部分整合運(yùn)行,從性能測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試和恢復(fù)測(cè)試等四個(gè)方面來(lái)進(jìn)行系統(tǒng)測(cè)試。
系統(tǒng)采用的測(cè)試用例如下表所示:
表5-1 系統(tǒng)測(cè)試用例表
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
用例編碼01描述基于Android的圖書(shū)管理系統(tǒng)預(yù)計(jì)輸出屏幕展現(xiàn)主要測(cè)試技術(shù)黑盒測(cè)試測(cè)試結(jié)果描述測(cè)試結(jié)果良好,定位誤差值在許可范圍內(nèi)執(zhí)行步驟檢查點(diǎn)檢查依據(jù)(功能需求編號(hào))期望輸出結(jié)果圖書(shū)管理功能添加、修改、刪除圖書(shū)功能;圖書(shū)列表顯示功能是否正常1功能正常正常用戶(hù)管理添加、修改、刪除、注冊(cè)用戶(hù)是否正常;用戶(hù)列表是否正確顯示2功能正常正常借閱管理圖書(shū)借閱者是否可正常查詢(xún)借閱信息;管理員是夠可正常歸還借閱圖書(shū)。3功能正常正常
5.2 登錄界面測(cè)試
當(dāng)輸入的用戶(hù)名、密碼信息經(jīng)身份驗(yàn)證查詢(xún)不對(duì)應(yīng)、不正確時(shí),系統(tǒng)將會(huì)顯示出“登錄失??!用戶(hù)名不存在或密碼錯(cuò)誤!”,停留在登錄界面,無(wú)法進(jìn)入系統(tǒng)。密碼正確時(shí),則跳轉(zhuǎn)到系統(tǒng)主界面,并通過(guò)驗(yàn)證用戶(hù)的權(quán)限組確定某些功能按鈕是否可見(jiàn)。

圖5-1 登錄錯(cuò)誤提示
5.3 主要功能模塊測(cè)試
5.3.1 圖書(shū)管理功能測(cè)試
圖書(shū)管理員可對(duì)圖書(shū)信息進(jìn)行管理,管理員可以根據(jù)圖書(shū)館中圖書(shū)的信息進(jìn)行添加圖書(shū)信息,查看圖書(shū)信息詳情,修改圖書(shū)信息,刪除已有圖書(shū)信息。為防止添加空白或錯(cuò)誤圖書(shū)信息,在添加時(shí)會(huì)有系統(tǒng)的錯(cuò)誤提示無(wú)法進(jìn)行提交,在填寫(xiě)了完整且正確的圖書(shū)信息后才能保證提交信息成功。下面進(jìn)行測(cè)試:

圖5-2 圖書(shū)管理功能主界面

圖5-3 添加圖書(shū)信息界面

圖5-4 修改圖書(shū)信息界面
5.3.2 用戶(hù)管理功能測(cè)試
圖書(shū)管理員可以對(duì)所有用戶(hù)的所有信息進(jìn)行添加、刪除、修改管理。下面進(jìn)行測(cè)試:

圖5-5 用戶(hù)管理功能主界面

圖5-6 用戶(hù)信息修改及刪除界面
5.3.3 圖書(shū)借閱管理功能測(cè)試
圖書(shū)管理員可以對(duì)用戶(hù)的圖書(shū)借閱信息進(jìn)行查看和管理。下面進(jìn)行測(cè)試:

圖5-7 用戶(hù)借閱管理功能主界面
第六章 總結(jié)
本文詳細(xì)的論述了基于Android的圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的過(guò)程。通過(guò)這一個(gè)月的設(shè)計(jì),我終于完成了圖書(shū)管理系統(tǒng),在這個(gè)過(guò)程中,我將這個(gè)學(xué)期在Android移動(dòng)開(kāi)發(fā)課程上所學(xué)到的知識(shí)應(yīng)用到了實(shí)踐中。在實(shí)踐的過(guò)程中,我遇到了許多的難題,但在經(jīng)過(guò)上網(wǎng)查找相關(guān)的資料之后總能得以解決,汲取了很多他人的智慧,慢慢的提升自己的專(zhuān)業(yè)知識(shí)能力。從開(kāi)始對(duì)開(kāi)發(fā)工具都不是很熟悉到后來(lái)的得心應(yīng)手,我發(fā)現(xiàn)本次實(shí)踐使我開(kāi)發(fā)軟件的能力得到了很大的提升。
在本次的實(shí)踐中,也讓我發(fā)現(xiàn)了許多現(xiàn)在的不足,系統(tǒng)的架構(gòu)能力還需要很大的提升,才能夠不至于在開(kāi)發(fā)的過(guò)程中總發(fā)現(xiàn)許多地方在前期的設(shè)計(jì)不足。在今后的學(xué)習(xí)生活里,還需要多閱讀軟件開(kāi)發(fā)的相關(guān)書(shū)籍,提升自己的軟件開(kāi)發(fā)能力。
源碼鏈接:https://yunjunet.cn/568163.html