Programming Assignment 7
         
            
         
         
            
1 Purpose
  The primary purpose of this assignment is to help you review (and
  demonstrate that you have acquired) the knowledge and skills
  required to create a program that uses described dynamic visual
  content.
  
  
         
            2 Background
  As you know, 
WeatherBits is a
  (fictitious) company that is developing and commercializing applications
  that will use localized, high-resolution weather forecasts.  For
  this assignment, you must implement an application that can be used
  to display an "animated storm track" on a map (on top of optional weather
  observations or forecasts).
  
 
         
            3 Documents
    WeatherBits uses a heavyweight process (as opposed to an agile process)
    so they have created a fairly detailed set of specifications.
    They are described in the following document:
    
          
  
         
            4 Submission
  There is a two part submission process for this assignment.
  
               - You must also submit (using Gradescope) a 
.zip file
       containing all of the code necessary to build your
       application. Gradescope will only be checking to ensure that your code
       complies with the course style guide.  Hence, you may only submit
       to Gradescope five times. If you can't get your code to comply with
       the course style guide within five submissions, you will receive a
       grade of 0 on the assignment.
     
               - You must submit (using Canvas) an executable
      
.jar file named
      DynamicMapApplication.jar
                   (that must NOT contain
      any of the classes in multimedia2.jar
                  ).
       
            
          
         
            5 Grading
  You will receive one of four grades on this assignment -- 100, 75,
  50, or 0.  You will receive a grade of 100 if your code is
  essentially correct (i.e., a limited number of system tests do not
  cause any failures).  You will receive a grade of 75 if you appear
  to have devoted significant effort to the assignment but your code
  has small defects. You will receive a grade of 50 if you devoted a
  reasonable amount of effort to the assignment but your code has
  major defects. You will receive a grade of 0 otherwise 
and/or if
  the code you submit to Gradescope code contains any style defects.
  
  Gradescope will assign a maximum grade of 25 (based solely on style).
  Points will then be awarded manually based on the criteria discussed
  in the previous paragraph.
  
          
         
            6 Help
  You might find the following tips/hints helpful.
    
               
6.1 Approach
    It's clear from the UML class diagram that
    the Visualization should now be
    a Stage. What's less obvious is that you should use
    a DescribedSprite and key-time animation for the
    "storm track" that consists of three
    different AggregateContent objects, one for each key time.
    
            
               
6.2 Code Duplication
    Don't worry about code duplication across
    the StaticWeatherMap
    and DynamicWeatherMap classes. There are ways to
    avoid it, but it's not necessary to do so for this assignment.