CSC/ECE 517 Spring 2017 E1734: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 41: Line 41:


7) Tests need to be written for the feature.
7) Tests need to be written for the feature.
DB Schema:
Add survey_participant to the participants table.
Table: Survey Deployments
Element
Type
Attributes
course_evaluation_id
Integer
Limit: 4
start_date
Datetime
end_date
Datetime
num_of_students
Integer
Limit: 4
last_reminder
Datetime
course_id
Integer
Limit: 4, Default: 0, Null: false
Table: Survey Participants
Element
Type
Attributes
user_id
Integer
Limit: 4
survey_deployment_id
Integer
Limit: 4
Table: Survey Responses
Element
Type
Attributes
score
Integer
Limit: 4
comments
Text
Limit: 65535
assignment_id
Integer
Limit: 4, Default: 0, Null: false
question_id
Integer
Limit: 4, Default: 0, Null: false
survey_id
Integer
Limit: 4, Default: 0, Null: false
email
String
Limit: 255
survey_deployment_id
Integer
Limit: 4
{| class="wikitable"
|-
! Element
! Type
! Attributes
|-
| course_evaluation_id
| Integer
| Limit: 4
|-
| start_date
| Datetime
|
|-
| end_date
| Datetime
|
|-
| num_of_students
| Integer
| Limit: 4
|-
| last_reminder
| Datetime
|
|-
| course_id
| Integer
| Limit: 4, Default: 0, Null: false
|}

Revision as of 00:49, 8 April 2017

Improve survey functionality

Description

Problem Description

Expertiza used to have functionality for conducting surveys. It needs to be improved so that the data collected from the survey can be stored in the database along with course and assignment information.

Types of Surveys

Course Survey:

All the participants in a course can take the course survey. File: course_evaluation_questionnarire.rb

Global Survey:

Any Expertiza user can take the global survey. File: global_survey_questionnaire.rb

Targeted Survey:

The admin can create a survey targeted to a specific group of people. File: survey_questionnaire.rb

Requirements

Requirements:

1) A page to show the distribution of results for all types of questionnaires.

2) Use of inheritance so that survey questionnaire is a subclass of questionnaire. Also, course evaluation questionnaire and global survey questionnaire should be subclasses of survey questionnaire.

3) Use response_controller to implement the survey functionality. This should be similar to how other questionnaires like the peer review questionnaire, are implemented.

4) Use the same code to display existing survey responses as to display the responses in peer reviews.

5) For each course or assignment, the admin/instructor should be able to create a survey and have some (or all) of the participants receive the survey. The instructor should have the option to not include some questions from a global survey. The quiz takers can take the global survey and course survey consecutively.

6) An entry in the participants table called a survey_participant record must be added to indicate when a user is assigned to take part in a survey.

7) Tests need to be written for the feature.

DB Schema:

Add survey_participant to the participants table.


Table: Survey Deployments

Element

Type

Attributes course_evaluation_id Integer Limit: 4 start_date Datetime


end_date Datetime


num_of_students Integer Limit: 4 last_reminder Datetime


course_id Integer Limit: 4, Default: 0, Null: false


Table: Survey Participants Element

Type

Attributes user_id Integer Limit: 4 survey_deployment_id Integer Limit: 4


Table: Survey Responses Element

Type

Attributes score Integer Limit: 4 comments Text Limit: 65535 assignment_id Integer Limit: 4, Default: 0, Null: false question_id Integer Limit: 4, Default: 0, Null: false survey_id Integer Limit: 4, Default: 0, Null: false email String Limit: 255 survey_deployment_id Integer Limit: 4



Element Type Attributes
course_evaluation_id Integer Limit: 4
start_date Datetime
end_date Datetime
num_of_students Integer Limit: 4
last_reminder Datetime
course_id Integer Limit: 4, Default: 0, Null: false