Management would like to easily view the sales representative stars through the application. Your technical lead has imposed a design requirement. They want you to use an ArrayList in your solution. Before you begin coding this enhancement, you need to design your solution.
You must use an ArrayList provided by the Java API. You must first use pseudocode to work out your algorithm and create a class diagram of the system. The class diagram will include your Sales Representative class. These design artifacts (pseudocode and class diagram) will be inserted into a design document to be reviewed by your classmates and submitted with the final application for the final task.
Compile all of your pseudocode from the earlier IPs into the Design Document. Your Design Document should have a section that includes the functional requirements and any class diagrams used to describe the system. Include any design requirements imposed by your technical leadership. This will become your Key Assignment Draft which will be submitted in the Discussion Board for this week.
Enhance your application by creating a DISPLAY button. When this button is selected, the stars.txt file will be read in and displayed. Create a Sales Representative class that stores sales representative information. A Sales Representative object will be created for each sales representative that is read in when the DISPLAY button is selected. Select appropriate attributes for your sales representative. Ensure that you have created appropriate constructor(s) that will allow you to create sales representatives with the values read in from the file for sales rep ID, sales rep first name, sales rep last name, and so on.
With each sales representative that is read in from your stars.txt input file, you will create a Representative object that holds the sales representative data and add each Representative object to an ArrayList. Do not store your sales representative information as a String and add this String into your ArrayList. You must use your Representative class to create Representative objects. You should store Representative objects that encapsulate your sales representative information and store these in your ArrayList.
Hint: You may want to look into overriding the toString() method to provide a readable string representation of the Representative object.
After the ArrayList has been created, this ArrayList will be iterated over and displayed to the jTextArea. Override the toString() method for your Representative class so that each sales representative is printed in a readable manner. Total sales representatives should also be displayed.
You must use an ArrayList to collect all Representative objects that represent the sales representative data in the file.
An example of the printing of the contents of the ArrayList:
TOTAL SALES REPRESENTATIVES: 2
101 Jeannette Roberts
102 Anthony Laine
Intermediate-level Java programming should be demonstrated in your application:
There should be implemented constructors for each class.
The toString() method should be overridden to provide readable string representation of each object.
The getters and setters should be implemented to enforce data hiding.
The code should be fully commented.
The program flow should be logical.
Behavior should be encapsulated into methods avoiding all-encompassing large main() methods.
The project should be developed in NetBeans and zipped prior to submission.
The code should compile and run free of exceptions indicating that debugging tools were used to eliminate any run time errors.
Zipped NetBeans project
Word document with pseudocode and class diagram
This functionality is in addition to functionality coded for the previous assignments. Do not remove any previously coded functionality. Your team is developing this application in iterations. The application is enhanced with additional functionality during each iteration phase.
Code should be fully commented.
Please submit your zipped NetBeans project and a Word document with your pseudocode for the algorithm for the functionality behind the DISPLAY button.
For assistance with your assignment, please use your text, Web resources, and all course materials.