Introduction To Java - MFC 158 G
Fall 2000
Final Project – Homework Assignments Tracking Application
using a sequential file (worth 25% of the final grade)
Date assigned:
November 14, 2000
Due date: Saturday December 9 – midnight (no late
assignments accepted)
Objective of the assignment:
-
to learn how to work
with packages and development environments
-
to become comfortable
developing software using multiple files
-
to gain experience
with modifying code that you may not be familiar with
-
to continue building
experience in researching answers to questions
-
to learn how
sequential file access works
-
reinforce some of the
earlier concepts discussed in the class (cumulative knowledge)
Description
In this assignment,
you will create a simple ‘To-Do List’ Java application.
This project will
help you to understand basic concepts of data access using Java, but the
program itself will not be very robust.
We want to be able to
save all of our tasks to a file. All
tasks are added during a single data entry session and cannot be modified. This is because we are using a sequential
file.
The following fields are required for the task file:
-
courseNumber (string lf size 6) – i.e. MFC158
-
description (String of size 30)
-
complete (string of size 1) value of Y or N
-
dateAssigned (string of size 11) value of DD-MMM-YYYY
-
dateDue (string of size 11) value of DD-MMM-YYYY
The functions needed by the user are:
-
adding a series of
tasks
-
view the tasks,
displaying each task on the screen by itself
-
Allow the viewing of
a filtered list - completed tasks or incomplete tasks.
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 to accomplish our goal. The following programs will be used from the
text:
Program |
Figure in book |
Description |
BankUI.java |
17.4 |
Bank User Interface
- package for the user interface |
BankAccountRecord.java |
17.4 |
Class representing
a bank record of information |
CreateSequentialFile.java |
17.4 |
Writes objects
(bankrecords) to a sequential file |
ReadSequentialFile.java |
17.6 |
Reads a sequential
file of objects (bankrecords) |
CreditInquiry.java |
17.7 |
Reads a sequential
file and displays filtered records based upon which button a user types |
Recommended steps
1) compile and test all the sample programs. Since there are packages, you will need to
create your package directory to store them.
After you have gotten compilation to work, test the programs. Make sure you can:
a) add accounts (using CreateSequentialFile.java)
b) look at the accounts (using ReadSequentialFile)
c) look at the accounts by credit balance (using
CreditInquiry.java)
2) Put all the files in a single directory and fix the program's
import statements to reference the packages locally. This will allow you to work on all the files in a single
directory (and help me for compiling them for grading).
3) Change the filenames to make them meaningful for the task
project as follows:
a) BankUI.java should be TaskUI.java
b) BankAccountRecord.java should be TaskRecord.java
c) CreditInquiry.java should be TaskInquiry.java
4) Change class names to reflect your task related names
5) Change the fields throughout the system to the reflect task
related names
6) Test the programs to work similar to the Bank application
(but now using your customized task related data)
7) Submit the following files as attachments:
8) TaskUI.java, TaskRecord.java, TaskInquiry.java,
CreateSequentialFile.java, ReadSequentialFile.java and taskfile.dat - (your
data file)
9) If all the programs are named as above, you don't need a
README.TXT file. If you have changed the names to accommodate your particular
implementation, then you must 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!!!!