Draw flowchart/s that present the steps of the algorithm required to perform the tasks specified.
Select at least six sets of test data that will demonstrate the 'normal' operation of your program; that is, test data that will demonstrate what happens when a VALID input is entered.
Note: for this program, valid normal input INCLUDES data that does NOT conform to the rules specified. This is because it is the function of your program to DETECT such erroneous data.
Select at least three sets of test data that will demonstrate the 'abnormal' operation of your program. For these programs, this might include the inability to write to the output file, or in the case of the second program the inability to open the file.
Set your test results out in a tabular form as follows: test data type, test data, the reason it was selected, the output expected due to using the test data, and finally the output actually observed when the test data is used. It is important that the output listings (i.e., screenshots) are not edited in any way.
Implement your algorithm in Python. Comment on your code as necessary to explain it clearly.
In addition, for this exercise, use multiple functions, instead of using a single function to do everything. Create a good design of the functions to make the best use of the code and avoid duplication.
You also need to design your program so that it has components that can be reused in another program if needed. Handle exceptions appropriately and use appropriate data structures.
Run your program using the test data you have selected and complete the test data table above.
This assessment task will assess the following learning outcome/s:
• be able to identify, isolate and correct errors in all phases of the programming process.
• be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming problems.
• be able to write code in an appropriate coding language.
• be able to examine, recognise and be aware of alternate programming approaches to include a broad discussion of procedural and object oriented approaches.
This assessment task is designed to reinforce topic material related to simple functions, files, exceptions and lists.