We will create a simple gradebook system for a teacher . This project will cover * Implementing menus* Encapsulation : divide and conquer. Split up functionality into methods so each can be developed and debugged separately .* Agile Coding : implement basic functionality , review and evolve cade testing constantly* Text File I'D : saving data to files , reading it back in , adding data and resaving* AMITAVLists String functions like splint . trimng tollopenly etc . Using String . Format along with printtry to refine our output display Functional Requirements :" Teacher can create student class sets which will be stored in files Teacher can add a series of grades representing a test of assignment for each student in a Set . These are added to the file . Grades are in the range of' 0 - 100 representing percentages . Teacher can request a statistics report on a given class which will display all of the students , their grades , their average and the class averages with min and max scores . Technical notes : Program will have master menu and will loop until the user ( teacher ) wants to quit using* the quit option on the menu* We will use our input method's like BetRanged Integer for bullet proof input* We will add additional functions to keep the logic of our main app clear and simple . We will build the app with an agile approach getting the menu up immediately and testing* it and then working through each aspect of functionality testing as WE E.O . Data files are flat text files with one record per line like this :` Bart Simpson , Gradel , Grade ] . Grade ] . Data files have a header consisting of a single line that looks like this : Name of Class , Grade Hamel , Grade Name ? ... The header is the first line of the file .* Because WE cannot predict how many students will have we will use Alunar Lists when We read and create the datasets