Each survey is presented as a form that contains a set of questions. Each individual question can accept one of several different types of responses.
Real-world examples of online surveys usage include:
Sophia then proceeds on to creating the first question of the survey. To do this, she enters the text of the question, the type of presentation for the response - text field, text area, selection, radio buttons, checkboxes, date or file attachment - and whether the question is active or not, and required or not. The next step allows Sophia to enter more details about the presentation of the response, namely the layout of the response relative to the question - beside or below its text - as well as some response type dependant options.
The recently created survey is set by default to be disabled and only an administrator can enable it to become displayable to users.
She can also pick her survey from that list and see all the survey properties and a list of its questions, sorted by relative order. She can add more questions to the selected survey by inserting a new question after an existing one and following the procedure described above for creating the first question.
At this point Sophia can also make changes to some survey-level properties: edit the survey description, add question categories, limit responses per user to a single response (specifying whether the single response is editable or non-editable), or allow multiple responses per user.
Only after adding question categories to the survey does Sophia have the option of categorizing questions during the question creation process; questions will otherwise be labeled as `uncategorized'.
At the question level , Sophia can choose to edit a question's text, delete a question, change the order of the questions in the survey by swapping two adjacent questions, activate or inactivate a question, and set a question as required or non-required. If a question only allows a response from a predetermined set of options (as is the case with radio-buttons, checkboxes and selection lists), she is also allowed to edit the existing options or add new ones.
Ursula goes on to filling in the survey form. She responds to each question by either entering text on text fields, selecting from lists of available options, clicking radio buttons or checking checkboxes, and she then submits her response.
If Ursula tries to respond to the same survey again, one of three scenarios can develop:
10.10.10 A survey id (primary key) that is guaranteed to be unique to the system must be maintained.10.20.0 Questions - a survey contains a set of questions.
10.10.20 A human readable survey key that is guaranteed to be unique to the system must be maintained.
10.10.30 Surveys must have a brief name.
10.10.40 Surveys must have a longer description.
10.10.50 The description referred to in 10.10.40 will be tagged to be in HTML or plain text.
10.10.60 Surveys will be linked to their creating user.
10.10.70 Surveys will have a creation date.
10.10.80 Surveys will be in one of `enabled' or `disabled' states.
10.10.90 Each survey can allow one or multiple responses.
10.10.100 For surveys that only allow a single response, editing of that single response can be allowed or denied.
10.20.10 A question id (primary key) that is guaranteed to be unique to the system must be maintained.10.30.0 Categories - questions can be categorized
10.20.20 Each question will be linked to one survey.
10.20.30 A question will have a sort key that defines its relative order to other questions within the same survey.
10.20.40 A question will store text that formulates the question itself.
10.20.50 A question will have an abstract data type that defines the high-level type of the question. Allowable values for the abstract data type are: 'text', 'shorttext', 'boolean', 'number', 'integer' and 'choice'.
10.20.60 Each question will be marked required or non-required.
10.20.70 Each question will be marked active or non-active.
10.20.80 Questions have a presentation type, which can be one of the following values: 'textbox','textarea','select','radio', 'checkbox', 'date' and 'upload_file'.
10.20.90 Questions may have additional presentation options, that are specific to each abstract type. Possible values include: 'small', 'medium', 'large' for 'text' abstract data type, and 'rows=5 cols=40' for `textarea' abstract data type.
10.20.100 Questions store a presentation alignment option for the response field. Allowable values are `below' or `beside' the question text.
10.20.110 Questions will be linked to their creation user.
10.20.120 Questions will have a creation date.
10.30.10 Each question is linked to a site-wide category.10.40.0 Question choices - set of options for a question that has a limited set of possible responses.
10.40.10 A question choice id (primary key) that is guaranteed to be unique to the system must be maintained.10.50.0 Responses - response by one user to one survey
10.40.20 Each question choice is linked to a question.
10.40.30 A question choice has a human-readable label.
10.40.40 A question choice may have a numeric value associated with it, to allow weighing or averaging.
10.40.50 A question choice will have a sort key that defines its relative order to other question choices for the same question.
10.50.10 A response id (primary key) that is guaranteed to be unique to the system must be maintained.10.60.0 Question responses - answers given by one user to each question in a survey
10.50.20 Each response is linked to one survey.
10.50.30 Responses have a scope, which can be `user', `group' or `public'.
10.50.40 Each response may be linked to one user.
10.50.50 Each response may be linked to one user group.
10.50.60 A `user' scope response must be linked to a user and must not be linked to a user group.
10.50.70 A `group' scope response must be linked to a user group and must not be linked to a user.
10.50.80 A `public' scope response must not be linked to a user group and must not be linked to a user.
10.50.90 Responses have a title.
10.50.100 A submission date will be recorder for each response.
10.50.110 The originating user IP address will be recorded for each response.
10.50.120 Each response will be tagged to indicate whether or not the creating user will be notified when a comment is added to the response.
10.50.130 Responses will have a proposal state. Allowable values are `public', `private' and `deleted'.
10.60.10 Each question response will be linked to a response.
10.60.20 Each question response will be linked to a question.
10.60.30 A question response may be linked to a question choice, if the user picked from a limited set of options.
10.60.40 Question responses may store a boolean answer value, which can be either true or false.
10.60.50 Question responses may store a numeric answer value.
10.60.60 Question responses may store a brief alphanumeric answer value.
10.60.70 Question responses may store a long alphanumeric answer value.
10.60.80 Question responses may store a date answer value.
10.60.90 Question responses may store a long binary answer value, such as a file attachment.
10.60.100 Question responses that store a long binary value such as described in 10.60.90 can also store the attached file name.
10.60.110 Question responses that store a long binary value such as described in 10.60.90 can also store the attached file MIME type.
10.60.120 Question responses that store a long binary value such as described in 10.60.90 can also store the attached file extension.
20.10.10.0 Survey presentation20.10.10.10 The user shall be presented with a form containing all the active questions in a survey, sorted in ascending order by their numerical sort key, with the survey name and description at the top.20.10.20.0 Number of allowed responses
20.10.10.20 For each question, its sort key and text will be shown
20.10.10.30 For each question, the response field will be displayed according to the presentation alignment option for that question (beside or below the question text).20.10.20.10.0 Survey allows multiple responses20.10.30 If the user fails to provide a response to a question marked as required, the response won't be accepted.20.10.20.10.10 The user will be presented with a blank form, with empty fields.20.10.20.20.0 Survey only allows a single, editable response
20.10.20.10.20 The user must be able to respond to the survey by selecting one or more options from limited-response questions or providing a response to open-form questions.
20.10.20.10.30 If the user has previously responded to the survey, a link will be provided to check all previous responses to the survey.20.10.20.20.10 If a previous response to this survey by this user exists, the user will be presented with a form with fields filled in with the user's previous response values; otherwise the response fields will be left blank.20.10.20.30.0 Survey only allows a single, non-editable response
20.10.20.20.20 The user must be able to respond to the survey by either keeping or changing his previous response values (if they exist), or by selecting one or more options from limited-response questions or providing a response to open-form questions.20.10.20.30.10 If a previous response to this survey by this user exists, the user will be presented with a form with fields filled in with the user's previous response values; otherwise, the response fields will be left blank.
20.10.20.30.20 If the user had already submitted a response to this survey, the user will be informed that another response cannot be submitted. Otherwise, the user must be able to respond to the survey by selecting one or more options from limited-response questions or providing a response to open-form questions.
20.100.10 The survey-administrator must be able to create a survey by entering appropriate values for the survey name, short name, description and description format.20.110.0 Displaying a Survey
20.100.20 The survey-administrator must approve the formatting of the survey description before the survey is created.
20.100.30 If the survey-administrator fails to provide a valid value for any of the properties named in 20.100.10, the survey won't be created.
20.100.40 After the survey is created, the survey-administrator will be offered the option of immediately creating the first question.
20.110.10 The survey-administrator will be presented with the following survey properties: survey name, creation user name, creation date, short name, survey state (`enable' or `disabled'), number of allowed responses per user (`single' or `multiple'), editable status of single response per user surveys (`editable' or `non-editable'), survey description and a list of question categories.20.120.0 Editing a Survey
20.110.20 The user name mentioned in 20.110.10 will be linked to that user's community member page.
20.110.30 The survey-administrator will be presented with a list of all questions, sorted by their relative sort order.20.110.40.0 Displaying a Question20.110.40.10 For each question, the question sort order, question text and question category will be displayed.
20.110.40.20 For each question, a response field will be displayed, in an abstract data type-dependant manner.
20.110.40.30 If the question only allows a limited set of question choices as a response, all question choices will be displayed, in an abstract data type-dependant manner.
20.120.10.0 Changing the Survey Description20.120.10.10The survey-administrator must be able to change the survey description, by editing the existing description.
20.120.10.20 The survey-administrator must approve the formatting of the survey description before the existing description is changed.
20.120.10.30 If the survey-administrator fails to provide an appropriate value for the survey description, the existing description won't be changed.
20.120.20.0 Changing the Allowed Number of Responses per User20.120.20.10 The survey-administrator must be able to change the number of allowed responses per user, by toggling between allowing `multiple' responses and a `single' response.20.120.30.0 Creating a Category
20.120.20.20 For surveys that only allow a `single' response per user, the survey-administrator must be able to specify whether that single response is editable or not, by toggling between `editable' and `non-editable' single response states.20.120.30.10 The survey-administrator must be able to create a new category for later categorization of questions, by supplying an appropriate value for the category name.20.120.40.0 Creating a Question
20.120.30.20 If the survey-administrator fails to provide an appropriate value for the category name, the category won't be created.
20.120.30.30 After creating a new category, the category will be displayed in the survey properties.
20.120.30.40 After creating a new category, the category will be available in the question creation process to categorize each new question.20.120.40.10 The survey-administrator must be able to create a new question and have it inserted in a specific sort order within the survey.20.120.50.0 Deleting a Question
20.120.40.20 The survey-administrator must be able to create a question in two distinct steps: by first entering appropriate values for the question title, response presentation, active status, required status and, if any categories have been created, question category; and then entering appropriate values for response type-specific properties and options, as well as for the response field alignment option.
20.120.40.30 If the survey-administrator fails to provide a valid value for any of the properties named in 20.110.10.20 for any of the question creation steps, the question won't be created.
20.120.40.40 After the question is created, the whole survey will be shown to the survey-administrator, including a list of survey properties and a list of all questions that includes the just created question in the appropriate sort order.20.120.50.10 The survey-administrator must be able to delete a question from the survey.20.120.60.0 Editing a Question20.120.60.10 The survey-administrator must be able to change the question text.20.120.70.0 Changing the Relative Order of Questions
20.120.60.20 The survey-administrator must be able to change the active status of a question, by toggling between `active' and `inactive' state.
20.120.60.30 The survey-administrator must be able to change the required status of a question response, but only for questions in the `active' state, by toggling between `required' and `non-required' state.20.120.60.40.0 Creating and Editing Question Choices20.120.60.40.10 For questions that force the user to pick from a limited set of question choices, the survey-administrator must be able to add new choices to the existing ones.
20.120.60.40.20 For questions that force the user to pick from a limited set of question choices, the survey-administrator must be able to edit existing choices.20.120.70.10 The survey-administrator must be able to change the relative sort order of questions, by swapping the order of two adjacent questions.
20.130.0 Analyzing Responses to a Survey
20.130.10.0 Displaying Responses to a Survey by User20.140.0 Exporting Responses to a Survey20.130.10.10 The survey-administrator must be able to view a list of all users who have responded to a survey.20.130.20.0 Displaying a Summary of Responses to a Survey
20.130.10.20 Each item in the list mentioned in 20.130.10.10 contains the identification of one user and must be linked to a list of all the responses that user has entered for the survey, ordered by response date (most recent at the top).20.130.20.10 The survey-administrator must be able select to be shown a summary of all responses or a summary of responses submitted by distinct users.
20.130.20.20 The number of responses that match the criterium defined in 20.130.20.10 will be displayed.
20.130.20.30 The survey-administrator will be presented with a list of all questions, sorted by their relative sort order.20.130.20.40.0 Displaying a Summary of Responses to a Question20.130.20.40.10 For each question, the question sort order and question text must be displayed.20.130.20.40.20.0 Limited Response Questions
20.130.20.40.20.10 For each question that only allows a limited set of question choices as a response, a list of the labels of all question choices that have been chosen by at least one user will be displayed.20.130.20.40.30.0 Free-form Response Questions
20.130.20.40.20.20 Each item of the list of question choice labels mentioned in 20.130.20.40.20.10 will also display a count of the number of users that match the criterium defined in 20.130.20.10 who have selected that question choice. This count will link to a list of all users who have selected that question choice for that question.
20.130.20.40.20.30 Each item of the list of users mentioned in 20.130.20.40.20.20 will link to a list of the responses that user has entered for the survey, in which that user has selected the correspondent question choice, ordered by response date (most recent at the top).
20.130.20.40.20.40 The list of responses mentioned in 20.130.20.40.20.30 will display the user that submitted them, linked to that user's community member page.20.130.20.40.30.10 For each question that allows a free-form value as a response, a link to a list of responses, ordered by response date (most recent at the bottom), will be displayed.
20.130.20.40.30.20 Each item of the list mentioned in 20.130.20.40.30.20 will contain the value of the response submitted by the user, the user name, the response date and the originating IP address.
20.130.20.40.30.40 The user name mentioned in 20.130.20.40.30.20 will link to the user's community member page.
20.140.10 The survey-administrator must be able to export all responses to a survey, in a standard CVS format, for further external analysis.
20.140.20 The survey-administrator must be able to export responses to a survey by distinct users, in a standard CVS format, for further external analysis.
20.200.10 The site-wide administrator will be presented with a list of all surveys in the system and must be able to toggle each survey between the `enabled' and `disabled' states.
| Document Revision # | Action Taken, Notes | When? | By Whom? |
|---|---|---|---|
| 0.1 | Creation | 08/28/2000 | Nuno Santos |
Last modified: $Date: 2001/01/19 21:36:46 $