Tournament Manager
Criterion B: Design
Table of Content
Heading Page
Class Functionality 1
Class Relationships 2
Class (Unified Model Language) Diagrams 3
Database Tables and Column 5
Process Flowcharts 6
Panel Designs and Top-Down Design (Graphical User
9
Interface)
Test Plan 17
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
1. Class Functionality
The following outlines the primary function of each of the five classes:
1. GUI – Contains the main class and provides the entire user interface through its
connection to the Tournaments and SQLActions classes.
2. Tournaments – This is the tournaments object class. Each object contains all the
information of a single tournament and creates Teams objects.
3. Teams – This is the teams object class. Each object contains the information for a
single team in a tournament.
4. Driver – This class establishes the connection to the database.
5. SQLActions – This class contains the necessary methods to carry out SQL commands
that will manipulate the tables in the database.
Tournament Manager – Criterion B (Design) | Page 1 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
2. Class Relationships
The following is an illustration representing the relationship between the program’s
five classes, and was generated using the interactive Java development environment
“Blue J”.
Figure 1: Class Relationships Illustration
Tournament Manager – Criterion B (Design) | Page 2 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
3. Class (Unified Model Language) Diagrams
Tournament Manager – Criterion B (Design) | Page 3 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
Tournament Manager – Criterion B (Design) | Page 4 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
4. Database Tables and Columns
The program’s database will feature 3 tables under the names of “password”, “teams”,
and “tournaments”. The “password” table will store the hashed version of the password
selected by the user. The “teams” table will store the tournament data required in the
Teams objects, and similarly the “tournaments” table will store the tournament data
required in the Tournaments object class. The tables and their columns are outlined
below in Figure 2.
Figure 2: Tables and columns to be created by the program using SQL, in order to facilitate
the storage of data in a database
Tournament Manager – Criterion B (Design) | Page 5 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
5. Process Flowcharts
The following flowcharts represent various processes to be carried out by the proposed
program.
Figure 3: Password entry process – This flowchart illustrates the first process carried out
by the program when it is run. The password entry panel (figure 4) is displayed and the
user is prompted to input the valid password before he can proceed to use the program.
Tournament Manager – Criterion B (Design) | Page 6 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
Figure 4: Details entry process – This flowchart illustrates the process carried out by the
program in the Tournament Details Entry panel. The process involves checking the
inputted details against the pre-determined restrictions outlined in the success criteria,
such as the minimum and maximum number of venues. This process is to be heavily tested
as indicated in the test plan (section 6).
Tournament Manager – Criterion B (Design) | Page 7 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
2?
Figure 5: Number of matches calculation recursive method – This flowchart illustrates the
recursive process carried out by the program in the Tournaments class. The process is
carried out in order to calculate the number of matches to be played in a tournament
based on the number of teams participating. As a means of making the calculation simpler,
the method operates by breaking down the number of teams until there are only two. This
calculation can be represented mathematically as follows:
Number of matches for number of teams (n) = (n-1) + (n-2) + (n-3) + … + 3 + 2 + 1
Tournament Manager – Criterion B (Design) | Page 8 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
6. Panel Designs and Top-Down Design (Graphical User Interface)
Figure 6: Panels’ (GUI) top-down design – The flowchart above illustrates the navigation
paths between the different panels in the Tournament Manager program.
Tournament Manager – Criterion B (Design) | Page 9 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
The following are prototype designs for the program’s 7 panels. Each design was
developed through consultation with the client, and clearly outlines the purpose and
function of its panel.
Tournament Manager
Password*
Submit
Figure 7: Password entry panel design – Utilized as welcome window that, as a data safety
precaution, prompts the user to input the valid password in order to proceed.
Tournament Manager – Criterion B (Design) | Page 10 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
Back
Tournament Manager
- Homepage -
Existing
Tournament
New
Tournament
Figure 8: Homepage panel design – Utilized as a home window in which the user can select
a path to follow, either creating a new tournament or accessing an existing one.
Tournament Manager – Criterion B (Design) | Page 11 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
Home
Tournament Manager
- Tournament Search Page -
Search Tournament Name
Submit
Figure 9: Tournament Search Page panel design – Utilized a search window, in which the
user can search for an existing tournament in order to access its details.
Tournament Manager – Criterion B (Design) | Page 12 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
Home Tournament Manager
- Details Entry Page -
Tournament Name*
Date* DD MM YYYY
Start Time*
Match Duration*
Break Duration*
Number of Teams*
Number of Venues* Submit
Figure 10: Details Entry Page panel design – Utilized as the tournament creation window,
in which the user can input the details of a tournament and submit them in order to add
the tournament to the database. This panel is accompanied by a number of error message
panels that will be displayed in the case of invalid details being entered.
Tournament Manager – Criterion B (Design) | Page 13 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
Home
Tournament Manager
- Tournament Center -
Tournament Name
DD/MM/YYY
Details: Edit
Number of Teams: XX Match Duration: XX
Number of Venues: XX Break Duration: XX
Number of Matches: XX Total Duration: XX
View
Schedule
Figure 11: Tournament Center panel design – Utilized as the tournament dashboard
window, this panel displays all of the tournament’s fundamental details and contains
navigation buttons that will direct the user to a page in which he/she can edit the details
previously inputted, a page in which he/she can view the tournament schedule, or back to
the homepage.
Tournament Manager – Criterion B (Design) | Page 14 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
Note: example for a 5-team tournament
Home Back
Tournament Manager Update Points
- Tournament Schedule Page -
Figure 12: Tournament Schedule Page panel design – Utilized as the schedule-viewing
window, in which the user can view the schedule, input scores and view team points
calculated in real-time.
Tournament Manager – Criterion B (Design) | Page 15 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
Note: example teams and scores
Tournament Manager
Home Back - Score Update -
Team 1 vs. Team 2
Team 1 - Team 2
Goals Goals
Submit Score
Figure 13: Tournament Score Update panel design – Utilized as the scores entry window,
in which the user can submit the score of a match in order to have the points and goal
differences calculated and updated on the Tournament Schedule panel.
Tournament Manager – Criterion B (Design) | Page 16 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
7. Test Plan
Table 1: the following is an outline of the plan to be utilized in order to test whether the
program is fully functional according to the success criteria set in Criterion A, which was
determined following an interview with the client1. The test outline will be carried-out
twice, once as an alpha test and again as a beta test, in order to receive feedback at
different stages of the solution’s development. Participation will include the IA supervisor
for the alpha test and the client for the beta test.
Action To Be Tested Tested Success Criteria Test Method
Carry out a survey with a
sample space of 10
students, each will rate the
user friendliness on a scale
User friendliness 1
of 1 – 10, 1 being very
unfriendly, 5 being
adequate, and 10 being
very friendly.
In the Details Entry Panel,
input the valid details for
Creating a tournament and and create 5 tournaments,
storing the information on 2, 3, 4, 5, 6 then view the database to
the database check whether the 5
tournaments’ details have
been stored correctly.
In the Details Entry Panel,
input 5 test tournament
names. Of the test names,
two should be invalid
names, one with no
characters and one with
more than 20 characters, in
these cases an appropriate
Setting a tournament name 2 error message should be
generated. Furthermore,
two test names should be
extreme names, one with 1
character and one with 20
characters, in these cases
the names should be
accepted. The last test
name should be a normal
1 Gamble, Gillian. "The Tournament Manager - Defining the Problem and Solution." Personal interview. 17
June 2015. See Appendix 1.
Tournament Manager – Criterion B (Design) | Page 17 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
name with 15 characters,
the program should accept
this test name.
In the Details Entry Page
panel, input 6 test numbers
of participating teams. Of
the test numbers, three
should be invalid numbers,
one with a negative number
(-5) of teams, one with a
single team (1) and one
with more than 20 teams
(25), in these cases an
appropriate error message
Setting the number of should be generated.
3
participating teams Furthermore, two test
numbers should be
extreme numbers, one
indicating (10) teams and
the other (20) teams, in
these cases the names
should be accepted. The
last test number should be
a normal number within
the acceptable range (15),
the program should accept
this test number.
In the Details Entry Panel,
input 5 test numbers of
venues. Of the test
numbers, two should be
invalid numbers, one with a
negative number (-2) of
venues and one with more
than 3 venues (5), in these
cases an appropriate error
Setting the number of
4 message should be
venues
generated. Furthermore,
two test numbers should be
extreme numbers, one
indicating (1) venue and
the other (3) venues, in
these cases the numbers
should be accepted. The
last test number should be
a normal number within
Tournament Manager – Criterion B (Design) | Page 18 of 19
Mrs IB Computer Science HL Gasim
Khan Internal Assessment [001118-0035]
the acceptable range (2),
the program should accept
this test number.
Create 4 tournaments, 2
with two venues and 2 with
3 venues. Afterwards,
manually analyze the
created schedule in the
Schedule creation 7 Tournament Schedule Page
panel for each tournament,
ensuring that no team is
scheduled to play two
matches at the same time
slot.
Create a tournament.
Afterwards, input test
scores in the Tournament
Schedule Page panel, and
Scores setting and points manually analyze whether
8, 9
calculation the points are being
calculated correctly
according to the inputted
scores. Repeat this process
3 times.
Change the details of an
existing tournament. The
Editing details 2, 4, 5, 6, 10 details are to be entered as
input above in the Details
Entry Panel.
Delete a created
tournament, and then
Tournament Deletion 11 manually check the
database to ensure its
details have been erased.
Word Count: 243
Tournament Manager – Criterion B (Design) | Page 19 of 19