asura-tmdb/documentation/classDiagram.puml

58 lines
1.4 KiB
Plaintext

@startuml Tournament System
' Internal development class diagram
' Describes database fields and object methods required
class Match {
*match_id: Integer
tournament_id: Integer
team_ids: Integer[]
scores: Integer[]
winner_id: Integer
Match constructor(tournament_id: Integer, team_ids: Integer[])
void setScore(team_id: Integer, score: Integer)
void setWinner(winner_id: Integer)
}
class Team {
*team_id: Integer
name: String
tournament_ids: Integer[]
Team constructor(name: String)
void joinTournament(tournament_id: Integer)
void addPlayer(player_id: Integer)
void removePlayer(player_id: Integer)
void leaveTournament(tournament_id: Integer)
}
class Player {
*player_id: Integer
name: String
team_id: Integer
Player constructor(name: String)
void joinTeam(team_id: Integer)
void leaveTeam()
}
class Tournament {
*tournament_id: Integer
name: String
start_date: Date
end_date: Date
manager_ids: Integer[]
team_ids: Integer[]
Tournament constructor(name: String, start_date: Date, end_date: Date)
void addTeam(team_id: Integer)
void removeTeam(team_id: Integer)
}
Team "2..*" -- "1..*" Tournament : "Plays in"
Tournament "1" -- "1..*" Match : contains
Player "1..*" -- "1..1" Team : "Belongs to"
Team "2..2" -- "1..*" Match : "Competes in"
@enduml