Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
30%
Objective
The objective of this assignment is to apply software engineering principles and practices to develop a functional Car Rental System. You will utilize object-oriented programming concepts, design patterns, and appropriate software development methodologies to create a robust and user-friendly system.
Assessment Instructions
Ask your tutor if you need further explanation or if the instructions are not clear.
The purpose of this assessment is to assess your knowledge. As part of your academic and professional integrity, you must work alone on this assessment. In the event Yoobee suspects collusion, this will be addressed. For more information on plagiarism, please refer to the Student Handbook.
Submit your completed assessment online (Blackboard) in the correct space provided.
Percentage and feedback will be returned within 15 days of the submission date.
Submission Requirements
Upload the following to Blackboard in the correct space provided.
Source Code Folder: The folder containing source code along with other necessary project files or a text file containing link to your source code along with other necessary project files.
Release Build Zip: Zip the release build executable.
ReadMe: A text/pdf file containing details of User Documentation.
Design and Architecture: A pdf file containing UML diagrams.
Maintenance and Support: A pdf file containing strategies for managing maintenance, versioning, and backward compatibility.
Background:
You have been hired as a software engineer by a car rental company that wants to automate its rental process. The company currently relies on manual paperwork, which is time-consuming and prone to errors. Your task is to design and implement a Car Rental System that will streamline the rental process, improve efficiency, and enhance customer satisfaction. Requirements of the Rental System are the following:
Learning Outcomes (LOs)
LO1: Apply advanced software engineering skills in the context of architectural styles, testing procedures, and the software development lifecycle.
LO2: Analyse how diverse software engineering applications can produce innovative solutions to meet specific industry requirements.
Graduate Profile Outcomes (GPOs) covered
GPO1: Develop advanced software engineering knowledge and skills and apply these to solve emerging or existing problems.
GPO4: Critically analyse, assess and solve software-related problems using project management tools and techniques, creative thinking and enterprise skills.
Success Criteria
You need to meet all the requirements of each of the learning outcomes and receive 50% or more to pass this assessment. You are allowed a maximum of three attempts. To meet all the requirements of each of the learning outcomes, you must achieve PASS results for each task item
Grading
The final grade will be determined by the score achieved in this assessment based on the following table. Should a second or third attempt be required the maximum contribution toward the overall mark for the tasks that required a second or third assessment attempt is 50%. A late submission is considered a second attempt, so the contribution will be capped at 50%.
Requirements:
User Management:
Implement user registration and login functionality.
Differentiate between customer and admin roles, each with specific privileges.
Car Management:
Create a database of available cars, including their details (ID, make, model, year, mileage, available now, minimum rent period, maximum rent period.)
Allow admins to add, update, and delete car records.
Rental Booking:
Enable customers to view available cars and their details.
Implement a booking feature that allows customers to select a car, specify rental dates, and provide necessary details.
Calculate the rental fees based on the selected car, rental duration, and any additional charges.
Rental Management:
Allow admins to manage rental bookings, including approving or rejecting requests.