Contract

  • Project Summary
  • Primary Requirements
  • Secondary Requirements
  • Resources
  • Risks
  • Signatures

  • Project Summary

    Carolina hosts a basketball camp several times each summer; during each individual camp, participating teams are divided into leagues based on school and competition levels.  A tool is needed to schedule round-robin tournaments for the leagues participating in  basketball camps each summer.  The schedules for each camp will take into account the scheduling constraints specified by Carl Hatchell, including location, time and other constraints. In addition, this tool needs to be very flexible and allow the user to modify the schedule using a drag and drop interface.  To accomodate manual changes, the tool must notify the user if scheduling constraints will be broken if a certain change takes place; the user must then be able to accept the change, or cancel the transaction.  An additional function of the tool is to analyze the schedule produced and display a report of games, teams and locations, as well as any scheduling decisions that have violated any contraints. An estimate of the complexity of this problem is: 80-100 teams on 15 courts during 36 one hour time slots.

    Primary Requirements

    Interface

    Schedule Analyzer
    Allow user to change the schedule manually with drag & drop capabilities
    Check for conflicts on manual changes, and present potential problems to the user
    Views (print & on-screen)
    League - A list of teams in a particular league, and all of the games played by that team.
    Master - A complete list of all games played in a particular session in grid format.
    Team - How many times each team has played on each court
    All league - A listing of teams in order by league.
    Courts - List/Screen for entering court times and special availability.

    Scheduler Functionality

    Allow user to change everything manually
    Check for conflicts on manual changes
    Reschedule league if one team drops out or adds using the same courts
    Allow special availability and game times depending on building and individual courts
    Allow user to pick two teams to play back to back in same building (override default constraint)
    Drag and drop to change which league a team is in
    Facility to swap games
    Allow user to schedule games between teams in different leagues (across leagues)

    Secondary Requirements

    Update printed format, perhaps with clip art
    User defined scheduling constraints
    Facilitate data entry
    Improve the user interface

    Resources

    The main tools we will be using to complete this project are Visual C++, which is installed on the computers in Sitterson and the Windows operating system.

    Risks

    The main risk in this project is the complexity of the algorithm that will schedule the games according to specified constraints.  Likewise, if the complexity of the problem is too great, a solution conforming to only a portion of the constraints may have to suffice.

    Signatures

    Project Team Members

    Sara Bidgood  ___________________________________
    Scott Campbell  ___________________________________
    Carla Gaskins ___________________________________
    Joel Sgro ___________________________________
    Brandon Wood ___________________________________

    Client

     
    Carl Hatchell ___________________________________

    Boss

     
    Dr. Stotts ___________________________________