Chapter 1, 2 & 7 → 4 MCQs + 4 True/False = 4 Marks
Chapter 5 & 6 → 2 Short Questions = 8 Marks
Chapter 1 Or 2 → 1 Long Question = 8 Marks
Chapter 3 → 1 Case Study Question = 10 Marks
Online Library Management System
A college library wants to automate its book lending system.
Students can register in the system using their student ID and name. After registration, students can search for books by title or author. Each book has a unique book ID, title, author, and availability status.
If a book is available, a student can borrow it. The system records the borrow date and due date. A student can return a borrowed book. When a book is returned, the system updates its availability.
The librarian can add new books to the system and remove books if necessary.
a) Identify any FIVE main classes from the requirements. (2 marks)
b) Draw a Class Diagram showing: classes, attributes, and relationships. (3 marks)
c) Draw ONE of the following diagrams (choose any one). (3 marks)
d) Identify TWO artifacts in this system and briefly explain them. (2 marks)
Main classes usually come from important nouns that:
You only need any five strong candidates—focus on obvious, high-signal nouns.
“System records borrow date and due date” strongly implies a record entity:
This class links Student and Book and stores borrow/due dates.
Model answer (one good set of five):
Do not over-design. Keep it clean and readable.
Draw 5 boxes using standard UML class format:
Exam tip: Ensure all 5 identified classes are present.
Student: studentId, name
Book: bookId, title, author, availabilityStatus
BorrowRecord: borrowDate, dueDate
Librarian: librarianId (optional), name (optional)
Rule: Prefer attributes explicitly mentioned.
Tip: Multiplicities must be logical and consistent.
availabilityStatus as Book attribute (simple exam choice)
Nouns -> Classes: Identify the key entities handling data (Student, Book, Librarian, System).
Verbs -> Relationships: "Student can borrow it" = Relationship between Student and Book.
Hidden Transactions: "The system records the borrow date" indicates a transaction class is needed (BorrowRecord) to hold that specific data.
Click to enlarge
Exam hack: pick the diagram type you can finish cleanly in 10 minutes.
Include the key decision: Is the book available? and show the system response.
Look for "Who": The paragraph mentions "Students can register...", "student can borrow...", and "The librarian can add...". These become your Actors.
Look for "What they do": verbs associated with those actors: register, search, borrow, return, add books, remove books. These become your Use Cases.
Click to enlarge
Break down the specific sentence: "If a book is available, a student can borrow it... The system records... When a book is returned, the system updates..."
1. Pre-condition: Student requests a book.
2. Condition/Decision: "If a book is available" -> Creates your diamond decision node.
3. True Branch: "student can borrow it" + "system records borrow date...".
4. False Branch: Implicit in the word "If". If not available, show an error.
Click to enlarge
An artifact is a physical / deployable implementation piece of the system (something you can install, run, or deploy). Artifacts are not UML classes like Student/Book.
Pick two artifacts that are:
Safest pair: Database + Library Management Application
QR-Based Campus Event Check-in System
A university wants a simple system to manage entry for campus events (seminars, workshops, sports).
An organizer creates an event with an event ID, title, date/time, and venue. Students register for an event using their student ID and name. After registration, the system generates a unique QR ticket for the student.
On event day, a staff member uses a mobile check-in app to scan a student’s QR ticket at the gate. The system validates the ticket (correct event, not expired, not already used). If valid, the system marks the student as checked-in and records the check-in time. If invalid, the system rejects entry and shows the reason (wrong event, already checked-in, or invalid QR).
The organizer can view a live check-in count and download an attendance list after the event.
a) Identify any FIVE main classes from the requirements. (2 marks)
b) Draw a Class Diagram showing: classes, attributes, and relationships. (3 marks)
c) Draw ONE of the following diagrams (choose any one). (3 marks)
d) Identify TWO artifacts in this system and briefly explain them. (2 marks)
Main classes usually come from nouns that:
For full marks include: one role + one core object + one record (transaction).
Nouns: Organizer, Event, Student, Ticket, Staff, Check-in time
Verbs: create, register, generate, scan, validate, mark, view, download
“Records the check-in time” + “not already used” implies:
Event: eventId, title, dateTime, venue
Student: studentId, name
Ticket: ticketId, qrCodeValue, status
CheckInRecord: checkInTime, result, rejectReason (optional)
Nouns -> Classes: Entities holding data (Event, Student, Ticket, Organizer).
Verbs -> Relationships: "Organizer creates an event" = Relationship Organizer to Event.
Hidden Transactions: "system records the check-in time" hints a transaction class is heavily needed (CheckInRecord) to log usage.
Click to enlarge
Note: 0..1 check-in record matches “not already used”.
Minimum: include the validation decision (valid vs invalid) and show system response.
Look for "Who": Mentions of "organizer creates", "Students register", and "staff member uses" -> Identify the 3 Actors.
Look for "What they do": match verbs directly to the Actors: register, check-in, create event, view count, download list. These are your Use Cases.
Click to enlarge
Follow the procedural sentence: "A staff member uses... app to scan a student's QR ticket... The system validates the ticket... If valid, the system marks... If invalid, the system rejects..."
1. Trigger: Staff scans QR.
2. Condition/Decision: "validates the ticket" -> leads to "Is Valid?" diamond.
3. True Branch: "marks the student as checked-in and records...".
4. False Branch: "rejects entry and shows the reason".
Click to enlarge
Use the deployable test: if you can install/run/deploy it, it’s an artifact.