Document1 2016/3/22 Software Engineering (CS6301) – Library System 圖書館管理系統 Introduction Librarians and desk circulation staff are dealing with large amount of transactions everyday. Books are circulated among readers through the library. Readers are searching for books using the catalog system. As the library grows, a computerized library system is necessary to keep the library running smoothly and efficiently. The system should consist of the following sub-systems. 子系統 每天,學校圖書館管理員都要處理大量工作:包括借還書手續、書籍管理、書籍搜尋等;而 讀者也常利用圖書分類目錄冊,找尋書籍。隨著圖書館的規模日漸擴大,藏書增加,學校決 定把圖書館電子化,以應付龐大需求,使運作更順暢,更有效率。 Context diagram: 管理維修, 目錄查詢, 資料庫, 列印報告, 書本借還 Maintenance 1 管理維修 Catalog system 3 目錄查詢 Library System 圖書管理系統 Report system 4 列印報告 Book Circulation 2 書本借還 Database 資料庫/數據庫 The objectives 目的 of the Library System: 1. to facilitate efficient library book circulation 使「借還手續」更有效率 2. to help librarian maintain good records of books and reader information 協助「紀錄管理」 3. to provide users with fast enquiry services 為讀者提供優質的「查詢/搜尋」服務 Target users of the Library System: 使用者 1. librarian (responsible for all library operations) 2. 3. library desk workers readers / borrowers (responsible for borrowing and returning of books) (those who uses the library resources) Use Case Scenario: 個案 1. Readers: 讀者 A student searches 找尋 the library catalog 目錄 for a certain book. He then goes to the book shelf and fetches the book wanted. He gives the book together with his library card to the circulation desk worker. p.1 Document1 2. 2016/3/22 Circulation desk worker: 工作人員 The desk worker enters the accession number 索書號 of the book and the student ID into the computer with a barcode scanner 條碼閱讀器. He stamps the due date onto the slip attached and gives the book to the borrower (reader). 3. Readers: 讀者還書 After reading a book borrowed from the library, a reader gives the book back to the library staff. The library staff scans the barcode data of the book into the computer and the corresponding record is updated. 4. Home user: 家庭讀者 A user connects to the library web page through the internet. He enters his user id and password as required. The main menu appears on the screen. He then clicks on the "Show circulation records" button and the circulation records are shown on the screen in seconds. He clicks the "Renew" 續借 button next to the book records and due date is updated automatically. Back to the main menu, he chooses the "Book Enquiry" session. He enters the book title in the input box and presses the "Search" button. In a few seconds' time, a number of books are displayed on the screen with circulation status. The one that he wants is currently "on-loan". He presses the "Reserve" button and a confirmation message is displayed. 5. Librarian: 圖書館管理員 (更新圖書資料) The librarian signs in the Library System. She presses the "Add new book" button and fills the boxes with the details of the new books. After pressing the "Save" button for each book, book labels are printed and the database is updated at the same time. She goes back to the main menu and logout. Functional requirements:功能要求 The system should be able to process users' enquiry 查詢/搜尋 on books (e.g. availability, location, authors, publishers, ...) shows the detail of that book together with circulation status (available, on loan, reserved) process readers' requests efficiently: 處理讀者要求 borrowing of books 借書 returning of books 還書 renewing of books 續借 updating book and reader files 更新記錄 generate reports / charts on request 報表 overdue book/reader list 過期 p.2 Document1 number of books for each subject 各科書籍分類 popular book list 暢銷書 export data to excel files, database files or text files for further analysis 資料分析 assist the librarian in daily routines: 協助管理員日常工作 maintaining users' personal information 維持讀者個人資料 maintaining accurate book details 準確圖書資料 2016/3/22 maintaining loan records (including accession numbers, issue date, due date, reader id...) calculating fine for books overdue 借還書記錄 adding new readers 加新讀者 deleting readers from database 刪除讀者 processing newly acquired books 新書 writing-off unwanted books importing new users from external database / text files importing new books from external source files backing up data / transactions 備份 stock taking 盤點 provide library card printing service 印圖書証 provide online book enquiry service 提供線上查詢服務 provide link to other libraries 連結其他圖書館 Non-Functional requirements 非功能要求 The library system should be run with English / Chinese Windows 2000 / XP / 7. The system can be accessed through internet. 互聯網登入 The system must be secure 安全. Unauthorized access should not be allowed. Data should be stored in database (MySQL). Data backup 備份 should be done automatically at the end of each day. It supports Unicode 統一碼 Data import/export 滙入滙出 (e.g. readers info, books info) is allowed. Barcode font is used. 條碼字體 The system should have high adaptability to changing environment. 適應改變 The interface should be intuitive and easy to use (with one-hour training). 使用者介面 Performance: the response time for each transaction should be less than 10 seconds. 效能 Maintain data integrity (support record locking and transaction roll back) 資料一致 Each user can borrow 5 books at most. 每人可借 5 本書 Each book can be borrowed for 20 days. 每本書可借閱 20 天 p.3 Document1 2016/3/22 Screen Design: Login screen 登入系統: User ID: Password: 50644053 ********** Unknown user ID or Incorrect password Enquiry 查詢目錄: Accession no 索書號 Title 書名 ISBN 國際書號 Author 作者 Publisher 出版社 c123 Search Results 搜尋結果: Accession No. Book Title Status 狀態 c1234567 Data Structure Available 可借(館內) c1234345 Software Engineering On Loan 已借出 c1234536 Java Programming Reserved 有讀者預約 ... Reader's personal information: 讀者個人資料 Student ID: 50644053 Name: Gender: Address: Telephone: Mobile: E-Mail: Szeto CY M 123 Nathan Road 2345-6789 9876-5432 abc@yahoo.com Save changes? Abort changes? View your circulation records: 查詢借還紀錄 由 From: dd/mm/yy 至 To: dd/mm/yy Accession No. Book Title c1234567 Data Structure c1232345 Software Engineering c3453456 Java Programming Issue Date 借出日期 Due Date 到期日 ... p.4