Computer Science 1260 – Project 1
November 8, 2018 / Project 1 – Club Membership Roster / Due: ______

Purpose

Our company has been hired to build a program to manage a club membership roster. It is to be developed in several stages. In the first stage (this project), we are to implement a Member class and demonstrate its functionality with a driver class. Below, please find detailed specifications.

Specifications

The Member Class

This class represents one individual club member with the following attributes.

  1. Last Name
  2. First Name
  3. City
  4. State
  5. MemberType – an enumerated type with possible values: Provisional, Student, Junior, Senior, Lifetime, Officer. This enumeration should be defined in its own .java file.
  6. Date Joined – a string in the form 09/28/2012
  7. The name and path for a .jpg file containing a recent photo of the member (e. g. pictures\SallyForth.jpg)

This class does no input or output. It has standard functionality such as constructors, getters, setters, and a toString method that formats a Member object for possible display by another class. The class may have other methods as needed. An example of the output formatted by toString might look something like this

The Driver Class

The driver class handles all interaction between the program and the user.

  1. The driver should display a welcome message that includes a short description of what the program does and who wrote it. Use a JOptionPanemessagedialog.
  2. The driver should prompt for the user’s name, and remember it. Use a JOptionPaneinputdialog
  3. An instructor-written Menu class and Util class have been posted for your use if you wish.
  4. The driver should be menu-driven and give the users the opportunity to
  5. Create a new Member object and populate its attribute values from user input. Make this process as user-friendly as possible.
  6. Display an existing Member object in a well-formatted manner that easy for a user of the program to understand. If the user selects this menu choice, the program should verify that a Member object exists before trying to display it. See the following for an example of how the program should handle this situation.

  1. Exit the program

Other Requirements

Use good object-oriented principles and style.

  • All class attributes (fields) must be private unless there are explicit instructions to the contrary.
  • All classes in this assignment must be public.
  • Use standard Java naming conventions for files, packages, classes, attributes, localvariables, constants, and methods.
  • The Member and driver classes and the MemberType enumeration for this project must be in a package named clubRoster. It is not necessary to move other classes to this package, but it will be necessary to import any package you use that is not part of the clubRoster package. The finished project should look similar to the following in Eclipse.

Project Documentation (via Comments)

Project documentation is NOT optional in this course. It is absolutely required in every programming assignment. See the Documentation Standards on the course website for details and for examples of proper documentation.

An otherwise perfect project may still receive a failing grade if the required documentation is missing, incomplete, or poorly done. Examples of proper documentation appear in the course DocumentationStandards document, and Eclipse will help write much of the documentation for you if you set it up and use it as described in the first lab meeting of this course.

Submission

If you navigate in Windows Explorer to your Project 1 – ClubRoster folder in your Eclipseworkspace, the src subfolder should contain twosubfolders named clubRoster and util. Zip both of these subfolders(NOT including src) along with the final (updated) designdocument into a single zipped file named as specified in the CourseFacts on the course website. The zipped file should contain nothing other than the final design document, the clubRoster and utilfolders, and theircontents. Submit the onezippedfile to your instructor and your TA as an emailattachment. When the zipped file is opened in a program such as 7-zip, it should look something like this:

The two folders contain their respective .java files. Note that the submission DOES NOTand MUST NOTcontain the entire project, the .src folder, the .bin folder, or anything other than what appears above.

Turn in an initial design first (see web site for due date). See the website for instructions and an example. Then, complete the implementation of the project and turn in an updated (final) design that includes any changes you needed to make in your design during the implementation phase. Turn in the finaldesign with your final javacode as shown above.

Project 1 - ClubRosterPage 1