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)