Library Management System
Index
S. No Title Page No
1 Problem Definition & Requirement Analysis 2
2 Software Requirement Specification (SRS) 3
3 UML Diagrams 6
3.1 Class Diagram 7
3.2 Component Diagram 8
3.3 Deployment Diagram 9
3.4 Use Case Diagram 10
3.5 Sequence Diagram 11
3.6 Activity Diagram 12
4 Test Plan & Test Cases 13
5 Test Results & Validation 13
6 Conclusion 13
1|Page
EXPERIMENT 1
Title: Problem Definition & Requirement Analysis
1. Aim
To study and apply various Software Engineering steps such as requirement analysis,
Software Requirement Specification (SRS), system design using UML diagrams, and testing
for a Library Management System.
1.2 Problem Statement
The Library Management System (LMS) is designed to automate the working of a library.
The system maintains records of books and members, allows issuing and returning of books,
and calculates fine for late submission.
1.3 Requirement Analysis
Functional Requirements
1. System shall allow librarian to add and remove books.
2. System shall allow members to search books.
3. System shall issue and return books.
4. System shall calculate fine for late return.
Non-Functional Requirements
1. System should be user friendly.
2. System should be secure.
3. System should provide fast response.
2|Page
EXPERIMENT 2
2. Software Requirement Specification (SRS)
Library Management System
2.1 Introduction
2.1.1 Purpose
The purpose of this document is to describe the functional and non-functional requirements
of the Library Management System. This SRS helps developers and users understand system
requirements clearly.
2.1.2 Scope
The Library Management System automates library operations such as book management,
member management, book issue/return, and fine calculation. It reduces manual work and
improves efficiency.
2.1.3 Definitions, Acronyms, and Abbreviations
• LMS – Library Management System
• SRS – Software Requirement Specification
• Librarian – Person managing library operations
2.1.4 References
• IEEE 830 Software Requirement Specification Standard
• Software Engineering textbooks
2.2 Overall Description
2.2.1 Product Perspective
The Library Management System is a standalone application connected to a database that
stores book and member details.
2.2.2 Product Functions
• Add, update, and delete book records
• Search books
• Issue and return books
• Manage library members
• Calculate fines
3|Page
2.2.3 User Classes and Characteristics
User Type Description
Librarian Manages books and members
Member Searches and borrows books
2.2.4 Operating Environment
• Operating System: Windows / Linux
• Programming Language: Java
• Database: MySQL
2.2.5 Design and Implementation Constraints
• Only authorized users can access the system
• System is limited to library premises
2.2.6 Assumptions and Dependencies
• Users have basic computer knowledge
• System requires database availability
2.3 System Features (Functional Requirements)
2.3.1 Login
• User shall log in using valid credentials
• System shall authenticate users
2.3.2 Book Management
• Librarian shall add, update, or delete book details
2.3.3 Search Book
• User shall search books by title, author, or ISBN
2.3.4 Issue Book
• Librarian shall issue books to members
• System shall update book status
2.3.5 Return Book
• Librarian shall return issued books
• System shall calculate fine for late return
4|Page
2.4 External Interface Requirements
2.4.1 User Interface
• Simple and user-friendly interface
• Menu-based navigation
2.4.2 Hardware Interface
• Computer system with keyboard and mouse
2.4.3 Software Interface
• MySQL Database
2.5 Non-Functional Requirements
• Performance: Response time < 2 seconds
• Security: Authorized access only
• Reliability: Data should not be lost
• Usability: Easy for non-technical users
2.6 Other Requirements
• Support future enhancements
• Backup and recovery support
5|Page
3. UML DIAGRAMS
Introduction to UML
• UML (Unified Modeling Language) is a standard visual modeling language used
to design and represent software systems.
• Developed by Grady Booch, Ivar Jacobson, and James Rumbaugh
• Standardized by Object Management Group
UML is not a programming language, it is a design language
Goals of UML
• Provide a standard way to visualize system design
• Help in communication between developers and stakeholders
• Support object-oriented analysis and design (OOAD)
• Reduce complexity using diagrams
• Provide proper documentation
Classification of UML Diagrams
UML diagrams are divided into:
1. Structural Diagrams (Static View)
Describe the structure of the system
2. Behavioral Diagrams (Dynamic View)
Describe the behavior and interaction
6|Page
STRUCTURAL DIAGRAMS
EXPERIMENT 4
1. Class Diagram
✔ Definition:
Represents classes, their attributes, methods, and relationships
✔ Components:
• Class Name (top)
• Attributes (middle)
• Methods/Functions (bottom)
✔ Relationships:
• Association → general relationship
• Inheritance (Generalization) → parent-child
• Aggregation → weak “has-a”
• Composition → strong “has-a”
✔ Example:
Class: Student
Attributes: name, id
Methods: login(), submitAssignment()
✔ Uses:
• Core of object-oriented design
• Database & backend design
7|Page
Class diagram of Library Management System
2. Object Diagram
• Represents instances of classes
• Shows actual data at runtime
• Snapshot of system at a particular moment
Example:
Student1 (name = "Raaj", id = 101)
3. Component Diagram
✔ Definition:
Shows organization of software components
✔ Elements:
• Components (modules)
• Interfaces
• Dependencies
✔ Uses:
8|Page
• Large system architecture
• Microservices / modular systems
4. Deployment Diagram
✔ Definition:
Shows physical deployment of system
✔ Elements:
• Nodes (servers, devices)
• Artifacts (software)
• Connections
✔ Uses:
• Cloud systems
• Distributed systems
9|Page
BEHAVIORAL DIAGRAMS
1. Use Case Diagram
✔ Definition:
Shows interaction between users and system
✔ Elements:
• Actor (user or external system)
• Use Case (functionality)
• System Boundary
✔ Relationships:
• Include → mandatory function
• Extend → optional function
✔ Example:
Actor: User
Use Cases: Login, Register, Upload News
10 | P a g e
2. Sequence Diagram
✔ Definition:
Shows interaction between objects in time order
✔ Elements:
• Lifelines
• Messages (arrows)
• Activation bars
✔ Uses:
• API flow
• Backend logic understanding
11 | P a g e
3. Activity Diagram
✔ Definition:
Represents workflow or process flow
✔ Elements:
• Start / End
• Activities
• Decision nodes
• Fork (parallel execution)
✔ Uses:
• Business processes
• Algorithm flow
12 | P a g e
4. Testing
Test Case ID Input Expected Output
TC01 Valid Book ID Book Issued
TC02 Invalid Book ID Error Message
TC03 Late Return Fine Calculated
5. Result
The Library Management System was successfully analyzed, specified, designed, and tested
using software engineering techniques.
6. Conclusion
This experiment helped in understanding Software Engineering life cycle, SRS
preparation, UML diagrams, and testing using a real-world system.
13 | P a g e