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 questionnaire to ask feedback for some specific functionalities regarding their project.
Changes to be implemented
Add a button on the page which appears when the student clicks on the 'your work' link.
This button should take the student to the create Review Questionnaire page.The student should then be able to create a new rubric.
Add a new field called supplementaryReviewQuestions to the teams table so that the rubric could be stored in an AssignmentTeam.
The ResponseController should display a set of rubrics,when a reviewer fills out a rubric. The set sould have a review rubric and a supplementary review rubric.
“View” function for a rubric should display answers submitted for the SupplementaryReviewQuestionnaire as well as the ReviewQuestionnaire.
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
Here SRQ is used for newly added field supplementaryReviewQuestions in the Teams table and it is initially set as null for all the table entries.Once a student adds a specific Questionnaire to his project this field stores the id of that Questionnaire which is stored in the Questionnaires table.
To provide the view for the scores of a team we will add one more partition containing the scores for the supplementary questionnaire and implement the already build logic to get and display the scores.
Test Plan
To check if manage rubric button is added or not.
To check if manage rubric button takes the student on the edit Questionnaire page or not.
To check when SRQ is not null, is the project specific questionnaire appended to the original rubric or not.