Publishing Key Questions & Answers
UCSC இல் BIT பாடநெறிகளுக்காக அதிகாரப்பூர்வமாக பதிவுசெய்யப்பட்ட கற்பித்தல் நிறுவனம்.
Object-Oriented Analysis & Design Interactive UML Reference
Note: Any changes or updates after the in-class discussion will be formally published here.
UCSC - BIT Academic Year 2025 – 2nd Year Examination – Semester 3
Subject : IT3106 – Object Oriented Analysis & Design
Disclaimer: Always verify yourself before answer final qustion paper
This diagram visualizes the interactive modules of the system and identifies primary internal and external actors.
flowchart LR
subgraph Primary [Primary Actors]
direction TB
Cust([Customer])
Wait([Waiter])
end
subgraph System [Restaurant Management System]
direction TB
MR(Make Reservation)
CR(Cancel Reservation)
CTA(Check Table Availability)
CO(Create Order)
ModO(Modify Order)
SO(Send Order to Kitchen)
UOS(Update Order Status)
VOS(View Order Status)
GB(Generate Bill)
CT(Calculate Tax)
AD(Apply Discount)
RP(Record Payment)
GDR(Generate Daily Report)
GMR(Generate Monthly Report)
end
subgraph Secondary [Secondary Actors]
direction TB
Rec([Receptionist])
Chef([Chef])
Cash([Cashier])
Mgr([Manager])
end
%% Left Actor Connections
Cust --- MR
Cust --- CR
Cust --- CO
Cust --- ModO
Wait --- CO
Wait --- ModO
Wait --- SO
Wait --- VOS
Wait --- GB
%% Includes & Extends
MR -.->|«include»| CTA
GB -.->|«include»| CT
GB -.->|«include»| AD
CO -.->|«include»| SO
CR -.->|«extend»| MR
ModO -.->|«extend»| CO
%% Right Actor Connections
MR --- Rec
CTA --- Rec
UOS --- Chef
GB --- Cash
RP --- Cash
GDR --- Mgr
GMR --- Mgr
classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px;
classDef actor fill:#e1d5e7,stroke:#9673a6,stroke-width:1px;
classDef hidden fill:none,stroke:none;
class Cust,Wait,Rec,Chef,Cash,Mgr actor;
class Primary,Secondary hidden;
This diagram shows the core object-oriented structures, including distinct entities, properties, methods, and relationships mapping the database structure.
classDiagram
direction LR
class Customer {
+String customerID
+String name
+String phone
+updateProfile()
}
class Reservation {
+String reservationID
+Date date
+Time time
+String status
+makeReservation()
+modifyReservation()
+cancelReservation()
}
class Table {
+String tableID
+int capacity
+String status
+checkAvailability()
+updateStatus()
}
class Order {
+String orderID
+DateTime orderTime
+String status
+createOrder()
+modifyOrder()
+updateStatus()
}
class OrderItem {
+int quantity
+float subtotal
+calculateSubtotal()
}
class MenuItem {
+String itemID
+String name
+float price
+updatePrice()
}
class Bill {
+String billID
+float totalAmount
+float tax
+float discount
+generateBill()
+calculateTotal()
}
class Payment {
+String paymentID
+float amount
+String paymentMethod
+processPayment()
}
class Employee {
+String employeeID
+String name
+String role
+login()
}
Customer "1" -- "0..n" Reservation : makes
Reservation "1" -- "1" Table : for
Table "1" -- "0..n" Order : has
Order "1" *-- "1..n" OrderItem : contains
OrderItem "0..n" -- "1" MenuItem : references
Order "1" -- "1" Bill : generates
Bill "1" -- "1" Payment : settled by
Employee "1" -- "0..n" Order : handles
sequenceDiagram
autonumber
actor Customer
actor Waiter
participant System
actor Kitchen
Customer->>Waiter: Request Place Order
activate Waiter
Waiter->>System: Create Order()
activate System
System->>System: Validate Details
System->>Kitchen: Send Ticket
activate Kitchen
Kitchen->>System: Update (Preparing)
Kitchen->>System: Update (Ready)
System->>Waiter: Notify Serving
deactivate Kitchen
deactivate System
Waiter->>Customer: Serve Food
deactivate Waiter
sequenceDiagram
autonumber
actor Waiter
participant System
actor Cashier
Waiter->>System: Request Bill()
activate System
System->>System: Calc Subtotals
System->>System: Calc Tax
opt Applies
System->>System: Calc Discount
end
System->>Cashier: Display Bill
activate Cashier
Cashier->>System: Record Payment()
System-->>Cashier: Confirm Success
deactivate Cashier
deactivate System
flowchart TD
Start([Start]) --> ER[Receive Reservation Request]
ER --> CTA[Check Availability in System]
CTA --> Check{"Is Table Available?"}
Check -->|Yes| CF[Confirm Reservation]
Check -->|No| SNA[Suggest Alternatives]
SNA --> Alt{"Accept Alternative?"}
Alt -->|Yes| ER
Alt -->|No| Cancel[Cancel Request]
CF --> SR[Save to Database]
SR --> End([End])
Cancel --> End
flowchart TD
Start([Start]) --> TO[Take Customer Order]
TO --> EO[Enter in System]
EO --> Val{"Order Valid?"}
Val -->|No| MO[Modify Order]
MO --> EO
Val -->|Yes| SK[Send to Kitchen]
SK --> PF[Chefs Prepare]
PF --> US[Update to Ready]
US --> SF[Serve Customer]
SF --> CB{"More Items?"}
CB -->|Yes| TO
CB -->|No| GB[Generate Bill]
GB --> RP[Receive Payment]
RP --> End([End])
stateDiagram-v2
[*] --> New : Created by Waiter
New --> Confirmed : System Validates
New --> Cancelled : Customer Cancels
Confirmed --> Preparing : Chef Accepts
Preparing --> Ready : Cooking Finished
Preparing --> Cancelled : Issue/Shortage
Ready --> Served : Waiter Delivers
Served --> Closed : Payment Received
Closed --> [*]
Cancelled --> [*]
stateDiagram-v2
[*] --> Available
Available --> Reserved : Customer Books
Reserved --> Occupied : Customer Arrives
Reserved --> Available : No-show / Cancelled
Available --> Occupied : Walk-in Customer
Occupied --> Cleaning : Customer Leaves
Cleaning --> Available : Table Cleaned
Based on the structure and standard of past IT3106 examination papers, here are sample exam questions formatted specifically for the Use Case domain of the Shashi Restaurant Case Study.
(a) Identify four (4) potential primary system Actors for the proposed Shashi Restaurant Management System.
(04 Marks)
(b) Identify one (1) external system Actor that might interact with the system during the billing or checkout process.
(02 Marks)
(a) Identify three (3) Use Cases that are the direct responsibilities of the Waiter actor in the system.
(06 Marks)
(b) List four (04) relevant Use Cases for the Manager actor in the proposed system.
(04 Marks)
Consider the billing and ordering process of the Shashi Restaurant.
(a) Identify a situation in the system that
represents an <<include>>
relationship and explain why it is an include relationship.
(03 Marks)
Generate Bill
<<include>> Calculate Tax.(b) Identify a situation in the system that
represents an <<extend>>
relationship and explain why it is an extend relationship.
(03 Marks)
Modify Order
<<extend>> Create Order.(a) Reservation Module: Draw a Use Case diagram segment (with extend, include, and generalization relationships if applicable) specifically for the Table Reservation and Management module of the restaurant. Ensure to include the relevant actors (e.g., Receptionist, Customer).
(08 Marks)
Customer & Receptionist
interacting with Make Reservation,
Cancel Reservation,
and Check Table Availability.
Make Reservation
has an <<include>> dotted line pointing to
Check Table Availability.
Cancel Reservation
has an <<extend>> dotted line pointing to
Make Reservation.
(b) Order and Kitchen Module: Draw a complete Use Case model diagram (including extend, include relationships) for the Order Processing scenario. Include actors such as Waiter, Chef, and Customer, demonstrating the flow from taking the order to serving the food.
(12 Marks)
Customer, Waiter, and
Chef interacting with Create Order,
Modify Order,
Send Order to Kitchen,
Update Order Status,
and View Order Status.
Modify Order
extends the base Create Order.
Create Order
includes Send Order to Kitchen.
"During peak hours, if a customer wishes to modify an order, the waiter must inform the kitchen..."
(a) Identify the problem domain objects (entities) which need to interact in the Modify Order scenario.
(04 Marks)
Order,
OrderItem,
Table,
Employee (Waiter/Chef),
and MenuItem.
(b) Draw a Use Case segment showing the
relationships between the Create Order, Modify Order, and Update Order Status Use
Cases.
(06 Marks)
Note: State any logical assumptions you make when answering the drawing portions.