CSC/ECE 517 Spring 2021 - E2110. Regulate changing of rubrics while projects are in progress: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 75: Line 75:
* spec/controllers/questions_controller_spec.rb
* spec/controllers/questions_controller_spec.rb
* spec/helpers/answer_helper_spec.rb
* spec/helpers/answer_helper_spec.rb
More specifically, we must verify that certain additions from project E1982 work as they are supposed to.
This includes the function in_active_period that determines if a questionnaire's question was written within the designated time period. If it was not, then it checks if the current time is in that period and returns a boolean.
There should also be a confirmation in the view that asks the admin if they are sure they want to proceed and delete all existing reviews.
In the back-end, if the assignment is in an active period, then delete_existing_response and delete_existing_responses needs to be tested thoroughly.
These two functions should delete the response and send an email to affected students.
The answer_helper spec file also needs to be fleshed out and expect the answers to be changed properly.

Revision as of 16:46, 4 April 2021

Members

  • Nicholas Himes
  • Surya Makthal
  • Jordan Boerger
  • Sai Krishna Wupadrashta Dhinakara Subrahmanya

Project Description

While setting up an assignment, the instructor will be asked to choose different kinds of rubrics. Any of these rubrics can later be edited or changed to a different rubric. A problem arises when an assignment is underway (students have already started reviewing) and a rubric is edited or changed. Some students started reviewing with the old rubric and the rest of the students who had not started a review will be presented with the updated rubric. This usually happens when an assignment is copied from a previous year and the rubrics are not updated to match the current topic. It could be at a later point that the instructor/TA realizes this and changes it.

Goal

If the instructor does edit or change a rubric while an assignment is in progress:

  • If the change affects only the wording of a particular rubric item (e.g., to clarify the statement), no action is necessary.
  • If a rubric is replaced, or the items/questions are changed, then all the reviews that have been done need to be redone. The system should then email the previously done reviews to the reviewer and delete the response object and all associated answer objects. (However, the response_map should not be changed.)


This project was done in Fall 2019. However, it was not tested thoroughly. Our team's work in Spring 2021 is to improve the testing and readability of the code.

Design Diagrams

Use Case Diagrams

*Using UML Use Case Diagram Syntax

Data Flow Diagrams

Note: This data flow diagram was originally made by the team from project E1982 in Fall 2019. Their wiki link can be viewed here:

https://expertiza.csc.ncsu.edu/index.php/CSC/ECE_517_Fall_2019_-_E1982._Regulate_changing_of_rubrics_while_projects_are_in_progress

Proposed Solution

We will write comprehensive tests and fix any bugs in the code written already for changing rubrics while projects are in progress.

Some known issues already have been identified:

  • Email functionality needs to be thoroughly tested
    • Currently, only tested for correct arguments
  • The method find_review_period is possibly redundant as Find deadlines does exist already in the code. This method needs to be replaced/removed if possible
  • A method comment is needed on _
  • Tests need to be more thorough and verify that correct rows are being deleted
  • Confirm changes do not affect students who have not yet submitted their reviews
  • Additional comments on all code is required to follow flow

Affected Files (Projected)

These are the files we are expecting to affect based on the previous team:

  • Changed
    • app/controllers/questionnaires_controller.rb
    • app/controllers/questions_controller.rb
    • app/mailers/mailer.rb
    • app/models/assignment.rb
    • app/models/assignment_questionnaire.rb
    • app/views/questionnaires/_questionnaire.html.erb
  • Added
    • app/helpers/answer_helper.rb
    • app/views/mailer/notify_review_rubric_change.html.erb
  • Test Case Files
    • spec/controllers/questionnaires_controller_spec.rb
    • spec/models/assignment_spec.rb
    • spec/controllers/questions_controller_spec.rb
    • spec/helpers/answer_helper_spec.rb

Test Plan

As stated above, we will need to create thorough tests for the following files:

  • spec/controllers/questionnaires_controller_spec.rb
  • spec/models/assignment_spec.rb
  • spec/controllers/questions_controller_spec.rb
  • spec/helpers/answer_helper_spec.rb

More specifically, we must verify that certain additions from project E1982 work as they are supposed to.

This includes the function in_active_period that determines if a questionnaire's question was written within the designated time period. If it was not, then it checks if the current time is in that period and returns a boolean.

There should also be a confirmation in the view that asks the admin if they are sure they want to proceed and delete all existing reviews.

In the back-end, if the assignment is in an active period, then delete_existing_response and delete_existing_responses needs to be tested thoroughly. These two functions should delete the response and send an email to affected students.

The answer_helper spec file also needs to be fleshed out and expect the answers to be changed properly.