Reference no: EM132336819
Software Technology Assignment -
Assignment Briefing: This is similar to MT1 with the following main changes.
- The Bank and Interest rates table is read from a file 'BankIr1.txt' or BankIr2.txt (these represent different date periods. Interest rates are lower in BankIr2.txt; Imagine hearing that the reserve bank of Australia lowered interest rates);
- There is a HOME3 loan type in some banks with just a 25 year repayment period instead of the 30 years applied to all loans.
- Calculation of stamp duty is included as an extra cost.
- There is an extra report called the investor comparison report where the input details of the investor report are read from a file of possible property deals that the investor is considering. The program then automatically finds the best one (the one with either the best profit or lowest cost).
- You need to do some documentation (reflection report and test plan);
- You need to run (and document - probably with screen shots) some mandatory tests (mandatory test runs are detailed in a separate document).
- You need to zip up the project as a BlueJ project with the documentation and submit it on Canvas.
Important NOTE: You do need to allow for input of non-numeric in numeric inputs. My test cases will include things like entering 'fred' in the 'cost of property' field. So, you need to use exceptions.
There are 6 mandatory test you must run and document (these are in a separate document). I expect you to run and document additional tests that you have written yourself.
Here in Australia the housing market is divided into mainly two kinds of purchasers.
1) First Home Buyers
2) Investors
The system you need to build helps both kinds of customers with different reports by providing the following services:
1) For first home buyers it will give them a report on how much they need to pay each month as a repayment;
2) For investors it will report if the property is positive or negative cash flow;
The Bank Id, Loan Type, current Interest Rate, loan establishment fee, and the maximum percentage of purchase price to be borrowed are read from the file 'BankIr1.txt'.
The program must have -
- A clear easy to use main menu with an exit
- Displays a table above based on the RatesIr1.txt file called "rates report 1".
- Displays a table above based on the RatesIr2.txt file called "rates report 2".
- It produces a report "First Home Buyer report" for a first home buyer of what they will repay each month including a line for stamp duty.
- It produces a 'Investor report' for an investor for a proposed purchase with a given rental. If the property is cash flow negative then this will be a negative number or it could be positive (unlikely in the act at this time for properties with a 20% deposit or less).
- It produces a 'Investor Comparison Report' for an investor for a list of proposed properties read from a designated input file (one of invRep1.txt, invRep2.txt, InvRep3.txt). It should identify the most profitable property. This report is worth only 2 points of the 25, so it's optional.
- Note also that some input errors should be detected specifically: Bank codes must be in the BankIr file, Cost of property must be between 150,000 and 1,000,000, Loan type must be INV, HOME, HOME2, HOME3, Deposit must be between 0 and the cost of the property, The rent must be between $100 to $1000 and Inputs that are numeric must be checked and correctly processed if they do not contain numbers (e.g. an input of the word Fred). NOTE/WARNING - On my marking sheet test cases will check some of this editing.
Calculation of First Home buyer repayments -
Before we can calculate the repayments there are a few inputs needed:
a) The cost of the property
b) The bank
c) The loan type (Home or Home2)
d) The amount of deposit
Also, in the ACT a $7,000 grant is given to new home buyers; this needs to be added to the deposit (assume this program is for the ACT only).
Calculation of Investor Report -
Before we can calculate the repayments there are a few inputs needed:
a) The cost of the property
b) The bank
c) The loan type (Home or Home2)
d) The amount of deposit
e) The expected weekly rent
Also for cash flow purposes:
- The rent received is typically for 50 weeks (not 52 - this allows for 2 weeks of vacancy)
- 10% of the rent goes to the renting agent
- Roughly 4% of the rent goes on maintenance
- About 6% of the rent goes in land tax, rates and other holding costs
You need to submit:
- The java program code (working or not) as a BlueJ project directory;
- A test plan;
- Documented results of your test plan;
- Evidence of you running a number of mandatory, well documented, test runs (e.g. screen shots); These are the results of mandatory test runs (test runs are detailed in a separate document);
- A short reflection report on what you learned;
- An optional feedback (of the unit). Just a paragraph to me which is not marked;
- Remember:" a single zipped file including a BlueJ project and submitted in Canvas."
There are no resubmission options for this assignment. Code Must be in Blue J.
Attachment:- Software Technology Assignment Files.rar