0% found this document useful (0 votes)
12 views4 pages

Document 18

The document outlines the design of a Library Management System (LMS) that manages books, members, and librarians, allowing operations such as issuing, returning, and reserving books. It details functional and non-functional requirements, key classes, and UML diagrams to illustrate system interactions and design principles. The LMS aims to improve efficiency, automate fine calculations, and ensure security and usability.

Uploaded by

727824TUCS437
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

Document 18

The document outlines the design of a Library Management System (LMS) that manages books, members, and librarians, allowing operations such as issuing, returning, and reserving books. It details functional and non-functional requirements, key classes, and UML diagrams to illustrate system interactions and design principles. The LMS aims to improve efficiency, automate fine calculations, and ensure security and usability.

Uploaded by

727824TUCS437
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Library Management System – Case Study

Introduction

Design a Library Management System to manage books, library members, and librarians.
The system should allow users to perform operations such as issuing, returning, and
reserving books. It should also handle the addition of new books, managing member
details, and maintaining records of issued and returned books.

Functional Requirements

1. For Members:
a. View available books.
b. Borrow and return books.
c. Reserve books.
d. Pay fines for overdue books.
2. For Librarians:
a. Add, update, and remove books.
b. Issue and return books.
c. Manage member records.
d. Handle fine collection.
3. System Functions:
a. Track issued books.
b. Check book availability.
c. Calculate fines based on due dates.

Objectives of the Library Management System:

The LMS aims to:

• Keep track of the library’s inventory, including books, journals, and other resources.
• Manage member records, including issuing and returning of books.
• Automate fine calculation for overdue books.
• Enable easy search and reservation of books.
• Improve library efficiency and reduce manual errors.

4. Non-Functional Requirements:

• Scalability: The system should handle large volumes of data as the library grows.
• Security: Member and book records should be protected from unauthorized
access.
• Performance: The system should respond quickly to user requests, such as book
searches.
• Usability: The user interface should be intuitive and user-friendly.

Class Diagram:

The following class relationships are typically part of the design:

• Library has a list of Book and Member objects.


• Member can borrow or reserve a Book.
• Librarian inherits from Member and can add, remove, and manage books.
• Transaction records each instance of book issuance and return.
• Fine is associated with Transaction to calculate penalties.

Object-Oriented Analysis

Identifying Key Classes:

Based on the problem domain, the following main classes are identified:

1. Library – Manages books, members, and librarians.


2. Book – Represents books with attributes like title, author, and ISBN.
3. Member – Represents library users who can borrow books.
4. Librarian – Handles book management and member activities.
5. Transaction – Tracks issuing and returning of books.
6. Fine – Calculates and stores information on overdue fines.

Attributes and Methods of Key Classes:

1. Class: Library
a. Attributes: name, address, books (list of Book objects), members (list of
Member objects).
b. Methods: addBook(), removeBook(), issueBook(), returnBook().
2. Class: Book
a. Attributes: bookID, title, author, ISBN, isAvailable.
b. Methods: reserve(), markAsBorrowed(), markAsReturned().
3. Class: Member
a. Attributes: memberID, name, contactDetails, borrowedBooks.
b. Methods: borrowBook(), returnBook(), payFine().
4. Class: Librarian (inherits from Member)
a. Attributes: employeeID.
b. Methods: addBook(), issueBook(), collectFine().
5. Class: Transaction
a. Attributes: transactionID, bookID, memberID, issueDate, returnDate.
b. Methods: calculateFine().

1. Use Case Diagram:

Shows the interaction between users and the system.

• Actors: Member, Librarian.


• Use Cases: Borrow Book, Return Book, View Book Details, Manage Members,
Calculate Fine.

2. Sequence Diagram:

Illustrates the sequence of operations in issuing a book.

Example:

1. Member searches for a book.


2. Librarian checks book availability.
3. Librarian issues the book and records the transaction.

Design Principles Applied:

1. Encapsulation: Each class has private attributes with public getter and setter
methods.
2. Inheritance: Librarian inherits from Member to reuse common attributes and
methods.
3. Polymorphism: Overloaded methods can handle different user interactions (e.g.,
issuing or reserving books).

Conclusion:

This OOAD-based design provides a modular, scalable, and maintainable Library


Management System. The classes and their relationships align with real-world entities and
actions in a library. The UML diagrams help visualize system structure and interactions,
aiding implementation.

You might also like