Final Project - Intermediate Java Programming | COP 3804, Study Guides, Projects, Research of Java Programming

Material Type: Project; Class: Intermediate Java Programming; Subject: Computer Programming; University: Florida International University; Term: Summer 2007;

Typology: Study Guides, Projects, Research

Pre 2010

Uploaded on 03/10/2009

koofers-user-xgw
koofers-user-xgw 🇺🇸

5

(1)

10 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
COP 3804 Final Project
Due on August 9th 2007 in Class or by email. (This document is 10 pages long)
This document is subject to be modified to include
more details on how to approach the solution.
Contents
Contents .............................................................................................................................................1
1. Introduction....................................................................................................................................2
2. Functionality..................................................................................................................................2
2.1 New Document ........................................................................................................................4
2.2 Open Document .......................................................................................................................4
2.3 Save Document........................................................................................................................4
2.4 Save Document As...................................................................................................................5
2.5 Close Document.......................................................................................................................5
2.6 Exit...........................................................................................................................................5
2.7 View/Hide ID...........................................................................................................................5
2.8 View/Hide Name .....................................................................................................................5
2.9 View/Hide Detailed Info..........................................................................................................6
2.10 View Students only................................................................................................................6
2.11 View Teachers only ...............................................................................................................6
2.12 View All.................................................................................................................................6
2.13 Select a Student/Teacher........................................................................................................6
2.14 Add Student/Teacher .............................................................................................................7
2.15 Remove Student/Teacher.......................................................................................................7
2.16 Modify Student/Teacher ........................................................................................................7
2.17 Student/Teacher report...........................................................................................................7
2.18 All Students Information report.............................................................................................7
2.19 All Teachers information report.............................................................................................8
2.20 All information report............................................................................................................8
2.21 Sort information.....................................................................................................................8
2.22 Search for Student/Teacher....................................................................................................8
2.23 Help........................................................................................................................................8
3. GUI Design Guidelines..................................................................................................................8
4. Basic Detailed Design Guidelines .................................................................................................9
4.1 Packages...................................................................................................................................9
4.2 Basic class Hierarchy...............................................................................................................9
4.3 The PersonList class ................................................................................................................9
5. What to submit and How ...............................................................................................................9
6. Notes ............................................................................................................................................10
7. Grading ........................................................................................................................................10
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Final Project - Intermediate Java Programming | COP 3804 and more Study Guides, Projects, Research Java Programming in PDF only on Docsity!

COP 3804 Final Project

Due on August 9 th^ 2007 in Class or by email. (This document is 10 pages long)

This document is subject to be modified to include more details on how to approach the solution.

  • Contents ............................................................................................................................................. Contents
    1. Introduction....................................................................................................................................
    1. Functionality ..................................................................................................................................
    • 2.1 New Document ........................................................................................................................
    • 2.2 Open Document .......................................................................................................................
    • 2.3 Save Document ........................................................................................................................
    • 2.4 Save Document As...................................................................................................................
    • 2.5 Close Document.......................................................................................................................
    • 2.6 Exit...........................................................................................................................................
    • 2.7 View/Hide ID...........................................................................................................................
    • 2.8 View/Hide Name .....................................................................................................................
    • 2.9 View/Hide Detailed Info..........................................................................................................
    • 2.10 View Students only ................................................................................................................
    • 2.11 View Teachers only ...............................................................................................................
    • 2.12 View All.................................................................................................................................
    • 2.13 Select a Student/Teacher........................................................................................................
    • 2.14 Add Student/Teacher .............................................................................................................
    • 2.15 Remove Student/Teacher .......................................................................................................
    • 2.16 Modify Student/Teacher ........................................................................................................
    • 2.17 Student/Teacher report...........................................................................................................
    • 2.18 All Students Information report .............................................................................................
    • 2.19 All Teachers information report.............................................................................................
    • 2.20 All information report ............................................................................................................
    • 2.21 Sort information .....................................................................................................................
    • 2.22 Search for Student/Teacher....................................................................................................
    • 2.23 Help........................................................................................................................................
    1. GUI Design Guidelines..................................................................................................................
    1. Basic Detailed Design Guidelines .................................................................................................
    • 4.1 Packages...................................................................................................................................
    • 4.2 Basic class Hierarchy...............................................................................................................
    • 4.3 The PersonList class ................................................................................................................
    1. What to submit and How ...............................................................................................................
    1. Notes ............................................................................................................................................
    1. Grading ........................................................................................................................................

1. Introduction

This problem consists in developing a software program to handle students and teachers information in a GUI environment. The main operations that a user of the system will perform are: adding, removing and displaying the students/teachers information, opening and saving the students and teachers’ information in files on disk.

The requirements details are explained below. Also, some basic considerations and guidelines for the design and implementation of your program are explained, and they must be followed.

2. Functionality

The functionality of the system is summarized in the table below.

Functionality

Document and File

Item Description

New Document An empty document that can be later on saved to a file is created. A document is understood to contain the students/teachers information.

Open Document The user has the option to open a text file or a binary file containing the required information for students and teachers.

Save Document If there are any modifications to the students/teachers’ information, the user can save those modifications to the file associated to the current document.

Save Document As Alternatively, the user can choose to save the information into another file.

Close Document A document, and hence its associated file, can always be chosen to be closed.

System Operations

Item Description

Exit Exit the application.

View Information on the GUI

Item Description

View/Hide ID Each individual (student or teacher) will be represented as a label or button in a panel and each individual has an ID associated. When the user selects to View ID, only the ID will be visible in those labels or buttons. When the user chooses to Hide the ID, the ID won’t be visible on those labels or buttons.

View/Hide Name An individual has a name (first and last names). Similarly to the one above, the name can be chosen to be displayed or not on the

Help An online help providing a how to use the program section will be displayed in a browser.

Each of the above functional items is elaborated below.

2.1 New Document

When the user selects this option a new document is created. Each document needs to have a file associated, however, for a newly created document, that file doesn’t exist. When the user attempts at closing the new document or at saving it, he/she will be prompted for a file where to store the information and under which format (text or binary). The basic sequence of interaction is the following:

  1. The user selects the New Document option in the GUI.
  2. If there is a document in the system a. If the current document is modified (and not saved), prompt for saving it or discard the changes or abort the operation. If chosen to abort then do nothing and finish this interaction, otherwise save or discard the changes to the document. b. Close the current document.
  3. Create a new document.

2.2 Open Document

This is similar to New Document. The basic interaction is

  1. The user selects the Open Document option in the GUI.
  2. If there is a document in the system a. If the current document is modified (and not saved), prompt for saving it or discard the changes or abort the operation. If chosen to abort then do nothing and finish this interaction, otherwise save or discard the changes to the document. b. Close the current document.
  3. Ask the user for the type of file to read the information from: text or binary.
  4. Display a dialog to allow the user to enter the location and name of the file.
  5. Open the file.

2.3 Save Document

The user can only select this option if the file was not saved before, if it was already saved and not modified, then the user shouldn’t be able to perform this operation. The basic interaction is

  1. The user selects this option from the GUI.
  2. If the document is a newly created on, then proceed to execute the “Save Document As” interaction and finish this interaction.
  3. The students and teachers information is saved on disk under the required format (either binary or text depending on what was chosen to save or to open the document).

2.4 Save Document As

This allows saving the information under a different filename and also under a different format. The basic interaction is:

  1. The user selects the option in the GUI.
  2. The user is asked under what format to save the document: binary or text.
  3. The user is asked for the location and name of the file where to save the information.
  4. The information is saved and the current document is now associated to this (new) file and (new) format.

2.5 Close Document

The current document is closed; all the options but Open, New, Exit and Help are enabled. The basic interaction is:

  1. The user selects the Close Document option in the GUI.
  2. If the file is modified (or new) then the user is prompted to save or discard the changes. If save is chosen, the go to the “Save Document” scenario.
  3. Close the document and restrict the possible interaction from the user to New Document, Open Document, Exit and Help.

2.6 Exit

Allows exiting the application, the interaction is:

  1. User selects the option from the GUI.
  2. If there is a document that is modified (or new) then prompt the user to save, discard or abort the procedure. If chosen to abort then do nothing and finish this interaction, otherwise, save or discard the document.
  3. Close the document and exit the application.

2.7 View/Hide ID

Each individual (student or teacher) will be represented as a label or button in a panel and each individual has an ID associated. When the user selects to View ID, only the ID will be visible in those labels or buttons. When the user chooses to Hide the ID, the ID won’t be visible on those labels or buttons. The basic interaction is:

  1. The user selects to view (or hide) the ID as part of the representation of the individuals currently being displayed.
  2. The ID will be displayed (or hidden) on each of the individuals’ representation being shown.

2.8 View/Hide Name

An individual has a name (first and last names). Similarly to the one above, the name can be chosen to be displayed or not on the labels/buttons representing the individuals. The basic interaction is:

2.14 Add Student/Teacher

A teacher and a student share the following basic information: ID, first name and last name. A student has also a GPA associated to him/her, whereas a teacher has also a course name associated to it. We restrict a teacher to have only one class for now, and the student to have only his/her GPA, to make things easier. The basic interaction is:

  1. The user selects the option to add a student or teacher (they are separate options in the GUI).
  2. The user is displayed with a dialog to input the required information for the student or the teacher. The dialog has an Ok and Cancel options.
  3. If Ok is chosen then the information is validated (there needs to be an ID, last name and first name at minimum and the ID of the individual has to be different to any other ID already in the system). If the validation fails, then the user is returned to step 2, otherwise the new individual is added to the system and the information is displayed in the GUI.
  4. If Cancel is selected, nothing happens.

2.15 Remove Student/Teacher

Given a selected individual, the user can choose to remove him/her. The basic interaction is:

  1. The user chooses the Remove individual option.
  2. A dialog is displayed confirming the desire to remove the individual.
  3. If cancel is pressed, then nothing happens and this interaction finishes.
  4. If Ok is cancel then the individual is removed from the system, and the graphic elements representing him/her are destroyed.

2.16 Modify Student/Teacher

This is similar to Add Student/Teacher. Basic interaction:

  1. The user selects the option to modify a student or teacher (they are separate options in the GUI).
  2. The user is displayed with a dialog that contains the current information for the individual, and the user can modify that information. The dialog has an Ok and Cancel options.
  3. If Ok is chosen then the information is validated (there needs to be an ID, last name and first name at minimum and the ID of the individual has to be different to any other ID already in the system – well except for the individual being modified). If the validation fails, then the user is returned to step 2, otherwise the new information is recorded for the individual in the system and the changes are visualized in the GUI.
  4. If Cancel is selected, nothing happens.

2.17 Student/Teacher report

Given a selected teacher or student, the user can choose to display a dialog in which the details for the given individual are displayed. The interaction is simple enough to be presented.

2.18 All Students Information report

The user can choose to display a dialog with the information details on all students. The interaction is simple enough to be presented.

2.19 All Teachers information report

The user can choose to display a dialog with the information details on all teachers. The interaction is simple enough to be presented.

2.20 All information report

The last report, is a report showing the details on all students and teachers. The interaction is simple enough to be presented.

2.21 Sort information

The user can select to sort by ID, last name and first name in ascending or descending order. The interaction is:

  1. The user selects the sort information option.
  2. The user is prompted with a dialog to choose under what criterion to sort the individuals, the criteria to choose among are: ID, last name and first name. The dialog also presents the option either to sort the individuals in ascending order or descending order.
  3. If the user selects Ok then the elements are sorted and that sorted scenario is reflected in the GUI.

2.22 Search for Student/Teacher

The user can choose to search for a teacher or student given the ID or the last name and first name. The interaction is:

  1. The user selects to search for an individual.
  2. The user is prompted with a dialog to enter the value to search and under what field to search (ID, last name or first name).
  3. If the user selects ID, then there is at most one element to be displayed. If there is an individual with that ID then the information on that individual is returned and the individual is selected as well in the GUI.
  4. If the user selects first name and/or last name, then multiple contacts might be returned. If there are more than one individual returned, then a list from which the user can choose an individual is returned, once the user chooses that individual, the individual information is displayed and the label/button representing the individual is selected in the GUI.

2.23 Help

This is an important feature, when the user selects this option a web browser displaying information on how to use the system will be launched, also there has to be a link inside that help file to the java-doc files related to the source code giving solution to this problem. One add on is to add an “About” information dialog, although is not required.

3. GUI Design Guidelines

Here are some guidelines on the GUI design and implementation you need to follow (you need to implement this way). More guidelines will come after we discuss in the class.

A Menu and a Toolbar showing all the options except the “ Select Student/Teacher ” one.

There are basic classes you will need to use:

f. Send them by email. To make sure I receive the email before the class starts, send it the night before and double check with me next day. Or either, g. Bring a diskette or CD to hand in at the beginning of the class on the due date. You can also print the report.

6. Notes

This project is to be done individually. Refer to the syllabus on academic misconduct.

7. Grading

Yet to be determined the details on the grading, will depend on how more guidelines and suggestions are included.