object modelling assignment 2

profilealisgh
ass-3casestudy.pdf

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