- Học kỳ
- SP2026
- Thời Gian
- 5/5/26
- Loại tài liệu
- PE
- Mã Đề
- SWD392_PE4_SP26_258574
SWD392 SP26 B5 PE RE
Practical Exam: SWD392-SP26
Duration: 85 Minutes
Instructions
. Internet access is NOT permitted during the exam.
. You are allowed to use UML modeling tools in offline mode (as Visual Paradigm,
Visio, Draw.io).
Submission Requirements
. Submit your answer as a single Word file or a .rar/.zip archive. Name your file exactly:
SWD392_PE_SPR26_[StudentID].docx or
SWD392_PE_SPR26_[StudentID].rar
Submissions with incorrect file names may not be graded.
Business Overview
A Tourism Equipment Rental System is developed to support the rental of equipment for
travel and outdoor activities such as camping, trekking, beach tourism, and adventure tours.
The system manages rental items including tents, backpacks, bicycles, motorbikes,
snorkeling gear, and safety equipment. Customers can browse available equipment, make
rental bookings for a specific period, and pay a rental deposit online.
Staff members are responsible for managing equipment inventory, confirming rental
bookings, and inspecting equipment upon return. After the rental period ends, equipment
condition is checked, and additional charges may be applied if damage or loss is detected.
The system automatically updates equipment availability and rental status according to the
rental workflow.
The purpose of this exam is to assess your ability to design software architecture and UML
models rather than implement program logic
This examination evaluates students' understanding of software architecture and UML-
based system design. Students are not required to write any source code. All answers
must be presented using UML diagrams.
Students may choose either Layered Architecture or Microservices Architecture, but
the chosen architecture must be applied consistently throughout all diagrams. The
Repository Pattern is mandatory.
Students may make reasonable assumptions where necessary, as long as those assumptions
do not contradict the given business context.
Question 1 (3.0 points) - Class Diagram
You are required to design a design-level Class Diagram for the Tourism Equipment Rental
System.
The system involves multiple user roles with shared attributes and specialized responsibilities.
Customers rent equipment for tourism activities, while staff members manage equipment
inventory and rental operations.
Each rental booking may include multiple equipment items and has a defined rental period.
Payments include a deposit and a final settlement after equipment return.
To ensure clean architecture and separation of concerns, business logic is handled by service
classes, while data access operations are handled by repository classes.
Your Class Diagram must satisfy the following requirements:
· User is a base class.
. Customer and Staff are specialized types of User using inheritance.
. An Equipment represents a rentable tourism item.
.
A RentalBooking is created by a customer.
. Each RentalBooking may include one or more Equipment items.
· A RentalBooking has a rental period and a status.
. Each RentalBooking is associated with one or more Payment records (deposit and final
payment)
. A ReturnInspection records equipment condition after return.
. Business logic related to booking, payment, and return inspection is handled by service
classes.
·
Repository classes must implement a generic Repository<T> interface.
.
The service layer depends on repository classes for data access.
UML relationships that must be clearly shown:
.
Inheritance and interface implementation
.
Association, aggregation, and composition where appropriate
. Dependency relationships between service and repository layers
. Clear attributes, methods, and multiplicities
Question 2 (4.0 points) - Sequence Diagram
Use Case: Rent Equipment and Pay Deposit
This question focuses on the interaction flow when a customer rents tourism equipment and pays
a deposit.
The process starts when the customer selects equipment items and submits a rental request for a
specific period. The system checks equipment availability.
If all selected equipment items are available, a rental booking is created, and the customer
proceeds to pay the deposit. If the payment is successful, the booking is confirmed. Otherwise,
the booking is cancelled.
Your Sequence Diagram must meet the following requirements:
. The diagram must follow either Layered Architecture or Microservices Architecture
consistently.
. The interaction flow must clearly include:
A user-facing component (UI / Customer App)
A controller or service component handling business logic
0
Repository components responsible for data access
Domain entities such as RentalBooking, Equipment, and Payment
. Repository Pattern usage must be explicit through repository method calls.
· Conditional behavior must be modeled using alt fragments for:
o Equipment availability
Payment success or failure
Question 3 (3.0 points) - Activity Diagram
Use Case: Return Rented Equipment
This question describes the workflow when a customer returns rented equipment after the rental
period ends.
Staff members inspect the returned equipment and report its condition to the system. Based on
the inspection result, the system determines whether additional fees are required and updates
equipment availability.
Your Activity Diagram must satisfy the following requirements:
. The diagram must include at least two swimlanes, representing:
Staff
o System
· Decision nodes must be used to determine:
o Whether equipment is damaged or lost
o Whether additional charges are applied
. The workflow must clearly show:
o Completion of the rental booking
o Update of equipment status and availability
. Start and end points must be clearly indicated.
. Level 2 - Design: Swimlanes represent Actor/Role and Component/Service (detailed)
END OF EXAMINATION
(Invigilators will not provide further explanations)