回覆列表
-
1 # 會技術的葛大爺
-
2 # 程式碼四驅
你需要選定一種程式語言,然後選定一種程式設計的資料庫。
接下來就是想好整個程式的流程是什麼樣子的,以及資料庫裡的資料表,怎麼樣去設計?
圖書借閱查詢系統,可以是單機執行的,也可以是聯網執行的。那麼目前主流的做法就是用一臺伺服器,在上面架設網站和資料庫,然後呢,只要他聯網了那麼任何主機都可以訪問它,來進行圖書借閱登記和查詢。
一個典型的方案是這樣的:
伺服器上安裝php和my sql資料庫。
Php用於後臺和前臺的顯示,至少需要這樣幾個模組,包括使用者註冊,書籍登入,借閱登記,借閱查詢,管理員後臺登入等等。
資料庫呢,至少需要設計這樣幾個主要的表,包括使用者表,書籍表,借閱登記表,以及管理員表。
使用者表呢,至少需要有使用者的ID,姓名,學號以及其他你覺得有必要的資訊。
書籍表呢,至少需要有書籍ID,書籍的名稱以及其他你覺得有必要的資訊。
借閱登記表呢,需要有書籍的ID,借閱人ID,借閱時間,歸還時間。
程式的執行流程是這樣的,分為幾個不同的功能。
當學生來借書的時候,他需要先註冊,然後記錄下來他借了哪本書,什麼時間借的,當他還書的時候,要做個標記,他已經歸還了。當圖書館進了圖書的時候,需要對每一本圖書進行登記。此外作為管理後臺,也需要有管理員登入的功能以及管理員開新的管理賬號的功能。
然後最重要的就是借閱圖書的查詢功能,可以根據借閱人來查詢,也可以根據圖書名稱來查詢,也可以根據時間來查詢,等等各種不同的查詢,其實就是使用不同的sql語句來完成了。
在做後臺基本功能的時候,也可以同時做前端介面。使用html,CSS, JavaScript完成前端介面的UI和功能設計。
最後是前後端一起聯合除錯,修改bug,這樣呢,一個圖書查詢系統就完成了。
我們要做圖書管理系統的話,先就需要分析,圖書管理系統的核心是做什麼?
圖書管理、圖書管理,自然管理好書是核心,那書的數字化就是必須的功能了,怎麼管理呢?在實際的圖書館中,書都是放在一個固定的書架上,而我們的書架都是有相對應的編號的。並且,不同的圖書,還有不同的分類。例如:歷史類的書籍在一個區域、科學類的書籍在一個區域。根據這些現實場景,自然就需要將這些書籍管理相關的資料還原在系統上。
那麼,書、書架、區域的簡單關係也就出來了。
但是,如果書籍僅僅是待在書架上,位置都不發生變化,這個圖書管理系統就僅僅是一個書籍的索引系統,想要豐富功能,我們就需要考慮到圍繞書還會有什麼行為呢?借閱就是圖書館中發生得比較頻繁的一個行為了。我作為借書者,我會需要將我喜歡的書借走,然後再歸還。
那針對這個場景,我們的書籍管理功能也就會發生了變化,我們首先需要知道,能夠借書的人都是誰,這就需要對借閱者有一個使用者管理的功能。那如果可能,還會有押金管理的功能。
其次就是對書的操作要有一個管理。借閱者什麼時候借了書,什麼時候還了書,借了多久等等。這樣,在圖書館管理員盤點所有的書籍時,他就能夠知道每本書的下落。如果這本書既沒有借出去,也沒有在圖書館裡,可能就是丟失了。
那麼,我們就圍繞著上面說的內容,進行相關的資料庫設計,功能設計,然後透過程式碼來實現。當然,這裡面還需要有很多的基礎資料管理的功能,例如:對於書的分類定義,書架的分類定義,區域的分類定義,這樣,我們才能夠引導管理員將散落的書籍快速的歸還到對應的書架上。
而有了這些簡單的功能後,一個圖書管理系統也就完成了。但是,這樣的系統要投入到實際的應用中,還非常的簡陋,肯定還需要有更多的最佳化。還需要哪些最佳化呢?首先,使用者在借書的時候,如果一本一本書的去查詢然後錄入借書資訊,速度會非常的慢。同樣,使用者還書以後,圖書管理員一本一本的去查詢然後錄入還書記錄也是非常的慢的,並且還容易出錯。
怎麼能夠加快這個借還書的過程呢?
這樣,還書和借書的時間就被大大的縮短了,並且操作難度也大大降低了。
借還書的過程雖然優化了,但是盤點的難度還是很高。那麼大一個圖書館,那麼多的書,盤點的時候,一本書一本書的去掃描,就算有二維碼,也是一個大工程。在這個方面能夠如何最佳化呢?還是圍繞著書本上的二維碼來思考。二維碼需要透過攝像頭等裝置來掃描,雖然在盤點時比較麻煩。那麼如果能夠不掃描,批次的進行圖書的識別就可以很好的解決這個問題了。
那麼,我們就可以考慮RFID的物聯網技術。將原來書本上貼的二維碼升級成為RFID標籤。然後原有的二維碼掃描裝置升級成為RFID掃描裝置。RFID是透過射頻技術來做到識別的,並且也是一本書一個身份ID寫入到RFID標籤中。所以,判斷時,我們只需要一個RFID終端,就可以在不把書拿出書架的情況下,批次的進行書本的盤點了。
以上,一個完整的圖書管理系統就搞定了。當然,我們這裡只是講了概念,還有很多具體的細節和實現上,就還需要個人去摸索了。