Detailed
Design
Requested by: Mr. James Matthews
Siena
College
Computer Science Department
Dr. Scott Vandenberg
Head of Department
Computer Science Department
Prepared by:
Thomas Hyne, Team Leader
Paul Califano
Adam Pasquerella
George Reese
Mark St. Hilare
Melissa Hoffmann
Presentation:
March 1, 2005
6:00-9:00pm – Roger Bacon
328
Section 1: External Design Specifications
Section 1.1: User Displays and Reports Formats………...2
Section 1.2: User Command Summary…………………25
Section 1.3: Detailed Data Flow Diagrams……………..27
Section 1.4: Logical Data Stores………………………..52
Section 2: Testing Requirements
Section 2.1 Team GUI Testing..……………………………………..57
Section 2.1 Judges GUI Testing……………………………………..58
Section 2.1 Scoreboard Testing……………………………….……..59
Section 2.1 Programming Contest Website Testing……………..…..59
Section 3: Sources of Information………………………………………………60
Section 4: Glossary of Terms…………………………………………………...61
Section 5: Gantt Charts…………………………………………………………62
Section 1: External Design Specifications
Team
Web Sites
Team 1
This is the page that the teams see when they first start
running the software. It shows all of
the problems that the teams have to complete and their status, either not
submitted, submitted, being judged, correct or incorrect. The radio buttons are used to submit a solution
or question to a specific problem. The
page also contains a message board where all the team’s questions are listed
for all the teams to view. The
scoreboard button is a link to the programming contest scoreboard that shows
the status of the contest.
Team 1A
When a team completes an answer to a problem, they select
the radio button for that problem in the “select a solution to submit”
column. When this radio button is
selected, two more radio buttons come up for the team to select the language
that they used to code.
Team 1B
The team then selects the radio button for the language
they used. The team then presses the
submit button and the file that contains their answer is submitted to the
judges for that specific problem.
Team 1C
Once a file is submitted for a specific problem, the
status of that problem changes from not submitted to submitted.
Team 1D
The status of the file for the problem changes to being
judged when a judge selects the file to be graded.
Team 1E
The status bar changes to correct or incorrect after the
judge completes their evaluation of the team’s solution to the specific
problem.
Team 1 Question A
If a team wants to ask a question about a specific
problem, they select the radio button for that problem in the “Select a
Question to Submit” column. A text box
then appears where the team types their question that they need to ask.
Team 1 Question B
The team then types the question they want to ask in the
text box. Once they question is typed
in the text box, the team clicks the submit button and the question is sent to
the judges for them to answer.
Team 1
Once the team submits their question, they are returned
to their original screen where they can submit problem answers or ask other
questions for specific problems.
Team 1 Message Board
If a team wants to see what other teams have asked about
a certain problem and the judges answers, then the select the desired problem
in the drop down menu. Once they do
that, the questions and answers will appear in the text box for the selected
problem.
Judges 1
This is the main page that the judges will see when they
start the software. It contains two
text boxes that list all the problems and questions submitted by the teams for
the judges to evaluate and clarify. The
scoreboard button is a link to the contest scoreboard.
Judges 1A
If a judge wants to evaluate one of the answer subitted
by the team, he/she click the desired file, it will then highlight. The judge then clicks the button “Judge
Solution”. The judge then is sent the
file for them to look at.
Judges 1B
After the judge presses the “Judge Solution” button, the
team and problem number appears in the top right hand corner that they are
choosing to respond to based on their evaluation of the teams answer. Also a bunch of radio buttons appear with
the different responses the judge can use.
Judges 1C
The judge then selects the radio button for the response
they want to send to the team. Once the
radio button is selected, the judge clicks the submit button and the response
is sent to the team for that problem.
Judges 1D
Once the judge sends their response to the team, he/she
is returned to their original screen and can choose judge a solution or clarify
a question.
Judges 1E
If a judge wants to clarify a question, he/she highlights
the desired question by clicking on it.
They then click the “Clarify Question” button.
Judges 1F
When the judge clicks the clarify question button, two
more text boxes appear. One text box
contains the question that the team asked.
The other text box is where the judge types there answer. Once the judge types their answer in the
text box , they then decide if they want to submit the question to the team
individually or to the message board by clicking the appropriate button.
Judges 1G
After the judge submits there answer to the question, the
judge is brought back to the original screen where he/she can judge another
solution or clarify another question.
Blank Scoreboard
This is how the scoreboard looks before any of problems
are submitted. For each problem
submitted, the time the problem was submitted is shown as is the elapsed
time. The number of correct solutions
is shown along with the total elapsed time.
These two elements are used for ranking the teams.
Updated Scoreboard
This is an example of the scoreboard after teams have
submitted their correct answers to the problems.
Updated Scoreboard #2
This is another example of the scoreboard with more
correct problems submitted and correct.
Programming Contest Home Page
This is the home page of the programming contest. It gives a brief description of what the
contest is and how it runs. The page
contains links to past problems and the scoreboard of most current contest as
well as past scoreboards. It also
contains links to email Jim Matthews, Scott Vandenburg and SEG.
Previous Contest Problems
If you click on the link for the past problems, this page
comes up. It contains links to all the
past years problems and scoreboards for anyone to look at. It also contains a link to return to the
contest’s home page and the scoreboard.
Testing Requirements
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.) In order to submit the solutions, a team will name their files T##P##.extension (T stands for team, first set of numbers is team number, P stands for problem, second set of numbers is for problem number, and extension is .cpp for C file, and .java for Java file). 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
Team Directory:
A team will save their solutions in a directory on their computer that can be pulled by the solution web page to allow the solution to be submitted to the judges.
Team Submission:
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. This will also make the team see “Submitted Not Judged” on the status bar for that specific problem.
Judge Selection:
Once a judge selects a solution to judge, it will be moved from “Submitted Not Judged” to “Submitted Being Judged.” This will make sure that only one judge will choose a solution to grade. When a solution is in this directory, a team will see “Submitted Being Judged” in the status bar for that specific problem.
Correct Submission:
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. A team will see “Correct” in the status bar for the specific problem and know that they do not have to do anymore work on this problem.
Incorrect Submission:
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.
Questions Submitted
The Questions Submitted directory will hold all the text files of questions to problems submitted by the specific teams.
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 Directory:
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.
Previous Problems 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. These text files will be stored in the same place where the website pages are stored.
Previous Scoreboard Web
Pages:
In order to allow outside users to view the final scoreboards from previous years, we make available links that will take the viewers directly to other web pages that contain the old scoreboards. These web pages will be stored in the same place where the Contest website pages are stored.
In order to test the GUI’s for the Programming Contest Submission and the Scoreboard we must verify each GUI individually to ensure perfection.
Section 2.1:Team GUI Testing
Test to ensure that every entity in the team GUI works as expected, starting from the status bars showing the correct status to when a team chooses to view the scoreboard.
Course of action |
Expected Result |
Pass/Fail |
Comments |
Check status bars |
Current file location is shown |
P F |
|
Select radio button |
Only one can be selected |
P F |
|
Click on submit button |
One of the radio buttons must be selected |
P F |
|
To submit a solution: 1. A language must be selected. 2. Click on “Submit” |
|
P F |
|
If “Submit” is clicked without selecting a language |
Error: You must select a language for your solution |
P F |
|
Select a question |
The question box is displayed |
P F |
|
“Submit” is clicked without typing a question |
Error: You must type a question to submit |
P F |
|
Submit a question |
|
P F |
|
Click on scoreboard |
1. The scoreboard is displayed in a new browser with teams in ranked order. 2.Ensure that the order is correct |
P F |
|
Click on Dropdown box |
Must allow you to choose a problem to view clarifications on in the message board |
P F |
|
Choose a problem from drop-down box |
All clarifications for the specified problem are shown in the message boards |
P F |
|
Section 2.2:Judges GUI Testing
Test to ensure that every entity in the judge GUI works as expected, starting from viewing items in the queues to sending clarification answers to correct message board.
Course of action |
Expected Result |
Pass/Fail |
Comments |
Check file queues |
Solution and question queues must show current solutions/questions to be processed. |
P F |
|
To Judge a solution:
3. A response is selected |
- Team name and problem number are displayed - Response section is displayed |
P F |
|
A response to a solution (Correct/Incorrect) is selected |
-Only one radio button can be selected at a time. |
P F |
|
Click “Submit” |
The selected response is sent to the team and the page is refreshed to the judges’ homepage. |
P F |
|
To Clarify a question:
|
1. A new section is displayed with 2 text boxes: one with the question and the other one to answer the asked question. |
P F |
|
Type your answer in the lower text box |
Nothing is expected to happen |
P F |
|
Click “Submit to Team” |
Answer is sent to team that asked the question and the judge page is refreshed to the judges’ homepage |
P F |
|
Click “Submit to Board” |
Answer is sent to the message board for everyone to see it and the page is refreshed to the judges’ homepage |
P F |
|
If a question is selected and the judge clicks on “Judge Solution” |
Error: you must click on the “Clarify Question” button |
P F |
|
If a solution is selected and the judge clicks on “Clarify Question” |
Error: you must click on the “Judge solution” button |
P F |
|
The judge clicks on “Submit” without selecting a response |
Error: You must select a response before submit |
P F |
|
Click on scoreboard |
1. The scoreboard is displayed in a new browser with teams in ranked order. 2.Ensure that the order is correct |
P F |
|
Section 2.3:Scoreboard Testing
Test to make sure that the scoreboard is viewable and the most importantly that the information in there is correct and accurate, starting from displaying the information in a two-dimensional array to ranking the teams in the correct standing order.
Course of action |
Expected Result |
Pass/Fail |
Comments |
Display Scoreboard |
1. The information is viewable and is in a two-dimensional array (matrix) |
P F |
|
Scoring |
Correct calculation |
P F |
|
Timing |
Correct calculation of timing |
P F |
|
Ranking |
Correct ranking based on timing and scoring |
P F |
|
Updates |
The scoreboard updates constantly and continues to rank teams accordingly. |
P F |
|
Section 2.4:Programing Contest Website Testing
Procedure |
Expected Result |
Pass/Fail |
Comments |
Viewing the main page and any sub pages of the contest. |
Any and all pages must be able to be viewed from a variety of operating systems, browsers, and resolutions. |
P F |
|
Navigating links |
All links are in working order (including email links). |
P F |
|
Contest Home |
Refresh the Homepage |
P F |
|
Scoreboard |
Taken to correct page in a separate browser window. |
P F |
|
Past problems |
Taken to correct year problems (in PDF format) |
P F |
|
Home |
Taken to college homepage |
P F |
|
Search |
Taken to a Google search page. |
P F |
|
Adobe Acrobat |
Taken to Adobe Acrobat download page |
P F |
|
E-mail (SienaSEG…) |
Open the e-mail page |
P F |
|
Disclaimer |
Open Siena College Web Disclaimers |
P F |
|
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