Cleaned domain model, made internal class diagram

This commit is contained in:
Felix Albrigtsen 2022-03-02 10:26:23 +01:00
parent 4f782ce90f
commit a878b36aa9
2 changed files with 85 additions and 60 deletions

View File

@ -0,0 +1,62 @@
@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

View File

@ -1,77 +1,40 @@
@startuml Tournament System @startuml Tournament System
title Tournament System - Group 1
' class Group
' Match med bare to teams:
' class Match {
' *match_id: Integer
' tournament_id: Integer
' team1_id: Integer
' team2_id: Integer
' scores: [Integer, Integer]
' winner_id: Integer
' void setScore(team1_score: Integer, team2_score: Integer)
' void setWinner(winner_id: Integer)
' Integer getWinner()
' }
' Match med vilkårlig antall teams
class Match { class Match {
*match_id: Integer *match_id: Integer
tournament_id: Integer Tournament
team_ids: Integer[] Teams
scores: Integer[] Scores
winner_id: Integer Winner
Match constructor(tournament_id: Integer, team_ids: Integer[])
void setScore(team_id: Integer, score: Integer)
void setWinner(winner_id: Integer)
Integer getWinner()
} }
class Team { class Team {
*team_id: Integer *team_id
name: String Name
tournament_ids: Integer[] Tournaments
player_ids: Integer[] Players
match_ids: Integer[] Matches
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 { class Player {
*player_id: Integer *player_id
name: String Name
team_id: Integer
Player constructor(name: String)
void joinTeam(team_id: Integer)
void leaveTeam()
} }
class Tournament { class Tournament {
*tournament_id: Integer *tournament_id
name: String Name
start_date: Date
end_date: Date Banner Image
team_ids: Integer[] Start-date
End-date
Tournament constructor(name: String, start_date: Date, end_date: Date) Teams
void addTeam(team_id: Integer)
void removeTeam(team_id: Integer)
} }
Tournament "1" *-- "2..*" Team : contains Team "2..*" -> "1..*" Tournament : "Plays in"
Tournament "1" *-- "*" Match : contains Tournament "1" --> "*" Match : contains
Player "1..*" *-- "1" Team : belongsTo Player "1..*" --> "1..1" Team : "Belongs to"
Match "*" *--- "2" Team : contains Team "2..2" --> "1..*" Match : "Competes in"
@enduml @enduml