The Property Agency Employee Management System is designed to manage employee records, monitor property sales, and calculate sales commissions efficiently. The system demonstrates structured design, Python-based implementation, testing, and evaluation to meet the defined project requirements.
Sample materials are provided to support understanding of academic requirements and subject concepts. With our assignment help in UK, guidance is shared while ensuring all work remains original. The Property Agency Employee Management System Assignment Sample demonstrates system design, employee role management, and practical application of organisational processes. These resources are intended solely for study and reference purposes.
class Employee:
"""
Represents an employee in the property agency.
Each employee has a name, employee ID, number of properties sold,
and commission calculated based on properties sold.
"""
def __init__(self, name, emp_id, properties_sold):
self.name = name # Stores employee name
self.emp_id = emp_id # Stores employee ID
self.properties_sold = properties_sold # Stores number of properties sold
self.commission = self.calculate_commission() # Calculate commission upon initialization
def calculate_commission(self):
"""
Calculates the commission earned by the employee.
Each property sold earns the employee £500.
"""
return self.properties_sold * 500
def get_valid_input(prompt, type_func=int):
"""
Ensures valid user input by repeatedly asking until a correct value is provided.
Accepts a prompt message and a type function (default is int).
Prevents negative numbers for integer inputs.
"""
while True:
try:
value = type_func(input(prompt)) # Convert input to specified type
if isinstance(value, int) and value < 0:
print("Please enter a valid natural number.") # Prevent negative numbers
continue
return value
except ValueError:
print("Invalid input! Please try again.") # Handles invalid data type errors
def rank_employees(employees):
"""
Manually sorts employees in descending order based on properties sold.
Does NOT use built-in sorting methods (sort(), max(), min()).
"""
ranked = [] # List to store employees in sorted order
temp = employees[:] # Create a copy of the original employee list
while temp:
highest = temp[0] # Assume the first employee has the highest sales
for emp in temp:
if emp.properties_sold > highest.properties_sold:
highest = emp # Update if a higher sales count is found
ranked.append(highest) # Add highest-selling employee to ranked list
temp.remove(highest) # Remove the processed employee from temp list
return ranked
def display_menu():
"""
Displays the available options for the user to choose from.
"""
print("\nProperty Agency Management System")
print("1. Display Employee List (by properties sold)")
print("2. Display Sales Commission for Each Employee")
print("3. Display Total Sales Commission")
print("4. Display Total Number of Properties Sold")
print("5. Display Employee of the Week")
print("6. Exit")
def main():
"""
Main function that runs the property agency management system.
It allows the user to input employee details, view reports, and compute commissions.
"""
employees = [] # List to store Employee objects
num_employees = get_valid_input("Enter the number of employees: ")
# Collect employee details from user
for _ in range(num_employees):
name = input("Enter employee name: ")
emp_id = input("Enter employee ID: ")
properties_sold = get_valid_input("Enter number of properties sold: ")
employees.append(Employee(name, emp_id, properties_sold)) # Create and store Employee object
# Menu-driven loop for user interaction
while True:
display_menu()
choice = get_valid_input("Choose an option (1-6): ")
if choice == 1:
# Display employees ranked by properties sold
ranked = rank_employees(employees)
print("\nEmployee List (Ranked by Properties Sold):")
for emp in ranked:
print(f"{emp.name} (ID: {emp.emp_id}) - {emp.properties_sold} properties")
elif choice == 2:
# Display commission earned by each employee
print("\nSales Commission:")
for emp in employees:
print(f"{emp.name} (ID: {emp.emp_id}): £{emp.commission:.2f}")
elif choice == 3:
# Display total sales commission for all employees
total_commission = sum(emp.commission for emp in employees)
print(f"\nTotal Sales Commission: £{total_commission:.2f}")
elif choice == 4:
# Display total number of properties sold by all employees
total_properties = sum(emp.properties_sold for emp in employees)
print(f"\nTotal Properties Sold: {total_properties}")
elif choice == 5:
# Identify and display Employee of the Week (highest sales)
ranked = rank_employees(employees)
top_employee = ranked[0]
bonus = top_employee.commission * 0.15 # Calculate 15% bonus
print(f"\nEmployee of the Week: {top_employee.name} (ID: {top_employee.emp_id})")
print(f"Properties Sold: {top_employee.properties_sold}")
print(f"Bonus Amount: £{bonus:.2f}")
elif choice == 6:
# Exit the program
print("Exiting program. Goodbye!")
break
else:
print("Invalid option! Please choose a valid number.")
# Run the main function only if this script is executed directly
if __name__ == "__main__":
main()

| Test Number | Test Date | Test Purpose | Expected Result | Actual Result | Comments |
|---|---|---|---|---|---|
| 1 | 31/03/2025 | Validate correct employee input | Employee details stored successfully | As Expected | Test Passed |
| 2 | 31/03/2025 | Handle negative property values | Error message displayed, input re-prompted | As Expected | Test Passed |
| 3 | 31/03/2025 | Handle non-numeric input for properties sold | Error message displayed, input re-prompted | As Expected | Test Passed |
| 4 | 31/03/2025 | Rank employees based on properties sold | Employees displayed in descending order | As Expected | Test Passed |
| 5 | 31/03/2025 | Calculate commission for each employee | Correct commission amount displayed | As Expected | Test Passed |
| 6 | 01/04/2025 | Display total sales commission | Total commission correctly calculated | As Expected | Test Passed |
| 7 | 01/04/2025 | Display total properties sold | Total properties sold displayed correctly | As Expected | Test Passed |
| 8 | 01/04/2025 | Identify Employee of the Week | Top employee displayed with correct bonus | As Expected | Test Passed |
| 9 | 01/04/2025 | Handle invalid menu selection | Error message displayed, input re-prompted | As Expected | Test Passed |
| 10 | 01/04/2025 | Exit program | Program exits successfully with message | As Expected | Test Passed |
User input

Menu list

This evaluation report reviews the overall performance, quality, and effectiveness of the developed system by assessing functionality, coding standards, testing outcomes, and potential areas for improvement.
The System developed for property agency meets the forth mentioned requirements. The overall approach reflects the objectives of the Property Agency Employee Management System: design, implementation, and evaluation by ensuring accurate employee data handling, commission calculation, and performance assessment. It also adapted to easily enable the user input the details of the employee, number of property, and calculate commissions better (Kusmiarto et al. 2021). It offers user-friendly features that allow the user to formulate others such as arranging all the employees according to their performance, total commission earned on the sales and determining the performer employee among the all the employee in a company (Stone et al. 2024). The system also has adequate checks in validating user inputs for correctness and to reduce cases of data corruption. All of the required functionalities allow the application to meet the expectations presented by the project scope.
The quality of the program has been given by the structured view which defines a clear modular structure of the program. The structured and modular programming style supports the goals of the Property Agency Employee Management System: design, implementation, and evaluation by improving maintainability, clarity, and system performance. This means that the code has the benefits of being easy to maintain and further developed since the coding style is clean (Vrontis et al. 2023). As for performance, the application effectively manages functionalities related to employees, and the calculations do not take much time. Despite the fact that the ranking procedure is discrete and was not done by using such commands that handle ranking much more effectively, the procedure remains reasonable if the amount of data is small or moderate (Deepa et al. 2024) It is pivotal to address errors because they help minimize invalid input strings from users and maintain the program’s operations.
Get assistance from our PROFESSIONAL ASSIGNMENT WRITERS to receive 100% assured AI-free and high-quality documents on time, ensuring an A+ grade in all subjects.
While designing the system, proper coding policies were adopted in order to enhance clarity and flexibility of the code. All the classes and functions are adequately commented to ensure that the individual purpose of any of the classes and functions is clearly stated (Qamar et al. 2021). Proper and relevant variable and function names have been used in the program in order to improve legibility. Final layout of all the code for all problems – When indenting the code and structuring the control flow, much improvement is achieved. The advantage of the program is based on the idea of modularity, where each functionality is implemented in its function, which makes it easier to debug and expand.
There are several modifications that were made and done during the development of the improvement of the system throughout the user interface. At first, the ranking was performed with sorting algorithm sort() which was substituted with more effective and target-oriented manual sorting according to the project requirements (Budhwar et al. 2023). Also, there were structural changes made to perform input validation to be positive and not to allow wrong input data to be entered in the system. For the calculation of the employee commission, certain flexibility was introduced so that the commission rate can be changed if necessary in the future (Jelonek et al. 2022). Another improvement made was the modification of main-related menu-driven interface so as to make them more clear and avoid case when the program will stop working in the middle of the task.
All in all, it can be stated that the current system is satisfactory and meets all necessary criteria; nevertheless, there are indications for its further development (Shaffer et al. 2021). Future enhancements can further strengthen the Property Agency Employee Management System: design, implementation, and evaluation by improving scalability, efficiency, and user interaction. Applying a database or file storage system would allow users to store data that can be accessed after some time or in the case the application was closed. Thus, the ranking algorithm could be improved in regard to the time efficiency, especially when dealing with the large streams (Zhang et al. 2021). Also, the concept of GUI can be incorporated in order to make the system more user friendly to the end users. Moreover, the extension of the designed system to the other test criteria such as average salesperson performance, average sales per employee might offer more comprehensive information that is useful in decision making.
References
Introduction and Background Here's an assignment sample that reflects clarity, precision, and academic depth. At Online...View and Download
Introduction: Business Strategy Assignment A business strategy can be referred to as a comprehensive set of actions and...View and Download
Introduction to Collaborative Working Report Assignment Understanding Collaborative Working in Health and Social Care Multiple...View and Download
Introduction Get free samples written by our Top-Notch subject experts for taking Online Assignment...View and Download
Introduction - Personnel Resourcing and Development Let Rapid Assignment Help simplify your academic challenges with...View and Download
Introduction Get free samples written by our Top-Notch subject experts for taking online Assignment...View and Download