









Preview text:
lOMoARcPSD| 45315597
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
SCHOOL OF ELECTRICAL AND ELECTRONICS ENGINEERING FINAL REPORT
System Analysis and Design - AC3010E
Topic: Car Sales Website (Vinfast) Group 3 Name of student:
Nguyễn Lê Trung Hiếu - 20233849 Use case: Search for Cars Name of instructor: Dr. Đỗ Thị Ngọc Diệp Hanoi - 31/05/2025 lOMoARcPSD| 45315597
I. Use Case Description
Use Case Name: Search for Cars
Actor: Customer Visualization: lOMoARcPSD| 45315597
Objective: Allow the customer to search for cars by specifying search criteria (keyword, filters).
Short Description: The Customer specifies search criteria on the Search Interface. The
system validates the input, retrieves matching results from the database, and displays them. Basic Scenario:
- The system displays the Homepage. lOMoARcPSD| 45315597
- The Customer clicks the Open Search button on the homepage, and the system
displays the Search Page.
- The Customer specify the Search Criteria (Not all criteria need to be filled):
+ The Customer enters a keyword (a string) in the Search Box (an input field).
+ The Customer sets the Price Range (in VND) by entering minimum and
maximum price (integers) into the Min and Max box (input fields).
+ The Customer selects the Engine Type by clicking the Electric and Gasoline buttons.
+ The Customer selects the Car Category by clicking on the Mini, Subcompact,
Mid-size, Full-size buttons.
- The Customer clicks the Search button, the system checks the Search Criteria with
this logic, in descending order (If a check fails, skip the rest and immediately move
to the corresponding alternative scenario):
+ The Search Criteria is not empty (at least one criteria is filled).
+ If the keyword is not empty: the number of characters is not greater than 50.
+ If the Price Range Criteria is not empty (both min or max value are filled):
+ The Price Range values are integers.
+ The min price is not greater than the max price.
- The system searches for Cars that match all criteria (If a criteria is empty, skips it):
+ Name or description containing the keyword.
+ Price higher than or equal to the min price and lower than or equal the max price.
+ Same engine type as chosen.
+ Same category as chosen.
- Then, the system returns the list of cars.
- The system checks that the returned list is not empty, and displays it to the Search Results page. lOMoARcPSD| 45315597
Alternate/Exception Scenarios:
General: Messages will be displayed on a pop-up Message Box in the Search Page.
- If the Customer clicks Search button, and the system checks the Search Criteria and
finds that the search criteria is empty (no criteria is filled), the system displays the No
Input Message: "No input detected. Please try again."
- If the Customer clicks Search button, and the system checks the Search Criteria and
finds that the search keyword is not empty, and the keyword's number of characters is
greater than 50, the system displays the Keyword Length Error Message: "Your search
keyword is too long. It must be <=50”
- If the Customer clicks Search button, and the system checks the Search Criteria and
finds that the Price Range Criteria is not empty (both min or max value are filled):
+ If the values are not numeric, the system displays the Data Type Error Message:
"Please enter numerical values"
+ If the customer min price is greater than the max price, the system displays the
Price Range Error Message: "Minimum price must not be greater than maximum
price. Please try again."
- If the system returns the list of cars and it is empty, the system displays the No Result
Message: "No matching cars found. Please try again." lOMoARcPSD| 45315597 II. Activity Diagram Robustness Diagram lOMoARcPSD| 45315597 III. lOMoARcPSD| 45315597 IV. Sequence Diagram lOMoARcPSD| 45315597 V. lOMoARcPSD| 45315597 VI. Class Diagram