Stadium
Statistic
+ name: string Ticket
- completedMatches: List<Match> - matchNames: List<string>
- seats: List<Seat> +Seat:int
+ addCompletedMatch(match: Match): void +Price:double
+ generateReport(): string + isValid(): bool
- countGoals(match: Match): int + addMatchName(matchName: string): void
- expireTicket(): void
+ listMatches(): List<string>
+ checkSeatAvailability(seat: Seat): bool
child parent child
parent child parent
Match
child
child + team1: Team Seat
+ team2: Team
+ score: string - number: int
- occupied: bool
+ start(): void + reserve(): bool
+ end(): void + release(): bool
- updateScore(team: Team, points: int): void
parent
Team
+ name: string
+ players: List<Player>
+ coach:Coach IMatch
Parking
+ addPlayer(player: Player):
+ playInMatch(match: Match): void
void + spaces: List<Seat>
+ assignCoach(Coach:coach):
void + occupySpace(space: Seat): bool
+ prepareTeamForMatch(match: + releaseSpace(space: Seat): void
Match): void
- checkIfSpaceOccupied(space: Seat): bool
- countPlayers(): int
1
Coach
- strategy: string
Player Referee Supporter
+ playInMatch(match: Match):
void
- jerseyNumber: int + playInMatch(match: Match): + developStrategy(match:
- position: string void Match): void + buyTicket(ticket: Ticket): void
+ manageMatch(match: Match): - + watchMatch(match: Match): void
void changeFormation(newFormation - checkIfHasTicket(match: Match): bool
+ playInMatch(match: Match): void - checkRules(): void string): void
parent parent
# updateStats(match: Match): void
+ warmUp(): void
parent
child child 1 parent child
child
parent child parent
1 child
SubstitutPlayer StartingPlayer Human
+ shoot(): void - firstName: string
+ enterField(match: Match): void + assist(): void - lastName: string
- readyToPlay: bool - birthDate: DateTime
+ introduceYourself(): string