The following course learning outcomes are assessed by completing this assessment:
1. Identify and use the correct syntax of a common programming language
2. Recall and use typical programming constructs to design and implement simple software solutions
3. Reproduce and adapt commonly used basic algorithms
4. Utilise pseudocode and/or algorithms as a major program design technique
Answers:
Introduction
Not long before there were headlines in the newspaper regarding affordability of housing prices especially for the first home owners as they are usually the one in the young 30’s who are working hard to buy their own house. It was remarked by some commentator, that young generation individuals are spending more on status and this is the reason there is very little left to save. They tend to buy avocados on sandwiches more than thrice a week on average and if this money is saved it can account for twenty percent of house deposit money. This project calculates the time when the money can be enough for the deposit, if some individual stops buying avocado starting today depending upon the average number of avocado he use to buy per week.
Project Aim
The project aims to calculate the exact number of avocados people must not buy and till when so that they could save enough deposit for their housing. The project will calculate deposit for three type of housing which is user’s choice of house, lowest price house in user’s mind and median value price of the locality user is looking for a house in.
Requirements
Functional Requirements
Base Functionality
This is the most straightforward level of the program however in charge of fundamental parts of the source code. Each one of the modules identified with designing of the content, show message and its organizing, and so on goes under fundamental usefulness. Here it is in accounted for:
- Displaying a message related to the aim of the program which must be brightened with a column of reference mark at the base and best.
- Displaying a menu containing all four options that are the requirement of this program and reading an input from user and storing it for further tasks.
- After accepting the coveted decision of client, an appropriate message display to enter esteems at their choice of houses and cost of avocado they normally purchase at and on the off chance that any invalid esteem is entered then asking them to change the same by re-entering the correct value.
- After Getting all the valuable data from the client, estimation must be performed inside which is not available to client and they are given a yield of what number of avocados they need to not purchase so as to spare cash for the store of the house.
- After effective exchange, the client may leave the framework and on the off chance that client choses to leave the framework, a message ought to be shown "The House Deposit Calculator is presently Exiting". Also, in case the client decided for another calculation it must be performed faultlessly without exiting the system.
Standard Functionality
This is the following level in the program advancement and in charge of well comprehensible code that can be accomplished through modulating the code and other articulate activities which are:
- Calling methods effectively and efficiently using appropriate parameters throughout the program and every distinct task performed in a separate module.
- Using variables and constants instead of un-necessary magic numbers.
- Indenting the code to enhance its readability and introducing white spaces to make it more apprehensive.
- Including comments throughout the program to make sure it tells what the function is performing
- Every variable and constant must be declared as it will identify its own purpose.
Advanced Functionality
An advanced level of coding which will enhance the function of number of avocados calculator to a level where it will predict the future week when the deposit will be enough to buy the house of user’s choice. Future date calculated will be based on the date calculation takes place and user will be asked to enter the number of times he uses to buy avocado. This value must be a whole positive natural number. After the result has been displayed, menu should again be redisplayed to the user to make a choice.
Non-Functional Requirements
Scalability: The software should be accessible and all the actions of user should be met properly and timely.
Reliability: The developed software must be very reliable as it will also generate prices according to the time duration, so it must be very accurate otherwise customers may lose their faith in the software.
Prototype for program operation
Testing
Test case
|
Expected Result
|
Actual result
|
From the menu 1st option is selected by the user i.e. to get prices of the house
|
User is asked to enter the price of lowest price house then user is prompted again to enter price of chosen house and lastly for the price of median house
|
|
Test case
|
Expected Result
|
Actual result
|
User enters a value which is inappropriate such as ‘0’ or some string
|
A message will be displayed to the user “Value is invalid. Please retry” and cursor will move to next line to get input again
|
|
Test case
|
Expected Result
|
Actual result
|
Value entered for house of choice and median value is less than value of lowest price house
|
A message will be displayed to the user “Value is not valid. It should be greater than lowest price house”.
|
|
Test case
|
Expected Result
|
Actual result
|
User does not enters the values of housing prices and avocado price and directly enters option 3 from menu
|
A message will be displayed “You need to enter the prices of houses and avocado first”
|
|
Test case
|
Expected Result
|
Actual result
|
Option 2 selected from the menu
|
A message displayed “Enter the price (in whole dollars) of avocado on toast from a local cafe or restaurant” and value is read through keyboard
|
|
Test case
|
Expected Result
|
Actual result
|
Option 3 selected from the menu
|
Deposit calculator as a heading will be displayed embedded in asterisks and a table will generate which will contain the number of avocados not needed to be purchased along with respective deposits. These values will be rounded off to two decimal places.
|
|
Test case
|
Expected Result
|
Actual result
|
Value entered for avocado purchased weekly is zero
|
Message displayed” Please enter a value which is greater than zero and is a whole number”.
|
|
Test case
|
Expected Result
|
Actual result
|
A value is entered which is not a part of menu option
|
User prompted with “Please select valid value”.
|
|
Test case
|
Expected Result
|
Actual result
|
Option 4 selected from menu
|
Message displayed “Housing price Calculator is now exiting”
|
|
References
Ar?ogul, S. (2013). Understanding foreign language teacher’s practical knowledge. What?s the role of prior language learning experience. vol. 3, no. 1, pp. 169.
Yourdon, E., & Argila, C. (2010). Object-oriented analysis and designing – examples of applications. WNT, Warsaw, pp. 120-135.
Villani, E.M., Claude, J.E., & Ascal, P. (2014). A petri-net based object-oriented approach for the modelling of hybrid productive systems, pp. 2.
Urban, M., & Barriocanal, E.G., (2012). Extending relational data access programming libraries for fuzziness. The FJDBC framework. Retrieved from: https://www.dei.inf.uc3m.es.
Singh, T., & Sharma, D.R. (2012). Object-oriented programming as a method for developing software. IJRIM. vol. 2, no. 3, pp. 43.
Radoševic, D. (2009). Verificator: Educational tool for learning programming. Informatics in Education. vol. 8, no. 2, pp. 255.