ICS 52: Introduction to Software Engineering
Fall, 2008
Homework 3: Implementation
Due: Wednesday, Nov. 26, 2008
SUMMARY
This assignment is to implement, in Java 1.6,
your design for the VSS system.
It is not necessary for the entire system to be working bug-free
for you to receive full credit (homework 4 will focus on testing).
Your Java code should follow as closely as possible the design you
turned in for homework 2.
You will indicate changes you make to the design.
We will provide you with the
conversion data file and
information on its structure.
Ideally, you will implement the entire first phase of the VSS system,
which omits actual emailing and the Number of Copies Analysis.
However, a large amount of credit will be given for a substantial
but incomplete coding effort.
No credit will be given for code which does not compile, or
which cannot be run at all.
It is your responsibility to make it easy for the graders
to run the code you want credit for.
ASSIGNMENT DETAILS
You will turn in both source code and a written document.
Both are due at 1:00 pm, Nov. 26.
Hand in the written document at the start of lecture.
The source code will be turned in through
Checkmate.
The Java class with the public main() function should be called
VSS.
(If you have more than one public main() function that we should
run to see everything working, note this in a
plain text file called ReadMe.txt which you submit through Checkmate.)
To evaluate your implementation, we will log onto a computer with Java 1.6,
open a command prompt window,
cd to a folder containing your .java files, and enter
javac *.java
java VSS
It is strongly recommended that you test your
system using this same technique.
Projects that work "on your machine" or "only in NetBeans"
or "only if you enter something special on the command line"
will not receive full credit.
There will be a large penalty for missing source code files.
The upload to Checkmate
Put the .java files, a ReadMe.txt (only if necessary), and
any other files that your implementation requires in a
zip file called VSS.zip. Upload that file to
Checkmate.
The written document
Your written document should consist of the following sections, in
the order specified. Please staple your entire document
together and do not put it in an envelope, binder, or cover.
-
A cover page for scoring (at the end of this web page, and
here).
-
An overview of what changes you made to your design during the
implementation phase.
Discuss changes to overall architecture,
to the modularization of the system,
to class or method names,
and to individual class interfaces.
Explain why you made the changes.
-
A discussion of the status of your coding effort. Indicate
- What parts of the design you don't have written and cleanly compiling.
(You will not receive any credit for code that does not compile.)
- What parts of the system are working but are pretty buggy or
missing major parts.
Discuss what does work.
- What parts of the design are working reasonably well. List any
known bugs or omitted functionality.
You do not need to find and write down every bug. The goal
is to demonstrate that you are aware of the status of your coding
effort. If "driver" programs you supply are required to run
some of your code, note that in this section (and also, if appropriate,
in ReadMe.txt).
Note that you will receive very little or no credit for
code that we cannot run and see working.
-
From your design in homework #2, select two classes
that represent titles and rentable items.
If you don't have exactly these, choose the closest matches.
(If you designed these classes, but you didn't
get them coded and working at all,
select any two other classes.)
Create a revised and consistent-with-your-implementation
version of
the class interface specification of the two classes you selected.
You can do this in either of two ways:
- Hand in a copy of your design for those modules
from homework #2 section 7,
with all changes marked in pen.
Thus whatever is typed or printed is the original
design, and modifications are in pen.
- Edit your original design for those modules from homework #2 section 7,
so that both the original design
and the new design
are printed. Highlight (with a yellow highlighter
pen or equivalent) what is changed from the original homework #2.
The new,
revised design
must match the source code exactly.
-
A printout of the source code from your implementation
that corresponds to the two classes you selected for
the previous section.
The goal is to make very clear
how your design changed from homework #2 to homework #3.
Don't print out and turn in code that does not correspond to
the classes you selected.
We will not be scoring you on the quality of your code. However,
you may lose points if you don't follow these basic rules:
- Indent nested sections of code appropriately and consistently.
- Start new statements on new lines.
- Follow Java naming standards (no underscores in names (except
constants), method and variable
names start with lower case letters, class names start with
upper case letters).
Complete the assignment by yourself.
Do not work in teams on this assignment.
ICS 52 - HW3 Cover Sheet
Student Name:
Student ID Number:
| Awarded Points | Available Points |
|   | 5
| Discussion of changes to design
|
|   | 5
| Discussion of status of coding effort
|
|   | 75
| Amount of system implemented
|
|   | 15
| Revised module interfaces
|
|   | 100
| ASSIGNMENT TOTAL
| |