Preliminary Design

 

 

Requested by:  Mr. James Matthews

       Professor

       Siena College

       Computer Science Department

 

                                                    Dr. Scott Vandenberg

                                                    Head of Department

                                                    Siena College

                                                    Computer Science Department

 

 

 

 

Programming Contest Submission and Scoreboard

 

 

 

SEG

 

Prepared by:

 

Paul Califano, Team Leader

Thomas Hyne

Adam Pasquerella

George Reese

Mark St. Hilare

Melissa Hoffmann

 

Presentation:

December 8, 2004

8:15 am – Roger Bacon 328

 

 

Programming Contest Submission and Scoreboard

Preliminary Design

 

Table of Contents

 

 

            Section 1:      External Design Specifications

                                 Section 1.1:                     User Displays and Reports Formats………...2

                                 Section 1.2:                     User Command Summary…………………13

                                 Section 1.3:                     Detailed Data Flow Diagrams……………..15

                                 Section 1.4:                     Logical Data Stores………………………..40

           

            Section 2:      Testing Requirements

                                 Section 2.1 GUI Testing……………………………………………..41

 

            Section 3:      Sources of Information………………………………………………43

 

            Section 4:      Glossary of Terms…………………………………………………...44

 

            Section 5:      Gantt Charts…………………………………………………………45

 


Section 1: External Design Specifications

 

Section 1.1: User Displays and Reports Format

 

            Team Web Sites

 

Team1:

 


Team1a:


Team1b:


Judge Web Sites

 

Judge1:


Judge1a:


Judge1b:


Contest Web Sites:

Contest Home Page:


Previous Problems Page:


Scoreboard Websites:

Scoreboard:


Scoreboard1:


Scoreboard2:


 Section 1.2: User Command Summary

 

In this section, each prototype shown in the section above will be explained.

 

Team Websites: The team website will be equipped with the list of each problem and the teams status of that problem in a status bar. The status bar will tell a team whether that problem has not been submitted, has been submitted but has not been judged, it is in the process of being judged, or if it was correct and accepted. If the team’s solutions are incorrect, a specific message will pop up into the status bar to tell the team what was wrong with their solution. Also when the teams get to the scoreboard but clicking the button on the bottom of the screen called “Scoreboard”, which will open a new web browser and bring them to the scoreboard. Teams may also view the message boards of different problems by choosing what problem they would like to view the clarifications for, and the message board will automatically pop up.

Finally, the teams may use their website to submit solutions and questions to the judges. If a team chooses to submit a solution, they must choose a radio button below “Select a Solution to Submit” with the according problem. Once they choose that, a section to choose the language in which the problem was completed in is popped up (seen in TeamA website), and the team needs to make this selection and then hit submit, which will find the appropriate file and submits it. (In order to submit files correctly, teams will be notified to use a specific naming convention when creating solutions as well as to place them in a particular place in order to allow for a clean submission.) When a team submits their solution, it takes a copy of the file they created in their directory, and places it into a directory on Turing called “Submitted not Judged”, that all the judges have access to. If a team selects to submit a question to the judges, the team selects a radio button under “Select a Question to Submit” for a particular question. When this is selected, a section to type a question to the judges is popped up (as seen on TeamB Website), and the team can now type in their question and hit the submit button to submit it to the judges. When a team submits a question, it will put it in a form of a text file in a directory on Turing called “Questions Submitted”

 

Judges Websites: When the judges get their website, there will be two separate queues, one with all of the solutions submitted by the teams, and another with all of the questions submitted by the teams. (Each item in the queues will depict which team submitted the solution/question, and what problem it was submitted for.)

 

JudgeA: If a judge decides to judge a submitted solution, they will pick what solution they would like to judge, and hit the “Judge Solution” button. When this button is selected, a new section is popped up onto the website listing the team who submitted the solution and what problem was submitted, as well as moving the selected solution from the “Submitted not Judged” directory to the “Being Judged” directory on Turing. Once they are here, judges are on their own to go off and judge the submitted solution (judges will have directions to follow on how to do this). Once they are done judging the solution, they can respond to the team by selecting the response by choosing one of the radio buttons, and clicking the submit button to send the response, as well as moving the file from “Being Judged” directory to the “Correct” or “Incorrect” Directory. (The head judge predetermines the responses back to the teams.)

JudgeB: If a judge wants to clarify a question sent by one of the teams, he/she can select a question to clarify and click the “Clarify Question” button, which will pull the file out of the “Questions Submitted” directory on Turing. Once this happens, a new section is popped up where the question is in one text area, and there is a spot for the judges to answer the question in the area depicted “Please enter your answer to the question here.” The judge then types in their response to the teams, and can decide to send it to the team that sent the question, or send it to the entire message board. (The head judge determines the logistics of which clarifications should be sent to the team itself and which ones should go to the message board.) The judges can also view the scoreboard by clicking the “Scoreboard” button that will bring up a new web browser with the scoreboard.

 

Contest Home Page: The contest home page is available to anyone that has access to the Internet. This page will contain some information about the contest, as well as having a contact if someone wanted to join the contest. This will also have links to pages for the scoreboard for the current/latest contest that is/had occur(ed), and a page with problems used in previous contests.

 

Previous Problems Page: This page will have links to Word files that will have problems from previous years that anyone can see.

 

Scoreboard: The scoreboard will have each team listed as well as each problem. The time a team finishes a problem will be shown underneath the problem number by each team’s name. The teams will be ranked based on the number of correct solutions as well as the amount of time used to submit the solutions. While the standings change, the ranking on the scoreboard will reflect that change. Scoreboard1 is a sample scoreboard with the teams in ranked order, with the top team being in the lead, and the bottom being in last. A few minutes later, Scoreboard2 depicts what happens when the site is changed, and a team takes over the lead from another team.

 

 

 

 


Section 1.3 Detailed Data Flow Diagrams

 

Legend:

External Entity

 

Data Flow

 

Data Store

 

Process

 
 

 

 



 

Context Diagram

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Level 0 – Manage Submissions:

 

 

 

 

 

 

Level 1 – Grading Process:

 

 

 

 

 

 

 

 

 

 

 


Level 2 – Judge Selection:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Level 1 – Submit:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Level 1 - Response:

 

 

 


Data Flow Diagram Detailed Listings:

 

Date: 12/6/2004 Project: SEG Page: 1

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Administrator Source/Sink

Description:

Person who has to maintain the submission software by updating the team names on the scoreboard and th

Location:

Context Diagram ( CONTEXT )

Output Flows:

Contest-Information

Submission Software ( 0 )

Output Flows:

Problem-Examples

Team-Information

Date Last Altered: 11/1/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Being Judged File Directory File

Description:

File Directory where teams program is stored while being graded

Location:

Grading Process ( 3 )

Input Flows:

Copy-of-File

Selection-of-File

Output Flows:

File-to-be-Judged

Judge Selection ( 3.1 )

Input Flows:

Copy-of-File

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Clarification-Answer Data Flow

Description:

Answer to teams question provided by the judge

Date: 12/6/2004 Project: SEG Page: 2

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Location:

Submission Software ( 0 )

Source: Judges ( Source/Sink )

Dest: Messaging ( Process )

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Clarification-of-Answer Data Flow

Description:

The answer to the question is sent to the teams

Location:

Submission Software ( 0 )

Source: Messaging ( Process )

Dest: Teams ( Source/Sink )

Date Last Altered: 11/1/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Clarification-Question Data Flow

Description:

Teams question that is sent to the judges

Location:

Submission Software ( 0 )

Source: Submit ( Process )

Dest: Judges ( Source/Sink )

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Clarification File Directory File

Description:

File Directory that stores all the teams questions for the judges to respond to

Date: 12/6/2004 Project: SEG Page: 3

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Location:

Submit ( 1 )

Input Flows:

Question

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Compiled-Response Data Flow

Description:

The program is ran by the judge to see if it works correctly

Location:

Grading Process ( 3 )

Source: Judging ( Process )

Dest: Judge ( Source/Sink )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Contest-Information Data Flow

Description:

Team Names,Number of Teams and Number of Problems for the contest

Location:

Context Diagram ( CONTEXT )

Source: Administrator ( Source/Sink )

Dest: Manage Submissions ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Copy-of-File Data Flow

Description:

Copy of the file that the judge selected is copied and moved into being judged file directory

Date: 12/6/2004 Project: SEG Page: 4

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Location:

Grading Process ( 3 )

Source: Judge Selection ( Process )

Dest: Being Judged File Directory ( File )

Judge Selection ( 3.1 )

Source: Copy File ( Process )

Dest: Being Judged File Directory ( File )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Copy File Process

Description:

Process that copies file from directory to directory

Process #: 3.1.2

Location:

Judge Selection ( 3.1 )

Input Flows:

File

Output Flows:

Copy-of-File

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Display-Selection Data Flow

Description:

User is viewing the scoreboard

Location:

Submission Software ( 0 )

Source: Outside Viewers ( Source/Sink )

Dest: Display Scoreboard ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 5

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Display Problem Examples Process

Description:

Displays the problems for people to see

Process #: 6

Location:

Submission Software ( 0 )

Input Flows:

Selected-Example

Problem-Examples

Output Flows:

Received-Example

Date Last Altered: 12/3/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Display Scoreboard Process

Description:

Displays the scoreboard for people to see

Process #: 5

Location:

Submission Software ( 0 )

Input Flows:

Submission-Score

Display-Selection

Team-Information

Output Flows:

Scoreboard--

Date Last Altered: 12/3/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Evaluation Data Flow

Description:

Judges response to the problem

Location:

Response ( 2 )

Date: 12/6/2004 Project: SEG Page: 6

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Source: *** Not on Diagram ***

Dest: Formulate Response ( Process )

Submission Software ( 0 )

Source: Judges ( Source/Sink )

Dest: Response ( Process )

Date Last Altered: 11/1/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Evaluation-Response Data Flow

Description:

The judges evaluation of the submission

Location:

Response ( 2 )

Source: Formulate Response ( Process )

Dest: Team Response ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

File Data Flow

Description:

File that the judges going to grade

Location:

Grading Process ( 3 )

Source: Waiting to be judged file directory ( File )

Dest: Judge Selection ( Process )

Judge Selection ( 3.1 )

Source: Waiting to be judged file directory ( File )

Dest: Copy File ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 7

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

File-choosen-from-queue Data Flow

Description:

Judges select program to grade

Location:

Grading Process ( 3 )

Source: Judge Selection ( Process )

Dest: Waiting to be judged file directory ( File )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

File-Judged-Correct Data Flow

Description:

File that is judged correctly

Location:

Grading Process ( 3 )

Source: Judging ( Process )

Dest: Graded Correct File Directory ( File )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

File-Judged-Incorrect Data Flow

Description:

File that is judged incorrectly

Location:

Grading Process ( 3 )

Source: Judging ( Process )

Dest: Graded Incorrect File Directory ( File )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 8

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

File-Selected Data Flow

Description:

file judges select to grade

Location:

Judge Selection ( 3.1 )

Source: Selection of File ( Process )

Dest: Waiting to be judged file directory ( File )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

File-to-be-Judged Data Flow

Description:

File judge selected to grade

Location:

Grading Process ( 3 )

Source: Being Judged File Directory ( File )

Dest: Judge ( Source/Sink )

Source: Judge ( Source/Sink )

Dest: Judging ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Formulate Response Process

Description:

Process that judges use to respond to the teams program submission

Process #: 2.1

Location:

Response ( 2 )

Input Flows:

Evaluation

Output Flows:

Evaluation-Response

Date: 12/6/2004 Project: SEG Page: 9

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Solution-Team-and-Problem

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Grade-Notification Data Flow

Description:

Response to teams to let them know if their program was graded correct or incorrect

Location:

Submission Software ( 0 )

Source: Response ( Process )

Dest: Teams ( Source/Sink )

Response ( 2 )

Source: Team Response ( Process )

Dest: Teams ( Source/Sink )

Date Last Altered: 11/30/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Graded-Problem Data Flow

Description:

Evaluation of the problem

Location:

Submission Software ( 0 )

Source: Grading Process ( Process )

Dest: Judges ( Source/Sink )

Date Last Altered: 11/1/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Graded Correct File Directory File

Description:

File Directory that contains correct programs

Date: 12/6/2004 Project: SEG Page: 10

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Location:

Grading Process ( 3 )

Input Flows:

File-Judged-Correct

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Graded Incorrect File Directory File

Description:

File Directory that contains incorrect programs

Location:

Grading Process ( 3 )

Input Flows:

File-Judged-Incorrect

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Grading Process Process

Description:

The process that determines if the teams submitted file is correct or incorrect

Process #: 3

Location:

Submission Software ( 0 )

Input Flows:

Submission-File

Problem-Selection

Output Flows:

Graded-Problem

Date Last Altered: 11/1/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 11

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Indicated-Answer Data Flow

Description:

Team selects the answer to the question they want to see

Location:

Submission Software ( 0 )

Source: Teams ( Source/Sink )

Dest: Messaging ( Process )

Date Last Altered: 11/1/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Judge Source/Sink

Description:

The person that will be evaulating each teams submissions

Location:

Context Diagram ( CONTEXT )

Input Flows:

Notifications

Output Flows:

Selection

Grading Process ( 3 )

Input Flows:

File-to-be-Judged

Compiled-Response

Output Flows:

Selection-of-File

File-to-be-Judged

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Judge Selection Process

Description:

Process of judge selecting program to grade

Process #: 3.1

Date: 12/6/2004 Project: SEG Page: 12

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Location:

Grading Process ( 3 )

Input Flows:

File

Output Flows:

File-choosen-from-queue

Copy-of-File

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Judges Source/Sink

Description:

People who determine if the submitted files by the teams are correct or incorrect using the submission sof

Location:

Submission Software ( 0 )

Input Flows:

Clarification-Question

Graded-Problem

Output Flows:

Evaluation

Problem-Selection

Clarification-Answer

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Judging Process

Description:

Process of evaluating a teams program

Process #: 3.2

Location:

Grading Process ( 3 )

Input Flows:

File-to-be-Judged

Output Flows:

File-Judged-Incorrect

File-Judged-Correct

Compiled-Response

Date: 12/6/2004 Project: SEG Page: 13

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Manage Submissions Process

Description:

Software that manages the contest

Process #: 0

Location:

Context Diagram ( CONTEXT )

Input Flows:

Selection

Program-or-Question

Website-Selection

Contest-Information

Output Flows:

Notifications

Response-

Website-

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Messaging Process

Description:

Process of posting the judges answers to questions by the teams to a message board for either all the team

Process #: 4

Location:

Submission Software ( 0 )

Input Flows:

Clarification-Answer

Indicated-Answer

Output Flows:

Clarification-of-Answer

Date Last Altered: 11/1/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 14

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Notifications Data Flow

Description:

Notifys judges that there is a new program to be graded or a question needs to be answered

Location:

Context Diagram ( CONTEXT )

Source: Manage Submissions ( Process )

Dest: Judge ( Source/Sink )

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Notify-Grade Data Flow

Description:

Notify team if they got the problem correct or incorrect

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Outside Viewers Source/Sink

Description:

People outside the contest who want to view the current status of the contest or prior problems

Location:

Submission Software ( 0 )

Input Flows:

Scoreboard--

Received-Example

Output Flows:

Display-Selection

Selected-Example

Context Diagram ( CONTEXT )

Input Flows:

Website-

Output Flows:

Website-Selection

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 15

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Problem-Examples Data Flow

Description:

New examples of previous years contests.

Location:

Submission Software ( 0 )

Source: Administrator ( Source/Sink )

Dest: Display Problem Examples ( Process )

Date Last Altered: 12/3/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Problem-Selection Data Flow

Description:

Problem that judge selects to judge

Location:

Submission Software ( 0 )

Source: Judges ( Source/Sink )

Dest: Grading Process ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Program-or-Question Data Flow

Description:

Submission by teams of their program or question for clarification

Location:

Context Diagram ( CONTEXT )

Source: Team ( Source/Sink )

Dest: Manage Submissions ( Process )

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 16

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Question Data Flow

Description:

Teams question about a certain problem

Location:

Submission Software ( 0 )

Source: Teams ( Source/Sink )

Dest: Submit ( Process )

Submit ( 1 )

Source: Teams ( Source/Sink )

Dest: Store Clarification ( Process )

Source: Store Clarification ( Process )

Dest: Clarification File Directory ( File )

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Received-Example Data Flow

Description:

A problem a outside user decides to view

Location:

Submission Software ( 0 )

Source: Display Problem Examples ( Process )

Dest: Outside Viewers ( Source/Sink )

Date Last Altered: 12/3/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Refresh Data Flow

Description:

Updates the scoreboard

Location:

Response ( 2 )

Date: 12/6/2004 Project: SEG Page: 17

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Source: Update Scoreboard ( Process )

Dest: Scoreboard ( Source/Sink )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Response Process

Description:

Process that sends the judges evaluation to the teams and to the scoreboard for updating

Process #: 2

Location:

Submission Software ( 0 )

Input Flows:

Evaluation

Output Flows:

Grade-Notification

Submission-Score

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Response- Data Flow

Description:

Response back to teams of their submission of program or clarification question

Location:

Context Diagram ( CONTEXT )

Source: Manage Submissions ( Process )

Dest: Team ( Source/Sink )

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Scoreboard Source/Sink

Description:

Shows current status of teams in the contest

Date: 12/6/2004 Project: SEG Page: 18

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Location:

Response ( 2 )

Input Flows:

Refresh

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Scoreboard-- Data Flow

Description:

Scoreboard is displayed on the viewers monitor

Location:

Submission Software ( 0 )

Source: Display Scoreboard (Process )

Dest: Outside Viewers ( Source/Sink )

Date Last Altered: 12/3/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Selected-Example Data Flow

Description:

The example problem that the outsider viewer wants to see

Location:

Submission Software ( 0 )

Source: Outside Viewers ( Source/Sink )

Dest: Display Problem Examples ( Process )

Date Last Altered: 12/3/2004 Date Created: 12/3/2004

-------------------------------------------------------------------------------------------------------------------------------

Selection Data Flow

Description:

Judges selection of either a program to judge or a question to clarify

Date: 12/6/2004 Project: SEG Page: 19

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Location:

Context Diagram (CONTEXT )

Source: Judge (Source/Sink )

Dest: Manage Submissions (Process )

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Selection-of-File Data Flow

Description:

File judge selects to grade

Location:

Grading Process ( 3 )

Source: Judge ( Source/Sink )

Dest: Being Judged File Directory (File )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Selection of File Process

Description:

Judges select file to be graded

Process #: 3.1.1

Location:

Judge Selection ( 3.1 )

Output Flows:

File-Selected

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Solution-Team-and-Problem Data Flow

Description:

Team Name,Problem Number and Time

Date: 12/6/2004 Project: SEG Page: 20

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Location:

Response ( 2 )

Source: Formulate Response ( Process )

Dest: Update Scoreboard ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Store Clarification Process

Description:

Process that takes a teams question and stores it in the Clarification File Directory

Process #: 1.2

Location:

Submit ( 1 )

Input Flows:

Question

Output Flows:

Question

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Store Submission Process

Description:

Process that takes the submission file and moves it to the waiting to be judged file directory

Process #: 1.1

Location:

Submit ( 1 )

Input Flows:

Submission-File

Output Flows:

Submission-File

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 21

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Submission-File Data Flow

Description:

Teams answer to the problem

Location:

Submission Software ( 0 )

Source: Teams ( Source/Sink )

Dest: Submit ( Process )

Submit ( 1 )

Source: Teams ( Source/Sink )

Dest: Store Submission ( Process )

Source: Store Submission ( Process )

Dest: Waiting to be judged file directory ( File )

Submission Software ( 0 )

Source: Submit ( Process )

Dest: Grading Process ( Process )

Grading Process ( 3 )

Source: *** Not on Diagram ***

Dest: Waiting to be judged file directory ( File )

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Submission-Score Data Flow

Description:

Web site is updated with correct submissions

Location:

Submission Software ( 0 )

Source: Response ( Process )

Dest: Display Scoreboard ( Process )

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Date: 12/6/2004 Project: SEG Page: 22

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Submit Process

Description:

The process that takes the teams problem answer file and sends it to other aspects of the program

Process #: 1

Location:

Submission Software ( 0 )

Input Flows:

Submission-File

Question*

Output Flows:

Clarification-Question

Submission-File

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Team Source/Sink

Description:

The group of students who will be participating in the contest

Location:

Context Diagram ( CONTEXT )

Input Flows:

Response-

Output Flows:

Program-or-Question

Date Last Altered: 11/30/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Team-Information Data Flow

Description:

Number of Teams and Team Names for the contest

Location:

Submission Software ( 0 )

Date: 12/6/2004 Project: SEG Page: 23

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Source: Administrator ( Source/Sink )

Dest: Display Scoreboard ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Team Response Process

Description:

Process that sends judges evaluation to the individual teams

Process #: 2.2

Location:

Response ( 2 )

Input Flows:

Evaluation-Response

Output Flows:

Grade-Notification

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

Teams Source/Sink

Description:

A team consists of high school students from the local area that are competing in the programming contes

Location:

Submission Software ( 0 )

Input Flows:

Grade-Notification

Clarification-of-Answer

Output Flows:

Submission-File

Question

Indicated-Answer

Submit ( 1 )

Output Flows:

Submission-File

Question

Response ( 2 )

Input Flows:

Grade-Notification

Date: 12/6/2004 Project: SEG Page: 24

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Update Scoreboard Process

Description:

Process that updates scoreboard with new number of problems answered correctly and time needed to com

Process #: 2.3

Location:

Response ( 2 )

Input Flows:

Solution-Team-and-Problem

Output Flows:

Refresh

Date Last Altered: 11/30/2004 Date Created: 11/1/2004

-------------------------------------------------------------------------------------------------------------------------------

View Data Flow

Description:

Outside entity view the website to see what place they are currently in

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Waiting to be judged file directory File

Description:

File directory that stores the submitted program to the question and is waiting to be judged

Location:

Submit ( 1 )

Input Flows:

Submission-File

Grading Process ( 3 )

Input Flows:

Submission-File

File-choosen-from-queue

Output Flows:

File

Judge Selection ( 3.1 )

Date: 12/6/2004 Project: SEG Page: 25

Time: 2:11:43 PM

Detailed Listing -- Alphabetically

All Entries -- Data Flow Diagrams

___________________________________________________________________________________________

Input Flows:

File-Selected

Output Flows:

File

Date Last Altered: 11/30/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Website Source/Sink

Description:

Contains the scoreboard of the current contest along with questions from prior contests along with a set of

Date Last Altered: 11/1/2004 Date Created: 10/27/2004

-------------------------------------------------------------------------------------------------------------------------------

Website- Data Flow

Description:

Website is displayed on outside viewers monitor

Location:

Context Diagram ( CONTEXT )

Source: Manage Submissions ( Process )

Dest: Outside Viewers ( Source/Sink )

Date Last Altered: 11/30/2004 Date Created: 11/30/2004

-------------------------------------------------------------------------------------------------------------------------------

Website-Selection Data Flow

Description:

Outside viewers want to view the website

Location:

Context Diagram ( CONTEXT )

Source: Outside Viewers ( Source/Sink )

Dest: Manage Submissions ( Process )

Date Last Altered: 11/30/2004 Date Created: 11/30/2004

 

 


Section 1.4 Logical Data Stores

 

All of the data stores that will be used for the Programming Contest Submission and Scoreboard will be housed on the Turing server for the Siena College Computer Science Department, administered by Mr. Kenneth Swarner.

 

Submission Data Stores – There will be four directories on Turing to deal with the submitting of a solution:

1)“Submitted Not Judged” – solutions submitted but not judged

2) “Submitted Being Judged” – solutions submitted and being judged

3) “Correct” – Solutions Correct

            4) “Incorrect” – Solutions Incorrect

 

            Explanation:

When a team submits their solutions to the problems given, a copy of the solution will be made from the team’s computer to the date store “Submitted Not Judged.” While in this directory, every judge will be able to see that is it on his or her web site in the queue that is displayed. Once a judge selects a solution to judge, it will be moved from “Submitted Not Judged” to “Submitted Being Judged.” Once a judge competes the judging of the solution, if it is correct and a judge selects that as a response to the team, it will be moved from the “Submitted Being Judged” directory to the “Correct” directory. If a file is incorrect, a judge will select the appropriate response to a team, and when submitted, the solution will be placed into the “Incorrect” directory. The reason for doing the submission like this takes care of the problem of teams in the past not being able to resubmit a solution, and judges judging the same solution.

 

There is also one directory to deal with the questions asked by teams to judges:

“Questions Submitted”

 

Explanation:

All the judges will be able to see all the questions in this directory on their queue displayed on their website. When a judge selects to answer a question and select it from the queue, it will be removed from the “Questions Submitted” directory, to make sure only one judge answers each question.

 

Scoreboard Data Stores: There will be a two dimensional array (matrix), 10xT where T = number of teams in the contest,  to allow the ease of displaying the scoreboard. Each row in the array will represent a different team and each column will represent a different problem. The scoreboard will display all the data placed into the array, which will be the times a team finishes a respective problem. Once this is updated, it will be reflected on the scoreboard as well.

 

Problem Text Files – In order to allow outside users to view the problems from previous years, we must make text files of the old problems to be able to be opened from the problem web site.


Section 2: Testing Requirements

Section 2.1: GUI Testing

 

In order to test the GUI’s for the Programming Contest Submission and Scoreboard we must:

 

Teams:

·        Make sure the status bars show the correct status based on where the files are currently located.

·        Make sure that when a team selects a radio button to submit a solution or question, one and only one button can be selected.

·        When a team selects a problem to submit a solution to, the new section to select a language is displayed.

·        When submitting a solution, a team can only select one of the languages listed.

·        The submit button submits a specified solution to the judges as well as refreshing the page to go back to the team home page.

·        When a team selects the scoreboard button, a new browser is displayed with the scoreboard.

·         A team can choose one of the seven problems to view in the message board using a drop down box.

·        When a team selects to view a specific problem in the message board, the message board for that problem is displayed.

 

Judges:

·        Make sure items can be viewed in the queues on the web page.

·        When a judge selects a solution to judge, they click the button and it displays a new section with a text box of the team and problem and different responses to the teams.

·        A judge can select one and only one response to the teams.

·        When the judge hits the submit button, the response is sent to the team, and the judge page is refreshed back to the home page.

·        When a judge selects a question, they click the button, and a new section is displayed with two text boxes, one for the question, and another for the judge to enter his/her answer.

·        After a judge enters an answer to a question, if they decide to send it to the team only, they hit the “Submit to Team” button and the page is refreshed to the judges home page as well as sending the information to the team.

·        If a judge wants to send it to a message board of clarification, the answer is submitted to the correct message board, and the page is refreshed back to the judge’s home page.

·        A judge can get to the scoreboard, in a new web browser that will pop up, by clicking the scoreboard button on the bottom of their web screen.

 

 

Scoreboard:

·        Make sure the scoreboard is viewable.

·        Make sure that the information in the two-dimensional array (matrix) on Turing is presented correctly on the scoreboard.

·        Make sure that the scoring is calculated correctly.

·        Make sure the page updates, ranking the team in standing order based on number of problems correct and the about of time it took to get these problems correct.

 

Programming Contest Website:

·        Make sure the scoreboard is visible on different web browsers on different computers with different operating systems.

·        Make sure all the links between pages are functional.

·        Make sure you can get to the Previous Problems page from the home page.

·        Make sure you can get to the Home page from the Previous Problems page.

·        Make sure the links to the emails open up Microsoft Outlook with that email in the “To” section, as well as presenting the email of a certain person in text.

·        Make sure the links to the problems open up a HTML text file with the problems from the year stated.

·        Make sure that a user can get to the scoreboard, in a new web browser, when a user clicks on the “Scoreboard” link.


Section 3: Sources Of Information

 

The information for this section was obtained from meetings with our clients, Mr. James Matthews and Dr. Scott Vandenberg.  Other sources of information include Dr. Lederman’s class lectures, the Software Engineering class textbook Software Engineering: A Practitioner’s Approach by Roger S. Pressman and previous Software Engineering teams’ projects, located at http://www.cs.siena.edu/%7Elederman/csis410/csis410.html.


Section 4: Glossary of Terms

 

Computer Science Programming Contest – A programming contest administered by the Computer Science Department for local high school teams to come to Siena and compete.

 

DFD – Data Flow Diagram – A graphical representation that depicts information flow and the transformations that occur as data moves from input to output.

 

Directories – Folders on Turing in which files will be stored, as well as being moved from and to them.

 

DreamWeaver – A program that will be used to develop all needed websites.

 

Gantt Chart - A chart that depicts progress in relation to time, often used in planning and tracking a project. 

 

GUI – Graphical User Interface – The screens that users will see while using the Programming Contest Submission Software.

 

HTML - A markup language used to structure text and multimedia documents and to set up hypertext links between documents, used extensively on the World Wide Web.

 

 Internet - An interconnected system of networks that connects computers around the world via the TCP/IP protocol.

 

Java- Programming language that our program will possibly be built in.

 

Linear Sequential Model / Classic Waterfall Model – A systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing, and support.

 

Scoreboard – A web-based list of teams, in ranked order, based on the number of problems each team has answered correctly, and the time used to answer the questions.

 

Turing – The Unix Server that every PC in the Computer Science Department Connects to. It is under the administration of Mr. Ken Swarner.

 

VB- Visual Basic - Programming language that our program will possibly be built in.

 

Web-based – A software that uses the World Wide Web on the Internet as a user interface

 

Team ranking – Teams in the contest are placed in an order based on the number of correct solutions and the about of time taken to submit those solutions.

 

Array - An arrangement of memory elements in one or more planes.

 

            Section 5: Gantt Chart