CSC/ECE 517 Spring 2016/Improving Survey Functionality

From Expertiza_Wiki
Revision as of 02:23, 12 April 2016 by Kpalani5 (talk | contribs)
Jump to navigation Jump to search

Introduction

Purpose

The purpose of the ‘Improve survey questionnaire’ project, as the title suggests is to improve the existing survey questionnaire functionality on Expertiza. Some of the improvements involve providing instructors with the ability to pull questions from the global survey and to refactor the code to ensure the survey functionality is similar to the other questionnaires on Expertiza.

Scope

This project focuses on the ‘survey’ functionality in Expertiza. Since the survey functionality has generally not been used due to the existence of other survey tools, the code had not been improved in the past. Hence there is a need to improve the code. As the survey is a subclass of questionnaire, it shares a lot of commonalities with other existing questionnaire types. So polymorphism needs to be used to improve the survey functionality. Moreover, there will also be changes to the course evaluation and global survey features. Another feature which can be implemented is the distribution of survey results which can also be used for other types of questionnaires. Finally, some tests will be run on the implemented functionalities.


System Architecture

System Requirements

The system requirements focuses on the ‘survey’ functionality in Expertiza. This feature allows administrators and instructors to create surveys. The surveys can be course or global surveys. The surveys can also be targeted. Whenever an instructor/admin creates a survey, a corresponding survey_participant entry should be made in the database. Another requirement is to make the code DRY. The testing of these requirements will use Rspec testing framework for all non-user interface related modifications. All user-interface modifications resulting from the user requirements will be tested manually.

Summary of Product Requirements

The user requirements (UR table) has been created from project description document. Multiple user requirements have been identified for each User Requirement Statement. The URS table has each requirement identified by a unique Requirement ID.

URS - User-Requirement Statements

1 - Ability to create Survey for different scenarios.

2 - Create a page to display the distribution of results for each question in questionnaires and surveys.

3 - Storing the survey responses.


Requirement ID - Requirements - URS

1.1 - Create a link to create a survey for all the users enrolled in a course. - 1

1.2 - Create a link to create a survey for a selected users of a course. - 1

1.3 - Add a new survey_participant record in the database when a survey is created. - 1

1.4 - Add a checkbox to include the questions from global_survey in the new survey being created. - 1

2.1 - Create a link to the results distribution page for a particular questionnaire in the page where the questionnaire is listed. - 2

2.2 - Create a link to the results distribution page for a particular survey in the page where the survey is listed. - 2

2.3 - Create a new page to display each question of the questionnaire and the distribution of results of each question. - 2

2.4 - Create a new page to display each question of the survey and the distribution of results of each question. - 2

2.5 - Create a link to the results distribution next to the assignment results link for each student for the reviews of his/her assignment. - 2

3.1 - Add the ability to store the response given by a user to the database. - 3

Summary of Testing Requirements

The table below identifies test cases required to be performed on each requirement. Each test case is numbered the same as the requirement id it is testing as well as an identifier.

Test Case ID - Test Case Description

1.1-0 Login to the system as an admin/instructor. Select the course for which you want to create the survey. Create the survey and add the questions to the survey. Post the survey as a course survey. This survey should be available to all the participants of the course.

1.2-0 Login to the system as an admin/instructor. Select the course for which you want to create the survey. Create the survey and add the questions to the survey. Once the survey is created select the participants of the course to whom this survey should be sent and the post the survey. The survey should be sent to the selected participants.

1.3-0 Login to the system as an admin/instructor. Select the course for which you want to create the survey. Create the survey and add the questions to the survey. Once the survey is created select the participants of the course to whom this survey should be sent and the post the survey. Once, the survey is created there should be a corresponding survey_participant record in the database.

1.4-0 Login to the system as an admin/instructor. Create the survey and select the checkbox to include the questions from the global questionnaire. The questions from the global questionnaire should be added to the survey.

2.1-0 Login to the system as an admin/instructor. Choose an existing questionnaire. Check if a link exists with the questionnaire which will lead to a results distribution page.

2.2-0 Login to the system as an admin/instructor. Choose an existing survey. Check if a link exists with the survey which will lead to a results distribution page.

2.3-0 Login to the system as an admin/instructor. Click an existing questionnaire’s response page link. Check if all the questions of the questionnaire are present along with answers and the distribution.

2.4-0 Login to the system as an admin/instructor. Click an existing survey’s response page link. Check if all the questions of the survey are present along with answers and the distribution.

2.5-0 Login to the system as a student. Click on a submitted assignment which has been reviewed. Click on the link for response distribution and look at the distribution for the questions of the review for the assignment.

3.1-0 Login to the system as a student. Choose a survey which is assigned to this user. Fill out the survey questions and click on submit. The response to the survey should be stored in database.

Requirements - Testing Cross Reference Matrix

Test Case ID : Requirement ID

1.1-0 : 1.1

1.2-0 : 1.2

1.3-0 : 1.3

1.4-0 : 1.4

2.1-0 : 2.1

2.2-0 : 2.2

2.3-0 : 2.3

2.4-0 : 2.4

2.5-0 : 2.5

3.1-0 : 3.1

Assumptions

In the design of this system, we have made the following assumptions.

1. Only instructor or admin can create the survey.

2. When a survey is sent as global survey, it is sent to all the users of Expertiza including admins and instructors.