Ooad Record - 1
Ooad Record - 1
STUDENT NAME :
REGISTER :
NUMBER
APRIL 2025
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY
FACULTY OF SCIENCE AND HUMANITIES
DEPARTMENT OF COMPUTER APPLICATIONS
SRM Nagar, Kattankulathur – 603 203
CERTIFICATE
lab in SRM Institute of Science and Technology during the academic year 2024-2025.
1 ATM system
3 Quiz System
Ex No :
Date :
AIM
ALGORITHM
Actors represent entities that interact with the system. For an ATM system, the actors are:
Use cases describe the interactions or services provided by the system. For the ATM system, the
use cases are:
Draw actors: Place actors (Client, ATM, System/Bank) outside the system boundary.
Draw use cases: Inside the system boundary, use ovals for each use case.
Connect: Draw lines between actors and relevant use cases.
Use <<include>> for mandatory steps (e.g., Check PIN/Card before transactions).
Use <<extend>> for optional actions (e.g., Cancel Transaction).
Step 6: Review
Ensure all actors are correctly linked to the relevant use cases
CLASS DIAGRAM
1. ATM:
o Attributes: ATMID, location, currentBalance
o Methods: validateCard(), deposit(), withdraw()
2. Client:
oAttributes: clientID, cardNumber, PIN
oMethods: enterPIN(), requestTransaction()
3. BankAccount:
o Attributes: accountNumber, balance
o Methods: getBalance(), deposit(), withdraw()
4. Transaction:
o Attributes: transactionID, type, amount
o Methods: execute(), cancel()
5. Bank:
o Attributes: bankName, bankID
o Methods: processTransaction(), verifyPIN()
Step 5: Finalize
ACTIVITY DIAGRAM
For an ATM system, the typical process flow involves a client performing transactions like
withdrawing money or checking their balance. The steps can include:
1. Insert Card
2. Enter PIN
3. Select Transaction
4. Process Transaction (Deposit, Withdraw, Check Balance, etc.)
5. End Transaction
Each process involves several activities. Common activities for an ATM system include:
Insert Card
Validate Card
Enter PIN
Validate PIN
Select Transaction Type
Perform Transaction (Withdraw, Deposit, etc.)
Check Balance
Print Receipt
End Session
1. Start Node: Draw a solid black circle to represent the start of the activity.
2. Actions/Activities: Draw rounded rectangles for each activity (e.g., Insert Card, Enter
PIN, Withdraw Money).
3. Decision Points: Represent decisions with diamonds. Label the outcomes with arrows
(e.g., Yes/No, Valid/Invalid).
4. Flow Arrows: Use arrows to show the flow between activities.
5. End Node: Draw a solid black circle with a ring around it to represent the end of the
process.
SEQUENCE DIAGRAM
Client
ATM
Bank System
Outline the sequence of interactions between the participants. Typical interactions for an ATM
transaction include:
1. Lifelines: Draw vertical dashed lines for each participant (Client, ATM, Bank System).
2. Activation Bars: Use rectangles to represent the active period of each participant during
the interaction.
3. Messages: Draw horizontal arrows to represent messages or actions:
o From Client to ATM: Insert Card, Enter PIN, Select Transaction.
o From ATM to Bank System: Validate PIN, Process Transaction, Update
Account.
o Responses from ATM back to Client: Display Receipt, Confirm Transaction.
Ensure that the sequence accurately reflects the flow of interactions. Check for the correct order
of messages and that all necessary interactions are included.
RESULT:
PAYROLL MANAGEMENT SYSTEM
Ex No :
Date :
AIM
ALGORITHM
Place actors on the diagram and position use cases in the center.
Draw lines connecting actors to their use cases.
Include relationships like «extend» and «include» where appropriate for refining use
cases.
CLASS DIAGRAM
Show multiplicity (e.g., "1 Employee to many TimeCards") and label the
relationships.
ACTIVITY DIAGRAM
Add decision nodes (e.g., verification of time card) and finish with an end node.
SEQUENCE DIAGRAM
Draw the objects and lifelines vertically, with arrows representing the messages
exchanged.
Add activation bars to show when an object is active and processing a request
RESULT:
QUIZ SYSTEM
Ex No :
Date :
AIM
ALGORITHM
Actors:
o Participant
o Quiz Master
Use Cases:
o Registration
o Prepare Questions
o Participation
o Scoring
o Report
Relationships:
o Participant interacts with:
Registration (create account)
Participation (take quiz)
o Quiz Master interacts with:
Prepare Questions (create/edit questions)
Scoring (evaluate quiz)
Report (generate results)
Ensure all use cases and relationships are accurately represented. Check for any
missing interactions or actors.
CLASS DIAGRAM
Classes:
o Participant
o QuizMaster
o Quiz
o Question
o Score
o Report
Participant:
o Attributes: name, email
o Methods: register(), participate()
QuizMaster:
o Attributes: name, email
o Methods: prepareQuestions(), scoreQuiz(), generateReport()
Quiz:
o Attributes: title, questions[]
o Methods: start(), end()
Question:
o Attributes: text, options[], correctAnswer
o Methods: validateAnswer()
Score:
o Attributes: participantId, quizId, points
o Methods: calculateScore()
Report:
o Attributes: quizId, results[]
o Methods: generateReport()
Relationships:
o Participant (1) ↔ (0..*) Score
o QuizMaster (1) ↔ (0..*) Quiz
o Quiz (1) ↔ (0..*) Question
o Score (1) ↔ (1) Participant and Quiz
Represent each class with a box, showing attributes and methods. Use lines to depict
relationships, including multiplicity.
Step 5: Review and Refine
Verify that all necessary classes, attributes, methods, and relationships are included
and accurate.
ACTIVITY DIAGRAM
Activities:
o Registration
o Prepare Questions
o Participation
o Scoring
o Reporting
Ensure the flow accurately represents all activities and decisions, checking for logical
progression.
SEQUENCE DIAGRAM
Objects:
o Participant
o QuizMaster
o Quiz
o Question
o Score
o Report
Step 2: Define Interactions
Example interactions:
o Participant registers → QuizMaster confirms.
o QuizMaster prepares questions → System saves questions.
o Participant answers questions → System submits answers.
o QuizMaster calculates scores → System saves scores.
o QuizMaster generates report → System displays report.
Place objects horizontally and draw vertical dashed lines (lifelines) for each.
Use arrows to represent messages exchanged between objects, indicating the order of
interactions.
Ensure that the sequence and timing of interactions make sense and are complete.
RESULT:
STOCK MAINTENANCE SYSTEM
Ex No :
Date :
AIM
ALGORITHM
Actors:
o Customer
o Agent
o Stock Person
Use Cases:
o Make Order
o Collect Company’s Customer Information
o Check for Customer Records
o Verify Product Order
o Update Billing
o Receive Packing Order
o Retrieve Stock
o Delivery
Relationships:
o Customer interacts with:
Make Order
Collect Company’s Customer Information
Check for Customer Records
o Agent interacts with:
Verify Product Order
Update Billing
Receive Packing Order
Delivery
o Stock Person interacts with:
Retrieve Stock
Step 4: Draw Diagram
Create a diagram:
o Place actors outside the system boundary.
o List use cases inside the boundary.
o Connect actors to relevant use cases with lines.
Ensure all use cases and relationships are accurately represented and check
for any missing interactions.
CLASS DIAGRAM
Classes:
o Customer
o Agent
o StockPerson
o Order
o CustomerRecord
o Billing
o PackingOrder
o Stock
Customer:
o Attributes: name, contactInfo
o Methods: makeOrder(), collectCustomerInfo()
Agent:
o Attributes: name, agentId
o Methods: verifyProductOrder(), updateBilling(),
receivePackingOrder(), deliver()
StockPerson:
o Attributes: name, employeeId
o Methods: retrieveStock()
Order:
o Attributes: orderId, productDetails, status
o Methods: createOrder(), checkOrderStatus()
CustomerRecord:
o Attributes: customerId, recordDetails
o Methods: checkRecords()
Billing:
o Attributes: billingId, amount
o Methods: generateInvoice()
PackingOrder:
o Attributes: packingId, orderId
o Methods: createPackingOrder()
Stock:
o Attributes: productId, quantity
o Methods: updateStock(), checkStock(
Step 3: Define Relationships
Relationships:
o Customer (1) ↔ (0..*) Order
o Agent (1) ↔ (0..*) PackingOrder
o StockPerson (1) ↔ (0..*) Stock
o Order (1) ↔ (1) CustomerRecord
o Billing (1) ↔ (1) Order
Create class boxes with attributes and methods. Use lines to depict relationships,
including multiplicity.
Verify that all classes, attributes, methods, and relationships are included and
accurate.
ACTIVITY DIAGRAM
Activities:
o Make Order
o Collect Customer Information
o Check Customer Records
o Verify Product Order
o Update Billing
o Receive Packing Order
o Retrieve Stock
o Delivery
Ensure the flow accurately captures all activities and decision points, checking for
logical progression
SEQUENCE DIAGRAM
Objects:
o Customer
o Agent
o StockPerson
o Agent Database
o CustomerDatabase
o Stock Database
o Shipping Agents
o Accountant Database
o Purchase Database
Example interactions:
o Customer makes an order → Agent verifies product → Agent updates billing
→ StockPerson retrieves stock → Delivery is made.
Use arrows to represent messages exchanged between objects, indicating the order of
interactions.
Ensure that the sequence and timing of interactions are logical and complete.
RESULT:
PASSPORT REGISTRATION SYSTEM
Ex.No :
Date :
AIM
ALGORITHM
Actors:
o Applicant
o Administrator
Use Cases:
o Registration
o Check Status
o Process Application
o Dispatch Passport
Relationships:
o Applicant interacts with:
Registration
Check Status
o Administrator interacts with:
Process Application
Dispatch Passport
Create a diagram:
o Place actors (Applicant, Administrator) outside the system boundary.
o List use cases (Registration, Check Status, Process Application, Dispatch
Passport) inside the boundary.
o Connect actors to relevant use cases with lines.
Ensure all use cases and relationships are accurately represented and check for any
missing interactions.
CLASS DIAGRAM
Classes:
o Applicant
o Administrator
o Application
o Passport
o Status
Applicant:
o Attributes: name, contactInfo, applicationId
o Methods: register(), checkStatus()
Administrator:
o Attributes: name, adminId
o Methods: processApplication(), dispatchPassport()
Application:
o Attributes: applicationId, applicantId, status
o Methods: submitApplication(), updateStatus()
Passport:
o Attributes: passportId, applicantId, issueDate, expiryDate
o Methods: generatePassport()
Status:
o Attributes: statusId, applicationId, currentStatus
o Methods: getStatus()
Relationships:
o Applicant (1) ↔ (0..*) Application
o Administrator (1) ↔ (0..*) Application
o Application (1) ↔ (1) Passport
o Application (1) ↔ (1) Status
Create class boxes with attributes and methods. Use lines to depict relationships,
including multiplicity.
Verify that all classes, attributes, methods, and relationships are included and
accurate.
ACTIVITY DIAGRAM
Activities:
o Login
o Registration
o Application Form
o Verification
o Enquiry
o Payment
o Getting Passport
Ensure the flow accurately captures all activities and decision points, checking for
logical progression.
SEQUENCE DIAGRAM
Objects:
o Administrator
o System
o Admin Panel
o Database
o Applicant
Example interactions:
o Applicant registers → Administrator processes application → Status is
checked → Passport is dispatched.
Step 3: Arrange Lifelines
Use arrows to represent messages exchanged between objects, indicating the order of
interactions.
Ensure that the sequence and timing of interactions are logical and complete.
RESULT:
STUDENT MARK ANALYSIS SYSTEM
Ex No:
Date:
AIM
ALGORITHM
USE CASE DIAGRAM
Step 1: Identify the Actors
Student: Views grades and subjects.
Staff: Manages students, subjects, marks, and assigns grades.
Step 2: Identify Use Cases
Student Use Cases:
o View subjects
o View marks
o View total marks
o View grade
Staff Use Cases:
o Add/update subjects
o Enter marks
o Calculate total marks
o Assign grade
o Manage student records (add/remove students)
Step 3: Define Relationships
Student interacts with:
o View subjects, marks, total marks, and grade.
Staff interacts with:
o Add subjects, enter marks, calculate total, assign grades, and manage students.
Step 4: Draw the Diagram
Draw Student and Staff as actors.
Add use cases in ellipses inside the system boundary.
Connect the actors to their related use cases.
Step 5: Add Relationships
Use include between related use cases, e.g., “Calculate total” includes “Enter marks.”
Use extend for optional use cases, e.g., “Assign grade” extends “Calculate total.”
CLASS DIAGRAM
Step 1: Identify the Classes
Classes: Student, Staff, Subject, Marks, Total, Grade.
Step 2: Define Attributes and Methods
Student:
o Attributes: studentID, name, totalMarks, grade.
o Methods: viewMarks(), viewTotal(), viewGrade().
Staff:
o Attributes: staffID, name.
o Methods: addStudent(), enterMarks(), assignGrade().
Subject:
o Attributes: subjectID, subjectName.
o Methods: addSubject(), viewSubject().
Marks:
o Attributes: studentID, subjectID, mark.
o Methods: enterMark().
Total:
o Attributes: studentID, totalMarks.
o Methods: calculateTotal().
Grade:
o Attributes: gradeID, grade.
o Methods: assignGrade().
Step 3: Identify Relationships
A Student has many Marks.
Marks are associated with a Subject.
Staff manages Student records and enters Marks.
Total is calculated from Marks.
Step 4: Draw the Diagram
Each class is represented as a box containing its attributes and methods.
Use association lines to show relationships between Student, Marks, Subject, Grade,
and Total.
Step 5: Add Multiplicity and Associations
Example: A Student is associated with many Marks, and each Mark is related to a
specific Subject.
ACTIVITY DIAGRAM
Step 1: Choose a Process
Example: "Calculate and Assign Grades"
Step 2: Define Key Activities
Student: Views total marks and grades.
Staff: Enters marks, calculates total, assigns grades.
Step 3: Sequence the Activities
Staff enters marks → System calculates total → System assigns grades → Student
views marks and grades.
Step 4: Draw the Diagram
Use action nodes for activities: “Enter Marks,” “Calculate Total,” “Assign Grades,”
“View Marks/Grades.”
Connect the nodes with arrows to indicate flow.
Step 5: Add Decision Points
Add a decision point for assigning grades based on the total marks (e.g., "If total > 90,
assign grade A").
SEQUENCE DIAGRAM
Step 1: Pick a Scenario
Example: Staff enters marks, system calculates total, and Student views grade.
Step 2: Identify Objects
Staff, Student, System, Marks, Total, Grade.
Step 3: Define Message Flow
Staff → System: enterMarks()
System → Marks: storeMarks()
System → Total: calculateTotal()
System → Grade: assignGrade()
Student → System: viewGrade()
Step 4: Draw Lifelines
Add vertical lifelines for Staff, Student, System, etc.
Draw arrows between lifelines for each interaction.
Step 5: Add Activation Bars
Activation bars show when an object is processing (e.g., calculating total marks,
assigning grade).
RESULT:
LIBRARY MANAGEMENT SYSTEM
Ex No:
Date:
AIM
ALGORITHM
USE CASE DIAGRAM
Student: The individual who submits ID cards and requests to issue books.
Librarian: The person who verifies ID cards, issues books, and manages the library
system.
Supplier: The external entity that provides books to the library.
Position the Student on the left, Librarian in the middle, and Supplier on the right
side of the rectangle.
Step 5: Connect Actors to Use Cases
Draw ovals for each use case inside the rectangle and connect actors to the relevant use
cases:
o Student connects to:
Submit ID Card
Request to Issue Book
Return the Book
o Librarian connects to:
Verify ID Card
Grant Permission Only if ID Card is Valid
Issue Book
Search the Database for Book
Check Whether the Book is Available or Not
Issue the Book if Available
CLASS DIAGRAM
Student
Librarian
Book
IDCard
Supplier
LibraryDatabase
Student:
o Attributes: name, studentID, submittedIDCard
o Methods: submitIDCard(), requestBook(), returnBook()
Librarian:
o Attributes: librarianID, password
o Methods: verifyIDCard(), grantPermission(), issueBook(), searchDatabase(),
checkAvailability()
Book:
o Attributes: title, author, ISBN, availabilityStatus
o Methods: markAsIssued(), markAsReturned()
IDCard:
o Attributes: idCardNumber, validityStatus
o Methods: verify()
Supplier:
o Attributes: supplierID, name
o Methods: supplyBook()
LibraryDatabase:
o Attributes: books (list of Book objects)
o Methods: searchBook(), updateBookStatus()
Indicate access modifiers for attributes and methods (public +, private -, protected #).
ACTIVITY DIAGRAM
Draw arrows to indicate the flow from one activity to the next.
Step 4: Decision Nodes
Use diamond shapes to represent decisions (valid or invalid ID, availability of the
book).
SEQUENCE DIAGRAM
Student
Librarian
Supplier
Database
Vertical dashed lines for each object representing their existence over time.
Horizontal arrows showing interactions over time, labeled with message names.
Use dashed arrows for responses to indicate the flow of control back to the calling object.
RESULT:
RAILWAY TICKET RESERVATION SYSTEM
Ex No :
Date :
AIM
ALGORITHM
Passenger: Books and cancels tickets, views train details and fares.
Administrator: Updates train details and manages other system functionalities.
CLASS DIAGRAM
Passenger
Administrator
Train
Ticket
Fare
Passenger:
o Attributes: passengerID, name, email, contactNumber
o Methods: reserveTicket(), cancelTicket(), viewFare(), viewTrainDetails()
Administrator:
o Attributes: adminID, name
o Methods: updateTrainDetails()
Train:
o Attributes: trainID, trainName, source, destination, availableSeats
o Methods: updateTrainDetails(), getTrainDetails()
Ticket:
o Attributes: ticketID, passengerID, trainID, fare, reservationStatus
o Methods: reserve(), cancel()
Fare:
o Attributes: fareID, trainID, amount
o Methods: calculateFare()
Example: One Passenger can reserve multiple Tickets, and one Ticket corresponds to
one Train.
ACTIVITY DIAGRAM
Passenger enters journey details, selects train, views fare, confirms booking, and makes
payment.
System reserves the seat and generates the ticket.
Passenger:
1. Log in
2. Select Journey Details (Source & Destination)
3. View Available Trains
4. View Fare
5. Reserve Ticket
6. Make Payment
7. Receive Confirmation
Use action nodes for each activity, connecting them with arrows showing flow from
start to end.
Add a decision point between selecting journey details and confirming reservation
based on seat availability.
SEQUENCE DIAGRAM
Draw vertical lifelines for each object, and use arrows to represent the message flow
between them.
Activation bars show when objects are processing the message, such as the reservation
system verifying the ticket or the payment system processing the refund.
RESULT:
PLACEMENT REGISTRATION SYSTEM
Ex No:
Date:
AIM
ALGORITHM
Applicant
HR
Register
Know Status
Admin Panel
Send Response
Delete Application
Position the Applicant on the left side and HR on the right side of the rectangle.
Applicant
Application
HR
Status
Applicant:
o Attributes: name, rollNumber, email, phone, course, year, cgpa
o Methods: register(), checkStatus()
Application:
o Attributes: applicationID, applicant, status
o Methods: updateStatus(), delete()
HR:
o Attributes: hrID, password
o Methods: login(), sendResponse(), deleteApplication()
Status:
o Attributes: applicationID, currentStatus
o Methods: notifyApplicant()
Indicate access modifiers for attributes and methods (public +, private -, protected #).
ACTIVITY DIAGRAM
For Register:
o Fill out registration form
o Submit application
o Confirmation received
For Know Status:
o Enter email
o Retrieve application status
For Admin Panel:
o HR logs in
o View applications
For Send Response:
o HR selects application
o Update status
o Notify applicant
For Delete Application:
o HR selects application
o Confirm deletion
Draw arrows to indicate the flow from one activity to the next.
SEQUENCE DIAGRAM
Applicant
Application System
HR
For Register:
o Applicant → Application System: register()
o Application System → Applicant: confirmation()
For Know Status:
o Applicant → Application System: checkStatus()
o Application System → Applicant: statusResult()
For Send Response:
o HR → Application System: sendResponse()
o Application System → Applicant: notifyStatus()
For Delete Application:
o HR → Application System: deleteApplication()
o Application System → HR: confirmation()
Step 3: Draw Lifelines
Vertical dashed lines for each object representing their existence over time.
Horizontal arrows showing interactions over time, labeled with message names.
Use dashed arrows for responses to indicate the flow of control back to the calling
object.
RESULT:
EXAM REGISTRATION SYSTEM
Ex.No :
Date :
AIM
ALGORITHM
Use «extend» for the dependency of "Download Hall Ticket" on "Pay Exam Fees".
Use «include» for related tasks like "Submit Student Proof" and "Verify Student Proof"
CLASS DIAGRAM
Student
Education Officer
Proof
Payment
Hall Ticket
Student:
o Attributes: studentID, name, photo, proof, feesPaid
o Methods: enterDetails(), uploadPhoto(), submitProof(), payFees(),
downloadHallTicket()
Education Officer:
o Attributes: officerID, name
o Methods: verifyProof(), issueHallTicket()
Proof:
o Attributes: proofID, proofType, proofStatus
o Methods: submitProof(), verifyProof()
Payment:
o Attributes: paymentID, amount, paymentStatus
o Methods: makePayment()
HallTicket:
o Attributes: ticketID, studentID, issueDate
o Methods: generateTicket()
Example: One Student can submit multiple Proofs, but each Proof is verified by one
Education Officer.
ACTIVITY DIAGRAM
Student enters details, uploads photo, submits proof, pays fees, and downloads hall
ticket.
Education Officer verifies the proof and issues the hall ticket.
Student:
1. Log in
2. Enter Student Details
3. Upload Photo
4. Submit Proof
5. Pay Fees
6. Download Hall Ticket
Education Officer:
1. Verify Proof
2. Issue Hall Ticket
Use action nodes for each activity, connecting them with arrows showing flow from
start to end.
Add a decision point between proof submission and verification. If the proof is valid,
proceed to fees payment; otherwise, request re-submission of proof.
SEQUENCE DIAGRAM
Student, Education System, Payment System, Education Officer, Hall Ticket System
Draw vertical lifelines for each object, and use arrows to represent the message flow
between them.
Activation bars show when objects are processing the message, e.g., when the system
verifies payment and when the officer verifies proof.
RESULT: