CS 160: Software Engineering
- Java Programming Exercise: Phone-Book Java Application (80%)
Design and implement a Java Phone-Book application satisfying the following requirements:
- Write as a Java application (most browsers do not support all of swing yet)
- Use SWING as the GUI choice (not AWT)
- Use a choice of your internal data structure (link list, vector or hash table, etc) to
store the phone-book information. (In other words, your phone book cannot be saved)
- Each record in your phone-book should contain the following fields:
- Address(Street Address1, Street Address2, City, State, Zip Code)
- Memo (a text field for additional information)
- The records in the phone book must be sorted by last name.
- The following features are required:
- OPEN button: Open a phone book and display the first record.
- ADD button: Add a new record
- DELETE button: Delete an existing record
- NEXT and PREV buttons for browsing next record and previous records.
- Total number of records should be displayed.
- Describe in a paragraph or two how you would implement a saving mechanism for your phone
book in a distributed environment. (20%)
- EXTRA Credit: Implement the method you described in problem number two.
Remember, this method has to be gradable or testable by me. After your implementation,
please add the following feature into your phone book (+50% - I
would strongly encourage you to do the extra credit as this would help you a lot in the
- SAVE button: Save the currently open phone book. Additions and deletions should become
permanent after saving.
NOTE: What to handin:
- Use a good word processor to writeup all the written assignments. Print them out and
handin in class.
- Handin DETAIL running instructions and the actual program (source + class files + html
file, etc). Print instruction and program listing out, and hand them in with the computer
- No late assignment will be accepted
- DO NOT EMAIL ANY assignment to me. Handin in class
- Handin the homework only if you are in the class
- Points will be taken off if you violate any of the above.