java Object Oriented Programming Project Digital Address Book


Palestine Polytechnic University
College of IT and Computer Engineering

Object Oriented Programming Project

Spring 2022

Project Name: Digital Address Book


Build a Java application that represents an Address Book; your design should employ Object Oriented Design Concepts whenever needed. The following guidelines help you specify the system main objects and its relationships: The Address Book has many entries; Persons or Businesses. Each Person has a First Name, Last Name, country, City, Postal Code, TelephonNo/s, E-mail, and BirthDate. Each Business has title, Genre, Contact Person, country, city, postal code, TelephoneNo/s, Website and E-mail.
You are not limited to this description; you may add any object/attribute you find necessary.

It must be possible to add new entries to the Book, edit existing entries and delete them.

Project Deliverables


  • Use UML Diagrams to represent the system’s main Classes and its relationships.
    Build the basic Classes that represent the System.
  • Provide a getInfo( ) method for all classes. The method should return a String value describing the object’s state.


  • The Address Book System can store information about a variable number of Objects, i.e. use Collection Classes.
  • The Address Book should have an Interface called compare, which has one or more methods: compareBy(String); the implementation of the compare interface is related to the next point.
    You should be able to search for a Person/Business by title, First Name or Last Name. The user doesn’t need to specify the whole title, First name or last name. He can enter part of it and the system should return any matched result/s.

At this point the system is supposed to be working using standard input/output (Consol application)


Design a user-friendly interface for the System.

  • The user should be able to select to display entries of type Person or entries of type Business
  • The user can view the all the entries sorted alphabetically by last Name for type person or by title for type Business
    +Save the System objects’ data permanently into files.

    +Load the saved data from the files and create the corresponding objects to hold these data.

    +Store the Objects’ data in a Database (use MySQL).

    +Load the Data from the database and create the corresponding Objects.

Note: points with “+” will receive bonus

What to submit:

  1. Project’s source code ready to be tested and run.
  2. Organize your classes in packages as suitable.
  3. UML diagrams.
  4. Java Docs
  5. All of the above must be pushed to a GitHub repo.

All Answers

total answers (0)

Similar questions

need a help?

find thousands of online teachers now