TCSS 360
Project Description

Fall 2002

Version: 23 September 2002

Overview

You are dong the scheduling for the presentations for an upcoming conference, and you would like to write a program to help with this. The program will take an input file with information that describes each presentation, along with a with information on the conference characteristics, such as number of rooms, and conference duration. This program will calculate and output both a conference presentation schedule and a flyer announcing each presentation.

Requirements

Your program takes a file as input that gives the conference name, and, for each conference presentation includes the following:

  1. a presentation title (a string that can include whitespace),
  2. a presentation nickname (a string without whitespace),
  3. a list of the presenters
  4. a brief description of the presentation (straight ascii text),
  5. a list of the prerequisite presentations by nickname, indicating those presentations that a conference attendee must have attended (and therefore must be scheduled earlier) before the attendee can attend this presentation,
  6. a duration, either 0.5, 1, 1.5, or 2 (indicating hours)
This file must also contain
  1. the number N of rooms available,
  2. the number of days maximum of the conference,
  3. the earliest start time of the conference each day,
  4. the duration in hours each day

Your program should output 1) a file that represents a schedule, in ascending chronological order of start time, indicating the start and end time, the presentation title, presenters, and room number, and 2) a file for each presentation that serves as an announcement, with all of the presentation data attractively displayed. The schdule should be a single html 3.0 file (no frames, no style files, etc.!), and each presentation title should be hyperlinked to the announcement for that presentation. Each announcement should also be an html file, with hyperlinks to the announcements for each prerequisite presentation. You can schedule a presentation immediately after its prerequisite presentations, i.e. you need not allow for extra time for attendees to get from one room to the next, and you must schedule each presentation for exactly one time slot of the correct duration.

You are free to add a GUI interface, but your program should also run strictly from the command-line without any further user-interaction.

Much of your SRS will involve clearly specifying the format of the input and ouptut files, as well as how the program will know where to find the input file and where to put the output files. Don't assume that the program will run on a windows-based platform. As such, I recommend taking the input file from and putting the output files to the current (default) directory.

You should include as part of your SRS at least one example input file that shows all of the features in the input specification language along with its associated output files. You should also provide as formal and precise a description as possible for the input and output format. You will additionally need to document command-line parameters.

In your VVR, you should include in your scenario testing a suite of input / output pairs that I can view. These should be appropriately hyperlinked in the VVR and should provide complete coverage for the MSS and all extensions. Each i/o pair should indicate which scenario(s) it covers.

Your project demo at the end of the term should use an input file that demonstrates all of the features of your software.


Change Log