張政 蔣永輝



摘要:該文通過使用統一建模語言UML(Unified Modeling Language)對圖書管理系統進行了分析與建模,并利用Eclipse平臺和MYSQL數據庫系統將其可視化實現。使圖書管理員對圖書館相關業務的管理更加簡單、高效。
關鍵詞:圖書管理系統;UML;面向對象;Eclipse平臺
中圖分類號:TP311.1? ? ? 文獻標識碼:A? ? ? 文章編號:1009-3044(2019)01-0115-03
1 背景
隨著計算機科學與技術的迅速發展,信息管理技術逐漸滲透到多個領域。圖書館作為學生學習知識的重要場所,包含著大量數據信息。在當今不斷增長的軟件多樣性以及相互性等需求下,目前圖書館的圖書借閱管理并不完善,功能方面有所欠缺。為了讓圖書館管理更加高效,圖書借閱更加便捷,信息處理更加精準;該文以圖書管理系統作為研究對象,通過統一建模語言UML技術對其需求模型和總體設計進行分析與建模,并結合Eclipse Java 技術,設計并實現了一套功能完整的圖書管理系統。
2 使用UML技術對系統的分析與建模
2.1 UML概述
UML是Unified Modeling Language(統一建模語言)的簡稱。它規定了一系列的圖形符號來對軟件系統進行可視化描述,這些圖形符號具有嚴格的語義和清晰的語法,如果將其分類的話,這些圖可分為表示對象的靜態結構和動態結構兩大類:靜態結構類:用例圖、類圖、構件圖等;以及動態結構類:活動圖、狀態圖、序列圖、協助圖等。UML還擁有統一的建模標準,適用于多種不同類型的系統,基于其獨立于開發過程的特性,除了軟件系統的開發,UML還可以用于業務建?;蛘咂渌擒浖到y的建模。[1]
2.2 需求分析
圖書館作為一個數據資源的集中地,包含著各類信息。為使圖書管理更加系統化和規范化,通過建立一個圖書管理系統,可以方便讀者借閱圖書,減輕圖書管理員的工作壓力。在程序化的管理手段的支持下,管理員能及時了解各個環節中的業務變更,從而提高管理效率。其系統的功能性需求包括:
1)根據登錄權限,分為普通用戶登陸和圖書管理員登陸;
2)圖書管理:管理員可以進行圖書的分類、查詢和出入庫;
3)借閱管理:管理員可以代理讀者借書、還書、續期和查詢記錄;
4)用戶管理:管理員可以增加或刪除用戶,對用戶違約處罰和管理用戶信息;
5)系統管理:管理員可以對系統進行維護。
根據系統的功能性需求可以繪制系統的功能結構圖,如圖1所示。
2.3 用例建模
用例圖是用來描述參與者與用例之間的關系的,這種關系屬于關聯關系。它無法實現系統內部的具體功能,但能定義系統的功能需求。[2]結合需求分析,系統的參與者包括普通用戶和管理員。普通用戶的用例有用戶注冊、借閱書籍、歸還書籍、借閱信息查詢等。管理員的用例有系統維護、書籍入庫、書籍出庫、書籍信息修改等;通過參與者與用例之間的關系,最終得到用例圖。圖書管理系統用例圖,如圖2所示。
2.4 靜態建模
靜態建模主要是對信息系統的靜態結構進行描述的,一般用類圖來實現。類圖不僅定義了類的屬性方法,也描述了類與類之間的關系如關聯、依賴、泛化、實現等。[3]實體類為一些直接的對象,系統的實體類有:Users,Books,OrderTransaction,BookList等;邊界類位于系統與外界交界處,系統的邊界類有: MainStation,LineItem等交互窗口類;控制類是指控制其他類工作的類,系統的控制類有Login,Borrower,Return,Administration等。通過上述分析,系統靜態模型如圖3所示。
2.5 動態建模
動態建模主要描述的是系統在執行的過程中各個模塊的交互交流,和各業務層的邏輯關系,即描述系統的動態行為。時序圖是通過時間的推移來描述對象之間相互交換信息的過程。[4]圖4為圖書管理系統借書還書時序圖。
3 數據庫選擇與設計
MYSQL是一個簡單易用并且性能高效的數據庫系統,與其他數據庫系統相比,MYSQL的性能,支持,特性都有著不錯的優勢。根據圖書管理系統的邏輯化結構描述與功能性需求分析,得出系統的ER圖,如圖5所示,該系統需要創建4張表:
1)書籍表:編號(主鍵),主題,價格,出版社,作者,類型,條碼,ISBN,備注;
2)用戶表:用戶名(主鍵),密碼,姓名,地址,電話,備注;
3)管理員表:工作號(主鍵),密碼,姓名,電話,住址,備注;
4)借閱信息表:編號(主鍵),電話,支付方式,書籍名稱,書籍類型,借閱日期,備注。
4 基于Java的系統實現:
4.1 開發工具介紹
Eclipse是一個開放源代碼的軟件開發平臺,致力于為高度集成的開發工具提供一個功能全面的工作平臺。Eclipse采用“平臺+插件”的體系結構,平臺只是作為一個開發容器,而所有的開發都集中封裝到插件中,通過插件來構架開發環境。[5]Java程序的開發更傾向于Eclipse,不僅操作簡便,而且開發的效率也很可觀,Eclipse平臺可以提供大量的插件,非常的方便,因此,該系統選用Eclipse作為開發平臺。
4.2 系統結構說明
該系統的工程源碼結構包括:數據訪問層(IO)、實體層(Model)、業務邏輯層(Service)、表示層(view),不同的層面分別負責對應的模塊。構建系統時,首先要創建model.class實體層模型文件、view.jsp表示層視圖文件、service.jsp業務邏輯層、io.jsp數據訪問層。當Users通過表示層進行人機交互并發送命令請求時,命令依次經過業務邏輯層、數據訪問層;然后由服務器和Database利用JDBC進行數據交互,最后將得到的響應返回給表示層。系統框架示意圖如圖6所示:
4.3 圖書管理功能實現
圖書管理的具體功能包括圖書的出入庫、信息修改和分類。在實現書籍入庫時,首先將新增書籍的信息通過視圖層(View)傳輸到數據訪問層(IO)的TransactionRecord()方法中,然后調用BookInStore()方法實現書籍的入庫。對書籍進行分類時,調用getCategory()方法,通過訪問數據庫得到書籍基本信息,基于書籍的類型,可以對其劃分種類。修改書籍信息時,則調用AlterInfo()方法通過IO流處理、文件操作對數據庫信息進行修改并保存。
4.4 查詢功能實現
查詢功能分為書籍查詢和用戶信息查詢,兩種查詢的原理是一樣的。查詢時,先利用JDBC獲取數據庫連接,然后通過數據訪問層(IO)將所需查詢的書籍信息傳輸至查詢語句Search()后,再將所得結果返回至業務邏輯層(Service),之后利用getBooksID()方法,基于主鍵BooksID(書籍編號)進行信息匹配,得到查詢結果,最后將查詢所得結果輸出至視圖層中。
4.5 借閱功能實現
在實現借閱功能時,首先通過getResult()方法從數據庫中獲取圖書列表BookList和用戶表Users,將BookList所得信息錄入到視圖層中,然后根據用戶的借書請求以及提供的信息,調用業務邏輯層(Service)的Query()方法,對用戶是否具備借閱此書資格進行判斷,若失敗則無法借閱;若成功則返回借書信息至Borrower()中,最后輸出借書信息至視圖層中,借閱成功。
4.6 用戶管理功能實現
對用戶進行管理時,首先使用JDBC封裝好的數據訪問對象,將其實例化并調用Search()方法,獲取用戶表信息,其中包括用戶的用戶名、密碼、電話和借閱狀態等。之后調用數據訪問層(IO)的UpdateInfo()方法來對用戶信息進行更改,修改后的信息重新保存至數據庫中。
5 結束語
隨著圖書館的迅速發展,為達到當代圖書館所要求的管理效率以及信息的相互性、可靠性等多方面需求;該文通過采用UML技術對圖書管理系統進行了多方面的分析,并結合Java將其實現,提高了圖書管理的服務效率與質量。
參考文獻:
[1] 李留英, 韓冰. 統一建模語言UML[J].計算機科學,1998, 25(5): 11-16.
[2] 雷超陽, 鐘一青, 周訓斌. 基于UML的數據庫建模技術研究[J].自動化技術與應用,2008,27(9): 33-36.
[3] 胡秀, 王書愛. 基于UML的面向對象的系統建模[J].保山學院學報,2008,27(2).
[4] 孔軍, 孫怡寧, 蔣敏, 等. 基于UML的系統需求分析[J].計算機工程與應用, 2003, 39(15): 217-219.
[5] 林琳. 基于SSH框架的網絡教學平臺的設計與實現[D].成都:電子科技大學,2010.