This assignment will also help you gain some experience with the integrated development environment that you will be using this semester in this course. Some of the tools you will be using this semester will be new to some of you, and we will discuss aspects of them as the semester progresses. However, at this point, regardless of whether you have used the tools in the past, you should be able to figure out everything that you need for this assignment.
This asignment will also, hopefully, lead you to improve the process that you use during the construction phase of the software engineering lifecycle. For example, it will hopefully get you to start earlier, work on a regular schedule, test properly, and ask questions appropriately.
Finally, this assignment will expose you to the kinds of software engineering documents you will be reading and writing throughout the semester, and the kinds of questions that you may need to ask while carefully reading these documents.
They are in the process of developing a suite of products called forScore for judged competitions of various kinds (e.g., sporting events like diving and gymnastics, singing contests, dance competitions). These products will be used by the organizers of the events, the broadcasters of the events, and the viewers/audience. They have hired you to construct several interfaces/classes that will, ultimately, become part of these products.
  These classes/interfaces will initially be used by an application
  that can be used to score the required program for one diver in a
  sanctioned intra-departmental 1-meter springboard diving competition
  (like the one that the Computer Science Department has scheduled for
  later in the semester).  For example, running this application with
  the command-line parameters
  8.5 9.0 5.0 8.0 7.5  7.5 8.0 4.0 9.0 7.5  Bernstein should 
  generate the following output.
  
Results for Bernstein
                               ALB BEL CAN DJI ESA |  Raw
           Forward Dive - Pike 8.5 9.0 5.0 8.0 7.5 | 24.0
     Forward Somersault - Tuck 7.5 8.0 4.0 9.0 7.5 | 23.0
                 Points:  63.4
  
            
  As another example, running this application with the command-line parameters
  4.5 4.0 9.0 5.5 5.0   6.0 6.5 9.5 6.0 6.5   Fox should generate 
  the following output.
  
Results for Fox
                               ALB BEL CAN DJI ESA |  Raw
           Forward Dive - Pike 4.5 4.0 9.0 5.5 5.0 | 15.0
     Forward Somersault - Tuck 6.0 6.5 9.5 6.0 6.5 | 19.0
                 Points:  46.1
  
         The terms that perspecTV uses when discussing forScore and its functionality are described in the following document.
When using scrum, time is divided into time intervals called sprints that typically last 1-2 weeks, and product features are organized into stories. perspecTV categorizes stories as either epics, abstract stories that might take several releases (developed over the course of many months) to completely realize, and sprintable stories that describe what will be completed in a single sprint (and included in the product at the end of the sprint). The sprintable stories (which are what you are concerned with for this assignment) for forScore have been collected in the following document (along with some epics that are not part of this assignment).
Your team at perspecTV used the sprintable stories to create a set of tasks for this assignment. The other members of your team completed some of the tasks and have left others for you to complete. The complete set of tasks is contained in the following document.
The tasks that are "checked" have already been completed by other team members, the evidence for which is contained in the following documents.
IndividualScorer in
            the app package) for this release
               DifficultyTable1mS class (in the 
            diving package) for this release
               Position enum
               Missing class
               Score class
               SizeException class
               DropRule class
               TotalSystem class
               WeightedTotalSystem class
               You must complete the tasks that have not been "checked-off". The code you write must be consistent with the documents prepared by the team.
testing and each test class must include
  the word "Test" in its name.
         For any project you should start as follows:
IndividualScorer
          class) so that you understand how the classes you are
          implementing will be used.For this particular project, you should then:
Position enum.Position enum.Missing class.Missing class.Score class.Score class.SizeException class.ScoringSystem interface.WeightedTotalSystem and
          TotalSystem classes should be related (if
          at all).WeightedTotalSystem or 
          TotalSystem class (whichever one you think
          should be implemented first).
      WeightedTotalSystem or 
          TotalSystem class (whichever one you think should be
          implemented second).
      Rule interface. (You should
          really have done this when you stubbed-out everything
          else.)DropRule class.DropRule class.
          IndividualScorer)..zip file that
  contains:
  testing.
  The .zip file you submit must contain
  the diving,
  scoring, and testing directories/folders at the
  top level.
  
There is no limit on the number of submissions and no penalty for excessive submissions.
Note that your submission will not be graded if it does not comply with the specifications. So, if you are unable to complete the assignment, your submission should include a stubbed-out version of all of the components. (This will allow you to get credit for the components that you do implement correctly.)
Points will be deducted for code that is unclear, inelegant, and/or poorly documented.
The course "Help" page on Eclipse explains how to provide an application with command-line arguments. You also may want to refer to and/or complete the "review labs" at the top of the syllabus.
.zip file. So, you must not compress the
    directory/folder containing these directories/folders, you must compress
    the directories/folders containing the packages. In other words,
    if you have a directory named src that contains the directories
    diving, scoring,
    and testing, you must not
    compress src, you must
    compress diving, scoring,
    and testing.
    
    Help with creating .zip files is available on the CS Wiki.
    In particular, see:
    
Copyright 2025