-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUML-Diagram.puml
65 lines (55 loc) · 1.37 KB
/
UML-Diagram.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
@startuml brazilian-elections-analysis
Election -> "0..*" Candidate : Maps >
Election -> "0..*" Party : Maps >
class Election {
-candidates: HashMap<Integer, Candidate>
-parties: HashMap<Integer, Party>
-electionDate: LocalDate
-officeOption: String
-seats: int
-listVotes: int
-nominalVotes: int
-totalVotes: int
}
class CSVReader{
-candidatesFilePath: String
-pollFilePath: String
}
note bottom of CSVReader: Directly Access from 'App', uses 'Election'
Candidate "0..*" <--> "1" Party : Belongs to >
class Candidate{
-officeOption: int
-candidateNumber: int
-ballotName: String
-partyNumber: int
-partyAcronym: String
-federationNumber: int
-birthDate: LocalDate
-gender: int
-turnStatus: int
-voteDestinationType: String
-candidacyCondition: int
-nominalVotes: int
-age: int
}
class Party{
-partyNumber: int
-partyAcronym: String
-partyName: String
-numberOfCandidates: int
-listVotes: int
-nominalVotes: int
-totalVotes: int
-candidates: HashMap<Integer, Candidate>
-dismissedCandidates: HashMap<Integer, Candidate>
}
class Report {
-poll: Election
-sortCandidates: List<Candidate>
-sortParties: List<Party>
-seats: int
}
Report -> "1" Election : Analyzes >
Report --right> "0..*" Candidate : Sorts >
Report --> "0..*" Party : Sorts >
@enduml