Portfolio of Evidence (PoE) Background Siphiwe went home for a long weekend. You would think that he would come back res
Posted: Fri Jul 01, 2022 5:58 am
Portfolio of Evidence (PoE) 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.
Instructions This Portfolio of Evidence consists of three parts - two parts submitted during the semester and a final submission at the end of the semester. The parts build on one another, so make sure that you keep a copy of your work in a safe place. The requirements of real software projects frequently do change, often in quite unexpected ways. Here you have the benefit of knowing what all the requirements are going to be in advance. So, make use of the opportunity! Reading all three parts before starting with the first one will minimise any reworking for later parts. The rubrics that will be used to mark your submissions appear at the end of this document. Please pay attention to the weighting of items in the rubrics. Note that marks will be awarded for running functional software, not just source code. So, make sure that your source code compiles and that the readme file contains enough information about running the software. Part 1 - Object-Oriented Programming Learning Units: LU1-2 Assessment: Assessment/Deliverable Part 1 Marks 100 i. ii. Weight 25% 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: Using C# and Visual Studio, design and implement a standalone command-line application that fulfils the following requirements: Groceries Water and lights (Marks: 100) Duration 15hrs
2. 3. 5. 6. 7. 8. 1. 2. 3. Travel costs (including petrol) Cell phone and telephone Other expenses The user shall be able to choose between renting accommodation or buying a property. If the user selects to rent, the user shall be able to enter the monthly rental amount. 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 (between 240 and 360) The software shall calculate the monthly home loan repayment for buying a property based on the values that the user entered. (See Non-functional requirements: You are required to use internationally acceptable coding standards. Include comprehensive comments explaining variable names, methods, and the logic of programming code. You are required to use classes and inheritance. Create an abstract class Expense, from which HomeLoan, etc., can be derived. Store the expenses in an array. iii. iv. 2. V. https://www.siyavula.com/read/maths/gra ... nance-and- growth-03 for more information on how to calculate this). 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. The software shall calculate the available monthly money after all the specified deductions have been made. The software shall not persist the user data between runs. The data shall only be stored in memory while the software is running. Submit the following items for this part: 1. Source code. A readme file with instructions for how to compile and run the software.
Part 2 - Advanced C# Features Learning Units: LU1-3 Assessment: Assessment/Deliverable Part 2 3. 4. You will continue working on the application created in Part 1. Implement the feedback provided by your lecturer on Part 1 before continuing with Part 2. Marks will be awarded for this (10%). 5. The application must still perform all the functions from Part 1, with the following features added: The user shall be able to choose whether to buy a vehicle. 1. 2. If the user selects to buy a vehicle, the user shall be required to enter the following values for vehicle financing: Model and make. b. Purchase price. C. Total deposit. d. Interest rate (percentage). e. Estimated insurance premium. The software shall calculate the total monthly cost of buying the car (insurance plus loan repayment). Assume that all cars will be repaid over a period of five years. The software shall notify the user when the total expenses exceed 75% of their income, including loan repayments. Display the expenses to the user in descending order by value. Marks 100 1. Weight 30% a. 2. 3. 4. (Marks: 100) Duration 15hrs Non-functional requirements: You are required to use internationally acceptable coding standards. Include comprehensive comments explaining variable names, methods, and the logic of programming code. You are required to use classes and inheritance. You must use a generic collection to store the expenses and no longer an array. You must use a delegate to notify the user when expenses exceed 75% of their income. Submit the following items for this part:
1. 2. Portfolio of Evidence (POE) - Windows Presentation Foundation Source code. A readme file containing: a. Instructions for how to compile and run the software; and b. A brief description (100 to 200 words) of what you changed based on your lecturer's feedback. Learning Unit: All Assessment: Assessment/Deliverable Final Completed POE Marks 100 1. 2. Weight 35% 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%). (Marks: 100) 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. Duration 15hrs 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: OR The user shall be able to choose to save up a specified amount by a certain date for specified reason, e.g. save R100 000 for an honours 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. 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 years).
Submit the following items for this part: 1. Source code. 2. 3. A readme file containing: a. Instructions for how to compile and run the software; and b. A brief description (100 to 200 words) of what you changed based on your lecturer's feedback. A short user manual (no more than 2 000 words) including screenshots that explains how to use the app. You may use any application of your choice to create the user manual, but the file that you submit must be a .PDF export of the document.