object modelling assignment 2
Footy Tipping Case Study
Many organisations (like the School of Computing and Mathematics) run a football tipping competition. The basic objective is for a person (called a tipster) to tip or pick the winning team in the games in a football competition. The objective of this system is to support an organisation in running a tipping competition.
The system needs to support all codes of football including Soccer competitions and Australian Rules competitions. Soccer Games are simply scored on the number of goals obtained by each team. Each goal has a value of 1. Australian Rules football is scored using goals, behinds and points. For example a score of 10.9.69 reads as 10 goals, 9 behinds, 69 points. The points are calculated from the formulae:
points = goals x 6 + behinds. Eg 10 x 6 + 9 = 69
The following page contains a two rounds of football with the results taken from the year 2000.
A sample entry is shown below. The home team - Richmond in this example is always the first listed team.
Wednesday, March 08, 2000
Richmond v. Melbourne (Night) MCG 7:40 PM
Richmond 14.10.94 def. Melbourne 13.14.92
date of game away team
ground
game result with scores
home team
Figure 1. Round entry with annotations
Footy Tipping Case Study Page 1 of 9
Australian Football 2000 Competition
Round 1
Wednesday, March 08, 2000 Richmond v. Melbourne (Night) MCG 7:40 PM Richmond 14.10.94 def. Melbourne 13.14.92
Thursday, March 09, 2000 Essendon v. Port Adelaide (Night) Colonial Stadium 8:10 PM Essendon 24.12.156 def. Port Adelaide 8.14.62
Friday, March 10, 2000 Kangaroos v. West Coast (Night) MCG 7:40 PM West Coast 24.10.154 def. Kangaroos 16.15.111
Saturday, March 11, 2000 Adelaide v. Western Bulldogs Football Park 2:50 PM (3:20 PM AEST) Western Bulldogs 19.17.131 def. Adelaide 15.18.108
Fremantle v. Geelong (Night) Subiaco 5:40 PM (8:40 PM AEST) Geelong 19.15.129def. Fremantle 16.11.107
Sunday, March 12, 2000 St Kilda v. Sydney (Night) Colonial Stadium 7:40 PM Sydney 21.8.134 def. St Kilda 15.10.100
Monday, March 13, 2000 Carlton v. Brisbane Optus Oval 2:10 PM Carlton 22.20.152 def. Brisbane 16.16.112
Hawthorn v. Collingwood MCG 2:10 PM Collingwood 20.20.140 def. Hawthorn 13.8.86
Round 2
Thursday, March 16, 2000 Essendon v. Richmond (Night) MCG 7:40 PM Essendon 20.10.130 def. Richmond 12.15.87
Friday, March 17, 2000 Melbourne v. Kangaroos (Night) MCG 7:40 PM Melbourne 23.7.145 def. Kangaroos 17.18.120
Saturday, March 18, 2000 Geelong v. St Kilda Shell Stadium 2:10 PM Geelong 21.13.139 def. St Kilda 15.9.99
Port Adelaide v. Fremantle Football Park 7:10 PM (7:40 PM AEST) Fremantle 19.11.125 def. Port Adelaide 12.15.87
Sunday, March 19, 2000 Carlton v. Hawthorn Optus Oval 12:10 PM Carlton 22.22.154 def. Hawthorn 18.4.112
Collingwood v. Adelaide MCG 2:10 PM Collingwood 14.19.103 def. Adelaide 13.14.92
Western Bulldogs v. Brisbane Colonial Stadium 7:40 PM Brisbane 21.13.139 def. Western Bulldogs 17.8.110
West Coast v. Sydney (Night) Subiaco 5:40 PM (8:40 PM AEST) Sydney 12.10.82 def. West Coast 10.10.70
Figure 2: AFL Football Competition Round 1 and Round 2
Footy Tipping Case Study Page 2 of 9
AFL Tipping Competition
Tipping Sheet - Round 1
Tipster name : Edward Stow
Richmond v. Melbourne
Essendon v. Port Adelaide --- Points difference 13
Kangaroos v. West Coast
Adelaide v. Western Bulldogs
Fremantle v. Geelong
St Kilda v. Sydney
Carlton v. Brisbane
Hawthorn v. Collingwood
Figure 3: Completed Tipping form for Round 1
Footy Tipping Case Study Page 3 of 9
Analysis Class Diagram
(Note. I have adopted the convention of prefixing all my associations with a letter and number. The R for relationship, and a unique number.)
Footy Tipping Case Study Page 4 of 9
USE CASE - 1 Setup up the competition Goal in Context To be ready to register tipsters, and ready to enter match results Primary Actor Secondary Actors
Administrator
Main Course Description
Step Action
1 Two weeks prior to the start of the football season, the administrator starts to setup the system.
2 The administrator enters the name of the competition and the type of competition (Soccer or Australian Rules)
3 The administrator enters each football team, recording the team name. 4 The administrator obtains the schedule of matches for the season.
The administrator enters the number of rounds to be played. (The system establishes the required number of rounds for the season.)
5 For each round, the administrator records the games to be played, recording the home team, the away team, the ground and the date and time of the game.
6 In each round one game is identified as the game that requires the points difference to be tipped.
Alt. Course Description
Step Branching Action
Notes 4. The match and round information is obtained from official sources in printed form, or off the internet. Typically 22 rounds are played in Australian Rules.
Use case 1 : Create tournament draw : SSD
Footy Tipping Case Study Page 5 of 9
Use case 1 : Create tournament draw : Contracts
Name enterNumberOfRounds ( numberOfRounds : Number )
Responsibilities To create the rounds ready for later use. Notes Exceptions Pre-conditions FootballCompetition object exists. Post-conditions Round object was created.
Attribute weekNumber is set to 1 The Round object linked to FootballCompetition (association R1:divided into) The above steps are repeated numberOfRounds times, with the weekNumber incremented in each repetition.
Name identifyRound ( roundNumber : Number )
Responsibilities To select the round for the addition of games Notes Exceptions Pre-conditions Round objects exist. Post-conditions A Round object is found using matching the roundNumber & weekNumber values.
(This object is remember for later steps)
USE CASE - 2 Register Tipsters Goal in Context Tipsters are registered and ready to record tips for the game Primary Actor Secondary Actors
Tipster
Main Course Description
Step Action
1 One or two weeks before the beginning of the season, potential tipsters register to participate in the tipping competition.
2 The tipster records their name, email address, personal code and password. Alt. Course Description
Step Branching Action
2a The system checks to see that the code is unique and will require the user to select another personal code.
Notes
Footy Tipping Case Study Page 6 of 9
Use case 3 Enter tips.
The use case has been removed from the documentation. You are to reconstruct the use case from the following screen design developed from the use case and other information contained in the case study.
The School of Information Studies Footy Tipping Competition
Tipster Enter
Tipster code
Tipster password
ES
**************
Login
RichmondX Melbourne Essendon X Port Adelaide
Kangaroos X WestCoast AdelaideX Western Bulldogs
Fremantle X Geelong St Kilda X Sydney Carlton X Brisbane
Hawthorn X Collingwood
versus versus versus versus versus versus versus versus
points difference 13
Edward Stow Selections for Round 1
AFL Season 2000 Tipping 23 March 2000
Submit selections
password verified
Select another round -- 2 3 4 5 6 7 8 9 10 11 12 13 14
re-display with selected round
Footy Tipping Case Study Page 7 of 9
USE CASE - 4 Close the round Goal in Context To determine the success (or failure) of the tipsters from actual game results. Primary Actor Secondary Actors
Administrator
Main Course Description
Step Action
1 After all matches in the round have been played, the administrator commences to close the round.
2 The system creates default selections for all Tipsters that have not entered tips for the round.
3 For each game in the round, the administrator enters the home team score (in goals ) and the away team score (in goals).
4 The administrator indicates that she is finished. The system will calculate the points gained by each tipster in the round. The system will calculate which tipster is the winner for each round.
Alt. Course Description
Step Branching Action
3a For Australian Rules competitions the score contains the goals, and behinds kicked. The system calculates the points.
Notes 4. A point is allocated for each game correctly tipped. The tipster with the most points is the winner. If two or more tipsters have the same number of points then the tipster with the predicted points difference closest to the actual points difference is the round winner.
Use case 4: Enter match results : SSD
Footy Tipping Case Study Page 8 of 9
Use case 4: Contracts
Name commenceToCloseRound ( weekNumber : Number )
Responsibilities Indicate to the system that a round is to be closed. Notes Exceptions Pre-conditions Post-conditions Locate the Round object using the weekNumber. Remember this object for later use
cases.
Name closeRound ( ) Responsibilities Determine the points for tipsters. Notes Exceptions Pre-conditions Round object located in prior contract. Post-conditions Create and link default results for tipsters that have not submitted tips.
Determine and set the point value for the tipster. Determine and link the tipster that was the best tipster for the round.
Footy Tipping Case Study Page 9 of 9