Programming Assignment 5
1 Purpose
This assignment has one primary purpose, to implement implement
the functionality associated with saving documents to the application
framework.
2 Learning Objectives
There aren't any new topics associated with this assignment. It is really
just about "completing" the application framework.
3 Starting Point
As in the past, you may start with either your solution with the solution
that you were given.
4 Documents
The UML class diagram is available as an SVG file at:
The specifications are available as a PDF file at:
The main class (that can be used for integration testing) is available at:
The use case descriptions that explain how the demonstration application
must behave are available at:
5 Tasks
For this assignment you must:
-
Implement all of the interfaces and classes in the class diagram and
specifications document.
-
Write JUnit tests for many of the classes in the class diagram and
specifications document.
6 Testing
Your JUnit test suite must cover 75% of all statements and all
branches (as measured by EclEmma) in the various
classes other than the
AbstractEditableReadingWorker,
AbstractModalDialog, BackgroundTaskDialog,
BigPixelEditor,
GridComponent,
PrintImage,
ComponentPrinter,
and DelegatingPrintable
classes.
(This includes classes from earlier assignments.)
Your tests must be in a package
named edu.jmu.cs.academics.testing and each test class
must include the word "Test" in its name.
7 Submission
You must submit (using
Autolab) a
.zip
file
named pa4.zip
that contains:
- Your implementation of the required interfaces/classes/enums
in the appropriate package(s), including those from
previous assignments.
- JUnit tests for all of your classes/interfaces.
Do not submit the main class and do not submit any data files.
8 Grading
Your submission will be graded as follows:
- Conformity to the Style Guide (Style) - 20% (All or Nothing; Success Required)
- Passing your Tests (SelfTests) - 20% (All or Nothing; Success Required)
- Coverage of your Tests (Coverage) - 20% (All or Nothing)
- Correctness of your Code (OfficialTests) - 40% (Partial Credit Possible)