CSC/ECE 517 Fall 2017/E1794. Student-generated questions added to rubric

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction

Instructors make up rubrics in Expertiza. They can ask about anything that is relevant to all the projects that will be submitted. But sometimes students want specific advice on aspects of their work that may be different from the work or topics that other students are working on. It would be more convinient if students can add their own questionaire to ask feedback for some specific functionalities regarding their project.

Changes to be implemented

As in Expertiza all the surveys and rubrics are subclasses of the questionaire class. We need to add a new subclass of Questionnaire called SupplementaryReviewQuestionnaire .Apart from that we need to add a button on the page which appears when the student clicks on the 'your work' link.This button will take us to the create Review Questionaire page.

  • The student should then be able to create a new rubric. We also need to add a field called supplementaryReviewQuestions to the teams table so that the rubric could be stored in an AssignmentTeam. When a reviewer fills out a rubric, the ResponseController should display a set of rubrics, in order, on the same page. This set would normally consist of just a review rubric (a Response object), but in this case the set would have a review rubric and a supplementary review rubric. From the viewers point of view we need to make sure that “View” function for a rubric should display answers submitted for the SupplementaryReviewQuestionnaire as well as the ReviewQuestionnaire. We also need to add another column to the “View scores” page (for both instructor and students) to report the scores that students gave on these questions.

    Design Principles to be Followed

    1. MVC - The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).
    2. Dry Principle - We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.
    3. Polymorphism - 4. Inheritance -

    Use Case

    Test Plan