Highlights
Background
Siphiwe went home for a long weekend. You would think that he would come back rested and happy, having eaten his mother’s amazing food all day long instead of his usual takeaways, in one of the most beautiful places in the country too. You would be wrong.
In class, he frequently stared out the window with an intense frown on his face. And between classes, he didn’t say much and didn’t eat like his usual ravenous self either. So when somebody jokingly told him that you can’t live on water alone, his answer was serious. “No ... no, you cannot.
After a lot of prodding, he finally told you what had happened. His father had sat him down and explained that he would no longer be receiving any money from the family once he graduates— no car repayments, no entertainment allowance, no rent Nothing. Siphiwe had never thought about what would happen after graduation.
He was so focussed on his studies that it had never occurred to him that he might have to fend for himself in less than two years. Siphiwe was worried that he might not be able to maintain his lifestyle if he had to pay for everything himself. What would he have to sacrifice to make ends meet? He didn’t even have a girlfriend yet, and if he couldn’t go out anymore, how would he ever find her? And even worse, if he did find her, how would he keep her without any money to spend on her? The myriad questions were spinning around in his head with no end in sight. You pointed out to him that he needed some hard data. Without data, he couldn’t know if he even had financial trouble looming, let alone what he could do to improve his situation if he did. In this Portfolio of Evidence, you will be creating an application that can be used for personal budget planning. That should help Siphiwe understand his potential problems much better.
Object-Oriented Programming
1. The user shall be able to enter the following values:
a. Gross monthly income (before deductions).
b. Estimated monthly tax deducted.
c. Estimated monthly expenditures in each of the following categories:
2. The user shall be able to choose between renting accommodation or buying a property.
3. If the user selects to rent, the user shall be able to enter the monthly rental amount.
4. If the user selects to buy a property, the user shall be required to enter the following values for a home loan:
a. Purchase price of the property
b. Total deposit c. Interest rate (percentage) d. Number of months to repay.
5. The software shall calculate the monthly home loan repayment for buying a property based on the values that the user entered.
6. If the monthly home loan repayment is more than a third of the user’s gross monthly income, the software shall alert the user that approval of the home loan is unlikely.
7. The software shall calculate the available monthly money after all the specified deductions have been made.
8. The software shall not persist the user data between runs. The data shall only be stored in memory while the software is running.
Non-functional requirements
1. You are required to use internationally acceptable coding standards. Include comprehensive comments explaining variable names, methods, and the logic of programming code.
2. You are required to use classes and inheritance. Create an abstract class Expense, from which HomeLoan, etc., can be derived.
3. Store the expenses in an array.
Portfolio of Evidence (POE) Windows Presentation Foundation
You will continue working on the application created in Part 2. Implement the feedback provided by your lecturer on Part 2 before continuing with the final POE submission. Marks will be awarded for this (10%).
For this part, you are required to update your application to have a graphical user interface (GUI) built using either Windows Presentation Foundation (WPF) or Universal Windows Platform (UWP). Note that UWP will require additional research, so choose wisely. All the same functionality must be available in the new user interface that was in the command line application from Part 2 (just presented in a more user-friendly way), with your choice of one of the following features added:
1. The user shall be able to choose to save up a specified amount by a certain date for a specified reason, e.g. save R100 000 for an honors degree over five years. Then, given the interest rate that will be earned on the savings, calculate how much the monthly saving should be to reach the goal. OR
2. Display the monthly income, expenses and account balance (assume the balance starts at 0) as a graph over time, for a given period (e.g., five year.
This PROG6221 – IT and Computer Science has been solved by our PHD Experts at My Uni Paper.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.