JMU CS446 - Software Analysis and Design
Help Policies Solutions Study-Aids Syllabus Tools
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:
  1. Implement all of the interfaces and classes in the class diagram and specifications document.
  2. 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:
  1. Your implementation of the required interfaces/classes/enums in the appropriate package(s), including those from previous assignments.
  2. 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:

Copyright 2022