To prevent misunderstanding, we agree on using the following terms to describe our problem domain:
Term | Description |
---|---|
Poll-Draft | A Poll-Draft consists of a title and questions. (Domänenmodell: Hat auch participantsCanSeeResults und Duration -> sollten das nicht eher Eigenschaften der Poll sein?) |
Poll | A Poll is a Poll-Draft that was started by a Host. |
Creator | A creator is a person that creates Poll-Drafts. |
Host | A Host is a person that starts a Poll using a Poll-Draft. There can only be one Host to a Poll, but a Host can run multiple Polls. |
Participant | A Participant is a person that was given access to a Poll by its Host. A Participant chooses an Answer for each question and submits an Answer-Set. |
Choice | A Choice is an option for answering a question. Choices are set by the Creator of a Poll-Draft before the Host started the Poll. Participants can choose between Choices when answering a question. Choices can be set for all types of questions except for free-text questions. |
Answer | An Answer is a choice that was selected by a Participant of a Poll, or, in the case of a free-text-question, the Answer is what the Participant chose to type. The amount of Answers a Participant can select per question depends on the type of question. An Answer always references its question and, if applicable, its Choice, but never the Participant. |
Answer-Set | An Answer-Set to a Poll consists of all of the Answers of one Participant. Each unique Participant submits one Answer-Set to a Poll. The Host of a Poll only receives Answer-Sets, which make up the Result of the Poll. An Answer-Set should never reference the Participant who submitted it. A Participant can modify their Answer-Set while the Poll is open. The Host cannot modify Anwer-Sets. |
Result | Each Poll has exactly one Result. The Result of a Poll consists of the cumulative Answer-Sets submitted by Participants. A Poll always has a Result, even before it has been closed. |