Assignment 5, Reuse

Due date: February 26th 5:00pm

Informatics 122

Software Design II

Winter 2015

Professor Emily Navarro

Imagine that you, as designer of the wildly successful MakeAGraph application, are now tasked with adding pie chart capability to MakeAGraph. Specifically, add to your MakeAGraph program by incorporating the following requirements:

* The program should accept as input from the user a set of (category, value) pairs, as well as a title for the chart, and generate a pie chart based on the data given (the specifics of the pie chart appearance are left to your discretion). 

To do this, you must reuse an existing graph/chart Java library. In particular, you must research available components that provide this functionality, set up selection criteria, make a choice of the component that you believe is best, and then integrate the component. (Hint: google "Java charting library") In addition, imagine you have $25,000 in funds to spend for this project. However, we want to save money for user studies and other assorted expenses, so cost should be (somewhat) minimized. 

Each individual must turn in:

1. Submitted as a single zip file via eee dropbox (named "Assignment 5"; NOTE: DROP BOX HAS A DEADLINE OF 5:00pm on 2/26; NO LATE SUBMISSIONS WILL BE ACCEPTED):

* Working Java code (both source and a JAR file) that includes the pie chart functionality. Be sure to include your chosen libraries in the jar file!

* Brief instructions on how to provide input to the program

2. Updated version of the design that you implemented in Assignment 2, with the parts that have been modified highlighted

3. A matrix of criteria vs. component for at least 3 different candidate Java graphing libraries with at least 5 different criteria (as shown in slide 23 of Lecture 9).

4. Document describing: 1) which component you chose and why; and 2) the changes that you needed to make to your design and code in order to integrate the component. This document does not need to be more than one page. 

5. 1 minute presentation (given in class on February 26th) that contains one slide showing your updated design, with the updated parts highlighted. In this presentation you will (very briefly) state which component you chose and why, and also very briefly explain how you modified your design to incorporate the pie chart functionality

All deliverables due February 26th, start of class.

Assignment 5 will be graded on:

* Completeness of your code implementing pie chart functionality

* Breadth/depth of your component evaluation

* Level of design understanding shown in your updated design and description

* If other parts of your MakeAGraph are not working or incomplete, you will not be penalized. We are just grading on the pie chart functionality for this assignment.