62 lines
1.5 KiB
Plaintext
62 lines
1.5 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)
|
||
|
Integer getWinner()
|
||
|
}
|
||
|
class Team {
|
||
|
*team_id: Integer
|
||
|
name: String
|
||
|
tournament_ids: Integer[]
|
||
|
player_ids: Integer[]
|
||
|
match_ids: Integer[]
|
||
|
|
||
|
Team constructor(name: String)
|
||
|
void joinTournament(tournament_id: Integer)
|
||
|
void addPlayer(player_id: Integer)
|
||
|
void addMatch(match_id: Integer)
|
||
|
void removePlayer(player_id: Integer)
|
||
|
void removeMatch(match_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
|
||
|
team_ids: Integer[]
|
||
|
|
||
|
Tournament constructor(name: String, start_date: Date, end_date: Date)
|
||
|
void addTeam(team_id: Integer)
|
||
|
void removeTeam(team_id: Integer)
|
||
|
}
|
||
|
|
||
|
|
||
|
Tournament "1" --> "2..*" Team : contains
|
||
|
Tournament "1" --> "*" Match : contains
|
||
|
Player "1..*" --> "1" Team : belongsTo
|
||
|
Match "*" ---> "2" Team : contains
|
||
|
|
||
|
|
||
|
@enduml
|