Introduction To Java - MFC 158 G

 Fall 2000

 

Final Project – Homework Assignments Tracking Application using JDBC (worth 25% of the final grade)

 

Date assigned:  November 14, 2000

 

Due date: Saturday December 9 – midnight (no extensions can be given)

 

Objective of the assignment:

-         to learn how to work with SQL and data access using Java

-         to become comfortable developing more complex Java applications

-         to gain experience with modifying code that you may not be familiar with

-         to continue building experience in researching answers to questions

-         to reinforce some of the earlier concepts discussed in the class (cumulative knowledge)

 

Description

In this assignment, you will create a Homework Assignments Java application.   This application would allow a student to keep track of their assignments for each class they are taking.

 

 

User requirements of the assignment

This application must be developed to run as character based and graphical.  It should be simple and intuitive for the user.

 

We will store all of the tasks using either an Oracle database or Access database.  Your program must facilitate at least one of these.

 

(Graphical application only)  The user will have the ability to enter new data as well as modify it, particularly for marking an assignment as completed.

 

 

The following fields are required for the task file:

-         courseNumber (String of size 6)  - i.e. MFC158

-         description (String of size 30)

-         complete (String of size 1) value of Y or N

-         dateAssigned (date data type)  value of DD-MMM-YYYY

-         dateDue (date data type)  value of DD-MMM-YYYY

-         hoursWorked (number)

 

 

 

The functions needed by the user (by application):

    GUI application

-         adding tasks

-         deletion of tasks

-         marking of completed tasks (complete=’Y’) and hoursWorked

-         Allow the viewing of tasks, sorted by courseNumber

-         Allow the viewing of a filtered list - completed tasks or incomplete tasks.

 

      Character based application – using a menu based system

-         Allow the viewing of tasks, sorted by courseNumber

-         Allow the viewing of tasks, sorted by dueDate

-         Allow the viewing of a filtered list - completed tasks or incomplete tasks.

 

 

Creating the Homework Assignments Tracking Application

As you will recall, one of the first things to consider before beginning development is to ask the question “does this functionality already exist somewhere?” or “Is there a program that exists that could function as a suitable template to solve the problem?”.   Luckily,  the answer is yes!  If this wasn’t the case, we would need more than 2 weeks to accomplish this assignment.

 

We will utilize a set of programs from the textbook CD as well as class examples to accomplish our goal.  Refer to:

-         the examples in Chapter 18 (fig 18.24, 18.29, 18.30).

-         code located on UBUNIX at:  

~fineberg/mfc158labs/final_project

 

In order to access the Oracle libraries for JDBC access in Unix, you will need to execute the following script to change your CLASSPATH variable.  This is done from the Unix prompt as follows:

 

     >  source  ~fineberg/mfc158labs/set_oracle_classpath

           

 

 

 

 

 

 

 

 

 

           

 

Recommended steps

1)     create the tables for the sample programs

2)     compile and test all the sample programs (using the newly created databases).

3)     Create the tables for the project (using the specifications from above).

4)     Modify the programs and create new ones to accomplish the assignment

5)     Change class names and variable names to reflect names that properly describe your functionality.

6)     Submit all the source code for running the applications.  No data is necessary, as I will test the programs with a database using the same field names and sizes.

7)     Submit a README.TXT explaining how to run the programs.

 

 

 

*** Avoid losing points on this project ***

Please follow these instructions…

 

1.       Document any missing features with your project. 

2.       Programs that don't compile will lose as much as 50% of the score when grading, if not accompanied with a note describing the problems encountered.

3.       Make sure that attachment file names are the same as the class name (including case) when submitting.

4.       If code from the book is part of your work, site that fact in the source code.

5.       Don't wait until 2 days before a project is due to get help!!!!