Library management system
Usecase diagram
@startuml
actor Student
actor Librarian
rectangle "LibrarySystem"{
Student -- (Search Book)
Student -- (Borrow Book)
Student -- (Return Book)
Student -- (Reserve Book)
Librarian -- (Add Book)
Librarian--(RemoveBook)
Librarian -- (Issue Book)
Librarian--(ReceiveReturnedBook)
(Update Book Info) <-- Librarian
@enduml
Class diagram
@startuml
class Book {
-bookID:int
-title:string
-author:string
-status:string
+getDetails()
}
Class Member {
-memberID:int
-name:string
+searchBook()
+borrowBook()
+returnBook()
Class Librarian {
-employeeID:int
-name:string
+addBook()
+removeBook()
+issueBook()
+receiveBook()
Class Library{
-bookList: List<Book>
-memberList: List<Member>
+manageBooks()
+manageMembers()
Library --> Book
Library--> Member
Librarian--> Book
Member --> Book
@enduml
Sequence diagram
@startuml
actor Student
Participant "Library System" as Library
participant Librarian
participant Book
Student--> Library: Request Issue Book
Library--> Librarian: Verify Request
Librarian -> Book: Check Availability
Book --> Librarian: Status Available
Librarian -> Library: Confirm Issue
Library -> Student: Book Issued
@enduml
Collaboration diagram
@startuml
skinparam linetype ortho
skinparam dpi 150
skinparam object {
BackgroundColor White
BorderColor Black
FontSize 12
' Layout optimization for A4 readability
left to right direction
object Student
object LibrarySystem
object Librarian
object BookDatabase
Student -> LibrarySystem : 1. requestIssue(bookID)
LibrarySystem -> Librarian : 2. verifyStudent(studentID)
Librarian -> BookDatabase : 3. checkAvailability(bookID)
BookDatabase --> Librarian : 4. returnAvailability()
Librarian -> LibrarySystem : 5. approveIssue()
LibrarySystem -> BookDatabase : 6. updateStatus("Issued")
LibrarySystem --> Student : 7. confirmIssue()
@enduml
Activity diagram
@startuml
start
:Login;
:Search Book;
if (Book Available?) then (yes)
:Request Issue;
:Verify Member;
:Update Book Status;
:Confirm Issue;
else (no)
:Display Not Available;
endif
stop
@enduml
State diagram
@startuml
[*] --> Available
Available --> Issued : Book Issued
Issued --> Returned : Book Returned
Available --> Reserved : Book Reserved
Reserved --> Issued : Reserved Book Issued
Returned --> Available
@enduml
Deployment diagram
@startuml
node "Client Machine" {
component "Student Portal"
component "Librarian Portal"
node "Library Server" {
artifact "Library Application"
database "Library DB"
"Client Machine" --> "Library Server" : HTTP Request
"Library Server" --> "Library DB" : SQL Queries
@enduml
Component diagram
@startuml
node "Client Machine" {
component "Student Portal"
component "Librarian Portal"
node "Library Server" {
artifact "Library Application"
database "Library DB"
"Client Machine" --> "Library Server" : HTTP Request
"Library Server" --> "Library DB" : SQL Queries
@enduml
Use Case Diagram
@startuml
title Library Management System - Use Case
actor Librarian
actor Student
rectangle "Library System" {
Librarian --> (Add/Update Books)
Librarian --> (Issue Book)
Librarian --> (Return Book)
Student --> (Search Book)
Student --> (Request Issue)
Student --> (Return Book)
@enduml
🟩 Class Diagram
@startuml
title Library Management System - Class Diagram
class Book {
+bookID
+title
+author
+status
class User {
+userID
+name
+email
class Librarian {
+issueBook()
+returnBook()
+addBook()
class Student {
+searchBook()
+requestIssue()
class Transaction {
+transactionID
+issueDate
+returnDate
+updateStatus()
User <|-- Librarian
User <|-- Student
Book --> Transaction
User --> Transaction
@enduml
🟨 Activity Diagram
@startuml
title Library System - Book Issue Activity
start
:Login;
:Search Book;
if (Book Available?) then (yes)
:Request Issue;
:Verify Member;
:Update Book Status;
:Confirm Issue;
else (no)
:Display "Not Available";
endif
stop
@enduml
🟧 Sequence Diagram
@startuml
title Library System - Book Issue Sequence
actor Student
participant Library
participant Database
Student -> Library: Login
Library -> Database: Verify User
Student -> Library: Search Book
Library -> Database: Check Availability
Database --> Library: Book Available
Student -> Library: Request Issue
Library -> Database: Update Status
Library --> Student: Issue Confirmed
@enduml
🟫 Component Diagram
@startuml
title Library System - Component Diagram
skinparam componentStyle rectangle
[User Interface] --> [Login Module]
[User Interface] --> [Search Module]
[User Interface] --> [Issue Module]
[Login Module] --> [User Database]
[Search Module] --> [Book Database]
[Issue Module] --> [Book Database]
@enduml
🟪 Deployment Diagram
@startuml
title Library System - Deployment Diagram
node "Client PC" {
component "Library App"
node "Server" {
component "Library Backend"
database "Book & User Database"
"Library App" --> "Library Backend"
"Library Backend" --> "Book & User Database"
@enduml
✅ Summary
Diagram Type Purpose
Use Case Shows interactions between users and the system
Class Shows system structure and relationships
Activity Shows workflow of processes
Sequence Shows interaction order over time
Component Shows modular structure of the system
Deployment Shows hardware and software setup
Use Case Diagram
@startuml
title ATM System - Use Case
actor Customer
actor Bank
rectangle "ATM System" {
Customer --> (Insert Card)
Customer --> (Enter PIN)
Customer --> (Withdraw Cash)
Customer --> (Deposit Cash)
Customer --> (Check Balance)
Bank --> (Update Account)
@enduml
🟩 Class Diagram
@startuml
title ATM System - Class Diagram
class ATM {
+verifyPIN()
+processTransaction()
class Card {
+validateCard()
class Account {
+deposit()
+withdraw()
+checkBalance()
class Transaction {
+execute()
class Customer {
+insertCard()
+enterPIN()
Customer --> Card
Card --> Account
Account --> Transaction
ATM --> Transaction
@enduml
🟨 Activity Diagram
@startuml
title ATM - Cash Withdrawal Activity
start
:Insert Card;
:Enter PIN;
if (Valid PIN?) then (yes)
:Select Withdraw;
:Enter Amount;
if (Enough Balance?) then (yes)
:Dispense Cash;
:Print Receipt;
else (no)
:Show "Insufficient Balance";
endif
else (no)
:Show "Invalid PIN";
endif
:Remove Card;
stop
@enduml
🟧 Sequence Diagram
@startuml
title ATM - Withdrawal Sequence
actor Customer
participant ATM
participant Bank
Customer -> ATM: Insert Card
ATM -> Customer: Request PIN
Customer -> ATM: Enter PIN
ATM -> Bank: Verify PIN
Bank --> ATM: Valid
Customer -> ATM: Withdraw Request
ATM -> Bank: Check Balance
Bank --> ATM: OK
ATM -> Customer: Dispense Cash
ATM -> Bank: Update Account
@enduml
🟫 Component Diagram
@startuml
title ATM - Component Diagram
skinparam componentStyle rectangle
[User Interface] --> [Transaction Controller]
[Transaction Controller] --> [Bank Server]
[Transaction Controller] --> [Card Reader]
[Transaction Controller] --> [Cash Dispenser]
[Bank Server] --> [Account Database]
@enduml
🟪 Deployment Diagram
@startuml
title ATM - Deployment Diagram
node "ATM Machine" {
component "ATM Software"
component "Card Reader"
component "Cash Dispenser"
node "Bank Server" {
component "Bank Application"
database "Account Database"
"ATM Software" --> "Bank Application"
"Bank Application" --> "Account Database"
@enduml
@startuml
title Student Information Management System - Use Case
actor Admin
actor Student
actor Teacher
rectangle "SIMS" {
Admin --> (Add/Update Student Record)
Admin --> (Generate Reports)
Teacher --> (View Student Details)
Teacher --> (Update Marks)
Student --> (View Profile)
Student --> (View Marks)
@enduml
🟩 Class Diagram
plantuml
Copy code
@startuml
title Student Information Management System - Class Diagram
class Student {
+studentID
+name
+email
+course
+viewProfile()
class Teacher {
+teacherID
+name
+updateMarks()
+viewStudents()
class Admin {
+adminID
+addStudent()
+updateRecord()
+generateReport()
}
class Course {
+courseID
+courseName
+credits
class Marks {
+markID
+subject
+score
+grade
Student --> Marks
Student --> Course
Teacher --> Marks
Admin --> Student
@enduml
🟨 Activity Diagram
plantuml
Copy code
@startuml
title SIMS - Student Registration Activity
start
:Login as Admin;
:Enter Student Details;
:Validate Information;
if (Data Valid?) then (yes)
:Save to Database;
:Display "Record Added";
else (no)
:Display "Invalid Data";
endif
stop
@enduml
🟧 Sequence Diagram
plantuml
Copy code
@startuml
title SIMS - Student Record Update Sequence
actor Admin
participant "System" as SYS
participant "Database" as DB
Admin -> SYS: Login
SYS -> DB: Validate Credentials
DB --> SYS: Valid
Admin -> SYS: Update Student Details
SYS -> DB: Update Record
DB --> SYS: Confirmation
SYS --> Admin: "Update Successful"
@enduml
🟫 Component Diagram
plantuml
Copy code
@startuml
title SIMS - Component Diagram
skinparam componentStyle rectangle
[User Interface] --> [Login Module]
[User Interface] --> [Student Module]
[User Interface] --> [Teacher Module]
[User Interface] --> [Admin Module]
[Login Module] --> [User Database]
[Student Module] --> [Student Database]
[Teacher Module] --> [Marks Database]
[Admin Module] --> [Reports Generator]
@enduml
🟪 Deployment Diagram
plantuml
Copy code
@startuml
title SIMS - Deployment Diagram
node "Client Device" {
component "Web/App Interface"
node "Application Server" {
component "SIMS Application"
node "Database Server" {
database "Student Information Database"
"Web/App Interface" --> "SIMS Application"
"SIMS Application" --> "Student Information Database"
@enduml
✅ Summary
Diagram Type Focus
Use Case Interactions among Admin, Teacher, and Student
Class Entities and their relationships
Activity Student registration workflow
Sequence Record update communication flow
Component System modules and databases
Deployment Physical system setup
Use Case Diagram
@startuml
title Matrimony Service System - Use Case
actor Admin
actor User
actor Matchmaker
rectangle "Matrimony Service System" {
User --> (Register Profile)
User --> (Search Matches)
User --> (Send Interest)
Matchmaker --> (Verify Profiles)
Matchmaker --> (Suggest Matches)
Admin --> (Manage Users)
Admin --> (Approve Profiles)
@enduml
🟩 Class Diagram
@startuml
title Matrimony Service System - Class Diagram
class User {
+userID
+name
+age
+gender
+religion
+location
+register()
+searchMatches()
class Matchmaker {
+matchmakerID
+verifyProfile()
+suggestMatches()
class Admin {
+adminID
+approveProfile()
+manageUsers()
class Profile {
+profileID
+details
+status
+updateProfile()
}
class Match {
+matchID
+user1ID
+user2ID
+status
User --> Profile
User --> Match
Matchmaker --> Profile
Admin --> User
@enduml
🟨 Activity Diagram
@startuml
title Matrimony System - Registration Activity
start
:Open Website;
:Fill Registration Form;
:Submit Details;
if (All Fields Valid?) then (yes)
:Save Profile;
:Display "Registration Successful";
else (no)
:Display "Invalid Details";
endif
stop
@enduml
🟧 Sequence Diagram
@startuml
title Matrimony System - Match Search Sequence
actor User
participant "Matrimony System" as MS
participant "Database" as DB
User -> MS: Login
MS -> DB: Validate User
DB --> MS: Valid User
User -> MS: Search Match Criteria
MS -> DB: Fetch Matching Profiles
DB --> MS: List of Matches
MS --> User: Display Results
@enduml
🟫 Component Diagram
@startuml
title Matrimony System - Component Diagram
skinparam componentStyle rectangle
[User Interface] --> [Registration Module]
[User Interface] --> [Search Module]
[User Interface] --> [Match Module]
[Registration Module] --> [User Database]
[Search Module] --> [Profile Database]
[Match Module] --> [Match Database]
[Admin Panel] --> [Verification Module]
[Verification Module] --> [Profile Database]
@enduml
🟪 Deployment Diagram
@startuml
title Matrimony System - Deployment Diagram
node "Client Device" {
component "Web/Mobile App"
node "Application Server" {
component "Matrimony Service Application"
node "Database Server" {
database "User and Match Database"
}
"Web/Mobile App" --> "Matrimony Service Application"
"Matrimony Service Application" --> "User and Match Database"
@enduml
✅ Summary
Diagram Type Description
Use Case Shows roles: Admin, User, Matchmaker
Class Defines key entities and their relationships
Activity Steps in the registration process
Sequence Flow for searching a match
Component Structure of system modules
Deployment Physical setup of web, app, and database servers
Use Case Diagram
@startuml
title Stock Management System - Use Case
actor Admin
actor Employee
rectangle "Stock Management System" {
Admin --> (Add/Update Stock)
Admin --> (Generate Reports)
Employee --> (Check Stock)
Employee --> (Request Stock)
Admin --> (Approve Stock Request)
@enduml
🟩 Class Diagram
@startuml
title Stock Management System - Class Diagram
class Product {
+productID
+name
+quantity
+price
+updateStock()
class StockRequest {
+requestID
+productID
+quantity
+status
+approveRequest()
class Employee {
+employeeID
+name
+checkStock()
+requestStock()
class Admin {
+adminID
+addProduct()
+approveRequest()
+generateReport()
Product --> StockRequest
Employee --> StockRequest
Admin --> Product
@enduml
🟨 Activity Diagram
@startuml
title SMS - Stock Request Activity
start
:Employee Login;
:Select Product;
:Enter Quantity;
:Submit Request;
if (Request Valid?) then (yes)
:Send to Admin;
:Admin Approves;
:Update Stock;
:Display "Request Approved";
else (no)
:Display "Request Denied";
endif
stop
@enduml
🟧 Sequence Diagram
@startuml
title SMS - Stock Request Sequence
actor Employee
participant "SMS System" as SMS
participant "Database" as DB
participant Admin
Employee -> SMS: Login
SMS -> DB: Validate User
DB --> SMS: Valid
Employee -> SMS: Submit Stock Request
SMS -> Admin: Notify Request
Admin -> SMS: Approve Request
SMS -> DB: Update Stock
DB --> SMS: Confirmation
SMS --> Employee: Display Approval
@enduml
🟫 Component Diagram
@startuml
title SMS - Component Diagram
skinparam componentStyle rectangle
[User Interface] --> [Login Module]
[User Interface] --> [Stock Module]
[User Interface] --> [Request Module]
[Admin Panel] --> [Stock Management Module]
[Stock Module] --> [Product Database]
[Request Module] --> [Request Database]
[Stock Management Module] --> [Product Database]
@enduml
🟪 Deployment Diagram
@startuml
title SMS - Deployment Diagram
node "Client Machine" {
component "Web/App Interface"
node "Application Server" {
component "Stock Management Application"
node "Database Server" {
database "Product & Request Database"
"Web/App Interface" --> "Stock Management Application"
"Stock Management Application" --> "Product & Request Database"
@enduml
✅ Summary
Diagram Type Focus
Use Case Interactions between Admin and Employee
Class Entities: Product, Employee, StockRequest, Admin
Activity Steps for submitting and approving stock requests
Sequence Communication flow for stock request process
Component Modules like login, stock, request, admin panel
Deployment Physical deployment of client, server, and database