/* Electorial System - sample system Last updated: May 22, 2008 */ //Namespace for facade class. namespace ElectorialSystem //Namespace for core of the system. namespace ElectorialSystem.core class PollingStation { Integer number; address; 1 -> * PollInElection; } class ElectedBody{ description; 1 -- * Position; } class Election{ Date date; //Different elections may have different sets of polls 1 -- * PollInElection; 1 -- * ElectionForPosition; } class ElectionForPosition{ 1 -- * Candidature; } //Eg. Mayor, Councilor. AKA seats class Position { description; //A position can have different elections for it at different times, eg. once every four years. 1 -- * ElectionForPosition; } //We need candidature class since a candidate can run for different //positions and for the smae positions at subsequent elections class Candidature { internal isIncumbent; } class Candidate { name; Integer phoneNumber; address; 1 -- * Candidature; } class PollInElection { Integer number; 1 -- * Voter; } //Temporarely taken out because of lack of Association Class implementations in Umple 2.0 /*association VotesInPoll{ Integer numVotes; * Candidature; * PollInElection; }*/ class Voter{ name; address; * -- * Candidature; } class ElectoralDistrict{ 1 -- * Voter; 0..1 -- * Position; 1 -- * ElectoralDistrict subDistrict; }