Preliminary
Design
Requested by: Mr. James Matthews
Siena
College
Computer Science Department
Dr. Scott Vandenberg
Head of Department
Computer Science Department
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
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
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.
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 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.
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