摘 要:圖書管理系統是信息化時代有效管理圖書的重要手段,根據不同的權限,讀者、管理員、系統管理員可以完成各自的操作。文中借助UML技術對圖書管理系統進行了面向對象分析與設計,在需求分析階段給出了系統用例圖,在類設計階段給出了系統類圖,在交互性設計階段給出了借書時序圖。
關鍵詞:圖書管理系統;UML;分析;設計
中圖分類號:TP311.5 文獻標識碼:A
1 引言(Introduction)
隨著信息技術的飛速發展,電子化的管理方法逐步取代了傳統的手工管理方法,圖書的信息化管理系統成為提高圖書館工作效率,有效管理圖書的重要手段[1]。基于此,本文借助UML技術,對圖書管理系統進行了分析和設計。
2 需求分析(Requirement analysis)
(1)分析系統參與者
遵循識別參與者的方法,可以分析出“圖書管理系統”中的參與者有:Administrator(系統管理員)、Librarian(圖書管理員)、Reader(讀者)[2]。
Administrator:通過使用系統進行用戶管理。
Librarian:通過使用系統進行讀者管理、圖書管理、借閱管理等。
Reader:通過使用系統進行讀者信息查詢、預訂圖書、取消預訂等。
(2)分析系統用例
針對分析出的系統主要參與者(系統管理員、圖書管理員、讀者),可以分析出“圖書管理系統”中主要用例包括:Manage User(用戶管理)、Manage Book(圖書管理)、Manage Reader(讀者管理)、Borrow-Lend(借閱管理)等[3],詳細說明如下。
Manage User:完成系統用戶的增加、刪除、修改、查詢等功能。
Manage Book:完成基本信息設置(圖書類型設置、借閱種類設置)和圖書信息管理(圖書信息設置、圖書信息查詢)功能。
Manage Reader:完成讀者辦證、讀者信息查詢、讀者證掛失功能。
Borrow-Lend:完成借書、還書、續借、超期罰款、圖書預訂、取消預訂、圖書掛失等功能。
用例圖是需求分析階段主要采用的UML圖示[4]。根據以上分析,借助Rational Rose工具繪制出“圖書管理系統”用例圖,如圖1所示。
圖1 系統用例圖
Fig.1 System use-case diagram
3 類設計(Design of class)
在“圖書管理系統”的用例圖中已經知道,系統需要為每個讀者建立一個賬戶,并給讀者發放讀者證(讀者證可以提供讀者證號、讀者姓名),賬戶中存儲讀者的個人信息、借閱信息以及預訂信息等[5],持有讀者證的讀者可以借閱書刊、返還書刊、查詢書刊信息、預訂書刊并取消預訂。
在借閱書刊時,需要輸入所借閱的書刊名、書刊的ISBN號,然后輸入讀者的讀者證號和讀者姓名,完成后提交所填表格,系統驗證讀者是否有效。若讀者有效,借閱請求被接受,系統查詢讀者所借閱的書刊是否存在,若存在,則讀者可借出書刊,系統記錄借閱記錄;如果讀者所借書刊已被借出,讀者還可預訂該書刊。讀者如期還書后,系統清除借閱記錄,否則需繳納罰金。
同時,以上部分操作可能還需要系統管理員和圖書管理員進行參與。
結合以上分析,遵循前面敘述的識別類的方法,暫時可以識別出“圖書管理系統”中的類有:Admin、Administrator、Librarian、Reader、ReaderType、Book、BookType、Borrow、BorrowType、Store、Reserve、Fine,其詳細說明見表1,類之間的關系詳見圖2。
表1 “圖書管理系統”中的類
Tab.1 Classes of “book management system”
序號 類名稱 類說明
1 Admin 抽象出來的管理員
2 Administrator 進行系統管理的管理員
3 Librarian 進行讀者管理、圖書管理、借閱管理的圖書管理員
4 Reader 讀者基本信息
5 ReaderType 讀者類別信息
6 Book 圖書基本信息
7 BookType 圖書類別信息
8 Borrow 讀者借閱圖書信息
9 BorrowType 讀者借閱類型信息
10 Store 圖書在圖書館中的存放位置信息
11 Reserve 讀者預訂圖書信息
12 Fine 讀者罰款信息
圖2 實體類及其關系
Fig.2 Entity classes and relations
以上各個類默認情況下都屬于實體類,可以參照繪制實體類的方法繪制系統的邊界類和控制類。接下來依次添加Main、SystemManage、ReaderManage、BookManage、BorrowManage、FineManage等邊界類,如圖3所示。
圖3 邊界類及其關系
Fig.3 Boundary classes and relations
4 交互性設計(Interactive design)
以“借書”場景為例,使用Rational Rose工具實現“BorrowBook”時序圖如圖4所示。
圖4 “BorrowBook”時序圖
Fig.4 “BorrowBook”sequence diagramendprint
該時序圖中涉及到的對象說明如下:
(1)Librarian對象:Librarian類即圖書管理員類創建的一個對象。
(2)Reader對象:讀者對象。
(3)Book對象:圖書對象。
(4)ReaderType對象:讀者類型對象。
(5)BorrowManage對象:借閱管理對象。
該時序圖中涉及的消息說明如下:
(1)getReaderInfo消息:獲取讀者基本信息,如辦證日期、借閱數量、掛失標志,用處理圖書證過期、借閱數量已滿等問題
(2)getReaderType消息:獲取讀者類型信息。
(3)getBookFlag消息:獲取圖書借閱標志,用于判斷圖書是否可借閱。
(4)InputBorrowInfo消息:輸入借閱信息,如讀者編號、圖書編號、借還日期等。
(5)modifyBookFlag消息:修改圖書借閱標志。
(6)addBorrowBook消息:增加讀者已借閱圖書數量。
5 結論(Conclusion)
本文借助UML技術對圖書管理系統進行了需求分析、類設計和交互性設計。在需求分析階段,按照捕獲參與者、捕獲用例以及捕獲關系的步驟,完成用例圖;在類設計階段,按照捕獲實體類、捕獲邊界類、捕獲關系的步驟,完成類圖;在交互性設計階段,以圖書管理系統中的“借書”場景
為例,按照捕獲對象、捕獲消息的步驟,完成時序圖。進一步的工作就是在分析和設計的基礎上,搭建開發環境、使用編程語言進行代碼實現,此處不再細述。
參考文獻(References)
[1] 杜洋.圖書館圖書管理系統的設計與實現[D].成都:電子科技
大學,2013.
[2] 張廣泉,劉艷.基于UML的圖書管理系統提攜結構模型及實
現[J].重慶師范大學學報(自然科學版),2005(2):1-4.
[3] 唐紅杰.UML基礎與Rose建模實訓教程[M].北京:清華大學
出版社,2011.
[4] Craig Larman.李洋,鄭,譯.UML和模式應用[M].北京:機械
工業出版社,2009.
[5] 李春雷,陳萍.基于.net平臺的圖書管理系統[J].職大學報,
20011(4):84-86.
作者簡介:
唐紅杰(1979-),女,碩士,講師.研究領域:網絡與通信,
Web技術.endprint
該時序圖中涉及到的對象說明如下:
(1)Librarian對象:Librarian類即圖書管理員類創建的一個對象。
(2)Reader對象:讀者對象。
(3)Book對象:圖書對象。
(4)ReaderType對象:讀者類型對象。
(5)BorrowManage對象:借閱管理對象。
該時序圖中涉及的消息說明如下:
(1)getReaderInfo消息:獲取讀者基本信息,如辦證日期、借閱數量、掛失標志,用處理圖書證過期、借閱數量已滿等問題
(2)getReaderType消息:獲取讀者類型信息。
(3)getBookFlag消息:獲取圖書借閱標志,用于判斷圖書是否可借閱。
(4)InputBorrowInfo消息:輸入借閱信息,如讀者編號、圖書編號、借還日期等。
(5)modifyBookFlag消息:修改圖書借閱標志。
(6)addBorrowBook消息:增加讀者已借閱圖書數量。
5 結論(Conclusion)
本文借助UML技術對圖書管理系統進行了需求分析、類設計和交互性設計。在需求分析階段,按照捕獲參與者、捕獲用例以及捕獲關系的步驟,完成用例圖;在類設計階段,按照捕獲實體類、捕獲邊界類、捕獲關系的步驟,完成類圖;在交互性設計階段,以圖書管理系統中的“借書”場景
為例,按照捕獲對象、捕獲消息的步驟,完成時序圖。進一步的工作就是在分析和設計的基礎上,搭建開發環境、使用編程語言進行代碼實現,此處不再細述。
參考文獻(References)
[1] 杜洋.圖書館圖書管理系統的設計與實現[D].成都:電子科技
大學,2013.
[2] 張廣泉,劉艷.基于UML的圖書管理系統提攜結構模型及實
現[J].重慶師范大學學報(自然科學版),2005(2):1-4.
[3] 唐紅杰.UML基礎與Rose建模實訓教程[M].北京:清華大學
出版社,2011.
[4] Craig Larman.李洋,鄭,譯.UML和模式應用[M].北京:機械
工業出版社,2009.
[5] 李春雷,陳萍.基于.net平臺的圖書管理系統[J].職大學報,
20011(4):84-86.
作者簡介:
唐紅杰(1979-),女,碩士,講師.研究領域:網絡與通信,
Web技術.endprint
該時序圖中涉及到的對象說明如下:
(1)Librarian對象:Librarian類即圖書管理員類創建的一個對象。
(2)Reader對象:讀者對象。
(3)Book對象:圖書對象。
(4)ReaderType對象:讀者類型對象。
(5)BorrowManage對象:借閱管理對象。
該時序圖中涉及的消息說明如下:
(1)getReaderInfo消息:獲取讀者基本信息,如辦證日期、借閱數量、掛失標志,用處理圖書證過期、借閱數量已滿等問題
(2)getReaderType消息:獲取讀者類型信息。
(3)getBookFlag消息:獲取圖書借閱標志,用于判斷圖書是否可借閱。
(4)InputBorrowInfo消息:輸入借閱信息,如讀者編號、圖書編號、借還日期等。
(5)modifyBookFlag消息:修改圖書借閱標志。
(6)addBorrowBook消息:增加讀者已借閱圖書數量。
5 結論(Conclusion)
本文借助UML技術對圖書管理系統進行了需求分析、類設計和交互性設計。在需求分析階段,按照捕獲參與者、捕獲用例以及捕獲關系的步驟,完成用例圖;在類設計階段,按照捕獲實體類、捕獲邊界類、捕獲關系的步驟,完成類圖;在交互性設計階段,以圖書管理系統中的“借書”場景
為例,按照捕獲對象、捕獲消息的步驟,完成時序圖。進一步的工作就是在分析和設計的基礎上,搭建開發環境、使用編程語言進行代碼實現,此處不再細述。
參考文獻(References)
[1] 杜洋.圖書館圖書管理系統的設計與實現[D].成都:電子科技
大學,2013.
[2] 張廣泉,劉艷.基于UML的圖書管理系統提攜結構模型及實
現[J].重慶師范大學學報(自然科學版),2005(2):1-4.
[3] 唐紅杰.UML基礎與Rose建模實訓教程[M].北京:清華大學
出版社,2011.
[4] Craig Larman.李洋,鄭,譯.UML和模式應用[M].北京:機械
工業出版社,2009.
[5] 李春雷,陳萍.基于.net平臺的圖書管理系統[J].職大學報,
20011(4):84-86.
作者簡介:
唐紅杰(1979-),女,碩士,講師.研究領域:網絡與通信,
Web技術.endprint