Problem: Create an application for maintaining a contact list. Address Book 1.) Add Contacts to the book. 2.) Search for Contacts 3.) Display All of the Contacts Needs: - Store the contacts - Use file storage to store and load the contacts Objects: - each contact (many) - the address book (one) Contact ======= Attributes: - Name - Phone - Email - Address - - City |_ Could be a separate object - State | But, we don't need them to be (design decision) - Zip - - Birthday Behaviors: - get/set all the attributes - display - saveToFile - loadFromFile Address Book ============ Attributes - contacts - count of the contacts Behaviors - sort (later) - addContact - deleteContact - search - getCount - at(i) Returns the ith contact. (Array index)